/* System Integra 1.11 — compact responsive presentation.
   Existing PHP templates, database fields and shortcode contracts are retained. */
:root {
  --ink:#0b1220; --ink-2:#1a2337; --mute:#5b6a82; --mute-2:#65748a;
  --line:#dfe5ee; --line-2:#eef2f8; --bg:#f5f7fb; --panel:#fff;
  --blue-50:#eaf2fb; --blue-300:#7aa8d6; --blue-500:#3a7ebf;
  --blue-600:#2a68a8; --blue-700:#1f5289; --blue-900:#0f2e54;
  --ok:#218a58; --warn:#f0a020; --err:#b93434;
  --font-sans:"IBM Plex Sans",system-ui,sans-serif; --font-base:var(--font-sans);
  --font-display:var(--font-sans); --font-serif:Georgia,serif;
  --font-mono:ui-monospace,"SFMono-Regular",Consolas,monospace;
  --maxw:1160px; --r:14px; --shadow:0 8px 28px rgba(15,46,84,.045);
  --si-header-height:87px; --si-admin-offset:0px;
}
*,:before,:after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--ink); font:400 16px/1.65 var(--font-sans); }
img,video,canvas,iframe { max-width:100%; }
img,video { height:auto; }
svg { flex-shrink:0; max-width:100%; }
button,input,textarea,select { font:inherit; }
button,a,input,textarea,select { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
button { cursor:pointer; }
a { color:var(--blue-700); text-decoration:none; text-underline-offset:.22em; }
a:hover { color:var(--blue-600); }
:focus-visible { outline:3px solid var(--blue-500); outline-offset:4px; }
::selection { background:#cfe4f9; color:var(--blue-900); }
[hidden] { display:none !important; }
h1,h2,h3,h4 { color:var(--ink); margin:0 0 16px; line-height:1.22; letter-spacing:-.025em; font-weight:600; overflow-wrap:anywhere; }
h1 { font-size:clamp(32px,4.2vw,52px); }
h2 { font-size:clamp(26px,3vw,36px); }
h3 { font-size:21px; }
h4 { font-size:17px; }
h1 em,h2 em { color:var(--blue-600); font-style:normal; font-family:inherit; font-weight:inherit; }
p { margin:0 0 18px; }
p:last-child { margin-bottom:0; }
strong,b { font-weight:600; }
hr { border:0; border-top:1px solid var(--line); }
blockquote { margin:0; }
main,section,article,aside,.wp-block-group { min-width:0; }
.container,.header-inner,.utilbar-inner,.page-head-inner,.principles-inner,.team-inner,.si-watch__inner,.cat-inner,.process-inner,.contact-grid,.reviews-stats,.rev-filters,.reviews-grid,.feed-layout,.sr__wrap {
  width:min(calc(100% - 48px),var(--maxw)); margin-inline:auto;
}
.wp-site-blocks { padding:0; }
.wp-site-blocks > *, .wp-site-blocks > * + *, .wp-block-template-part > * { margin-block-start:0; margin-block-end:0; }
.wp-block-shortcode:empty,.site-header p:empty,.utilbar p:empty { display:none; }
.screen-reader-text,.sr__hp { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.screen-reader-text:focus { clip:auto!important; width:auto!important; height:auto!important; margin:0!important; padding:12px!important; background:white; z-index:99999; }
.btn,.wp-block-button__link,.row-buy,.ib-button,.ib_button,.buy {
  display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px;
  padding:11px 19px; border:1px solid var(--line); border-radius:9px;
  font-size:14px; line-height:1.4; font-weight:600; letter-spacing:0; text-align:center;
  background:var(--panel); color:var(--ink-2); text-decoration:none; white-space:normal;
  transition:background .15s,border-color .15s,color .15s; max-width:100%;
}
.btn-primary,.wp-block-button__link { background:var(--blue-600); border-color:var(--blue-600); color:#fff; }
.btn-primary:hover,.wp-block-button__link:hover { background:var(--blue-700); border-color:var(--blue-700); color:#fff; }
.btn-ghost:hover,.row-buy:hover,.ib-button:hover,.ib_button:hover,.buy:hover { background:var(--blue-50); border-color:var(--blue-300); color:var(--blue-700); }
.btn:disabled,button:disabled { opacity:.6; cursor:wait; }
.btn-arrow,.arr,.arrow { font-size:19px; line-height:1; }
.ctas,.btns,.form-actions,.sr__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.kicker,.eyebrow,.sect-label { display:block; color:var(--blue-700); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; }
.mono-tag,.tags span,.ntag,.chip,.filter { font-size:12px; line-height:1.4; padding:6px 10px; border:1px solid var(--line); border-radius:6px; color:var(--mute); background:var(--panel); }
.mono-tag { display:inline-block; }
.hl { color:var(--blue-700); }
.dot,.si-watch__uptime-dot,.form-live__dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--ok); flex:none; }
/* Header: the real WordPress menu also supplies the mobile dialog. */
.utilbar { border-bottom:1px solid var(--line); background:var(--blue-900); color:#c6d7eb; font-size:10px; letter-spacing:.03em; }
.utilbar-inner { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:35px; padding-block:7px; }
.utilbar a { color:#e6eef8; }
.utilbar a:hover { color:#fff; text-decoration:underline; }
.utilbar .pill,.utilbar-phone,.utilbar-phone__live { display:inline-flex; align-items:center; gap:7px; }
.utilbar .dot { background:#65d69a; }
.utilbar .sep { color:#718baa; }
.utilbar-sos b { margin-left:10px; font-weight:600; color:#ff8b8b; }
.utilbar-sos:hover b,.utilbar-sos:focus-visible b { color:#ffb1b1; }
.si-menu .utilbar-sos b { color:#bb3038; }
.utilbar-phone { flex-wrap:wrap; }
.utilbar-phone__num { font-size:12px; white-space:nowrap; }
.site-header { position:relative; z-index:20; background:#fff; border-bottom:1px solid var(--line); }
/* FSE wraps its header in a template part; that whole wrapper must stick. */
html:has(body.si-sticky-header) { scroll-padding-top:calc(var(--si-header-height) + var(--si-admin-offset) + 16px); }
body.si-sticky-header .wp-block-template-part:has(.site-header:not(.site-header--minimal)),
body.si-sticky-header .wp-site-blocks > .site-header:not(.site-header--minimal) {
  position:sticky; top:var(--si-admin-offset); z-index:100;
  background:#fff; box-shadow:0 4px 16px rgba(15,46,84,.06);
}
@media (min-width:783px) {
  html:has(body.admin-bar) { --si-admin-offset:32px; }
}
@media (min-width:601px) and (max-width:782px) {
  html:has(body.admin-bar) { --si-admin-offset:46px; }
}
@media (min-width:801px) {
  body.si-sticky-header .cat-nav {
    top:calc(var(--si-header-height) + var(--si-admin-offset) + 24px);
    max-height:calc(100dvh - var(--si-header-height) - var(--si-admin-offset) - 48px);
    overflow-y:auto; overscroll-behavior:contain;
  }
}
@media print {
  body.si-sticky-header .wp-block-template-part:has(.site-header),
  body.si-sticky-header .wp-site-blocks > .site-header { position:relative; top:auto; box-shadow:none; }
  body.si-sticky-header .cat-nav { max-height:none; overflow:visible; }
}
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:86px; padding-block:16px; }
.logo { --logo-blue:var(--blue-600); --logo-gray:#66717e; --logo-core:#303c49; display:inline-flex; align-items:center; gap:10px; flex-shrink:0; color:var(--ink); }
.logo-text { display:flex; flex-direction:column; justify-content:center; gap:3px; }
.logo .name { display:block; line-height:1; }
.logo-wordmark { display:block; width:200px; height:auto; }
.logo .nm-blue { color:var(--logo-blue); }
.logo .nm-gray { color:#46515e; }
.logo .sub { display:block; font-size:9px; line-height:1.15; color:var(--mute); margin:0; letter-spacing:.01em; white-space:nowrap; }
.logo-mark { display:block; width:36px; height:36px; flex:none; }
.name-chip { width:4px; height:4px; margin:0 4px; color:var(--logo-gray); }
.nav { display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
.nav a { color:var(--mute); padding:10px 8px; font-size:13px; font-weight:500; line-height:1.4; border-radius:6px; }
.nav a:hover,.nav a.active { color:var(--blue-700); background:var(--blue-50); }
.header-cta { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.header-cta .btn { min-height:40px; padding:9px 13px; font-size:12px; }
.si-burger { display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:8px; color:var(--blue-900); background:#fff; }
.si-menu { border:1px solid var(--line); border-radius:14px; background:#fff; padding:20px; color:var(--ink); width:min(440px,calc(100% - 24px)); max-height:calc(100dvh - 32px); overflow:auto; }
.si-menu::backdrop { background:rgba(11,18,32,.5); }
.si-menu__top { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.si-menu__close { width:44px; height:44px; border:1px solid var(--line); border-radius:8px; background:var(--bg); font-size:26px; color:var(--ink); }
.si-menu .nav { display:grid; gap:4px; }
.si-menu .nav a { min-height:46px; padding:12px; font-size:16px; }
.si-menu__actions { display:grid; gap:8px; border-top:1px solid var(--line); padding-top:16px; margin-top:14px; }
.si-menu__phone { padding:10px 0; font-size:18px; font-weight:600; }
body.si-menu-open { overflow:hidden; }
/* Compact first screen; the original server background is enabled on wide screens below. */
.e-hero { padding:32px 0 0; background:#fff; }
.meta { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; color:var(--mute); font:11px/1.5 var(--font-mono); }
.meta .right { margin-left:auto; }
.e-hero-main { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:60px; align-items:center; padding:44px 0; }
.e-hero-main h1 { font-size:clamp(32px,4.1vw,52px); line-height:1.12; margin:0; max-width:680px; }
.e-hero-lede p { font-size:17px; color:var(--mute); max-width:55ch; }
.e-hero-lede .ctas { margin-top:24px; }
.e-hero-proof { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); }
.e-hero-proof .cell { padding:24px 24px 26px; border-left:1px solid var(--line); }
.e-hero-proof .cell:first-child { padding-left:0; border-left:0; }
.e-hero-proof .n { font-size:32px; font-weight:600; line-height:1.2; letter-spacing:-.04em; color:var(--blue-700); margin-bottom:6px; }
.e-hero-proof .n small { font-size:16px; letter-spacing:0; }
.e-hero-proof .lbl { font-size:12px; color:var(--mute); line-height:1.5; }
.e-industries,.e-how,.e-testi,.e-svc,.principles,.team,.si-watch,.process,.whoweare,.onduty,.services-preview { padding:64px 0; border-top:1px solid var(--line); }
.e-how,.e-testi,.team,.process { background:#fff; }
.head-split,.section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:30px; }
.head-split { align-items:flex-start; }
.head-split .hs-left { flex:1.2; }
.head-split .hs-right { flex:1; max-width:470px; color:var(--mute); font-size:14px; }
.head-split h2,.section-head h2 { margin-bottom:0; }
.section-head .mono-tag { flex-shrink:0; }
.side-link { display:block; margin-top:14px; font-size:14px; font-weight:500; }
.ind-grid,.about-princ-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ind-cell,.about-princ,.svc-cell,.testi,.review,.side-card,.info-card,.stat-card,.form-card,.sr__card,.sr__aside-card {
  padding:26px; border:1px solid var(--line); border-radius:var(--r); background:var(--panel); box-shadow:var(--shadow); min-width:0;
}
.ind-cell .top { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; }
.ind-cell .top .n { font:11px var(--font-mono); color:var(--mute); }
.ind-cell .ic { color:var(--blue-600); width:36px; height:36px; border-radius:9px; background:var(--blue-50); display:grid; place-items:center; }
.ind-cell h3,.about-princ h3 { font-size:19px; line-height:1.3; }
.ind-cell p,.about-princ p,.svc-cell p,.si-step__text { font-size:14px; color:var(--mute); }
.tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:20px; }
.tags span { background:var(--bg); font-size:11px; }
.about-princ .n { color:var(--blue-700); font:11px/1.5 var(--font-mono); margin-bottom:20px; }
.svc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.svc-cell { display:flex; flex-direction:column; color:var(--ink); position:relative; padding:28px; transition:border-color .15s,background .15s; }
.svc-cell:hover { border-color:var(--blue-300); background:#fbfdff; color:var(--ink); }
.svc-cell .k { display:block; color:var(--blue-600); font:12px/1.4 var(--font-mono); margin-bottom:18px; }
.svc-cell h3 { font-size:22px; margin-bottom:10px; }
.svc-cell p { margin-bottom:24px; }
.svc-cell .price { margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:16px; padding-top:16px; border-top:1px solid var(--line); font-size:17px; font-weight:600; color:var(--blue-700); }
.svc-cell .arr { display:grid; place-items:center; width:32px; height:32px; border-radius:7px; background:var(--blue-50); }
/* Original four steps, without animated scene objects. */
.si-journey__grid,.process-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.si-journey__stops { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px; color:var(--mute); font-size:12px; }
.si-journey__stop { padding:5px 10px; background:var(--blue-50); border-radius:5px; color:var(--blue-700); }
.si-step,.process-steps .step { min-width:0; padding:22px; border:1px solid var(--line); border-radius:var(--r); background:var(--bg); }
.si-step--link { color:inherit; }
.si-step--link:hover { border-color:var(--blue-300); background:var(--blue-50); }
.si-step__num { width:32px; height:32px; display:grid; place-items:center; border-radius:7px; background:var(--blue-600); color:#fff; font:12px var(--font-mono); margin-bottom:22px; }
.si-step__title { font-size:18px; }
.si-journey__sla { margin-top:18px; padding:16px 20px; border:1px solid var(--line); border-radius:9px; font-size:13px; color:var(--mute); display:flex; flex-wrap:wrap; gap:8px 18px; }
.process-steps .n { display:flex; justify-content:space-between; gap:8px; color:var(--blue-700); font:11px/1.5 var(--font-mono); margin-bottom:20px; }
.process-steps p { font-size:13px; color:var(--mute); }
/* Reviews remain database driven, including client colours and filters. */
.testi-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.testi { display:flex; flex-direction:column; }
.quote-mark,.review-quote-mark { color:var(--blue-500); font:42px/1 Georgia,serif; height:32px; }
.testi blockquote { font-size:15px; line-height:1.65; margin-bottom:24px; }
.testi .who { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:18px; border-top:1px solid var(--line); }
.ava,.review-avatar { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; flex:none; color:#fff; font-size:13px; font-weight:600; }
.testi .info { min-width:0; }
.testi .info b,.testi .info span { display:block; overflow-wrap:anywhere; }
.testi .info b { font-size:13px; }
.testi .info span,.testi .years { font-size:11px; color:var(--mute); }
.testi .years { margin-left:auto; text-align:right; }
.reviews-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:32px; }
.stat-card .k { color:var(--mute); font-size:12px; }
.stat-card .v { font-size:30px; color:var(--blue-700); font-weight:600; margin-block:10px 6px; }
.stat-card .s { font-size:12px; color:var(--mute); }
.stat-card .bar { height:3px; background:var(--line-2); margin-top:16px; border-radius:3px; }
.stat-card .bar > * { display:block; height:100%; background:var(--blue-500); }
.rev-filters { display:flex; flex-wrap:wrap; gap:8px; padding-block:28px; }
.rev-filters .chip,.filters .filter { min-height:40px; cursor:pointer; font-size:13px; }
.chip.is-active,.filter.active { color:#fff; background:var(--blue-600); border-color:var(--blue-600); }
.reviews-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:16px; margin-bottom:64px; }
.review-head { display:flex; gap:12px; align-items:center; margin-bottom:16px; }
.review-meta { min-width:0; }
.review-meta .who { font-weight:600; color:var(--ink); }
.review-meta .where { font-size:12px; color:var(--mute); overflow-wrap:anywhere; }
.review-stars { color:var(--blue-600); margin:10px 0; font-size:14px; letter-spacing:2px; }
.review-text { font-size:15px; }
.review-foot { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; border-top:1px solid var(--line); padding-top:18px; margin-top:22px; font-size:12px; color:var(--mute); }
/* Company: text is retained; neural-network and desk scenes are removed. */
.team-ai__lede { max-width:850px; font-size:18px; color:var(--mute); margin-bottom:28px; }
.team-ai__points,.si-watch__points { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.team-ai__points li,.si-watch__points li { border-top:2px solid var(--blue-300); padding-top:20px; font-size:14px; color:var(--mute); }
.team-ai__points b,.si-watch__points b { display:block; font-size:17px; line-height:1.4; color:var(--ink); margin-bottom:10px; }
.team-ai__tail { margin-top:28px; padding:16px 20px; border-radius:9px; background:var(--blue-50); color:var(--blue-700); font-size:14px; }
.si-watch__uptime { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; border:1px solid var(--line); border-radius:10px; padding:16px 20px; margin-bottom:28px; background:#fff; }
.si-watch__uptime-label { display:flex; align-items:center; gap:8px; font-size:13px; }
.si-watch__uptime-value { font-size:15px; font-variant-numeric:tabular-nums; display:flex; flex-wrap:wrap; align-items:baseline; }
.si-watch__uptime-value .num { font-weight:600; color:var(--blue-700); }
.si-watch__uptime-value .sep { padding-inline:6px; color:var(--line); }
.si-watch__uptime-meta { font-size:11px; color:var(--mute); }
/* Shared interior headers and service catalogue. */
.page-head { padding:20px 0 36px; background:#fff; border-bottom:1px solid var(--line); }
.crumbs { display:flex; flex-wrap:wrap; gap:7px; align-items:center; font-size:12px; color:var(--mute); margin-bottom:12px; }
.crumbs .sep { color:#a1acbb; }
.bracket { font-weight:400; color:var(--blue-300); }
.page-head h1 { font-size:clamp(30px,3.8vw,46px); margin-top:0; margin-bottom:18px; }
.page-head-lead { font-size:17px; max-width:760px; color:var(--mute); }
.page-head--services .page-head-inner { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:60px; align-items:start; }
.page-head-cta { display:flex; align-items:flex-start; flex-direction:column; gap:12px; padding:22px; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
.page-head-cta__label { color:var(--blue-700); font-size:12px; }
.page-head-cta__title { font-size:17px; line-height:1.4; }
.services-layout { width:min(calc(100% - 48px),var(--maxw)); margin:40px auto 48px; display:grid; grid-template-columns:minmax(230px,max-content) minmax(0,1fr); gap:48px; align-items:start; }
.cat-nav { position:sticky; top:28px; min-width:0; }
.cat-nav-inner { display:grid; gap:4px; width:100%; margin:0; }
.cat-nav-inner a { display:block; padding:12px 14px; border-radius:7px; color:var(--mute); font-size:14px; line-height:1.5; }
.cat-nav-inner a:hover,.cat-nav-inner a.active,.cat-nav-inner a:focus-visible { color:var(--blue-700); background:var(--blue-50); }
.services-sections { min-width:0; }
.services-sections .cat { padding:32px 0; }
.services-sections .cat:first-child { padding-top:0; }
.services-sections .cat-inner { width:100%; display:grid; grid-template-columns:minmax(0,1fr); gap:22px; }
.services-sections .cat-lead h2 { margin-top:8px; }
.sos-banner { width:min(calc(100% - 48px),var(--maxw)); margin:28px auto 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px 24px; padding:20px 24px; border:1px solid #cbdaec; border-left:3px solid var(--blue-500); border-radius:10px; background:var(--blue-50); }
.sos-banner__text { font-size:14px; color:var(--ink-2); margin:0; }
.sos-banner__link { font-size:13px; font-weight:600; }
.sos-banner--services .sos-banner__link { color:#bb3038; }
.sos-banner--services .sos-banner__link:hover,.sos-banner--services .sos-banner__link:focus-visible { color:#94212a; }
.cat { padding:48px 0; scroll-margin-top:24px; border-bottom:1px solid var(--line); }
.cat-inner { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,2fr); gap:48px; align-items:start; }
.cat-lead .num { font:11px/1.5 var(--font-mono); color:var(--blue-700); }
.cat-lead h2 { margin-top:14px; font-size:28px; }
.cat-lead p { font-size:14px; color:var(--mute); }
.cat-items { display:grid; gap:12px; }
.cat-item { display:flex; justify-content:space-between; gap:20px; padding:24px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); }
.cat-item > div { min-width:0; }
.cat-item:hover { border-color:var(--blue-300); color:var(--ink); }
.cat-item h3 { font-size:20px; }
.cat-item p { color:var(--mute); font-size:14px; }
.cat-item .arrow { color:var(--blue-600); margin-top:4px; }
.cat-item .row { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; margin-top:16px; }
.cat-item .price { font-size:15px; font-weight:600; color:var(--blue-700); }
/* Contact and urgent forms: original validation and submission remain. */
.contact-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:24px; padding-block:40px 64px; align-items:start; }
.form-card { padding:30px; position:relative; }
.form-card h2 { font-size:28px; padding-right:80px; }
.form-card .lead { color:var(--mute); font-size:14px; margin-bottom:26px; }
.form-live { display:flex; align-items:center; gap:6px; position:absolute; top:32px; right:24px; font:10px var(--font-mono); color:var(--ok); }
.form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
#si-lead-form > .field:has(textarea),
#si-lead-form > .field-consent,
#si-lead-form > .form-actions,
#si-lead-form > .form-status,
#si-lead-form > .svc-pill { grid-column:1 / -1; }
#si-lead-form textarea { min-height:164px; }
#si-lead-form > .field-consent { margin-bottom:0; }
#si-lead-form > .form-actions { margin-top:4px; }

.field { display:flex; flex-direction:column; gap:7px; margin-bottom:18px; min-width:0; }
.field > label { font-size:13px; font-weight:500; }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),textarea,select {
  display:block; width:100%; min-width:0; max-width:100%; border:1px solid #cbd5e2; border-radius:8px; background:#fff; color:var(--ink); padding:12px 14px; font-size:16px; line-height:1.5;
}
textarea { resize:vertical; min-height:132px; }
input::placeholder,textarea::placeholder { color:#778498; }
.field.is-invalid input,.field.is-invalid textarea { border-color:var(--err); }
.field-err { color:var(--err); font-size:12px; line-height:1.4; }
.field-err:empty { display:none; }
.field-consent { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:6px 10px; font-size:12px; line-height:1.6; color:var(--mute); cursor:pointer; }
.field-consent input { width:18px; height:18px; margin:3px 0 0; accent-color:var(--blue-600); }
.field-consent .field-err { grid-column:2; }
.field-consent a { text-decoration:underline; }
.req { color:var(--err); }
.form-actions { justify-content:space-between; margin-top:24px; }
.form-actions small { max-width:29ch; color:var(--mute); font-size:11px; }
.form-status { font-size:14px; border-radius:8px; margin-top:16px; }
.form-status:empty { display:none; }
.form-status.is-error { color:var(--err); background:#fff0ef; padding:12px; }
.form-status.is-success { color:#19633f; background:#edf8f2; padding:12px; }
.form-card .confirmation-mail,.sr__result .confirmation-mail { color:var(--blue-600); }
.existing-client-cta { display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; margin-top:20px; }
.existing-client-cta > .btn { flex:0 1 auto; min-width:0; max-width:100%; }
.existing-client-cta .btn-arrow { flex:none; }
@media (max-width:560px) {
  .existing-client-cta > .btn { flex-basis:100%; width:100%; }
}
.info-stack { display:grid; gap:16px; }
.info-card h3 { font-size:18px; }
.info-card.contact-disclosure { padding:0; overflow:hidden; align-self:start; }
.contact-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; padding:18px 20px; cursor:pointer; list-style:none; }
.contact-disclosure > summary::-webkit-details-marker { display:none; }
.contact-disclosure > summary h3 { margin:0; line-height:1.35; }
.contact-disclosure > summary::after { content:""; width:8px; height:8px; flex:none; margin:0 3px 4px; border-right:2px solid var(--blue-600); border-bottom:2px solid var(--blue-600); transform:rotate(45deg); }
.contact-disclosure > summary:hover { background:var(--blue-50); }
.contact-disclosure > summary:focus-visible { outline-offset:-4px; }
.contact-disclosure[open] > summary { border-bottom:1px solid var(--line); }
.contact-disclosure[open] > summary::after { transform:rotate(225deg); margin-top:6px; }
.contact-disclosure__body { padding:0 20px 8px; }
.info-card .big { display:block; font-size:clamp(22px,2.5vw,29px); font-weight:600; line-height:1.4; color:var(--blue-700); margin-bottom:8px; }
.info-card small { font-size:12px; color:var(--mute); }
.info-card .big > small { display:block; margin-top:6px; font-size:12px; font-weight:400; line-height:1.5; }
.info-card .row { display:flex; justify-content:space-between; gap:16px; padding-block:13px; border-bottom:1px solid var(--line); font-size:13px; }
.info-card .row:last-child { border:0; }
.info-card .row b { font-size:12px; color:var(--mute); }
.info-card .row span { text-align:right; overflow-wrap:anywhere; min-width:0; }
.info-dark { background:var(--blue-900); border-color:var(--blue-900); color:#dce8f6; }
.info-dark h3,.info-dark .big,.info-dark a { color:#fff; }
.info-dark small,.info-dark .row b { color:#b6c9e0; }
.info-dark .row { border-color:#34516f; }
.svc-pill { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px 16px; margin-bottom:20px; border:1px solid var(--blue-300); border-radius:8px; background:var(--blue-50); font-size:13px; }
.svc-pill__label { color:var(--mute); }
.svc-pill__plan { font-weight:500; }
.svc-pill__close { margin-left:auto; min-width:32px; text-align:center; font-size:20px; }
.sr { padding:44px 0 56px; }
.sr__head { max-width:900px; margin-bottom:30px; }
.sr__h1 { font-size:clamp(30px,3.8vw,46px); }
.sr__lead { color:var(--mute); font-size:18px; }
.sr__grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:24px; align-items:start; }
.sr__aside { display:grid; gap:16px; }
.sr__aside-title { font-size:20px; }
.sr__figures { display:flex; align-items:center; flex-wrap:wrap; gap:6px; font-size:13px; color:var(--blue-700); margin-bottom:18px; }
.sr__figures .sep { color:var(--line); }
.sr__trust-text,.sr__quote { font-size:14px; color:var(--mute); }
.sr__quote footer,.sr__quote-all { font-size:12px; }
.sr__quote-all { display:inline-block; margin-top:16px; }
.sr__hint,.sr__phones-note,.sr__symptoms-note { font-size:12px; color:var(--mute); margin-top:16px; }
.sr__symptoms { padding:32px 0; margin-top:32px; border-top:1px solid var(--line); }
.sr__symptoms-title,.sr__voice-title { font-size:22px; }
.sr__symptoms-cols { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.sr__symptoms-cols ul { margin:0; padding-left:18px; font-size:13px; color:var(--mute); }
.sr__symptoms-cols li { margin-bottom:8px; }
.sr__phones { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:14px; }
.sr__sticky { width:min(calc(100% - 48px),var(--maxw)); display:flex; gap:20px; align-items:center; margin:0 auto 32px; }
.sr__sticky-tel { font-size:14px; }
.sr__result { padding:20px; border:1px solid var(--blue-300); background:var(--blue-50); border-radius:10px; overflow-wrap:anywhere; }
.sr__result h3 { font-size:22px; }
.sr__result p { font-size:14px; }
/* News: original category artwork for the leading story, with a base fallback. */
.feed-layout { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(0,1fr); align-items:start; gap:32px; padding-block:36px 64px; }
.feed { min-width:0; }
.feed-hero { overflow:hidden; border:1px solid var(--line); border-radius:var(--r); background:#fff; margin-bottom:24px; }
.feed-hero-img { position:relative; overflow:hidden; padding:0; aspect-ratio:21 / 8; background:#0e1b2c; }
.feed-hero-img .news-cover,.feed-hero-img img { display:block; width:100%; height:100%; margin:0; border-radius:0; object-fit:cover; }
.feed-hero-img .badge { position:absolute; top:16px; left:18px; z-index:1; display:inline-block; max-width:calc(100% - 36px); background:#eaf2fb; color:var(--blue-900); padding:5px 9px; border-radius:5px; font-size:11px; line-height:1.4; }
.feed-hero-body { padding:20px 24px 26px; }
.feed-hero-body .date { color:var(--mute); font-size:12px; margin-bottom:12px; }
.feed-hero-body h3 { font-size:26px; }
.feed-hero-body h3 a,.news-body h3 { color:var(--ink); }
.feed-hero-body p,.news-body p { color:var(--mute); font-size:14px; }
.feed-hero-body .read { font-size:13px; font-weight:600; }
.news-item { display:grid; grid-template-columns:54px minmax(0,1fr); gap:20px; padding:24px 4px; border-bottom:1px solid var(--line); color:var(--ink); }
.news-item:hover h3 { color:var(--blue-700); }
.news-date { text-align:center; padding-top:4px; color:var(--mute); }
.news-date .day { display:block; font-size:26px; color:var(--blue-700); line-height:1.2; }
.news-date .mo { font-size:11px; }
.news-body .ntag { display:inline-block; margin-bottom:12px; }
.news-body h3 { font-size:20px; line-height:1.35; }
.news-body p { margin-bottom:0; }
.news-pager,.news-pager > div { flex-wrap:wrap; }
.news-pager { gap:12px; }
.sidebar { display:grid; gap:16px; }
.side-card { padding:22px; }
.side-card h4 { margin-bottom:18px; }
.tag-cloud { display:flex; flex-wrap:wrap; gap:8px; }
.tag-cloud a { border:1px solid var(--line); padding:6px 9px; border-radius:6px; font-size:12px; }
.article-item { display:block; border-top:1px solid var(--line); padding:14px 0; font-size:14px; }
.article-item:first-of-type { border-top:0; }
.article-item .date,.article-item small { display:block; color:var(--mute); font-size:11px; margin-bottom:6px; }
/* Database post content, pricing tables and block-editor output. */
.page-head--article .page-head-inner { max-width:var(--maxw); }
.article-kicker,.article-meta { font-size:12px; color:var(--mute); display:flex; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
.article-title { font-size:clamp(28px,3.4vw,42px); }
.article-body { padding:36px 24px 64px; }
.article-col { width:100%; max-width:var(--maxw); margin:auto; }
.legal-doc__inner { width:100%; max-width:var(--maxw); margin:auto; }
.article-col,.wp-block-post-content,.legal-doc__inner { overflow-wrap:anywhere; }
/* Preserve the original news emphasis using the homepage heading accent. */
.article-col .accent { color:var(--blue-600); }
.article-col h2,.wp-block-post-content h2,.legal-doc__inner h2 { font-size:clamp(23px,2.8vw,30px); margin-top:36px; }
.article-col h3,.wp-block-post-content h3 { font-size:22px; margin-top:26px; }
.article-col p,.wp-block-post-content p { margin-bottom:20px; }
.article-col ul,.article-col ol,.wp-block-post-content ul,.wp-block-post-content ol { padding-left:24px; }
.article-col li,.wp-block-post-content li { margin-bottom:8px; }
.article-col blockquote,.wp-block-post-content blockquote { border-left:3px solid var(--blue-500); padding:20px 24px; background:var(--blue-50); margin-block:24px; border-radius:0 8px 8px 0; }
.article-col img,.wp-block-post-content img { max-width:100%; height:auto; border-radius:8px; }
.article-col pre,.wp-block-post-content pre { overflow:auto; max-width:100%; padding:20px; border-radius:9px; background:var(--blue-900); color:#e6eef8; font:13px/1.7 var(--font-mono); white-space:pre; }
code { font: .88em var(--font-mono); }
.article-col a:not(.btn):not(.chip),.wp-block-post-content a:not(.btn):not(.wp-block-button__link):not(.buy):not(.row-buy) { text-decoration:underline; }
.article-tags { display:flex; flex-wrap:wrap; gap:8px; padding-block:24px; }
.article-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding-block:24px; border-block:1px solid var(--line); }
.article-nav .dir { display:block; font-size:11px; color:var(--mute); margin-bottom:8px; }
.article-nav .t { font-size:15px; }
.article-nav-item--next { text-align:right; }
.back-to-news { margin-top:24px; }
.wp-block-post-content > :first-child { margin-top:0; }
.section--service-body { padding:36px 24px 56px !important; }
/* Override both generated 1100px WordPress constraints, without changing blocks. */
.section--service-body > .wp-block-post-content { width:100%; max-width:var(--maxw); margin-inline:auto; }
.section--service-body > .wp-block-post-content > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width:100%; }
.page-head--service .wp-block-post-title { font-size:clamp(30px,3.8vw,46px)!important; line-height:1.15!important; }
.svc-consult { padding:28px; background:var(--blue-50); border:1px solid #cbdaec; border-radius:12px; margin-top:32px; }
.svc-consult__inner { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.svc-consult__eyebrow { font-size:12px; color:var(--blue-700); }
.svc-consult__title { font-size:24px; margin:12px 0!important; }
.svc-consult__lead { color:var(--mute); font-size:14px; max-width:60ch; }
.svc-consult__cta { flex-shrink:0; }
.wp-block-buttons { display:flex; flex-wrap:wrap; gap:12px; }
.wp-block-columns,.wp-block-column { min-width:0; }
.wp-block-table,.information_block,.si-table-scroll { max-width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:10px; background:#fff; margin-block:24px; -webkit-overflow-scrolling:touch; }
table { width:100%; border-collapse:collapse; font-size:14px; }
th,td { padding:14px 16px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
thead th { background:var(--blue-50); color:var(--blue-900); font-size:12px; font-weight:600; }
tbody tr:last-child td { border-bottom:0; }
.wp-block-table td,.wp-block-table th { border-color:var(--line); }
/* Keep imported comparison tables readable inside their own scroll region. */
.wp-block-table:has(tr > :nth-child(4)) table { min-width:680px; }
.wp-block-table:has(tr > :nth-child(5)) table { min-width:800px; }
.wp-block-table:has(tr > :nth-child(6)) table { min-width:960px; }
.wp-block-table:has(tr > :nth-child(4)) td,
.wp-block-table:has(tr > :nth-child(4)) th { overflow-wrap:normal; word-break:normal; }
.wp-block-table:has(tr > :nth-child(4)) td:first-child { position:sticky; left:0; z-index:1; background:#fff; box-shadow:1px 0 0 var(--line); }
.wp-block-table:has(tr > :nth-child(4)) th:first-child { position:sticky; left:0; z-index:2; background:var(--blue-50); box-shadow:1px 0 0 var(--line); }

.ib_cell__button { text-align:center; }
.ib-button em,.ib_button em { font-style:normal; color:var(--blue-700); }
.ib-cell-dash { color:var(--mute); }
.tooltip_icon { display:inline-flex; justify-content:center; align-items:center; width:18px; height:18px; border-radius:50%; background:var(--line-2); color:var(--mute); font:12px var(--font-mono); cursor:help; }
.tooltip_icon::before { content:"?"; }
.wp-block-query { width:min(calc(100% - 48px),var(--maxw)); margin:32px auto 56px; }
.wp-block-post-template { list-style:none; padding:0; }
.wp-block-post-template.is-layout-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.wp-block-post-template > li { min-width:0; border:1px solid var(--line); background:#fff; padding:24px; border-radius:12px; }
.wp-block-post-template .wp-block-post-title { font-size:24px; }
.wp-block-post-featured-image { margin:0 0 20px; }
.wp-block-post-featured-image img { max-height:180px; object-fit:cover; }
.wp-block-post-date { color:var(--mute); font-size:12px; }
.wp-block-query-pagination { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.wp-block-query-pagination-numbers { display:flex; flex-wrap:wrap; gap:6px; }
.page-numbers { display:inline-grid; place-items:center; min-width:40px; min-height:40px; border:1px solid var(--line); border-radius:7px; padding:6px 10px; background:#fff; }
.page-numbers.current { background:var(--blue-600); color:#fff; border-color:var(--blue-600); }
.wp-block-search__inside-wrapper { display:flex; gap:8px; max-width:100%; }
.wp-block-search__button { padding:10px 16px; border:0; border-radius:8px; background:var(--blue-600); color:#fff; }
.alignleft { float:left; margin:0 24px 18px 0; }
.alignright { float:right; margin:0 0 18px 24px; }
.aligncenter { margin-inline:auto; }
figcaption,.wp-caption-text { color:var(--mute); font-size:12px; text-align:center; }
.legal-doc { padding:32px 24px 64px; }
.legal-meta { padding:16px 20px; border-left:3px solid var(--blue-500); background:var(--blue-50); font-size:13px; color:var(--mute); }
.legal-doc__inner h2 { font-size:23px; padding-top:20px; border-top:1px solid var(--line); }
.legal-doc__inner a { text-decoration:underline; }
.legal-contacts { padding:6px 20px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.legal-contacts .row { padding-block:14px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; font-size:14px; }
.legal-contacts .row:last-child { border:0; }
/* Contact strips and footer use the original deep blue. */
.e-cta,.e-cta-final,.cta-final { padding:48px 0; background:var(--blue-50); border-top:1px solid #cbdcef; }
.e-cta .grid,.e-cta-final .grid,.cta-final .grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:64px; align-items:center; }
.e-cta p,.e-cta-final p,.cta-final p { color:var(--mute); font-size:15px; margin-bottom:24px; max-width:64ch; }
.phone-block { padding-left:40px; border-left:1px solid #c6d9ed; }
.phone-block .label { font:10px/1.5 var(--font-mono); color:var(--mute); }
.phone-block .ph { font-size:clamp(23px,2.8vw,32px); font-weight:600; color:var(--blue-900); margin:10px 0 20px; line-height:1.3; }
.phone-block ul { margin:0; padding:0; list-style:none; }
.phone-block li { display:flex; gap:20px; padding-block:8px; font-size:13px; border-bottom:1px solid #cedded; }
.phone-block li span { width:32px; font-size:11px; color:var(--mute); flex:none; }
.site-footer { background:var(--blue-900); color:#b9cbe0; padding:44px 0 0; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1.3fr .8fr 1fr; gap:32px; }
.site-footer .logo { --logo-blue-light:#a6cff2; --logo-blue:#96c5f0; --logo-gray-light:#d1dce7; --logo-gray:#c2d0df; --logo-core-light:#edf2f7; --logo-core:#e3eaf4; --logo-name-gray:#e3eaf4; }
.site-footer .logo .nm-blue { color:#96c5f0; }
.site-footer .logo .nm-gray { color:#e3eaf4; }
.site-footer .logo .sub { color:#b9cbe0!important; }
.footer-col-title { color:#fff; font-size:13px; font-weight:600; margin-bottom:16px; }
.site-footer ul { list-style:none; padding:0; margin:0; }
.site-footer li { margin-bottom:10px; font-size:12px; }
.site-footer a { color:#b9cbe0; }
.site-footer a:hover { color:#fff; text-decoration:underline; }
.site-footer .footer-sos { color:#fff; }
.footer-bottom { border-top:1px solid #34516f; margin-top:32px; padding-block:20px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; font-size:11px; color:#a4bbd5; }
body .si-cookie { border-radius:12px; background:var(--blue-900); border:1px solid #6c87a7; box-shadow:0 8px 24px rgba(11,18,32,.18); max-width:640px; font-size:12px; padding:12px 16px; bottom:max(12px,env(safe-area-inset-bottom)); }
body .si-cookie__btn { border-radius:7px; min-height:40px; }
/* Legacy journal: readable rows; no full-screen board or marquee. */
.archive-hero { padding:40px 0; }
.hero-top { display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.hero-top h1 { max-width:760px; }
.hero-lede { max-width:740px; color:var(--mute); }
.hero-meta { display:flex; flex-wrap:wrap; gap:12px 24px; font-size:11px; color:var(--mute); margin-bottom:24px; }
.log-controls { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:16px; margin:24px 0; }
.filters { display:flex; flex-wrap:wrap; gap:6px; }
.log-controls .search { max-width:260px; }
.log-wrap { margin-bottom:28px; }
.log-row { border-bottom:1px solid var(--line); padding:16px; background:#fff; }
.log-row .log-summary,.log-row .row-main { display:flex; gap:18px; align-items:center; flex-wrap:wrap; }
.log-row [class*="detail"] { color:var(--mute); font-size:14px; }
.log-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; padding-block:20px; font-size:12px; color:var(--mute); }
.proof-strip { padding:20px 24px; border-block:1px solid var(--line); background:#fff; }
.proof-strip .track { display:flex; flex-wrap:wrap; justify-content:center; gap:20px; animation:none; }
.proof-strip .item { font-size:12px; color:var(--mute); }
.proof-strip .item .num { color:var(--blue-700); font-size:20px; font-weight:600; }
.principle-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.principle { border-top:2px solid var(--blue-300); padding-top:18px; }
.shift-board { padding:24px; background:#fff; border:1px solid var(--line); border-radius:12px; max-width:720px; }
.sb-head { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; font-size:12px; color:var(--mute); margin-bottom:20px; }
.svc-more { padding-top:24px; text-align:right; }
@media(min-width:1101px) {
  .header-inner > .nav { flex-wrap:nowrap; }
}
@media(max-width:1100px) {
  .header-inner { flex-wrap:wrap; gap:14px; min-height:76px; }
  .header-inner > .nav { order:3; width:100%; }
  .si-mobile-ready .header-inner > .nav { display:none; }
  .si-mobile-ready .si-burger { display:inline-grid; place-items:center; }
  .utilbar-phone__free { display:none; }
  .e-hero-main { gap:32px; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .testi-grid { grid-template-columns:1fr; }
  .testi blockquote { max-width:90ch; }
  .page-head--services .page-head-inner { gap:28px; }
}
@media(max-width:800px) {
  .services-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  .cat-nav { position:static; }
  .cat-nav-inner { display:flex; flex-wrap:wrap; gap:8px; width:100%; }
  .cat-nav-inner a { padding:8px 12px; border:1px solid var(--line); background:#fff; font-size:12px; }
  .e-hero-main,.page-head--services .page-head-inner,.contact-grid,.sr__grid,.cat-inner,.feed-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  .e-hero-main { padding-block:30px; }
  .e-hero-main h1 { max-width:680px; }
  .e-hero-main h1 br { display:none; }
  .e-hero-lede p { max-width:68ch; }
  .meta .right { margin-left:0; }
  .ind-grid,.about-princ-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .si-journey__grid,.process-steps,.sr__symptoms-cols { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .head-split,.section-head { flex-direction:column; align-items:flex-start; gap:18px; }
  .head-split .hs-right { max-width:70ch; }
  .team-ai__points,.si-watch__points { grid-template-columns:1fr; gap:20px; }
  .team-ai__points li,.si-watch__points li { padding-top:16px; }
  .reviews-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .e-cta .grid,.e-cta-final .grid,.cta-final .grid { grid-template-columns:1fr; gap:28px; }
  .phone-block { padding:24px 0 0; border-left:0; border-top:1px solid #c6d9ed; }
  .sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .svc-consult__inner { flex-direction:column; align-items:flex-start; gap:18px; }
  .wp-block-post-template.is-layout-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .principle-list { grid-template-columns:1fr; }
}
@media(max-width:560px) {
  .services-layout { width:calc(100% - 32px); margin-top:24px; gap:24px; }
  .cat-nav .cat-nav-inner { width:100%; }
  .container,.header-inner,.utilbar-inner,.page-head-inner,.principles-inner,.team-inner,.si-watch__inner,.cat-inner,.process-inner,.contact-grid,.reviews-stats,.rev-filters,.reviews-grid,.feed-layout,.sr__wrap,.cat-nav-inner,.sos-banner,.sr__sticky,.wp-block-query { width:calc(100% - 32px); }
  body { font-size:15px; }
  .feed-hero-img { aspect-ratio:16 / 9; }
  .feed-hero-img .badge { top:12px; left:14px; max-width:calc(100% - 28px); }
  .utilbar-inner { justify-content:center; min-height:34px; padding-block:7px; }
  .utilbar-inner > div:first-child { display:none!important; }
  .utilbar-phone { justify-content:center; gap:8px; }
  .utilbar-phone__free { display:inline; font-size:10px; }
  .header-inner { gap:8px; min-height:74px; padding-block:14px; }
  .logo { gap:7px; }
  .logo-mark { width:32px; height:32px; }
  .logo-wordmark { width:176px; }
  .logo .sub { font-size:8px; margin:0; }
  .name-chip { width:3px; height:3px; margin-inline:3px; }
  .si-mobile-ready .header-cta > .btn { display:none; }
  .header-cta { gap:4px; }
  .header-inner > .nav { gap:2px; }
  .nav a { font-size:12px; }
  .e-hero { padding-top:22px; }
  .meta { font-size:10px; gap:8px 12px; }
  .e-hero-main { gap:20px; padding-block:26px; }
  .e-hero-main h1 { font-size:34px; line-height:1.13; }
  .e-hero-lede p { font-size:15px; line-height:1.65; }
  .e-hero-lede .ctas { margin-top:20px; }
  .ctas,.btns { gap:8px; }
  .ctas .btn,.btns .btn { flex:1 1 180px; }
  .e-hero-proof { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .e-hero-proof .cell,.e-hero-proof .cell:first-child { padding:18px 12px; }
  .e-hero-proof .cell:nth-child(odd) { border-left:0; padding-left:0; }
  .e-hero-proof .cell:nth-child(n+3) { border-top:1px solid var(--line); }
  .e-hero-proof .n { font-size:27px; }
  .e-hero-proof .lbl { font-size:11px; }
  .e-industries,.e-how,.e-testi,.e-svc,.principles,.team,.si-watch,.process,.whoweare,.onduty,.services-preview { padding-block:40px; }
  .head-split,.section-head { margin-bottom:24px; }
  .kicker,.eyebrow { font-size:11px; margin-bottom:10px; }
  h2 { font-size:27px; }
  .ind-grid,.about-princ-grid,.svc-grid,.reviews-grid,.si-journey__grid,.process-steps,.sidebar,.wp-block-post-template.is-layout-grid { grid-template-columns:minmax(0,1fr); }
  .ind-cell,.about-princ,.svc-cell,.testi,.review,.side-card,.info-card,.form-card,.sr__card,.sr__aside-card { padding:22px; border-radius:12px; }
  .ind-cell .top { margin-bottom:14px; }
  .svc-cell h3 { font-size:21px; }
  .svc-cell .k { margin-bottom:12px; }
  .si-step { position:relative; padding:20px 20px 20px 68px; }
  .si-step__num { position:absolute; top:20px; left:20px; margin:0; }
  .si-step__title { font-size:18px; margin-bottom:10px; }
  .si-step__text { font-size:13px; }
  .si-journey__stops { gap:6px; }
  .si-journey__stop { font-size:11px; }
  .testi .who { flex-wrap:wrap; }
  .testi .years { text-align:left; }
  .page-head { padding-block:16px 26px; }
  .page-head h1 { font-size:32px; }
  .crumbs { margin-bottom:10px; font-size:11px; }
  .page-head-lead,.sr__lead { font-size:15px; }
  .page-head-cta { padding:18px; }
  .page-head-cta .btn { width:100%; }
  .cat-nav-inner { gap:6px; }
  .cat-nav-inner a { font-size:11px; padding:8px 10px; }
  .cat { padding-block:32px; }
  .cat-inner { gap:20px; }
  .cat-lead h2 { font-size:26px; }
  .cat-item { padding:20px; gap:12px; }
  .cat-item h3 { font-size:19px; }
  .cat-item .row { gap:8px; }
  .sos-banner { padding:18px; }
  .contact-grid { padding-block:28px 40px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .form-card h2 { font-size:24px; padding-right:0; margin-top:24px; }
  .form-live { position:static; margin-bottom:10px; }
  .form-actions { align-items:stretch; flex-direction:column; }
  .form-actions small { max-width:none; }
  .form-actions .btn,.sr__actions .btn { width:100%; }
  .info-card .row { flex-direction:column; gap:4px; }
  .info-card .row span { text-align:left; }
  .reviews-stats { gap:10px; margin-top:24px; }
  .stat-card { padding:16px; }
  .stat-card .v { font-size:27px; }
  .rev-filters { padding-block:22px; }
  .reviews-grid { margin-bottom:40px; }
  .team-ai__lede { font-size:16px; }
  .si-watch__uptime { gap:10px; padding:16px; }
  .si-watch__uptime-value { width:100%; font-size:13px; }
  .si-watch__uptime-value .sep { padding-inline:4px; }
  .sr { padding-block:30px 40px; }
  .sr__h1 { font-size:32px; }
  .sr__symptoms-cols { grid-template-columns:1fr; gap:0; }
  .sr__symptoms-cols ul { margin-bottom:8px; }
  .sr__phones { flex-direction:column; align-items:flex-start; }
  .sr__phones > .sep { display:none; }
  .feed-layout { padding-block:28px 40px; }
  .feed-hero-img { padding:18px 20px 0; }
  .feed-hero-img img { height:140px; }
  .feed-hero-body { padding:18px 20px 22px; }
  .feed-hero-body h3 { font-size:23px; }
  .news-item { grid-template-columns:36px minmax(0,1fr); gap:14px; padding-block:20px; }
  .news-date .day { font-size:23px; }
  .news-body h3 { font-size:19px; }
  .news-body p { font-size:13px; }
  .article-body,.legal-doc { padding:28px 16px 40px; }
  .article-nav { grid-template-columns:1fr; }
  .article-nav-item--next { text-align:left; }
  .article-col pre,.wp-block-post-content pre { padding:16px; font-size:12px; }
  .section--service-body { padding:28px 16px 40px!important; }
  .page-head--service .wp-block-post-title { font-size:30px!important; }
  .svc-consult { padding:22px; }
  th,td { padding:12px; font-size:13px; }
  .wp-block-search__inside-wrapper { flex-wrap:wrap; }
  .wp-block-search__input { flex-basis:100%; }
  .alignleft,.alignright { float:none; margin-inline:0; }
  .legal-contacts .row { flex-direction:column; gap:6px; }
  .e-cta,.e-cta-final,.cta-final { padding-block:36px; }
  .phone-block .ph { font-size:28px; }
  .phone-block li { font-size:12px; gap:14px; overflow-wrap:anywhere; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
  .footer-grid > div:first-child { grid-column:1/-1; }
  .footer-grid > div:last-child { grid-column:1/-1; }
  .site-footer { padding-top:32px; }
  .footer-bottom { margin-top:26px; padding-bottom:24px; font-size:10px; }
  body .si-cookie { left:8px; right:8px; font-size:11px; padding:10px 12px; gap:8px; }
  .si-menu .logo .sub { white-space:normal; }
}
@media(max-width:359px) {
  .e-hero-main h1,.page-head h1,.sr__h1 { font-size:30px; }
  .header-inner .logo-wordmark { width:164px; }
  .header-inner .logo-mark { width:30px; height:30px; }
  .phone-block .ph { font-size:24px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}
@media print {
  body { background:#fff; }
  .utilbar,.header-cta,.si-burger,.si-menu,.si-cookie,.cat-nav,.sr__sticky { display:none!important; }
  .site-header,.site-footer { background:#fff; color:#111; }
  .site-footer a { color:#111; }
  .container,.page-head-inner { width:100%; }
}
/* Notice positioning and existing form status class names. */
.si-cookie {
  position:fixed; z-index:9000; left:16px; right:16px; margin-inline:auto;
  display:flex; align-items:center; gap:14px; color:#e7ecf4; line-height:1.5;
  transform:translateY(calc(100% + 32px)); transition:transform .2s ease;
}
.si-cookie.is-visible { transform:translateY(0); }
.si-cookie__text { flex:1; min-width:0; }
.si-cookie__text a { color:#fff; text-decoration:underline; }
.si-cookie__btn { flex:none; padding:8px 14px; border:0; background:#fff; color:var(--blue-900); font-size:12px; font-weight:600; }
.form-status.is-err { color:var(--err); padding:12px; background:#fff0ef; }
.form-status.is-ok { color:#19633f; }
.form-status.is-pending { color:var(--mute); }
.sr__result-title { font-size:21px; font-weight:600; margin-bottom:12px; }
.sr__result-text { font-size:14px; }
.wp-site-blocks > .wp-block-post-content { width:min(calc(100% - 48px),var(--maxw)); margin:36px auto 56px; }
@media(max-width:560px) {
  .si-cookie { align-items:stretch; flex-direction:column; }
  .si-cookie__btn { width:100%; }
  .wp-site-blocks > .wp-block-post-content { width:calc(100% - 32px); margin-block:28px 40px; }
}
@media(prefers-reduced-motion:reduce) { .si-cookie { transition:none; } }
.si-step__time { display:inline-block; padding:4px 8px; border-radius:5px; background:var(--blue-50); color:var(--blue-700); font-size:11px; margin-bottom:12px; }
.si-step__num { margin-bottom:12px; }
.si-step:first-child .si-step__num { margin-bottom:48px; }
@media(max-width:560px) { .si-step__num,.si-step:first-child .si-step__num { margin-bottom:0; } }

/* Keep figures and their captions on separate lines at every width. */
.e-hero-proof .n,.e-hero-proof .lbl { display:block; }
.e-hero-proof .n sup { font-size:14px; font-weight:500; letter-spacing:0; vertical-align:baseline; margin-left:3px; }

/* Compact process diagrams: existing terms, meaningful connections, finite motion. */
.si-diagram { position:relative; padding:24px; margin:0 0 28px; border:1px solid #cbdcef; border-radius:14px; background:#f1f6fc; }
.si-diagram__flow { display:grid; grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr) 52px minmax(0,1fr); align-items:center; }
.si-diagram__node { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; min-width:0; min-height:166px; padding:20px 12px; border:1px solid #c6d9ec; border-radius:12px; background:#fff; color:var(--blue-900); text-align:center; }
.si-diagram__node strong { font-size:17px; line-height:1.3; }
.si-diagram__node > span:not(.si-diagram__number) { font-size:13px; line-height:1.4; color:var(--mute); }
.si-diagram__icon { width:38px; height:38px; flex:none; fill:none; stroke:var(--blue-600); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.si-diagram__sources { gap:0; align-items:stretch; }
.si-diagram__sources > div { display:flex; align-items:center; gap:14px; padding:12px 0; text-align:left; }
.si-diagram__sources > div + div { border-top:1px solid var(--line); }
.si-diagram__sources .si-diagram__icon { width:28px; height:28px; }
.si-diagram__sources strong { font-size:15px; }
.si-diagram__core { background:var(--blue-900); border-color:var(--blue-900); color:#fff; }
.si-diagram__core .si-diagram__icon { stroke:#91c4f1; }
.si-diagram__core > span:not(.si-diagram__number) { color:#bed3e9; }
.si-diagram__wire { display:block; min-width:0; }
.si-diagram__wire svg { display:block; width:100%; height:24px; fill:none; stroke:#8aafd3; stroke-width:1.5; }
.si-diagram__signal { stroke:var(--blue-600); stroke-width:3; stroke-dasharray:4 56; stroke-linecap:round; }
.si-diagram--watch { background:#102e51; border-color:#102e51; }
.si-diagram--watch .si-diagram__flow { grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1fr); }
.si-diagram--watch .si-diagram__node { background:#183c63; color:#fff; border-color:#315675; }
.si-diagram--watch .si-diagram__icon { stroke:#95c8f3; }
.si-diagram--watch .si-diagram__signal { stroke:#c3e3ff; }
.si-diagram__number { position:absolute; left:14px; top:12px; color:#8db5db; font:11px var(--font-mono); }
.si-diagram__replay { display:block; margin:14px 0 0 auto; padding:5px 0 5px 10px; border:0; background:transparent; color:var(--blue-700); font-size:12px; cursor:pointer; }
.si-diagram__replay:hover { text-decoration:underline; }
.si-diagram--watch .si-diagram__replay { color:#c3ddf5; }
.si-diagram.is-playing .si-diagram__signal { animation:si-diagram-flow 4.4s linear; }
.si-diagram.is-playing .si-diagram__node { animation:si-diagram-focus 3s ease calc(var(--step) * .45s); }
@keyframes si-diagram-flow { from { stroke-dashoffset:60; } to { stroke-dashoffset:-180; } }
@keyframes si-diagram-focus { 0%,100% { box-shadow:0 0 0 0 rgba(75,144,207,0); } 30%,60% { box-shadow:0 0 0 4px rgba(75,144,207,.2); border-color:#6ea9de; } }
@media (max-width:760px) {
  .si-diagram { padding:18px; }
  .si-diagram__flow,.si-diagram--watch .si-diagram__flow { grid-template-columns:minmax(0,1fr); }
  .si-diagram__node { min-height:104px; padding:18px; }
  .si-diagram__wire { width:32px; height:32px; justify-self:center; display:grid; align-items:center; }
  .si-diagram__wire svg { transform:rotate(90deg); }
  .si-diagram__sources { flex-direction:row; gap:18px; }
  .si-diagram__sources > div { flex:1; flex-direction:column; justify-content:center; gap:8px; padding:0; text-align:center; }
  .si-diagram__sources > div + div { border-top:0; border-left:1px solid var(--line); padding-left:18px; }
  .si-diagram__sources strong { font-size:12px; overflow-wrap:anywhere; }
  .si-diagram--watch .si-diagram__node { flex-direction:row; justify-content:flex-start; gap:18px; padding-left:40px; min-height:90px; text-align:left; }
  .si-diagram--watch .si-diagram__node strong { font-size:16px; }
  .si-diagram--watch .si-diagram__icon { width:30px; height:30px; }
  .si-diagram__number { top:8px; left:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .si-diagram.is-playing .si-diagram__signal,.si-diagram.is-playing .si-diagram__node { animation:none; }
  .si-diagram__replay { display:none; }
}

/* The original blue server image is only requested when this wide layout fits. */
@media (min-width:1200px) {
  .e-hero { background:#081522; color:#d1e0f0; position:relative; isolation:isolate; }
  .e-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:url('../img/server-hero.webp') right center / auto 100% no-repeat; }
  .e-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#081522 0%,rgba(8,21,34,.96) 34%,rgba(8,21,34,.66) 54%,rgba(8,21,34,.08) 100%); }
  .e-hero .meta { color:#a8bfd7; }
  .e-hero-main { display:block; padding:36px 0 32px; }
  .e-hero-main h1 { max-width:650px; color:#f4f8fd; font-size:48px; margin-bottom:22px; }
  .e-hero-main h1 em { color:#83bbee; }
  .e-hero-lede { max-width:600px; }
  .e-hero-lede p { color:#c6d7e8; font-size:16px; }
  .e-hero-lede .btn-ghost { background:rgba(8,21,34,.45); border-color:#65809c; color:#e6eef8; }
  .e-hero-lede .btn-ghost:hover { background:#183c63; }
  .e-hero-proof { background:rgba(8,21,34,.84); border-color:#34506b; }
  .e-hero-proof .cell { border-color:#34506b; padding-block:20px; }
  .e-hero-proof .n { color:#f4f8fd; }
  .e-hero-proof .n sup { color:#83bbee; }
  .e-hero-proof .lbl { color:#b8cce0; }
}

/* Smaller screens request only their own lightweight server background. */
@media (max-width:1199px) {
  .e-hero { background:#081522; color:#d1e0f0; position:relative; isolation:isolate; }
  .e-hero::before { content:""; position:absolute; inset:0; z-index:-2; background-repeat:no-repeat; background-position:right top; }
  .e-hero::after { content:""; position:absolute; inset:0; z-index:-1; }
  .e-hero .meta { color:#a8bfd7; }
  .e-hero-main { grid-template-columns:minmax(0,1fr); gap:22px; }
  .e-hero-main h1 { color:#f4f8fd; }
  .e-hero-main h1 em { color:#83bbee; }
  .e-hero-lede p { color:#c6d7e8; }
  .e-hero-lede .btn-ghost { background:rgba(8,21,34,.65); border-color:#65809c; color:#e6eef8; }
  .e-hero-lede .btn-ghost:hover { background:#183c63; }
  .e-hero-proof { background:rgba(8,21,34,.9); border-color:#34506b; }
  .e-hero-proof .cell { border-color:#34506b; }
  .e-hero-proof .n { color:#f4f8fd; }
  .e-hero-proof .n sup { color:#83bbee; }
  .e-hero-proof .lbl { color:#b8cce0; }
}
@media (min-width:600px) and (max-width:1199px) {
  .e-hero::before { background-image:url('../img/server-hero-tablet.webp'); background-size:auto 560px; }
  .e-hero::after { background:linear-gradient(0deg,#081522 0%,transparent 60%),linear-gradient(90deg,rgba(8,21,34,.97) 0%,rgba(8,21,34,.88) 45%,rgba(8,21,34,.4) 100%); }
  .e-hero-main h1 { max-width:650px; }
  .e-hero-lede { max-width:600px; }
}
@media (max-width:599px) {
  .e-hero::before { background-image:url('../img/server-hero-mobile.webp'); background-size:auto 400px; }
  .e-hero::after { background:linear-gradient(180deg,rgba(8,21,34,.7) 0px,rgba(8,21,34,.85) 240px,#081522 400px); }
}

/* A duty-shift scene: parallel activities instead of a second process chain. */
.si-shift { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); overflow:hidden; border:1px solid #243e5c; border-radius:16px; background:#101c30; margin:0 0 28px; color:#e8f1fb; }
.si-shift__scene { position:relative; width:100%; align-self:center; aspect-ratio:3 / 2; overflow:hidden; }
.si-shift__scene > img { display:block; width:100%; height:100%; object-fit:contain; }
.si-shift__monitor { position:absolute; left:68%; top:36.83%; width:20.65%; height:23.14%; padding:1.1%; background:#091625; clip-path:polygon(4.5% 3.3%,100% 0,95.9% 100%,0 92.3%); }
.si-shift__screen-top { height:8%; display:flex; gap:4%; align-items:center; margin:2% 0 9%; }
.si-shift__screen-top i { width:5%; aspect-ratio:1; border-radius:50%; background:#79aecb; opacity:.65; }
.si-shift__bars { height:57%; display:flex; gap:3%; align-items:flex-end; overflow:hidden; border-bottom:1px solid #344b62; background:repeating-linear-gradient(to bottom,transparent 0,transparent 23%,#20374b 24%,transparent 25%); }
.si-shift__bars i { display:block; flex:1; height:var(--bar); background:#72bed5; opacity:.8; transform-origin:bottom; animation:si-shift-meter 3.6s ease-in-out var(--delay) infinite alternate; }
.si-shift__bars i:nth-child(3n) { background:#83aee3; }
.si-shift__screen-lines { display:grid; gap:3px; margin-top:6%; }
.si-shift__screen-lines i { display:block; height:2px; width:82%; background:#385a73; }
.si-shift__screen-lines i:nth-child(2) { width:59%; }
.si-shift__screen-lines i:nth-child(3) { width:72%; }
.si-shift__terminal { position:absolute; left:51.2%; top:47.95%; width:14.25%; height:15.6%; display:flex; flex-direction:column; justify-content:center; gap:7%; padding:1% 1.2% 1% 2.7%; background:#07131f; clip-path:polygon(3% 1%,100% 0,94% 100%,29% 94%); }
.si-shift__terminal i { height:2px; width:var(--line); flex:none; background:#6c9eb4; transform-origin:left; animation:si-shift-log 4s ease-in-out var(--delay) infinite; }
.si-shift__terminal i:nth-child(3n) { background:#89c6b0; }
.si-shift__desk { min-width:0; display:flex; flex-direction:column; justify-content:center; padding:28px 28px 24px 12px; }
.si-shift__head { display:flex; align-items:flex-start; flex-direction:column; gap:5px; margin-bottom:18px; }
.si-shift__head strong { color:#f1f6fc; font-size:22px; font-weight:500; }
.si-shift__head > span { color:#8da9c4; font-size:12px; }
.si-shift__tasks { display:grid; gap:10px; }
.si-shift__task { position:relative; display:flex; gap:14px; align-items:center; overflow:hidden; padding:15px 16px 18px; border:1px solid #2e4762; border-radius:9px; background:#14253b; }
.si-shift__icon { flex:none; width:26px; height:26px; fill:none; stroke:#8bb9df; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.si-shift__task > div { display:grid; gap:4px; min-width:0; }
.si-shift__task strong { font-size:15px; font-weight:500; line-height:1.3; }
.si-shift__task span { color:#93acc5; font-size:12px; line-height:1.4; }
.si-shift__task-progress { position:absolute; left:16px; right:16px; bottom:7px; height:2px; background:#314961; overflow:hidden; }
.si-shift__task-progress::after { content:""; display:block; height:100%; width:45%; background:#82b9e2; animation:si-shift-task 7s ease-in-out calc(var(--task) * -2.3s) infinite; }
.si-shift__toggle { align-self:flex-end; margin-top:15px; padding:7px 0 7px 12px; border:0; background:transparent; color:#b9d5eb; font-size:12px; cursor:pointer; }
.si-shift__toggle:hover { color:#fff; text-decoration:underline; }
.si-shift__toggle:focus-visible { outline:2px solid #8abfe9; outline-offset:4px; }
.si-shift:not(.is-running) .si-shift__bars i,.si-shift:not(.is-running) .si-shift__terminal i,.si-shift:not(.is-running) .si-shift__task-progress::after,
.si-shift.is-paused .si-shift__bars i,.si-shift.is-paused .si-shift__terminal i,.si-shift.is-paused .si-shift__task-progress::after { animation-play-state:paused; }
@keyframes si-shift-meter { from { transform:scaleY(.6); opacity:.65; } to { transform:scaleY(1.08); opacity:.95; } }
@keyframes si-shift-log { 0%,12% { transform:scaleX(.2); opacity:.3; } 42%,76% { transform:scaleX(1); opacity:.8; } 100% { transform:scaleX(.65); opacity:.45; } }
@keyframes si-shift-task { 0%,8% { transform:translateX(-110%); opacity:0; } 20% { opacity:.9; } 70% { opacity:.9; } 88%,100% { transform:translateX(325%); opacity:0; } }
@media (max-width:1000px) {
  .si-shift { grid-template-columns:minmax(0,1.2fr) minmax(270px,1fr); }
  .si-shift__desk { padding:22px 22px 22px 0; }
  .si-shift__head strong { font-size:20px; }
}
@media (max-width:700px) {
  .si-shift { grid-template-columns:minmax(0,1fr); }
  .si-shift__scene { max-width:520px; margin-inline:auto; }
  .si-shift__desk { padding:0 18px 18px; }
  .si-shift__head { margin-bottom:14px; }
  .si-shift__task { gap:12px; padding:14px 12px 17px; }
  .si-shift__task strong { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
  .si-shift__bars i,.si-shift__terminal i,.si-shift__task-progress::after { animation:none; }
  .si-shift__toggle { display:none; }
}

/* Voice contact, numbers and actions form a single card before the footer. */
.sr__voice { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"heading actions" "phones phones"; gap:24px 32px; padding:28px; margin-top:12px; border:1px solid #cbd9e9; border-radius:14px; background:#fff; }
.sr__voice-heading { grid-area:heading; display:flex; align-items:flex-start; gap:16px; }
.sr__voice-icon { display:grid; place-items:center; flex:none; width:44px; height:44px; border-radius:10px; background:var(--blue-50); color:var(--blue-600); }
.sr__voice-symbol { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.sr__voice-title { margin:0 0 7px; line-height:1.3; }
.sr__voice .sr__phones-note { margin:0; font-size:13px; line-height:1.5; }
.sr__voice .sr__phones { grid-area:phones; display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:0; padding-top:22px; border-top:1px solid var(--line); }
.sr__voice .sr__phones a { display:flex; justify-content:center; flex-direction:column; align-items:flex-start; gap:3px; min-width:0; min-height:50px; padding:0 24px; border-left:1px solid var(--line); }
.sr__voice .sr__phones a:first-child { padding-left:0; border-left:0; }
.sr__voice .sr__phones a > span { color:var(--mute); font-size:12px; }
.sr__voice .sr__phones b { font-size:20px; line-height:1.3; font-weight:500; white-space:nowrap; }
.sr__voice .sr__phone-main b { font-size:27px; }
.sr__voice-actions { grid-area:actions; display:flex; align-items:center; gap:10px; }
.sr__voice-actions .btn { min-height:44px; padding:10px 15px; font-size:13px; }
#sr-form { scroll-margin-top:24px; }
@media (max-width:900px) {
  .sr__voice { grid-template-columns:minmax(0,1fr); grid-template-areas:"heading" "phones" "actions"; gap:20px; }
  .sr__voice .sr__phones a { padding-inline:16px; }
  .sr__voice .sr__phones b { font-size:17px; }
  .sr__voice .sr__phone-main b { font-size:22px; }
}
@media (max-width:620px) {
  .sr__voice { padding:20px; }
  .sr__voice-heading { gap:12px; }
  .sr__voice-title { font-size:20px; }
  .sr__voice-icon { width:36px; height:36px; }
  .sr__voice .sr__phones { grid-template-columns:minmax(0,1fr); padding-top:4px; }
  .sr__voice .sr__phones a { padding:14px 0; border-left:0; border-bottom:1px solid var(--line); }
  .sr__voice .sr__phones a:last-child { border-bottom:0; padding-bottom:0; }
  .sr__voice .sr__phones b { font-size:20px; }
  .sr__voice .sr__phone-main b { font-size:25px; }
  .sr__voice-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .sr__voice-actions .btn { padding-inline:8px; }
}

/* Wide CSS viewports: expand the layout, with bounded type and reading widths.
   DPR does not select this layout; mobile/tablet assets keep their own queries. */
@media screen and (min-width:1440px) {
  :root {
    --maxw:clamp(72.5rem,calc(50vw + 27.5rem),105rem);
    --si-wide-text:clamp(1rem,calc(.84rem + .18vw),1.125rem);
    --si-wide-gap:clamp(16px,1.1vw,28px);
    --si-wide-pad:clamp(26px,1.8vw,40px);
  }
  body { font-size:var(--si-wide-text); }
  h2 { font-size:clamp(2.25rem,2.1vw,3rem); }
  .header-inner { gap:32px; min-height:clamp(86px,5vw,104px); }
  .logo-wordmark { width:clamp(200px,14vw,260px); }
  .logo-mark { width:clamp(36px,2.4vw,44px); height:clamp(36px,2.4vw,44px); }
  .logo .sub { font-size:clamp(9px,.62vw,12px); }
  .nav a { padding:12px 10px; font-size:clamp(.875rem,.75vw,1rem); }
  .header-cta .btn { min-height:44px; font-size:clamp(.8125rem,.7vw,.9375rem); }
  .utilbar { font-size:.75rem; }
  .utilbar-phone__num { font-size:.875rem; }
  .btn,.wp-block-button__link,.row-buy,.ib-button,.ib_button,.buy {
    min-height:50px; font-size:1rem; padding:13px 22px;
  }
  .kicker,.eyebrow,.sect-label,.crumbs,.meta { font-size:.875rem; }
  .mono-tag,.tags span,.ntag,.chip,.filter { font-size:.8125rem; }

  /* Keep the artwork beside the copy, even on an ultrawide monitor. */
  .e-hero { padding-top:clamp(32px,2vw,48px); }
  .e-hero::before,.e-hero::after {
    width:min(100%,calc(var(--maxw) + 160px)); margin-inline:auto;
  }
  .e-hero::before {
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 88%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 14%,#000 88%,transparent);
  }
  .e-hero::after {
    background:linear-gradient(90deg,#081522 0%,rgba(8,21,34,.94) 30%,rgba(8,21,34,.55) 51%,transparent 74%);
  }
  .e-hero-main { padding:clamp(36px,2.8vw,64px) 0; }
  .e-hero-main h1 { max-width:clamp(650px,43vw,820px); font-size:clamp(3rem,2.5vw,4rem); }
  .e-hero-lede { max-width:clamp(600px,38vw,730px); }
  .e-hero-lede p { font-size:var(--si-wide-text); max-width:60ch; }
  .e-hero-proof .cell { padding:clamp(20px,1.5vw,32px); }
  .e-hero-proof .cell:first-child { padding-left:0; }
  .e-hero-proof .n { font-size:clamp(2rem,1.8vw,2.75rem); }
  .e-hero-proof .lbl { font-size:clamp(.8125rem,.65vw,.9375rem); max-width:42ch; }

  .e-industries,.e-how,.e-testi,.e-svc,.principles,.team,.si-watch,.process,.whoweare,.onduty,.services-preview {
    padding-block:clamp(64px,4.4vw,96px);
  }
  .head-split,.section-head { gap:48px; margin-bottom:clamp(30px,2.5vw,48px); }
  .head-split .hs-right { max-width:clamp(470px,29vw,640px); font-size:var(--si-wide-text); }
  .side-link { font-size:1rem; }
  .ind-grid,.about-princ-grid,.svc-grid,.testi-grid,.si-journey__grid,.process-steps,.reviews-grid,.reviews-stats {
    gap:var(--si-wide-gap);
  }
  .ind-cell,.about-princ,.svc-cell,.testi,.review,.side-card,.info-card,.stat-card,.form-card,.sr__card,.sr__aside-card {
    padding:var(--si-wide-pad);
  }
  .info-card.contact-disclosure { padding:0; }
  .si-step,.process-steps .step { padding:clamp(22px,1.6vw,36px); }
  .ind-cell h3,.about-princ h3,.si-step__title { font-size:clamp(1.1875rem,1.05vw,1.5rem); }
  .svc-cell h3,.cat-item h3,.news-body h3 { font-size:clamp(1.25rem,1.1vw,1.625rem); }
  .ind-cell p,.about-princ p,.svc-cell p,.si-step__text,.process-steps p,
  .testi blockquote,.review-text,.cat-item p,.feed-hero-body p,.news-body p,
  .team-ai__points li,.si-watch__points li { font-size:var(--si-wide-text); }
  .testi .info b,.testi .info span,.testi .years,.review-meta .where { font-size:.875rem; }

  .page-head h1,.sr__h1 { font-size:clamp(2.875rem,2.4vw,3.5rem); }
  .page-head--service .wp-block-post-title { font-size:clamp(2.875rem,2.4vw,3.5rem)!important; }
  .page-head-lead { font-size:clamp(1.0625rem,.9vw,1.25rem); max-width:65ch; }
  .page-head--services .page-head-inner { grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); }
  .page-head-cta { padding:var(--si-wide-pad); }
  .services-layout { gap:clamp(48px,3.3vw,72px); }
  .cat-nav-inner a,.sos-banner__text,.sos-banner__link { font-size:1rem; }
  .cat-lead h2 { font-size:clamp(1.75rem,1.5vw,2.25rem); }
  .cat-items { gap:var(--si-wide-gap); }
  .cat-item { padding:clamp(24px,1.6vw,36px); }
  .cat-item p { max-width:72ch; }
  .cat-item .price { font-size:1rem; }
  .contact-grid,.sr__grid,.feed-layout { gap:clamp(24px,2vw,40px); }
  .form-card .lead,.sr__result p,.sr__trust-text,.sr__quote { font-size:var(--si-wide-text); }
  .field > label,.field-consent,.info-card small,.info-card .row,.info-card .row b { font-size:.875rem; }
  .news-body p,.feed-hero-body p { max-width:72ch; }
  .footer-col-title { font-size:1rem; }
  .site-footer li { font-size:.875rem; }
  .footer-bottom { font-size:.8125rem; }
}
@media screen and (min-width:1920px) {
  .services-sections .cat-items { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
  .services-sections .cat-item:only-child { grid-column:1 / -1; }
  .services-sections .cat-item > div { display:flex; flex-direction:column; align-items:flex-start; }
  .services-sections .cat-item .row { margin-top:auto; padding-top:16px; }
}

/* One purchase card, using the existing database price, conditions and CTA. */
.si-order-card {
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  gap:28px 48px; margin-block:40px 12px; padding:36px;
  border:1px solid #284c73; border-radius:18px; overflow:hidden;
  background:radial-gradient(ellipse at 8% 0%,#245d92 0%,transparent 62%),var(--blue-900);
  color:#fff; box-shadow:0 14px 40px rgba(15,46,84,.1);
}
.si-order-card__pitch { align-self:center; min-width:0; padding:12px 0; }
.si-order-card__eyebrow { display:block; margin-bottom:18px; font-size:12px; font-weight:500; letter-spacing:.09em; text-transform:uppercase; color:#b4d6f6; }
.wp-block-post-content .si-order-card__title { max-width:22ch; margin:0 0 20px; font-size:clamp(28px,2.3vw,44px); line-height:1.14; font-weight:600; letter-spacing:-.025em; text-wrap:balance; color:#fff; }
.wp-block-post-content .si-order-card__lead { max-width:46ch; margin:0; color:#c8dcef; font-size:16px; line-height:1.65; }
.si-order-card__purchase { align-self:center; min-width:0; padding:28px; border:1px solid #d7e3ef; border-radius:12px; background:#fff; color:var(--ink); }
.wp-block-post-content .si-order-card__purchase > :is(h2,h3,h4) { margin:0 0 16px; color:var(--mute); font-size:14px; font-weight:500; letter-spacing:0; line-height:1.4; }
.si-order-card .price-table { margin:0 0 24px; border:0; border-radius:0; background:transparent; }
.si-order-card .price-table table { font-size:14px; table-layout:auto; }
.si-order-card .price-table td { padding:14px 0; line-height:1.5; }
.si-order-card .price-table td + td { padding-left:18px; }
.si-order-card .price-table th { padding:10px 12px; }
.si-order-card .price-table strong { font-weight:500; }
.si-order-card__amount { display:block; font-size:clamp(24px,1.8vw,32px); line-height:1.2; font-weight:600; letter-spacing:-.025em; color:var(--blue-700); margin-bottom:5px; }
.si-order-card--single .price-table :is(table,tbody,tr,td) { display:block; width:100%; }
.si-order-card--single .price-table td { padding:0; border:0; }
.si-order-card--single .price-table td:first-child { margin-bottom:14px; color:var(--mute); font-size:14px; }
.si-order-card--single .price-table td + td { padding:0; font-size:15px; color:var(--mute); }
.si-order-card--single .si-order-card__amount { font-size:clamp(32px,2.8vw,48px); }
.si-order-card .service-cta { margin:0; display:block; }
.si-order-card .service-cta .wp-block-button { display:block; width:100%; }
.si-order-card .service-cta .wp-block-button__link { display:flex; justify-content:space-between; gap:16px; width:100%; min-height:54px; padding:15px 20px; font-size:16px; text-align:left; }
.si-order-card .service-cta .wp-block-button__link::after { content:'↗'; font-size:24px; line-height:1; flex:none; }
.si-order-card .service-cta .wp-block-button__link:hover { background:var(--blue-900); border-color:var(--blue-900); }
.si-order-card__terms { grid-column:1/-1; padding-top:22px; border-top:1px solid #547697; color:#d5e5f5; font-size:14px; line-height:1.6; }
.wp-block-post-content .si-order-card__terms > p { margin:0; }
.si-order-card__terms em { font-style:normal; }
.wp-block-post-content .si-order-card__terms a { color:#d5eaff; }
@media (min-width:1920px) {
  .si-order-card { padding:44px; gap:32px 64px; }
  .si-order-card__purchase { padding:32px; }
  .wp-block-post-content .si-order-card__lead { font-size:18px; }
  .si-order-card__terms { font-size:16px; }
}
@media (max-width:900px) {
  .si-order-card { grid-template-columns:minmax(0,1fr); gap:24px; padding:26px; }
  .si-order-card__pitch { padding:0; }
  .wp-block-post-content .si-order-card__title { max-width:30ch; }
  .wp-block-post-content .si-order-card__lead { max-width:60ch; }
}
@media (max-width:560px) {
  .si-order-card { padding:20px; margin-top:32px; border-radius:14px; gap:20px; }
  .si-order-card__eyebrow { font-size:11px; margin-bottom:14px; }
  .si-order-card__purchase { padding:20px; }
  .si-order-card .price-table td { font-size:13px; }
  .si-order-card .price-table td + td { padding-left:12px; }
  .si-order-card--single .price-table td + td { padding-left:0; }
  .si-order-card__amount { font-size:22px; }
  .si-order-card--single .si-order-card__amount { font-size:34px; }
  .si-order-card .service-cta .wp-block-button__link { padding-inline:16px; }
  .si-order-card__terms { padding-top:18px; font-size:13px; }
}

/* Multi-option prices are a full-width table, followed by a compact order strip. */
.si-service-pricing { margin:40px 0 0; padding:28px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.wp-block-post-content .si-service-pricing > :is(h2,h3,h4) { margin:0 0 20px; font-size:24px; }
.si-service-pricing .price-table { margin:0; border:0; border-radius:8px; }
.si-service-pricing .price-table table { table-layout:auto; font-size:16px; }
.si-service-pricing--two-column .price-table table { table-layout:fixed; }
.si-service-pricing .price-table thead { border-bottom:1px solid var(--line); }
.si-service-pricing .price-table th,.si-service-pricing .price-table td { padding:20px 24px; border:0; border-bottom:1px solid var(--line); line-height:1.55; }
.si-service-pricing .price-table th { padding-block:14px; font-size:14px; }
.si-service-pricing .price-table tbody tr:last-child td { border-bottom:0; }
.si-service-pricing--two-column .price-table :is(th,td):last-child { width:30%; }
.si-service-pricing .price-table td:last-child { color:var(--mute); font-size:14px; }
.si-service-pricing .price-table strong { font-weight:500; }
.si-service-pricing .si-order-card__amount { font-size:clamp(20px,1.2vw,26px); white-space:nowrap; overflow-wrap:normal; }
.si-service-pricing__terms { padding:18px 20px; margin-top:20px; border-radius:8px; background:var(--blue-50); color:var(--blue-900); font-size:14px; line-height:1.6; }
.wp-block-post-content .si-service-pricing__terms > p { margin:0; }
.si-service-pricing__terms em { font-style:normal; }
.si-order-card--table { grid-template-columns:minmax(0,1fr) minmax(240px,320px); margin-top:16px; padding:28px 32px; gap:28px; }
.si-order-card--table .si-order-card__pitch { padding:0; }
.si-order-card--table .si-order-card__eyebrow { margin-bottom:10px; }
.wp-block-post-content .si-order-card--table .si-order-card__title { max-width:none; margin-bottom:12px; font-size:clamp(24px,1.8vw,32px); }
.wp-block-post-content .si-order-card--table .si-order-card__lead { max-width:65ch; font-size:16px; }
.si-order-card--table .si-order-card__purchase { padding:0; border:0; background:transparent; }
.si-order-card--table .service-cta .wp-block-button__link { border-color:#fff; background:#fff; color:var(--blue-900); }
.si-order-card--table .service-cta .wp-block-button__link:hover { border-color:var(--blue-50); background:var(--blue-50); color:var(--blue-700); }
@media (max-width:900px) {
  .si-order-card--table { grid-template-columns:minmax(0,1fr); padding:26px; gap:20px; }
  .si-order-card--table .si-order-card__purchase { width:100%; }
}
@media (max-width:600px) {
  .si-service-pricing { padding:20px; margin-top:32px; }
  .wp-block-post-content .si-service-pricing > :is(h2,h3,h4) { font-size:22px; margin-bottom:12px; }
  .si-service-pricing--two-column .price-table :is(table,tbody) { display:block; width:100%; }
  .si-service-pricing--two-column .price-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .si-service-pricing--two-column .price-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr); padding:18px 0; }
  .si-service-pricing--two-column .price-table tbody tr + tr { border-top:1px solid var(--line); }
  .si-service-pricing--two-column .price-table tbody td { display:block; width:100%; padding:0; border:0; font-size:15px; }
  .si-service-pricing--two-column .price-table tbody td:last-child { width:100%; padding-top:10px; font-size:14px; }
  .si-service-pricing__terms { padding:16px; margin-top:8px; font-size:13px; }
  .si-order-card--table { padding:20px; }
}

/* Administration plans: all commercial values come from the original table. */
.si-plans { margin:0 0 28px; }
.si-plans__head { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-bottom:32px; }
.wp-block-post-content .si-plans__head > :is(h2,h3,h4) { margin:0; font-size:clamp(28px,2.4vw,40px); }
.wp-block-post-content .si-plans__head > p { margin:0; width:100%; max-width:none; font-size:17px; color:var(--mute); }
.si-plans__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.si-plan { --plan-ink:var(--ink); --plan-mute:var(--mute); --plan-line:var(--line); --plan-blue:var(--blue-700); position:relative; display:flex; flex-direction:column; min-width:0; padding:22px 20px; border:1px solid var(--line); border-radius:16px; background:#fff; color:var(--plan-ink); box-shadow:var(--shadow); }
.si-plan--accent { --plan-ink:#fff; --plan-mute:#e0edfc; --plan-line:#6797c5; --plan-blue:#fff; background:linear-gradient(155deg,#3075b8,#205990); border-color:#2867a4; box-shadow:0 12px 32px rgba(15,46,84,.14); }
.si-plan--business { --plan-ink:#fff; --plan-mute:#bed0e5; --plan-line:#3a5674; --plan-blue:#a9d8ff; background:radial-gradient(ellipse at top right,#244f78,transparent 65%),#0b223e; border-color:#81b5e3; box-shadow:0 0 0 1px #81b5e3,0 14px 36px rgba(15,46,84,.2); }
.si-plan__badge { position:absolute; top:-13px; right:18px; max-width:calc(100% - 36px); padding:5px 10px; border:1px solid #9dc5e9; border-radius:6px; background:#dceeff; color:#123b63; font-size:12px; line-height:1.3; font-weight:600; letter-spacing:.02em; text-align:center; }
.wp-block-post-content .si-plan__name { margin:0 0 5px; color:var(--plan-ink); font-size:28px; font-weight:600; letter-spacing:-.025em; line-height:1.25; }
.wp-block-post-content .si-plan__priority { margin:0 0 14px; font-size:13px; line-height:1.4; color:var(--plan-mute); }
.si-plan__price { color:var(--plan-mute); font-size:14px; line-height:1.5; }
.si-plan__price > strong { display:flex; flex-wrap:wrap; align-items:baseline; gap:3px; margin-bottom:2px; color:var(--plan-ink); }
.si-plan__price > br { display:none; }
.si-plan__amount { font-size:clamp(32px,2vw,42px); font-weight:600; letter-spacing:-.04em; line-height:1.2; white-space:nowrap; }
.si-plan__period { font-size:15px; font-weight:400; }
.wp-block-post-content .si-plan__inheritance { margin:16px 0 10px; padding-top:14px; border-top:1px solid var(--plan-line); color:var(--plan-ink); font-size:14px; line-height:1.5; font-weight:600; }
.wp-block-post-content .si-plan__features { list-style:none; display:grid; gap:10px; padding:0; margin:0 0 20px; }
.wp-block-post-content .si-plan__features > li { display:grid; grid-template-columns:20px minmax(0,1fr); column-gap:10px; row-gap:2px; align-content:start; margin:0; font-size:14px; line-height:1.45; color:var(--plan-ink); }
.si-plan__feature-mark { box-sizing:border-box; position:relative; display:block; width:20px; height:20px; padding:0; border:1px solid #f0c6cc; border-radius:50%; background:#fff; color:#c83a46; font-size:0; line-height:0; }
.si-plan__feature-mark::after { content:''; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:block; width:12px; height:12px; background:currentColor; -webkit-mask:url('../img/icon-plan-plus.svg') center/contain no-repeat; mask:url('../img/icon-plan-plus.svg') center/contain no-repeat; }
.si-plan__feature-copy { min-width:0; }
.si-plan__feature-value { color:var(--plan-mute); }
.si-plans .si-plan__cta { display:flex; align-items:center; justify-content:center; width:100%; min-height:44px; padding:10px 18px; border:1px solid #b8cce0; border-radius:8px; background:#fff; color:var(--blue-700); font-size:15px; font-weight:600; line-height:1.4; text-align:center; text-decoration:none; transition:background-color .15s,border-color .15s; }
.si-plan .si-plan__cta { margin-top:auto; }
.si-plan__capacity { display:block; }
.si-plans--editable > .wp-block-group { margin-block-start:0; }
.si-plans--editable .si-plans__included-body > .wp-block-group { margin:0; }
.si-plans--editable > .svc-consult { margin-top:28px; }
.si-plans--editable .svc-consult__eyebrow { margin:0; }
.si-plan__cta::after { content:none; }
.si-plans .si-plan__cta:hover { color:var(--blue-700); border-color:var(--blue-500); background:var(--blue-50); }
.si-plans .si-plan__cta:active { color:var(--blue-700); border-color:var(--blue-500); background:#dceafa; }
.si-plans .si-plan__cta:focus-visible { outline:3px solid var(--blue-300); outline-offset:3px; }
.si-plans__comparison .si-plan__cta { display:inline-flex; width:auto; min-width:112px; max-width:100%; }
.si-plans__comparison,.si-plans__included { margin-top:20px; border:1px solid var(--line); border-radius:12px; background:#fff; overflow:hidden; }
.si-plans :is(.si-plans__comparison,.si-plans__included) > summary { position:relative; display:flex; flex-direction:column; gap:5px; padding:22px 60px 22px 26px; list-style:none; cursor:pointer; font-size:19px; font-weight:600; line-height:1.35; color:var(--blue-900); }
.si-plans summary::-webkit-details-marker { display:none; }
.si-plans :is(.si-plans__comparison,.si-plans__included) > summary::after { content:''; position:absolute; right:28px; top:50%; width:9px; height:9px; border-bottom:2px solid var(--blue-600); border-right:2px solid var(--blue-600); transform:translateY(-70%) rotate(45deg); }
.si-plans :is(.si-plans__comparison,.si-plans__included)[open] > summary::after { transform:translateY(-30%) rotate(225deg); }
.si-plans :is(.si-plans__comparison,.si-plans__included)[open] > summary { border-bottom:1px solid var(--line); }
.si-plans summary:hover { background:var(--blue-50); }
.si-plans summary:focus-visible { outline-offset:-4px; }
.si-plans__summary-hint { font-size:14px; font-weight:400; color:var(--mute); }
.si-plans__comparison-body { padding:20px; }
.si-plans__comparison .price-table { max-height:none; margin:0; border-radius:8px; overflow-x:auto; }
.si-plans__comparison .price-table table { min-width:980px; table-layout:fixed; font-size:14px; }
.si-plans__comparison .price-table :is(th,td) { padding:16px 14px; border:0; border-bottom:1px solid var(--line); text-align:center; line-height:1.5; }
.si-plans__comparison .price-table :is(th,td):first-child { width:220px; text-align:left; }
.si-plans__comparison .price-table thead { border:0; }
.si-plans__comparison .price-table th { position:sticky; top:0; z-index:3; background:var(--blue-50); font-size:14px; box-shadow:0 1px 0 var(--line); }
/* Match the generic :has() table rule's specificity so the fixed corner stays above sliding headers. */
.si-plans__comparison .price-table thead th:first-child { position:sticky; left:0; z-index:4; background:var(--blue-50); box-shadow:1px 0 0 var(--line),0 1px 0 var(--line); }
.si-plans__comparison .price-table tbody td:first-child { position:sticky; left:0; z-index:2; background:#fff; box-shadow:1px 0 0 var(--line); }
.si-plans__comparison .price-table tbody tr:last-child td { border-bottom:0; }
.si-plans__empty-row { display:none; }
.wp-block-post-content .si-plans__scroll-note { display:none; margin:0 0 14px; font-size:13px; color:var(--mute); }
.si-plans__included-body { padding:24px 28px; font-size:16px; }
.wp-block-post-content .si-plans__included-body > p { margin-bottom:18px; }
.wp-block-post-content .si-plans__included-body > ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 36px; margin:0; padding-left:20px; }
.wp-block-post-content .si-plans__included-body li { margin:0; padding-left:3px; }
.si-has-plans > br { display:none; }
.si-has-plans .svc-consult { margin-top:28px; }
@media (min-width:1920px) {
  .si-plans__grid { gap:24px; }
  .si-plan { padding:24px; }
  .wp-block-post-content .si-plan__features > li { font-size:16px; }
}
@media (max-width:1199px) {
  .si-plans__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .si-plans__head { align-items:flex-start; }
  .wp-block-post-content .si-plans__scroll-note { display:block; }
}
@media (max-width:679px) {
  .si-plans__head { flex-direction:column; gap:12px; margin-bottom:22px; }
  .wp-block-post-content .si-plans__head > p { font-size:16px; }
  .si-plans__grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .si-plan { padding:22px 20px; }
  .si-plans :is(.si-plans__comparison,.si-plans__included) > summary { padding:20px 48px 20px 20px; font-size:17px; }
  .si-plans :is(.si-plans__comparison,.si-plans__included) > summary::after { right:22px; }
  .si-plans__comparison-body { padding:16px; }
  .si-plans__comparison .price-table table { min-width:850px; }
  .si-plans__comparison .price-table :is(th,td):first-child { width:170px; }
  .si-plans__comparison .price-table :is(th,td) { padding:14px 12px; font-size:13px; }
  .si-plans__included-body { padding:20px; }
  .wp-block-post-content .si-plans__included-body > ul { grid-template-columns:minmax(0,1fr); }
  .si-has-plans .svc-consult__inner { align-items:stretch; }
}
