@font-face {
  font-family: "Onest";
  src: url("../fonts/onest-cyrillic-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Onest";
  src: url("../fonts/onest-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Onest";
  src: url("../fonts/onest-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body.dialoc-a2-root {
  color-scheme: light;
  --page: #fffefa;
  --surface: #f2f6f5;
  --surface-strong: #e7eff0;
  --ink: #102a35;
  --muted: #526a74;
  --line: #c3d2d6;
  --line-strong: #8fa5ae;
  --blue: #0188cc;
  --blue-deep: #006c9d;
  --focus: #006b5f;
  --graphite: #16242b;
  --warning-bg: #fff3c8;
  --warning: #74510c;
  --max: 1280px;
  --reading: 740px;
  --radius: 4px;
  --shadow: 0 16px 44px rgba(16, 42, 53, .09);
  --s1: .5rem;
  --s2: .75rem;
  --s3: 1rem;
  --s4: 1.5rem;
  --s5: 2rem;
  --s6: 3rem;
  --s7: 4.5rem;
  --s8: 6.5rem;
}

body.dialoc-a2-root, body.dialoc-a2-root * { box-sizing: border-box; }
body.dialoc-a2-root { scroll-behavior: smooth; }
body.dialoc-a2-root {
  margin: 0;
  background: var(--page);
  color: var(--ink);
  font-family: "Onest", "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.55;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
}
body.dialoc-a2-root img { display: block; max-width: 100%; height: auto; }
body.dialoc-a2-root a { color: inherit; text-underline-offset: .22em; }
body.dialoc-a2-root button,
body.dialoc-a2-root input,
body.dialoc-a2-root textarea,
body.dialoc-a2-root select { font: inherit; }
body.dialoc-a2-root button,
body.dialoc-a2-root summary,
body.dialoc-a2-root .button { cursor: pointer; }
body.dialoc-a2-root :focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; box-shadow: 0 0 0 2px #fff; }
body.dialoc-a2-root .skip-link {
  position: fixed; top: 8px; left: 8px; z-index: 200; transform: translateY(-180%);
  background: var(--graphite); color: #fff; padding: .7rem 1rem;
}
body.dialoc-a2-root .skip-link:focus { transform: none; }
body.dialoc-a2-root .shell { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
body.dialoc-a2-root .reading { max-width: var(--reading); }
body.dialoc-a2-root .prototype-note {
  background: var(--graphite); color: #d8e5e9; padding: .38rem 0;
  font: 700 .7rem/1.35 Consolas, monospace; letter-spacing: .04em;
}
body.dialoc-a2-root .clean-only { display: none !important; }
body.dialoc-a2-root.clean-review .prototype-note,
body.dialoc-a2-root.clean-review .future-banner,
body.dialoc-a2-root.clean-review .draft-label,
body.dialoc-a2-root.clean-review .audit-only,
body.dialoc-a2-root.clean-review .state { display: none !important; }
body.dialoc-a2-root.clean-review .clean-only { display: block !important; }
body.dialoc-a2-root.clean-review .hero { padding-top: clamp(2.45rem, 4.8vw, 4.5rem); }
body.dialoc-a2-root .prototype-note .shell { display: flex; justify-content: space-between; gap: 1rem; }
body.dialoc-a2-root .eyebrow,
body.dialoc-a2-root .label,
body.dialoc-a2-root .draft-label {
  display: block; margin: 0 0 .7rem; color: var(--blue-deep);
  font-size: .72rem; font-weight: 780; line-height: 1.35;
  letter-spacing: .1em; text-transform: uppercase;
}
body.dialoc-a2-root .draft-label { color: var(--warning); }
body.dialoc-a2-root .state {
  display: inline-flex; align-items: center; width: fit-content;
  max-width: 100%; overflow-wrap: anywhere; white-space: normal;
  border: 1px solid currentColor; border-radius: 99px; padding: .2rem .52rem;
  color: var(--warning); background: var(--warning-bg);
  font: 760 .65rem/1.25 Consolas, monospace; letter-spacing: .04em; text-transform: uppercase;
}
body.dialoc-a2-root .state.ok { color: #006a58; background: #e5f7f1; }
body.dialoc-a2-root .state.neutral { color: #4e626b; background: transparent; }
body.dialoc-a2-root h1,
body.dialoc-a2-root h2,
body.dialoc-a2-root h3,
body.dialoc-a2-root p { margin-top: 0; }
body.dialoc-a2-root h1 {
  max-width: 17ch; margin-bottom: 1rem;
  font-size: clamp(2.6rem, 4.15vw, 4.25rem); font-weight: 700;
  letter-spacing: -.04em; line-height: 1.03; text-wrap: balance;
}
body.dialoc-a2-root h2 {
  margin-bottom: 1rem; font-size: clamp(2rem, 3.3vw, 3.35rem);
  font-weight: 670; letter-spacing: -.035em; line-height: 1.06; text-wrap: balance;
}
body.dialoc-a2-root h3 { margin-bottom: .65rem; font-size: 1.25rem; line-height: 1.2; }
body.dialoc-a2-root .lede { max-width: 64ch; color: var(--muted); font-size: clamp(1.04rem, 1.4vw, 1.22rem); }
body.dialoc-a2-root .small { color: var(--muted); font-size: .86rem; }
body.dialoc-a2-root .button-row { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; }
body.dialoc-a2-root .button {
  display: inline-flex; min-height: 48px; align-items: center; justify-content: center;
  border: 1px solid var(--ink); border-radius: var(--radius); background: var(--ink); color: #fff;
  padding: .76rem 1.08rem; font-size: .9rem; font-weight: 760; text-decoration: none;
}
body.dialoc-a2-root .button:hover { border-color: var(--blue-deep); background: var(--blue-deep); }
body.dialoc-a2-root .button.secondary { background: transparent; color: var(--ink); }
body.dialoc-a2-root .button.secondary:hover { background: var(--surface); }
body.dialoc-a2-root .button.secondary.inverse {
  border-color: #d8e5e9; background: transparent; color: #fff;
}
body.dialoc-a2-root .button.secondary.inverse:hover,
body.dialoc-a2-root .button.secondary.inverse:focus-visible {
  border-color: #fff; background: #fff; color: var(--graphite);
}
body.dialoc-a2-root .button.secondary.inverse:active {
  border-color: #d8e5e9; background: #d8e5e9; color: var(--graphite);
}
body.dialoc-a2-root .button.disabled { opacity: .58; cursor: not-allowed; }
body.dialoc-a2-root .text-link { font-weight: 730; text-decoration-thickness: 1px; }

/* Selected shell */
body.dialoc-a2-root .site-header { position: relative; z-index: 30; border-bottom: 1px solid var(--line); background: var(--page); }
body.dialoc-a2-root .header-row { min-height: 78px; display: flex; align-items: center; gap: 1.5rem; }
body.dialoc-a2-root .brand-box {
  display: grid; flex: 0 0 104px; width: 104px; height: 56px; place-items: center;
  border-radius: var(--radius); background: var(--blue); overflow: hidden;
}
body.dialoc-a2-root .brand-box img { width: 82px; height: 46px; object-fit: contain; }
body.dialoc-a2-root .services-nav-group { position: static; display: flex; align-items: center; }
body.dialoc-a2-root .desktop-nav { display: flex; flex: 1; align-items: center; justify-content: flex-end; gap: clamp(.65rem, 1.05vw, 1.05rem); }
body.dialoc-a2-root .desktop-nav > a,
body.dialoc-a2-root .nav-trigger {
  min-height: 44px; display: inline-flex; align-items: center; border: 0; background: transparent;
  position: relative; padding: .45rem 0; color: var(--ink); font-size: .85rem; font-weight: 690; text-decoration: none; white-space: nowrap;
}
body.dialoc-a2-root .desktop-nav > a:not(.global-cta)::before,
body.dialoc-a2-root .nav-trigger::before { content: ""; position: absolute; right: 0; bottom: .2rem; left: 0; height: 2px; transform: scaleX(0); transform-origin: left; background: var(--blue-deep); transition: transform 160ms ease; }
body.dialoc-a2-root .desktop-nav > a:not(.global-cta):hover::before,
body.dialoc-a2-root .desktop-nav > a[aria-current="page"]::before,
body.dialoc-a2-root .desktop-nav > a[aria-current="location"]::before,
body.dialoc-a2-root .nav-trigger:hover::before,
body.dialoc-a2-root .nav-trigger.is-current::before,
body.dialoc-a2-root .site-header.services-open .nav-trigger::before { transform: scaleX(1); }
body.dialoc-a2-root .nav-trigger::after { content: "⌄"; margin-left: .35rem; color: var(--blue); }
body.dialoc-a2-root .mobile-drawer a[aria-current],
body.dialoc-a2-root .mobile-drawer summary.is-current { color: var(--blue-deep); text-decoration: underline; text-underline-offset: .25em; }
body.dialoc-a2-root .header-phone { flex-direction: column; align-items: flex-start !important; justify-content: center; min-width: 94px; line-height: 1.1; }
body.dialoc-a2-root .header-phone small { margin-top: .2rem; color: var(--muted); font: 650 .55rem/1.1 Consolas, monospace; letter-spacing: .02em; }
body.dialoc-a2-root .desktop-nav > a.global-cta {
  min-height: 44px; border: 1px solid var(--blue-deep); background: var(--blue-deep); color: #fff;
  padding: .68rem .88rem;
}
body.dialoc-a2-root .desktop-nav > a.global-cta:hover { border-color: var(--ink); background: var(--ink); }
body.dialoc-a2-root .mobile-actions { display: none; margin-left: auto; align-items: center; gap: .45rem; }
body.dialoc-a2-root .mobile-call,
body.dialoc-a2-root .menu-button {
  min-width: 46px; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ink);
  border-radius: var(--radius); background: transparent; color: var(--ink); padding: .55rem .7rem;
  font-size: .82rem; font-weight: 760; text-decoration: none;
}
body.dialoc-a2-root .services-panel {
  position: absolute; top: 100%; left: 50%; width: min(calc(100% - 40px), 1020px);
  transform: translate(-50%, -8px); display: grid; grid-template-columns: 1fr 1fr;
  visibility: hidden; opacity: 0; pointer-events: none;
  border: 1px solid var(--ink); background: var(--page); box-shadow: var(--shadow);
  transition: opacity 150ms ease, transform 150ms ease, visibility 150ms linear;
}
body.dialoc-a2-root .services-panel > .services-all-link { grid-column: 1 / -1; padding: .5rem 1.7rem; background: var(--surface); }
body.dialoc-a2-root .services-panel-group { padding: 1.7rem; }
body.dialoc-a2-root .services-panel-group + .services-panel-group { border-left: 1px solid var(--line); }
body.dialoc-a2-root .services-panel section { padding: 1.7rem; }
body.dialoc-a2-root .services-panel section + section { border-left: 1px solid var(--line); }
body.dialoc-a2-root .services-panel-title { max-width: 18ch; margin: 0 0 .65rem; color: var(--ink); font-size: 1.25rem; font-weight: 720; line-height: 1.08; letter-spacing: -.02em; }
body.dialoc-a2-root .services-panel a {
  min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  border-top: 1px solid var(--line); font-size: .9rem; font-weight: 670; text-decoration: none;
}
body.dialoc-a2-root .services-panel a::after { content: "→"; color: var(--blue); }
body.dialoc-a2-root .site-header.services-open .services-panel,
body.dialoc-a2-root .nav-demo .services-panel { visibility: visible; opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
body.dialoc-a2-root .mobile-drawer { display: none; }

/* Shared sections */
body.dialoc-a2-root .section { padding-block: var(--s7); border-bottom: 1px solid var(--line); }
body.dialoc-a2-root .section.compact { padding-block: var(--s6); }
body.dialoc-a2-root .section.soft { background: var(--surface); }
body.dialoc-a2-root .section.graphite { background: var(--graphite); color: #fff; }
body.dialoc-a2-root .section.graphite .eyebrow { color: #6dd0f4; }
body.dialoc-a2-root .section.graphite .lede,
body.dialoc-a2-root .section.graphite .small { color: #b9cbd1; }
body.dialoc-a2-root .section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 430px); gap: 2rem; align-items: end; margin-bottom: var(--s5); }
body.dialoc-a2-root .section-heading h2 { max-width: 16ch; margin-bottom: 0; }
body.dialoc-a2-root .section-heading p { margin-bottom: .25rem; color: var(--muted); }

/* Compact hero */
body.dialoc-a2-root .hero { padding-block: clamp(2.8rem, 5.5vw, 5.2rem); border-bottom: 1px solid var(--line); }
body.dialoc-a2-root .hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
body.dialoc-a2-root .hero-copy { min-width: 0; }
body.dialoc-a2-root .hero-copy .lede { margin-bottom: 1.35rem; }
body.dialoc-a2-root .hero-visual { min-width: 0; margin: 0; }
body.dialoc-a2-root .local-signal { display: flex; align-items: center; gap: .55rem; width: fit-content; margin: 0 0 .9rem; color: var(--muted); font-size: .78rem; font-weight: 700; }
body.dialoc-a2-root .local-signal::before { content: ""; width: 8px; height: 8px; border: 2px solid var(--blue-deep); border-radius: 50%; box-shadow: 0 0 0 4px #dff2fa; }
body.dialoc-a2-root .local-signal strong { color: var(--ink); }
body.dialoc-a2-root .hero-media {
  min-height: 350px; display: grid; grid-template-columns: 1.35fr .65fr; gap: .65rem;
  border: 1px solid var(--line); background: var(--surface); padding: .65rem;
}
body.dialoc-a2-root .hero-media > img { width: 100%; height: 100%; min-height: 336px; object-fit: cover; background: #eaf0f1; }
body.dialoc-a2-root .hero-media-stack { display: grid; grid-template-rows: 1fr 1fr; gap: .65rem; }
body.dialoc-a2-root .hero-media-stack > div { display: grid; place-items: center; min-height: 0; border: 1px solid var(--line); background: #fff; padding: .75rem; }
body.dialoc-a2-root .hero-media-stack img { width: 100%; max-height: 135px; object-fit: contain; }
body.dialoc-a2-root .media-note { margin: .55rem 0 0; color: var(--muted); font-size: .72rem; }
body.dialoc-a2-root .hero-signals { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 1.35rem; border-top: 1px solid var(--line); }
body.dialoc-a2-root .hero-signal { padding: .8rem .7rem .2rem 0; color: var(--muted); font-size: .78rem; }
body.dialoc-a2-root .hero-signal + .hero-signal { border-left: 1px solid var(--line); padding-left: .8rem; }
body.dialoc-a2-root .hero-signal strong { display: block; margin-bottom: .25rem; color: var(--ink); font-size: .88rem; }
body.dialoc-a2-root .hero-router { grid-column: 1 / -1; padding-top: .35rem; }
body.dialoc-a2-root .hero-router .section-heading { margin-bottom: 1.1rem; }
body.dialoc-a2-root .hero-router .section-heading h2 { font-size: clamp(1.8rem, 2.5vw, 2.55rem); }

/* Router and facts */
body.dialoc-a2-root .task-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
body.dialoc-a2-root .task-card {
  min-height: 128px; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto 1fr; gap: .4rem .8rem;
  border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 1.05rem 1.15rem;
  text-decoration: none;
}
body.dialoc-a2-root .task-card:hover { background: var(--surface); box-shadow: inset 0 -3px var(--blue-deep); }
body.dialoc-a2-root .task-card strong { display: block; max-width: 22ch; font-size: 1.08rem; line-height: 1.22; }
body.dialoc-a2-root .task-card span { color: var(--muted); font-size: .78rem; }
body.dialoc-a2-root .task-card .task-support { align-self: end; max-width: 25ch; }
body.dialoc-a2-root .task-card .task-arrow { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--blue-deep); font-size: 1.15rem; transition: transform 150ms ease; }
body.dialoc-a2-root .task-card:hover .task-arrow { transform: translateX(3px); }
body.dialoc-a2-root .trust-strip { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
body.dialoc-a2-root .trust-item { min-height: 110px; padding: 1rem; }
body.dialoc-a2-root .trust-item + .trust-item { border-left: 1px solid var(--line); }
body.dialoc-a2-root .trust-item strong { display: block; margin-top: .55rem; line-height: 1.2; }
body.dialoc-a2-root .evidence-placeholder { display: block; margin-top: .45rem; color: var(--muted); font-size: .78rem; }

/* Content systems */
body.dialoc-a2-root .direction-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
body.dialoc-a2-root .direction-card {
  min-height: 330px; display: flex; flex-direction: column; justify-content: space-between;
  border: 1px solid var(--line); background: var(--page); padding: clamp(1.4rem, 2.6vw, 2.2rem);
}
body.dialoc-a2-root .direction-card h3 { max-width: 16ch; font-size: clamp(1.8rem, 2.8vw, 2.7rem); letter-spacing: -.035em; }
body.dialoc-a2-root .link-list { list-style: none; margin: 1.2rem 0 0; padding: 0; }
body.dialoc-a2-root .link-list li { border-top: 1px solid var(--line); padding: .7rem 0; }
body.dialoc-a2-root .split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
body.dialoc-a2-root .photo-frame { border: 1px solid var(--line); background: var(--surface); padding: .65rem; }
body.dialoc-a2-root .photo-frame img { width: 100%; min-height: 300px; object-fit: cover; image-rendering: auto; }
body.dialoc-a2-root .process-list { counter-reset: step; border-top: 1px solid var(--line); }
body.dialoc-a2-root .process-list > div { counter-increment: step; display: grid; grid-template-columns: 2.6rem 1fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
body.dialoc-a2-root .process-list > div::before { content: "0" counter(step); color: var(--blue-deep); font: 700 .72rem/1.5 Consolas, monospace; }
body.dialoc-a2-root .b2b-grid { display: grid; grid-template-columns: .85fr 1.15fr; border: 1px solid var(--line); }
body.dialoc-a2-root .b2b-grid > div { padding: clamp(1.4rem, 3vw, 2.5rem); }
body.dialoc-a2-root .b2b-grid > div + div { border-left: 1px solid var(--line); }
body.dialoc-a2-root .scenario-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; }
body.dialoc-a2-root .scenario-list div { min-height: 100px; border: 1px solid var(--line); padding: .9rem; }
body.dialoc-a2-root .equipment-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
body.dialoc-a2-root .equipment-image { min-height: 320px; display: grid; place-items: center; border: 1px solid var(--line); background: #edf3f4; padding: 1.5rem; }
body.dialoc-a2-root .equipment-image img { max-height: 270px; object-fit: contain; }
body.dialoc-a2-root .equipment-links { display: grid; gap: .75rem; }
body.dialoc-a2-root .equipment-links a { min-height: 92px; display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--line); background: var(--page); padding: 1rem; font-weight: 740; text-decoration: none; }
body.dialoc-a2-root .equipment-links a::after { content: "→"; color: var(--blue); }
body.dialoc-a2-root .product-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
body.dialoc-a2-root .product-card { min-height: 230px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--line); padding: 1.25rem; }
body.dialoc-a2-root .product-card h3 { font-size: 1.55rem; }
body.dialoc-a2-root .software-mark { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid #6c818a; color: #7ed8f7; font: 750 .72rem Consolas, monospace; }
body.dialoc-a2-root .faq { border-top: 1px solid var(--line); }
body.dialoc-a2-root .faq details { border-bottom: 1px solid var(--line); padding: 1rem 0; }
body.dialoc-a2-root .faq summary { position: relative; min-height: 44px; display: flex; align-items: center; padding-right: 2.5rem; cursor: pointer; list-style: none; font-weight: 720; }
body.dialoc-a2-root .faq summary::-webkit-details-marker { display: none; }
body.dialoc-a2-root .faq summary::after { content: "+"; position: absolute; right: .5rem; color: var(--blue-deep); font-size: 1.4rem; }
body.dialoc-a2-root .faq details[open] summary::after { content: "−"; }
body.dialoc-a2-root .faq p { max-width: 70ch; margin: .7rem 0 0; color: var(--muted); }
body.dialoc-a2-root .contact-panel { display: grid; grid-template-columns: 1.1fr .9fr; border: 1px solid var(--line); }
body.dialoc-a2-root .contact-panel > div { padding: clamp(1.5rem, 3.5vw, 3rem); }
body.dialoc-a2-root .contact-panel > div + div { border-left: 1px solid var(--line); }
body.dialoc-a2-root .site-footer { padding-block: 2.4rem; background: #111d23; color: #dbe6e9; }
body.dialoc-a2-root .footer-grid { display: grid; grid-template-columns: 1.3fr .8fr 1fr 1.1fr; gap: 1.5rem; }
body.dialoc-a2-root .footer-title { margin: 0 0 .75rem; color: #fff; font-size: 1.15rem; font-weight: 720; line-height: 1.12; letter-spacing: 0; }
body.dialoc-a2-root .footer-grid a { display: block; margin: .42rem 0; color: #dbe6e9; }
body.dialoc-a2-root .nav-demo main h1 { max-width: 18ch; font-size: clamp(2.5rem, 3.8vw, 3.8rem); }

/* Precision modules in editorial shell */
body.dialoc-a2-root .technical-module { border: 1px solid var(--line-strong); background: var(--page); }
body.dialoc-a2-root .technical-module-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); padding: .8rem 1rem; }
body.dialoc-a2-root .technical-module-head h3 { margin: 0; font-size: 1rem; }
body.dialoc-a2-root .spec-list { margin: 0; }
body.dialoc-a2-root .spec-row { display: grid; grid-template-columns: minmax(160px, .65fr) minmax(0, 1.35fr); border-bottom: 1px solid var(--line); }
body.dialoc-a2-root .spec-row:last-child { border-bottom: 0; }
body.dialoc-a2-root .spec-row dt,
body.dialoc-a2-root .spec-row dd { margin: 0; padding: .78rem 1rem; }
body.dialoc-a2-root .spec-row dt { color: var(--muted); font-size: .82rem; font-weight: 680; }
body.dialoc-a2-root .spec-row dd { border-left: 1px solid var(--line); font-weight: 650; }
body.dialoc-a2-root .comparison { display: grid; grid-template-columns: minmax(190px, .8fr) repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
body.dialoc-a2-root .comparison > div { min-height: 58px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: .75rem; }
body.dialoc-a2-root .comparison .compare-head { background: var(--surface); font-weight: 740; }
body.dialoc-a2-root .comparison-wrap { max-width: 100%; overflow-x: auto; }
body.dialoc-a2-root .comparison-table { width: 100%; border-collapse: collapse; text-align: left; }
body.dialoc-a2-root .comparison-table caption { padding: 0 0 .75rem; color: var(--muted); text-align: left; font-size: .86rem; }
body.dialoc-a2-root .comparison-table th,
body.dialoc-a2-root .comparison-table td { min-width: 150px; border: 1px solid var(--line); padding: .85rem; vertical-align: top; }
body.dialoc-a2-root .comparison-table thead th { background: var(--surface); font-weight: 740; }
body.dialoc-a2-root .callout { border-left: 5px solid var(--blue); background: var(--surface); padding: 1rem 1.1rem; }
body.dialoc-a2-root .document-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
body.dialoc-a2-root .document-card { min-height: 145px; border: 1px solid var(--line); padding: 1rem; }
body.dialoc-a2-root .compatibility-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; }
body.dialoc-a2-root .compatibility-grid > div { border: 1px solid var(--line); padding: 1rem; }

/* Service page */
body.dialoc-a2-root .breadcrumbs { border-bottom: 1px solid var(--line); padding: .8rem 0; color: var(--muted); font-size: .8rem; }
body.dialoc-a2-root .breadcrumbs a { min-height: 24px; display: inline-flex; align-items: center; }
body.dialoc-a2-root .breadcrumbs span[aria-hidden="true"] { display: inline-block; margin-inline: .45rem; }
body.dialoc-a2-root .service-hero { padding-block: clamp(2.4rem, 4.5vw, 4.2rem); }
body.dialoc-a2-root .service-hero h1 { max-width: 13ch; }
body.dialoc-a2-root .quick-facts { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 1.25rem; border: 1px solid var(--line); }
body.dialoc-a2-root .quick-fact { min-height: 96px; padding: .85rem; }
body.dialoc-a2-root .quick-fact + .quick-fact { border-left: 1px solid var(--line); }
body.dialoc-a2-root .quick-fact strong { display: block; margin-top: .5rem; line-height: 1.2; }
body.dialoc-a2-root .check-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
body.dialoc-a2-root .check-list li { position: relative; border-bottom: 1px solid var(--line); padding: .85rem 0 .85rem 1.7rem; }
body.dialoc-a2-root .check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--focus); font-weight: 800; }
body.dialoc-a2-root .steps { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 3px solid var(--ink); }
body.dialoc-a2-root .step { min-height: 145px; border-bottom: 1px solid var(--line); padding: 1rem 1rem 1rem 0; }
body.dialoc-a2-root .step .num { color: var(--blue); font: 720 .72rem Consolas, monospace; }
body.dialoc-a2-root .related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
body.dialoc-a2-root .related-grid a { min-height: 110px; border: 1px solid var(--line); padding: 1rem; font-weight: 720; text-decoration: none; }

/* Components and typography */
body.dialoc-a2-root .component-block { padding-block: 2.5rem; border-bottom: 1px solid var(--line); }
body.dialoc-a2-root .component-title { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 1.2rem; }
body.dialoc-a2-root .component-title h2 { margin-bottom: 0; font-size: 2rem; }
body.dialoc-a2-root .type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
body.dialoc-a2-root .type-sample { border: 1px solid var(--line); padding: 1.25rem; }
body.dialoc-a2-root .type-sample h3 { margin-bottom: 1rem; font-size: clamp(2rem, 4vw, 3.6rem); letter-spacing: -.04em; line-height: 1.02; }
body.dialoc-a2-root .type-candidate-web,
body.dialoc-a2-root .type-candidate-web h3,
body.dialoc-a2-root .type-candidate-web .numeric,
body.dialoc-a2-root .onest-preview { font-family: "Onest", "Segoe UI", Arial, sans-serif; }
body.dialoc-a2-root .type-sample .regulatory-sample { margin-top: 1rem; border-top: 1px solid var(--line); padding-top: .9rem; color: var(--muted); font-size: .82rem; }
body.dialoc-a2-root .numeric { font-variant-numeric: tabular-nums; font-weight: 720; }
body.dialoc-a2-root .swatches { display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; }
body.dialoc-a2-root .swatch { min-height: 100px; display: flex; align-items: end; border: 1px solid var(--line); padding: .7rem; font: 650 .7rem Consolas, monospace; }
body.dialoc-a2-root .swatch.blue { background: var(--blue); color: #fff; }
body.dialoc-a2-root .swatch.graphite { background: var(--graphite); color: #fff; }
body.dialoc-a2-root .swatch.surface { background: var(--surface); }
body.dialoc-a2-root .swatch.line { background: var(--line); }
body.dialoc-a2-root .swatch.focus { background: var(--focus); color: #fff; }
body.dialoc-a2-root .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
body.dialoc-a2-root .field { display: grid; gap: .35rem; }
body.dialoc-a2-root .field label { font-size: .82rem; font-weight: 720; }
body.dialoc-a2-root .field input,
body.dialoc-a2-root .field textarea,
body.dialoc-a2-root .field select { width: 100%; min-height: 48px; border: 1px solid var(--line-strong); border-radius: 0; background: #fff; padding: .7rem; }
body.dialoc-a2-root .field.full { grid-column: 1 / -1; }
body.dialoc-a2-root .photo-brief { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; }
body.dialoc-a2-root .shot { min-height: 150px; border: 1px dashed var(--line-strong); background: var(--surface); padding: .9rem; }

/* Internal Smart Home commerce specimen */
body.dialoc-a2-root .future-banner { border-bottom: 2px solid #8b6619; background: #fff0b7; color: #392b0b; padding: .7rem 1rem; font-weight: 790; text-align: center; }
body.dialoc-a2-root .future-page .site-header { border-bottom-color: var(--line); }
body.dialoc-a2-root .commerce-hero { padding-block: 3rem; border-bottom: 1px solid var(--line); }
body.dialoc-a2-root .commerce-hero-grid { display: grid; grid-template-columns: 1fr .8fr; gap: 3rem; align-items: end; }
body.dialoc-a2-root .category-path { color: var(--muted); font-size: .82rem; }
body.dialoc-a2-root .category-path strong { color: var(--ink); }
body.dialoc-a2-root .category-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
body.dialoc-a2-root .category-chip { min-height: 40px; display: inline-flex; align-items: center; border: 1px solid var(--line); background: var(--page); padding: .55rem .75rem; font-size: .84rem; }
body.dialoc-a2-root .catalog-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 1.25rem; align-items: start; }
body.dialoc-a2-root .filters { border: 1px solid var(--line); background: var(--page); }
body.dialoc-a2-root .filter-group { border-bottom: 1px solid var(--line); padding: 1rem; }
body.dialoc-a2-root .filter-group:last-child { border-bottom: 0; }
body.dialoc-a2-root .filter-group strong { display: block; margin-bottom: .55rem; }
body.dialoc-a2-root .filter-placeholder { display: grid; gap: .45rem; color: var(--muted); font-size: .82rem; }
body.dialoc-a2-root .filter-placeholder span { display: flex; align-items: center; gap: .5rem; }
body.dialoc-a2-root .filter-placeholder span::before { content: ""; width: 14px; height: 14px; border: 1px solid var(--line-strong); }
body.dialoc-a2-root .catalog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
body.dialoc-a2-root .catalog-card { min-height: 320px; display: flex; flex-direction: column; border: 1px solid var(--line); background: var(--page); padding: 1rem; }
body.dialoc-a2-root .device-placeholder { min-height: 130px; display: grid; place-items: center; margin-bottom: 1rem; border: 1px solid var(--line); background: var(--surface); }
body.dialoc-a2-root .device-icon { width: 56px; height: 56px; border: 2px solid var(--blue); border-radius: 50%; position: relative; }
body.dialoc-a2-root .device-icon::after { content: ""; position: absolute; inset: 15px; border: 2px solid var(--blue); border-radius: 50%; }
body.dialoc-a2-root .catalog-card h3 { font-size: 1.08rem; }
body.dialoc-a2-root .catalog-card .button { width: 100%; margin-top: auto; }
body.dialoc-a2-root .catalog-toolbar { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-bottom: .8rem; }

@media (max-width: 1320px) {
  body.dialoc-a2-root .desktop-nav { display: none; }
  body.dialoc-a2-root .mobile-actions { display: flex; }
  body.dialoc-a2-root .header-row { min-height: 74px; }
  body.dialoc-a2-root .brand-box { width: 88px; flex-basis: 88px; height: 52px; }
  body.dialoc-a2-root .brand-box img { width: 72px; }
  body.dialoc-a2-root .mobile-drawer {
    position: relative; display: none; border-top: 1px solid var(--line); background: var(--page);
    padding: .7rem 20px 1.4rem;
  }
  body.dialoc-a2-root .site-header.mobile-open .mobile-drawer,
body.dialoc-a2-root .nav-demo .mobile-drawer { display: block; }
  body.dialoc-a2-root .services-panel,
body.dialoc-a2-root .nav-demo .services-panel { display: none; }
  body.dialoc-a2-root .mobile-drawer > a,
body.dialoc-a2-root .mobile-drawer summary { min-height: 50px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); font-weight: 720; text-decoration: none; }
  body.dialoc-a2-root .mobile-drawer summary { list-style: none; }
  body.dialoc-a2-root .mobile-drawer summary::-webkit-details-marker { display: none; }
  body.dialoc-a2-root .mobile-drawer summary::after { content: "+"; color: var(--blue); }
  body.dialoc-a2-root .mobile-drawer details[open] summary::after { content: "−"; }
  body.dialoc-a2-root .mobile-task-list { display: grid; padding: .3rem 0 .6rem 1rem; }
  body.dialoc-a2-root .mobile-task-list a { min-height: 46px; display: flex; align-items: center; border-bottom: 1px solid var(--line); text-decoration: none; }
  body.dialoc-a2-root .mobile-drawer .button { margin-top: .8rem; color: #fff; }
  body.dialoc-a2-root .catalog-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  body.dialoc-a2-root { --s7: 3.8rem; --s8: 5rem; }
  body.dialoc-a2-root .shell { width: min(calc(100% - 28px), var(--max)); }
  body.dialoc-a2-root .prototype-note .shell { display: block; }
  body.dialoc-a2-root .prototype-note .shell > span { display: block; overflow-wrap: anywhere; }
  body.dialoc-a2-root .hero-grid,
body.dialoc-a2-root .split,
body.dialoc-a2-root .equipment-layout,
body.dialoc-a2-root .contact-panel,
body.dialoc-a2-root .commerce-hero-grid { grid-template-columns: 1fr; }
  body.dialoc-a2-root .hero-copy { order: 1; }
  body.dialoc-a2-root .hero-router { order: 2; grid-column: auto; padding-top: .2rem; }
  body.dialoc-a2-root .hero-visual { order: 3; }
  body.dialoc-a2-root .hero-media { min-height: 280px; }
  body.dialoc-a2-root .hero-media > img { min-height: 270px; }
  body.dialoc-a2-root .hero-signals { display: none; }
  body.dialoc-a2-root .section-heading { grid-template-columns: 1fr; gap: .75rem; }
  body.dialoc-a2-root .task-grid { grid-template-columns: repeat(2, 1fr); }
  body.dialoc-a2-root .trust-strip,
body.dialoc-a2-root .quick-facts { grid-template-columns: repeat(2, 1fr); }
  body.dialoc-a2-root .trust-item:nth-child(3),
body.dialoc-a2-root .quick-fact:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  body.dialoc-a2-root .trust-item:nth-child(4),
body.dialoc-a2-root .quick-fact:nth-child(4) { border-top: 1px solid var(--line); }
  body.dialoc-a2-root .b2b-grid { grid-template-columns: 1fr; }
  body.dialoc-a2-root .b2b-grid > div + div { border-left: 0; border-top: 1px solid var(--line); }
  body.dialoc-a2-root .contact-panel > div + div { border-left: 0; border-top: 1px solid var(--line); }
  body.dialoc-a2-root .steps { grid-template-columns: repeat(2, 1fr); }
  body.dialoc-a2-root .document-grid,
body.dialoc-a2-root .related-grid { grid-template-columns: repeat(2, 1fr); }
  body.dialoc-a2-root .type-grid { grid-template-columns: 1fr; }
  body.dialoc-a2-root .photo-brief { grid-template-columns: repeat(2, 1fr); }
  body.dialoc-a2-root .catalog-layout { grid-template-columns: 1fr; }
  body.dialoc-a2-root .filters { display: grid; grid-template-columns: repeat(3, 1fr); }
  body.dialoc-a2-root .filter-group { border-bottom: 0; border-right: 1px solid var(--line); }
  body.dialoc-a2-root .filter-group:last-child { border-right: 0; }
  body.dialoc-a2-root .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  body.dialoc-a2-root { font-size: 16px; }
  body.dialoc-a2-root h1 { max-width: none; font-size: clamp(2.35rem, 11vw, 3.2rem); overflow-wrap: anywhere; word-break: normal; }
  body.dialoc-a2-root h2 { font-size: clamp(1.8rem, 8.5vw, 2.45rem); }
  body.dialoc-a2-root .hero,
body.dialoc-a2-root .service-hero { padding-block: 2.5rem; }
  body.dialoc-a2-root .button-row { align-items: stretch; }
  body.dialoc-a2-root .button-row .button { width: 100%; }
  body.dialoc-a2-root .mobile-call { font-size: 0; }
  body.dialoc-a2-root .mobile-call::before { content: "☎"; font-size: 1rem; }
  body.dialoc-a2-root .hero-media { grid-template-columns: 1fr; }
  body.dialoc-a2-root .hero-media > img { min-height: 210px; }
  body.dialoc-a2-root .hero-media-stack { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  body.dialoc-a2-root .hero-media-stack > div { min-height: 110px; }
  body.dialoc-a2-root .hero-media-stack img { max-height: 95px; }
  body.dialoc-a2-root .hero-signals { grid-template-columns: 1fr; }
  body.dialoc-a2-root .hero-signal + .hero-signal { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
  body.dialoc-a2-root .task-grid,
body.dialoc-a2-root .direction-grid,
body.dialoc-a2-root .product-grid { grid-template-columns: 1fr; }
  body.dialoc-a2-root .task-card { min-height: 96px; }
  body.dialoc-a2-root .trust-strip { grid-template-columns: 1fr; }
  body.dialoc-a2-root .quick-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.dialoc-a2-root .trust-item + .trust-item,
body.dialoc-a2-root .trust-item:nth-child(3),
body.dialoc-a2-root .trust-item:nth-child(4) { border-left: 0; border-top: 1px solid var(--line); }
  body.dialoc-a2-root .quick-fact { min-height: 78px; padding: .75rem; }
  body.dialoc-a2-root .quick-fact:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  body.dialoc-a2-root .quick-fact:nth-child(4) { border-top: 1px solid var(--line); }
  body.dialoc-a2-root .scenario-list { grid-template-columns: 1fr; }
  body.dialoc-a2-root .direction-card { min-height: 280px; }
  body.dialoc-a2-root .steps,
body.dialoc-a2-root .document-grid,
body.dialoc-a2-root .related-grid,
body.dialoc-a2-root .compatibility-grid { grid-template-columns: 1fr; }
  body.dialoc-a2-root .comparison { grid-template-columns: minmax(115px, .7fr) repeat(2, minmax(0, 1fr)); font-size: .74rem; }
  body.dialoc-a2-root .comparison > div { min-height: 54px; padding: .55rem; overflow-wrap: anywhere; }
  body.dialoc-a2-root .spec-row { grid-template-columns: 1fr; }
  body.dialoc-a2-root .spec-row dd { border-left: 0; border-top: 1px solid var(--line); }
  body.dialoc-a2-root .form-grid { grid-template-columns: 1fr; }
  body.dialoc-a2-root .component-title { align-items: flex-start; flex-direction: column; }
  body.dialoc-a2-root .field.full { grid-column: auto; }
  body.dialoc-a2-root .photo-brief { grid-template-columns: 1fr; }
  body.dialoc-a2-root .swatches { grid-template-columns: 1fr 1fr; }
  body.dialoc-a2-root .filters { grid-template-columns: 1fr; }
  body.dialoc-a2-root .filter-group { border-right: 0; border-bottom: 1px solid var(--line); }
  body.dialoc-a2-root .catalog-grid { grid-template-columns: 1fr; }
  body.dialoc-a2-root .catalog-toolbar { align-items: flex-start; flex-direction: column; }
  body.dialoc-a2-root .footer-grid { grid-template-columns: 1fr; gap: 1.1rem; }
  body.dialoc-a2-root .site-footer { padding-block: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
  body.dialoc-a2-root, body.dialoc-a2-root *,
body.dialoc-a2-root *::before,
body.dialoc-a2-root *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

/* WordPress candidate integration */
body.dialoc-a2-root { min-width: 0; }
body.dialoc-a2-root .page-wrapper,
body.dialoc-a2-root #main { width: 100%; }
body.dialoc-a2-root .prototype-note { position: relative; z-index: 50; }
body.dialoc-a2-root h1,
body.dialoc-a2-root h2,
body.dialoc-a2-root h3,
body.dialoc-a2-root p { font-family: inherit; }
body.dialoc-a2-root .button:disabled,
body.dialoc-a2-root button.button:disabled { opacity: .55; cursor: not-allowed; border-color: var(--line-strong); background: var(--surface-strong); color: var(--muted); }
body.dialoc-a2-root .a2-demo-form { width: 100%; }
body.dialoc-a2-root .field small { color: var(--muted); }
body.dialoc-a2-root .field-error { color: #8a241d !important; font-weight: 650; }
body.dialoc-a2-root .field input[aria-invalid="true"] { border: 2px solid #a52c22; }
body.dialoc-a2-root .form-status { border-left: 4px solid var(--focus); background: var(--surface); padding: .75rem 1rem; color: var(--ink); font-size: .82rem; }
body.dialoc-a2-root .future-page { border-top: 0; }
@media (min-width: 1321px) {
  body.dialoc-a2-root .services-panel { top: 100%; }
}
@media (forced-colors: active) {
  body.dialoc-a2-root :focus-visible { outline: 3px solid CanvasText; }
  body.dialoc-a2-root .state,
body.dialoc-a2-root .button,
body.dialoc-a2-root .task-card,
body.dialoc-a2-root .direction-card,
body.dialoc-a2-root .technical-module { border: 1px solid CanvasText; }
}

/* A8-P28-R2: shared review shell; content treatments are gated to five routes. */
body.dialoc-a2-root.dialoc-p28-r2-shell {
  --r2-blue: #076cbe; --r2-blue-bright: #0877d1; --r2-navy: #0f304d;
  --r2-tint: #f2f7fb; --r2-border: #ccdde9; --r2-ink: #102b48;
}
body.dialoc-a2-root.dialoc-p28-r2-shell .site-header {
  border-top: 4px solid var(--r2-blue); border-bottom-color: var(--r2-border); background: #fff;
}
body.dialoc-a2-root.dialoc-p28-r2-shell .desktop-nav > a.global-cta,
body.dialoc-a2-root.dialoc-p28-r2-shell .mobile-drawer > .button {
  background: var(--r2-blue); border-color: var(--r2-blue); border-radius: 8px; color: #fff;
}
body.dialoc-a2-root.dialoc-p28-r2-shell .desktop-nav > a.global-cta:hover { background: var(--r2-navy); }
body.dialoc-a2-root.dialoc-p28-r2-shell .mobile-call,
body.dialoc-a2-root.dialoc-p28-r2-shell .menu-button { border-color: var(--r2-border); border-radius: 8px; background: var(--r2-tint); color: var(--r2-ink); }
body.dialoc-a2-root.dialoc-p28-r2-shell .services-panel { border-color: var(--r2-border); border-top: 4px solid var(--r2-blue); }
body.dialoc-a2-root.dialoc-p28-r2-shell .site-footer {
  border-top: 6px solid var(--r2-blue-bright); background: var(--r2-navy); color: #d9e6ef;
}
body.dialoc-a2-root.dialoc-p28-r2-shell .footer-grid a { color: #d9e6ef; }
body.dialoc-a2-root.dialoc-p28-r2-shell .footer-grid a:hover { color: #fff; }
body.dialoc-a2-root.dialoc-p28-r2-shell .equipment-nav-group { position: relative; }
body.dialoc-a2-root.dialoc-p28-r2-shell .equipment-trigger {
  position: relative; display: flex; align-items: center; min-height: 44px; cursor: pointer;
  list-style: none; padding: .45rem 0; color: var(--r2-ink); font-size: .85rem; font-weight: 690; white-space: nowrap;
}
body.dialoc-a2-root.dialoc-p28-r2-shell .equipment-trigger::-webkit-details-marker { display: none; }
body.dialoc-a2-root.dialoc-p28-r2-shell .equipment-trigger::after { content: "⌄"; margin-left: .35rem; color: var(--r2-blue); }
body.dialoc-a2-root.dialoc-p28-r2-shell .equipment-trigger.is-current { text-decoration: underline; text-decoration-color: var(--r2-blue); text-underline-offset: .6em; }
body.dialoc-a2-root.dialoc-p28-r2-shell .equipment-panel {
  position: absolute; top: 100%; left: 0; width: 245px; padding: .5rem 1rem; background: #fff;
  border: 1px solid var(--r2-border); border-top: 4px solid var(--r2-blue); border-radius: 0 0 8px 8px;
  box-shadow: 0 12px 28px rgb(15 48 77 / 12%);
}
body.dialoc-a2-root.dialoc-p28-r2-shell .equipment-panel a { display: flex; align-items: center; min-height: 48px; color: var(--r2-ink); text-decoration: none; font-size: .9rem; font-weight: 670; }
body.dialoc-a2-root.dialoc-p28-r2-shell .equipment-panel a + a { border-top: 1px solid var(--r2-border); }
body.dialoc-a2-root.dialoc-p28-r2-shell .equipment-panel a:hover { color: var(--r2-blue); }
body.dialoc-a2-root.dialoc-p28-r2-shell .site-header summary:focus-visible { outline: 3px solid var(--r2-blue); outline-offset: 3px; }
body.dialoc-a2-root.dialoc-p28-r2 main .button { background: var(--r2-blue); border-color: var(--r2-blue); border-radius: 8px; color: #fff; }
body.dialoc-a2-root.dialoc-p28-r2 main .button:hover { background: var(--r2-navy); border-color: var(--r2-navy); }
body.dialoc-a2-root.dialoc-p28-r2 main .button.secondary { background: transparent; color: var(--r2-blue); border-color: var(--r2-blue); }
body.dialoc-a2-root.dialoc-p28-r2 main .button.secondary:hover { background: var(--r2-tint); }
@media (forced-colors: active) {
  body.dialoc-a2-root.dialoc-p28-r2-shell .site-header summary:focus-visible { outline-color: CanvasText; }
  body.dialoc-a2-root.dialoc-p28-r2-shell .equipment-panel { border-color: CanvasText; }
}

/* A8-P28-R4 refinement: HOME-only body; shared shell only on owner-review runtime. */
body.dialoc-a2-root.r4-shell{--r4-blue:#076cbe;--r4-navy:#0f304d;--r4-light:#e8f2fa;--r4-line:#d5e3ee;}
body.dialoc-a2-root.r4-shell .header-row{min-height:108px;gap:32px;}
body.dialoc-a2-root.r4-shell .brand-box{width:140px;height:76px;flex:none;padding:4px;background:var(--r4-blue);border:0;}
body.dialoc-a2-root.r4-shell .brand-box img{width:110px;height:68px;object-fit:contain;}
body.dialoc-a2-root.r4-shell .desktop-nav{gap:28px;}
body.dialoc-a2-root.r4-shell .desktop-nav :is(a,button,summary){font-size:16px;font-weight:670;}
body.dialoc-a2-root.r4-shell .desktop-nav > a.global-cta{min-height:54px;padding:15px 24px;border:2px solid var(--r4-blue);border-radius:4px;background:var(--r4-blue);color:#fff;font-weight:730;}
body.dialoc-a2-root.r4-shell .desktop-nav > a.global-cta:hover{background:var(--r4-navy);border-color:var(--r4-navy);}
body.dialoc-a2-root.r4-shell .site-header :is(a,button,summary):focus-visible{outline:3px solid var(--r4-blue);outline-offset:4px;}
body.dialoc-a2-root.r4-shell .site-footer{padding-block:58px;border:0;background:var(--r4-navy);color:#fff;}
body.dialoc-a2-root.r4-shell .footer-grid{grid-template-columns:1.15fr .9fr 1.2fr 1.15fr;gap:40px;}
body.dialoc-a2-root.r4-shell .footer-grid a{min-height:36px;margin:0;padding-block:6px;color:#fff;font-size:15px;line-height:1.45;}
body.dialoc-a2-root.r4-shell .site-footer a:focus-visible{outline:3px solid #fff;outline-offset:4px;}
body.dialoc-a2-root.r4-shell .dialoc-cookie-reopen-rail{background:var(--r4-navy);}
body.dialoc-a2-root.r4-shell .dialoc-cookie-reopen-rail > .shell{display:flex;align-items:center;border-top:1px solid #fff;padding-block:16px;}
body.dialoc-a2-root.r4-shell #dialoc-cookie-reopen{position:static;inset:auto;z-index:auto;max-width:100%;min-height:44px;border:1px solid #fff;border-radius:4px;background:transparent;color:#fff;padding:10px 16px;font-size:14px;line-height:1.4;}
body.dialoc-a2-root.r4-shell #dialoc-cookie-reopen:hover{background:#fff;color:var(--r4-navy);}
body.dialoc-a2-root.r4-shell #dialoc-cookie-reopen:focus-visible{outline:3px solid #fff;outline-offset:4px;}

@media (max-width:1320px) {
  body.dialoc-a2-root.r4-shell .header-row{min-height:88px;gap:20px;}
  body.dialoc-a2-root.r4-shell .brand-box{width:114px;height:62px;}
  body.dialoc-a2-root.r4-shell .brand-box img{width:92px;height:55px;}
  body.dialoc-a2-root.r4-shell :is(.mobile-call,.menu-button){min-height:48px;border-color:var(--r4-blue);background:#fff;color:var(--r4-navy);padding:11px 14px;font-size:14px;}
  body.dialoc-a2-root.r4-shell .mobile-call{min-width:48px;font-size:0;}
  body.dialoc-a2-root.r4-shell .mobile-call::before{content:"☎";font-size:20px;}}
@media (max-width:900px) {
  body.dialoc-a2-root.r4-shell .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;}}
@media (max-width:560px) {
  body.dialoc-a2-root.r4-shell .site-footer{padding-block:40px;}
  body.dialoc-a2-root.r4-shell .footer-grid{grid-template-columns:minmax(0,1fr);gap:28px;}
  body.dialoc-a2-root.r4-shell .footer-grid a{min-height:44px;padding-block:10px;}}
@media (forced-colors:active) {
  body.dialoc-a2-root.r4-shell :is(.site-header,.site-footer,.dialoc-cookie-reopen-rail) :focus-visible,
  body.dialoc-a2-root.r4-home #main :focus-visible{outline-color:CanvasText;}}

/* A8-P31: официальный знак на фоне принятой белой шапки. */
body.dialoc-a2-root.r4-shell .brand-box{background:transparent;}

/* A8-P31: завершающая правовая полоса остаётся в нормальном потоке. */
body.dialoc-a2-root.r4-shell .p31-legal-strip{background:var(--r4-navy);color:#c6d5df;border-top:1px solid #c6d5df33;padding:14px 0;}
body.dialoc-a2-root.r4-shell .p31-legal-strip p{margin:0;font-size:13px;line-height:1.55;}
body.dialoc-a2-root.r4-shell .p31-legal-strip a{color:inherit;}

/* A8-P31-R2: approved logo navy, shared CTA and one legal rail. */
body.dialoc-a2-root.r4-shell .site-header .desktop-nav>a.global-cta,body.dialoc-a2-root.r4-shell .site-header .mobile-drawer>a.button{background:var(--r4-navy);border-color:var(--r4-navy);color:#fff}
body.dialoc-a2-root.r4-shell .site-header .desktop-nav>a.global-cta:hover,body.dialoc-a2-root.r4-shell .site-header .mobile-drawer>a.button:hover{background:color-mix(in srgb,var(--r4-navy) 85%,#000);border-color:color-mix(in srgb,var(--r4-navy) 85%,#000)}
body.dialoc-a2-root.r4-shell .site-header .desktop-nav>a.global-cta:focus-visible,body.dialoc-a2-root.r4-shell .site-header .mobile-drawer>a.button:focus-visible{background:color-mix(in srgb,var(--r4-navy) 90%,#000);outline:3px solid var(--r4-navy);outline-offset:4px;box-shadow:0 0 0 2px #fff}
body.dialoc-a2-root.r4-shell .site-header .desktop-nav>a.global-cta:active,body.dialoc-a2-root.r4-shell .site-header .mobile-drawer>a.button:active{background:color-mix(in srgb,var(--r4-navy) 70%,#000);border-color:color-mix(in srgb,var(--r4-navy) 70%,#000)}
body.dialoc-a2-root.r4-shell .p31-legal-strip{padding:12px 0}
body.dialoc-a2-root.r4-shell .p31-legal-strip>.shell{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
body.dialoc-a2-root.r4-shell .p31-legal-strip p{flex:1 1 560px;min-width:0}
body.dialoc-a2-root.r4-shell .p31-legal-strip #dialoc-cookie-reopen{flex:0 0 auto;max-width:100%}
@media(forced-colors:active){body.dialoc-a2-root.r4-shell .site-header .desktop-nav>a.global-cta:focus-visible,body.dialoc-a2-root.r4-shell .site-header .mobile-drawer>a.button:focus-visible{outline-color:Highlight;box-shadow:none}}


/* A8-P49 / owner correction38: dark shared header, unchanged geometry and light panels. */
body.dialoc-a2-root.r4-shell .site-header {
  background:var(--r4-navy);border-top-color:var(--r4-navy);border-bottom-color:#ffffff33;
}
body.dialoc-a2-root.r4-shell .site-header .brand-box img { filter:brightness(0) invert(1); }
body.dialoc-a2-root.r4-shell .site-header :is(.desktop-nav>a:not(.global-cta),.nav-trigger,.equipment-trigger),
body.dialoc-a2-root.r4-shell .site-header .header-phone small { color:#fff; }
body.dialoc-a2-root.r4-shell .site-header :is(.nav-trigger,.equipment-trigger)::after,
body.dialoc-a2-root.r4-shell .site-header .desktop-nav>a:not(.global-cta)::before,
body.dialoc-a2-root.r4-shell .site-header .nav-trigger::before { color:#fff;background-color:#fff; }
body.dialoc-a2-root.r4-shell .site-header :is(.nav-trigger,.equipment-trigger)::after { background-color:transparent; }
body.dialoc-a2-root.r4-shell .site-header .header-row :is(a,button,summary):focus-visible { outline-color:#fff; }
body.dialoc-a2-root.r4-shell .site-header .desktop-nav>a.global-cta {
  background:#fff;border-color:#fff;color:var(--r4-navy);
}
body.dialoc-a2-root.r4-shell .site-header .desktop-nav>a.global-cta:hover,
body.dialoc-a2-root.r4-shell .site-header .desktop-nav>a.global-cta:focus-visible {
  background:var(--r4-light);border-color:var(--r4-light);color:var(--r4-navy);outline-color:#fff;box-shadow:none;
}
body.dialoc-a2-root.r4-shell .site-header .desktop-nav>a.global-cta:active {
  background:var(--r4-line);border-color:var(--r4-line);color:var(--r4-navy);
}
body.dialoc-a2-root.r4-shell .site-header .mobile-actions :is(.mobile-call,.menu-button) {
  background:transparent;border-color:#fff;color:#fff;
}
body.dialoc-a2-root.r4-shell .site-header .mobile-actions :is(.mobile-call,.menu-button):hover {
  background:#fff;border-color:#fff;color:var(--r4-navy);
}
@media (forced-colors:active) {
  body.dialoc-a2-root.r4-shell .site-header .header-row :is(a,button,summary):focus-visible { outline-color:Highlight; }
}

/* FOOTER-QUICK-LINKS: public staging footer only; protected shell preserved. */
body.dialoc-a2-root.r4-shell .footer-commercial .footer-grid{grid-template-columns:.95fr 1.1fr 1.15fr 1.05fr;gap:36px;}
body.dialoc-a2-root.r4-shell .footer-commercial .footer-title{margin:0 0 18px;font-size:18px;line-height:1.35;color:#fff;}
body.dialoc-a2-root.r4-shell .footer-commercial .footer-grid>div{min-width:0;}
body.dialoc-a2-root.r4-shell .footer-commercial .footer-grid a{min-height:36px;display:block;margin:0;padding:7px 0;color:#e7eff5;font-size:15px;line-height:1.45;text-decoration:none;}
body.dialoc-a2-root.r4-shell .footer-commercial .footer-grid a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px;}
body.dialoc-a2-root.r4-shell .footer-commercial .footer-address{margin:18px 0 0;color:#c6d5df;font-size:14px;line-height:1.6;}
body.dialoc-a2-root.r4-shell .footer-utility{padding-block:20px;}
body.dialoc-a2-root.r4-shell .footer-utility>.shell{display:grid;grid-template-columns:1fr auto auto;gap:20px 28px;align-items:center;}
body.dialoc-a2-root.r4-shell .footer-utility p{grid-column:1/-1;flex:none;}
body.dialoc-a2-root.r4-shell .footer-utility-links{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;}
body.dialoc-a2-root.r4-shell .footer-utility-links a{font-size:13px;line-height:1.6;padding-block:8px;}
body.dialoc-a2-root.r4-shell .footer-search{min-width:0;margin:0;}
body.dialoc-a2-root.r4-shell .footer-search label{display:block;margin-bottom:6px;font-size:13px;line-height:1.4;}
body.dialoc-a2-root.r4-shell .footer-search>div{display:flex;gap:8px;min-width:0;}
body.dialoc-a2-root.r4-shell .footer-search input{width:180px;max-width:100%;min-width:0;min-height:44px;border:1px solid #839eaf;border-radius:4px;padding:9px 12px;background:transparent;color:#fff;font:inherit;font-size:14px;}
body.dialoc-a2-root.r4-shell .footer-search input::placeholder{color:#c6d5df;opacity:1;}
body.dialoc-a2-root.r4-shell .footer-search button{min-height:44px;flex:none;padding:9px 14px;border:1px solid #fff;border-radius:4px;background:transparent;color:#fff;font:inherit;font-size:14px;cursor:pointer;}
body.dialoc-a2-root.r4-shell .footer-utility a:focus-visible,body.dialoc-a2-root.r4-shell .footer-search input:focus-visible,body.dialoc-a2-root.r4-shell .footer-search button:focus-visible{outline:3px solid #fff;outline-offset:4px;}
@media(max-width:1100px){body.dialoc-a2-root.r4-shell .footer-commercial .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px;}body.dialoc-a2-root.r4-shell .footer-utility>.shell{grid-template-columns:1fr auto;}body.dialoc-a2-root.r4-shell .footer-utility-links{grid-column:1/-1;}}
@media(max-width:600px){body.dialoc-a2-root.r4-shell .footer-commercial .footer-grid{grid-template-columns:minmax(0,1fr);gap:30px;}body.dialoc-a2-root.r4-shell .footer-commercial .footer-grid a{min-height:44px;padding-block:10px;}body.dialoc-a2-root.r4-shell .footer-utility>.shell{grid-template-columns:minmax(0,1fr);gap:20px;}body.dialoc-a2-root.r4-shell .footer-search input{width:100%;flex:1;}body.dialoc-a2-root.r4-shell .footer-utility #dialoc-cookie-reopen{justify-self:start;}}

/* Owner-approved transport equipment submenu: shared header geometry unchanged. */
body.dialoc-a2-root.r4-shell .equipment-nav-group { position: static; }
body.dialoc-a2-root.r4-shell .equipment-panel {
  left: 50%; top: 100%; width: min(calc(100% - 40px), 980px); transform: translateX(-50%);
  padding: 0; border: 1px solid var(--r4-line); border-top: 2px solid var(--r4-blue);
  border-radius: 0 0 4px 4px; background: #fff; box-shadow: 0 10px 24px rgb(15 48 77 / 6%);
}
body.dialoc-a2-root.r4-shell .equipment-panel-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; padding: 26px 28px 28px; }
body.dialoc-a2-root.r4-shell .equipment-panel-group .eyebrow { margin: 0 0 12px; color: var(--r4-blue); font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: .07em; }
body.dialoc-a2-root.r4-shell .equipment-panel-group ul { list-style: none; padding: 0; margin: 0; }
body.dialoc-a2-root.r4-shell .equipment-panel a { min-height: 44px; font-size: 16px; font-weight: 600; line-height: 1.35; color: var(--r4-navy); border: 0; }
body.dialoc-a2-root.r4-shell .equipment-panel .equipment-all-link { justify-content: space-between; gap: 12px; padding: 14px 28px; background: #f2f7fb; border-bottom: 1px solid var(--r4-line); }
body.dialoc-a2-root.r4-shell .equipment-all-link::after { content: "→"; color: var(--r4-blue); }
body.dialoc-a2-root.r4-shell .equipment-panel a:hover { color: var(--r4-blue); text-decoration: underline; text-underline-offset: 4px; }
body.dialoc-a2-root.r4-shell .equipment-panel a:focus-visible { outline: 2px solid var(--r4-blue); outline-offset: 3px; }
body.dialoc-a2-root.r4-shell .equipment-trigger { font-size: 16px; font-weight: 650; }
@media (max-width:1320px) {
  body.dialoc-a2-root.r4-shell .equipment-mobile-content { padding: 8px 0 12px 16px; }
  body.dialoc-a2-root.r4-shell .equipment-mobile-content .equipment-all-link { justify-content: space-between; gap: 12px; padding: 8px 0; color: var(--r4-blue); }
  body.dialoc-a2-root.r4-shell .equipment-mobile-content [data-equipment-subgroup]>summary { font-size: 16px; font-weight: 600; line-height: 1.4; gap: 12px; padding-block: 10px; }
  body.dialoc-a2-root.r4-shell .equipment-subgroup-links { display: grid; padding: 6px 0 10px 14px; }
  body.dialoc-a2-root.r4-shell .equipment-subgroup-links a { padding-block: 10px; line-height: 1.4; border: 0; }
  body.dialoc-a2-root.r4-shell .mobile-drawer [data-equipment-menu]>summary::after,
  body.dialoc-a2-root.r4-shell .mobile-drawer [data-equipment-subgroup]>summary::after { content: "+"; }
  body.dialoc-a2-root.r4-shell .mobile-drawer [data-equipment-menu][open]>summary::after,
  body.dialoc-a2-root.r4-shell .mobile-drawer [data-equipment-subgroup][open]>summary::after { content: "−"; }
  body.dialoc-a2-root.r4-shell .equipment-back { justify-self: start; margin: 4px 0 8px; min-height: 36px; gap: 8px; }
  body.dialoc-a2-root.r4-shell .equipment-back::before { content: "←"; }
}
@media (forced-colors:active) { body.dialoc-a2-root.r4-shell .equipment-panel { border-color: CanvasText; } }

/* HEADER-MEGA-MENU-PARITY: one desktop component, two content configurations. */
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-nav-group { position:static; display:flex; align-items:center; }
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-trigger {
  min-height:44px; display:inline-flex; align-items:center; position:relative; padding:.45rem 0;
  border:0; border-radius:0; background:transparent; box-shadow:none; text-decoration:none;
  color:#fff; font:inherit; font-size:16px; font-weight:670; line-height:1.55; white-space:nowrap; cursor:pointer;
}
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-trigger::before {
  content:""; position:absolute; left:0; right:0; bottom:.2rem; height:2px; background:#fff;
  border:0; box-shadow:none; transform:scaleX(0); transform-origin:left; transition:transform 160ms ease;
}
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-trigger:is(.is-current,[aria-expanded="true"])::before { transform:scaleX(1); }
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-trigger::after { content:"⌄"; margin-left:.35rem; color:#fff; background:transparent; }
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-trigger:focus-visible { outline:3px solid #fff; outline-offset:4px; }
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-panel {
  position:absolute; top:100%; left:50%; width:min(calc(100% - 40px),1020px); padding:0;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  visibility:hidden; opacity:0; pointer-events:none; transform:translate(-50%,-8px);
  border:1px solid var(--r2-border); border-top:4px solid var(--r2-blue); border-radius:0;
  background:var(--page); box-shadow:var(--shadow); transition:opacity 150ms ease,transform 150ms ease,visibility 150ms linear;
}
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .equipment-panel.mega-panel { grid-template-columns:repeat(3,minmax(0,1fr)); }
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-open > .mega-panel { visibility:visible; opacity:1; pointer-events:auto; transform:translate(-50%,0); }
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-columns { display:contents; }
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-panel-group { padding:1.7rem; border:0; }
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-panel-group + .mega-panel-group { border-left:1px solid var(--line); }
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-panel-group .eyebrow {
  margin:0 0 .65rem; padding:0; color:var(--blue-deep); font-size:.6875rem; font-weight:700;
  line-height:1.5; letter-spacing:.16em; text-transform:uppercase;
}
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-panel-group ul { margin:0; padding:0; list-style:none; }
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-panel a {
  min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0;
  border:0; border-top:1px solid var(--line); background:transparent; color:var(--ink);
  font-size:16px; font-weight:670; line-height:1.55; text-decoration:none;
}
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-panel a::after { content:"→"; flex:none; color:var(--blue); }
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-panel > .mega-all-link {
  grid-column:1/-1; min-height:42px; padding:.5rem 1.7rem; background:var(--surface); border-bottom:1px solid var(--line);
}
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-panel a:hover { color:var(--blue-deep); text-decoration:none; }
body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-panel a:focus-visible { outline:3px solid var(--blue-deep); outline-offset:3px; }
@media(max-width:1320px) { body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-panel { display:none; } }
@media(forced-colors:active) {
  body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-trigger::before { background:Highlight; }
  body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-trigger:focus-visible,
  body.dialoc-a2-root.r4-shell .site-header .desktop-nav .mega-panel a:focus-visible { outline-color:Highlight; }
}

/* Footer utility: legal information left, search and privacy controls right. */
body.dialoc-a2-root.r4-shell .footer-utility { padding-block: 14px; }
body.dialoc-a2-root.r4-shell .footer-utility > .shell { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: end; column-gap: 20px; row-gap: 20px; }
body.dialoc-a2-root.r4-shell .footer-utility > .shell > p { grid-column: 1; grid-row: 1; margin: 0; align-self: start; }
body.dialoc-a2-root.r4-shell .footer-utility-links { grid-column: 1; grid-row: 2; display: flex; flex-wrap: wrap; align-items: center; min-height: 0; gap: 0 20px; }
body.dialoc-a2-root.r4-shell .footer-utility-links a { display: flex; align-items: center; min-height: 0; padding-block: 0; }
body.dialoc-a2-root.r4-shell .footer-search { grid-column: 2; grid-row: 1 / span 2; min-width: 0; margin: 0 0 0 12px; }
body.dialoc-a2-root.r4-shell .footer-search > div { align-items: stretch; }
body.dialoc-a2-root.r4-shell .footer-search input[type="search"] { box-sizing: border-box; width: 180px; height: 56px; min-height: 56px; }
body.dialoc-a2-root.r4-shell .footer-utility #dialoc-cookie-reopen { grid-column: 3; grid-row: 1 / span 2; align-self: end; }
@media (max-width: 900px) {
  body.dialoc-a2-root.r4-shell .footer-utility > .shell { grid-template-columns: minmax(0, 1fr) auto; row-gap: 12px; }
  body.dialoc-a2-root.r4-shell .footer-utility > .shell > p { grid-column: 1 / -1; }
  body.dialoc-a2-root.r4-shell .footer-utility-links { grid-column: 1 / -1; min-height: 44px; }
  body.dialoc-a2-root.r4-shell .footer-utility-links a { min-height: 44px; }
  body.dialoc-a2-root.r4-shell .footer-search { grid-column: 1; grid-row: 3; margin: 0; justify-self: end; }
  body.dialoc-a2-root.r4-shell .footer-utility #dialoc-cookie-reopen { grid-column: 2; grid-row: 3; }
}
@media (max-width: 600px) {
  body.dialoc-a2-root.r4-shell .footer-utility > .shell { grid-template-columns: minmax(0, 1fr); }
  body.dialoc-a2-root.r4-shell .footer-utility-links { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; min-height: 0; }
  body.dialoc-a2-root.r4-shell .footer-search { justify-self: stretch; }
  body.dialoc-a2-root.r4-shell .footer-search input[type="search"] { width: 100%; flex: 1; }
  body.dialoc-a2-root.r4-shell .footer-utility #dialoc-cookie-reopen { grid-column: 1; grid-row: 4; justify-self: start; }
}

/* SHARED-SHELL: the approved home header and footer are the site-wide reference. */
body.dialoc-a2-root.r4-shell .site-header { border-bottom: 0; font-size: 17px; line-height: 1.55; }
body.dialoc-a2-root.r4-shell .site-header > .shell.header-row {
    width: calc(100% - 18.4vw);
    max-width: 1600px;
    min-height: 88px;
}
body.dialoc-a2-root.r4-shell .site-footer {
    background: #041e31;
    color: #fff;
    padding-block: 32px;
    font-size: 17px;
    line-height: 1.55;
}
body.dialoc-a2-root.r4-shell .footer-grid { gap: 28px; }
body.dialoc-a2-root.r4-shell .footer-column { gap: 8px; }
body.dialoc-a2-root.r4-shell :is(.site-footer, .p31-legal-strip) > .shell { width: calc(100% - 96px); max-width: 1280px; }
body.dialoc-a2-root.r4-shell .site-footer :is(p, a) { font-size: 13px; line-height: 1.65; }
body.dialoc-a2-root.r4-shell .site-footer a { color: #c6dce9; }
body.dialoc-a2-root.r4-shell .p31-legal-strip { background: #072c48; font-size: 17px; line-height: 1.55; }
@media (max-width: 1100px) {
    body.dialoc-a2-root.r4-shell .site-header > .shell.header-row { width: calc(100% - 64px); }
    body.dialoc-a2-root.r4-shell :is(.site-footer, .p31-legal-strip) > .shell { width: calc(100% - 64px); }
}
@media (max-width: 760px) {
    body.dialoc-a2-root.r4-shell .site-header > .shell.header-row { width: calc(100% - 40px); min-height: 72px; }
    body.dialoc-a2-root.r4-shell :is(.site-footer, .p31-legal-strip) > .shell { width: calc(100% - 40px); }
    body.dialoc-a2-root.r4-shell .site-footer { padding-block: 28px; }
    body.dialoc-a2-root.r4-shell .footer-grid { gap: 23px; }
}
@media (max-width: 359px) {
    body.dialoc-a2-root.r4-shell .site-header > .shell.header-row { width: calc(100% - 32px); }
}
