/* ЕКС / REDATA — owner-selected independent light design, 23 October 2026.
   No downloaded fonts or third-party artwork. Existing component hooks remain. */
:root {
  color-scheme: light;
  --ui-type: Arial, Helvetica, sans-serif;
  --paper: #f5f6f8;
  --ink: #252b30;
  --muted: #59636e;
  --line: #dce1e7;
  --soft-line: #9daab6;
  --surface: #fff;
  --surface-raised: #fff;
  --surface-hover: #edf4fa;
  --accent: #066ca8;
  --accent-hover: #055785;
  --accent-soft: #e6f2fb;
  --on-accent: #fff;
  --focus: #0879bb;
  --green: #22843a;
  --amber: #a66600;
  --eks-red: #c23b30;
  --red: #066ca8;
  --lime: #cde8d2;
  --blue: #e6f2fb;
  --soft: #f0f3f7;
  --dark: #252b30;
  --dark-ink: #fff;
  --dark-muted: #d7e0e7;
  --dark-accent: #8dd4fa;
  --radius: 24px;
  --max: 1320px;
  --section-type: clamp(32px, 3.35vw, 48px);
  --section-space: clamp(64px, 6.4vw, 96px);
  --header-offset: 120px;
  --home-card-ink: #252b30;
  --home-card-muted: #52616c;
  --home-card-it: #e5f2fc;
  --home-card-computer: #eaf4e9;
  --home-card-camera: #fff2dc;
  --home-card-printer: #fcebe8;
}
html { scroll-padding-top: var(--header-offset); }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 16px/1.65 var(--ui-type); -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font-family: var(--ui-type); }
button, a { touch-action: manipulation; }
[hidden] { display: none !important; }
.wrap, .shell, .eks-shell { width: min(1320px, calc(100% - 80px)); margin-inline: auto; }
body :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; }
button:disabled { opacity: .6; }
body h1, body h2, body h3, body h4 { font-family: var(--ui-type); text-wrap: balance; }
body h2 { font-size: var(--section-type); font-weight: 600; line-height: 1.13; letter-spacing: -.045em; }
body h3 { font-weight: 600; line-height: 1.25; letter-spacing: -.025em; }
.eyebrow, .kicker, .mono { font-family: var(--ui-type); font-size: 12px; font-weight: 600; line-height: 1.6; letter-spacing: .035em; }
.eyebrow, .kicker { color: var(--muted); text-transform: none; }
.section { padding-block: var(--section-space); }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin: 0 0 32px; }
.section-heading h2 { margin: 14px 0 0; max-width: 25ch; }
.section-heading > p { max-width: 44ch; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
.status-dot, .nav-dot { background: var(--green); }
.skip { background: var(--ink); color: #fff; border-radius: 12px; z-index: 100; }

/* A floating, quiet header. Native details preserve access without JavaScript. */
.eks-header { position: sticky; top: 12px; z-index: 40; width: 100%; padding-inline: 24px; margin: 12px 0 0; }
.eks-header-inner { display: flex; align-items: center; gap: 26px; min-height: 88px; width: min(1392px, 100%); padding: 7px 24px; border: 1px solid #e5e9ed; border-radius: 28px; background: #fff; box-shadow: 0 5px 22px #27374809; }
.eks-brand { display: inline-flex; align-items: center; gap: 12px; flex: 0 0 auto; min-width: 0; }
.eks-brand-caption { display: block; max-width: 140px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.eks-header .eks-brand-caption { display: none; }
.eks-brand-mark { display: block; flex: 0 0 184px; width: 184px; }
.eks-brand-mark img { display: block; width: 184px; height: auto; max-height: 58px; object-fit: contain; object-position: left center; }
.eks-navigation { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 18px; min-width: 0; }
.eks-nav { display: flex; align-items: center; gap: 8px; min-width: 0; }
.eks-nav > a, .eks-nav > details > summary { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 10px 12px; border-radius: 13px; color: var(--ink); font: 400 14px/1.45 var(--ui-type); white-space: nowrap; }
.eks-nav > a:hover, .eks-nav > details > summary:hover, .eks-nav > details[open] > summary { background: #f0f4f7; }
.eks-nav > a[aria-current="page"] { color: var(--accent); background: var(--accent-soft); }
.eks-nav > .eks-current-section > summary { color: #06639b; background: #e6f2fb; }
.eks-menu-panel a[aria-current="page"] { color: #06639b; background: #e6f2fb; }
.eks-nav > details { position: relative; }
.eks-nav summary { list-style: none; cursor: pointer; }
.eks-nav summary::-webkit-details-marker { display: none; }
.eks-nav > details > summary::after { content: ""; display: block; flex: 0 0 6px; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .15s; }
.eks-nav > details > summary > span[aria-hidden="true"] { display: none; }
.eks-nav > details[open] > summary::after { transform: translateY(2px) rotate(225deg); }
.eks-menu-panel { position: absolute; top: calc(100% + 15px); left: -12px; width: 360px; max-height: min(680px, calc(100dvh - 132px)); overflow-y: auto; overscroll-behavior-y: contain; padding: 12px; border: 1px solid #e0e6eb; border-radius: 24px; background: #fff; box-shadow: 0 16px 45px #2737481a; }
.eks-menu-panel::before { content: ""; position: absolute; inset: -16px 0 auto; height: 16px; }
.eks-menu-panel a { display: flex; flex-direction: column; gap: 4px; min-height: 52px; padding: 13px 15px; border-radius: 14px; font-size: 15px; line-height: 1.4; }
.eks-menu-panel a:hover { background: #edf4fa; }
.eks-menu-panel a > small, .eks-menu-panel a > span { display: block; color: var(--muted); font-size: 12px; line-height: 1.55; }
.eks-menu-panel a > strong { font-weight: 600; }
.eks-menu-panel .eks-menu-all { flex-direction: row; justify-content: space-between; align-items: center; margin-top: 6px; border-top: 1px solid #e0e7ed; border-radius: 0 0 14px 14px; color: var(--accent); font-size: 13px; font-weight: 600; }
.eks-menu-panel .eks-menu-all > span { color: var(--accent); font-size: 18px; }
.eks-menu-tools { margin-block: 7px; padding: 6px; border-radius: 16px; background: #edf5fb; }
.eks-menu-tools a { min-height: 42px; padding: 11px; color: #265d7d; font-size: 13px; }
.eks-menu-panel-small { width: 300px; }
.eks-header-actions { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }
.eks-phone { display: flex; flex-direction: column; gap: 2px; font-size: 14px; font-weight: 600; line-height: 1.5; white-space: nowrap; }
.eks-phone > a { font-size: inherit; }
.eks-call-hours { display: block; color: var(--muted); font-size: 10px; font-weight: 400; line-height: 1.5; }
.eks-cabinet, .eks-header-login { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 10px 14px; border: 1px solid #dce3e9; border-radius: 14px; font-size: 13px; line-height: 1.5; white-space: nowrap; }
.eks-cabinet:hover, .eks-header-login:hover { background: #f0f4f7; }
.eks-menu-button { display: none; align-items: center; gap: 8px; min-height: 44px; padding: 10px 14px; border: 1px solid #dce3e9; border-radius: 14px; background: #fff; color: var(--ink); font-size: 14px; }
.eks-menu-button[aria-expanded="true"] { background: var(--accent-soft); border-color: #a9cee8; }

/* Shared actions. Colour-name classes are retained only as existing JS hooks. */
.eks-primary, .eks-secondary, .button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 56px; padding: 17px 25px; border: 1px solid transparent; border-radius: 16px; font-size: 15px; font-weight: 600; line-height: 1.4; transition: background .15s, box-shadow .15s; }
.eks-primary, .button-red, .button-lime, .button.acid { background: var(--accent); color: #fff; }
.eks-primary:hover, .button-red:hover, .button-lime:hover, .button.acid:hover { background: var(--accent-hover); }
.eks-primary.small, .eks-header .eks-primary { min-height: 44px; padding: 11px 16px; border-radius: 13px; font-size: 13px; white-space: nowrap; }
.eks-secondary { background: #fff; color: var(--ink); border-color: #d6e0e9; }
.eks-secondary:hover { background: #edf4fa; }
.button:hover { transform: none; }
.button-dark { background: var(--ink); color: #fff; }
.button-dark:hover { background: #3a4854; }
.button.outline { background: transparent; border-color: var(--soft-line); color: var(--ink); }
.text-link, .underlink { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; border-bottom: 1px solid #aab9c5; font-size: 14px; line-height: 1.6; font-weight: 600; }
.text-link:hover, .underlink:hover { color: var(--accent); border-color: var(--accent); }

/* Homepage: one business proposition, its own workspace illustration, then tasks. */
.eks-hero { display: grid; grid-template-columns: 1.07fr 1fr; align-items: center; gap: clamp(28px, 4vw, 64px); padding-block: 70px 52px; }
.eks-hero-copy { min-width: 0; padding-block: 8px; }
.eks-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 24px; color: #336077; font-size: 13px; line-height: 1.55; }
.eks-eyebrow::before { content: ""; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--green); }
.eks-hero h1 { margin: 0 0 28px; font-size: clamp(43px, 4.65vw, 67px); line-height: 1.06; letter-spacing: -.055em; font-weight: 600; text-wrap: initial; }
.eks-hero h1 > span { color: var(--accent); }
.eks-hero-description { margin: 0; max-width: 47ch; color: var(--muted); font-size: 18px; line-height: 1.75; }
.eks-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.eks-hero-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.eks-hero-chips a { display: inline-flex; align-items: center; min-height: 38px; padding: 8px 13px; border: 1px solid #dce3e9; border-radius: 99px; background: #fff; color: #53606a; font-size: 12px; line-height: 1.5; }
.eks-hero-chips a:hover { color: var(--accent); border-color: #a9cee8; background: #edf7fd; }
.eks-hero-art { position: relative; min-width: 0; padding: 28px 18px 76px; overflow: hidden; border-radius: 40px; background: #e9f1f7; }
.eks-hero-art > img, .eks-hero-art > svg { display: block; width: 100%; height: auto; margin-inline: auto; }
.eks-art-note { position: absolute; left: 24px; right: 24px; bottom: 24px; display: flex; justify-content: space-between; align-items: center; gap: 15px; min-height: 52px; padding: 14px 18px; border: 1px solid #e1e8ee; border-radius: 17px; background: #fff; color: var(--ink); font-size: 14px; font-weight: 600; line-height: 1.5; box-shadow: 0 8px 24px #2b49680a; }
.eks-art-note:hover { color: var(--accent); border-color: #a9cee8; }
.home-directions { padding-block: 40px var(--section-space); }
.home-directions-heading { margin-bottom: 32px; }
.home-directions-heading .kicker { margin: 0 0 13px; }
.home-directions-heading h2 { margin: 0; max-width: 26ch; font-size: var(--section-type); font-weight: 600; letter-spacing: -.04em; }
.home-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.home-service-card { display: flex; flex-direction: column; min-width: 0; min-height: 390px; padding: 28px 26px 24px; border: 1px solid transparent; border-radius: 28px; background: var(--home-card-computer); color: var(--home-card-ink); transition: border-color .15s, box-shadow .15s; }
.home-service-card:hover { border-color: #bacbd8; box-shadow: 0 10px 26px #2737480a; }
.home-card-it { background: var(--home-card-it); color: var(--home-card-ink); }
.home-card-camera { background: var(--home-card-camera); }
.home-card-printer { background: var(--home-card-printer); }
.home-card-top { display: flex; align-items: flex-start; position: relative; min-height: 82px; }
.home-card-number { color: #536775; font-size: 11px; line-height: 1.5; }
.home-card-arrow { margin-left: auto; color: var(--ink); font-size: 25px; line-height: 1; }
.home-card-icon { position: absolute; right: 4px; bottom: 4px; display: block; width: 60px; height: 60px; color: var(--green); }
.home-card-it .home-card-icon { color: var(--accent); }
.home-card-camera .home-card-icon { color: #a66600; }
.home-card-printer .home-card-icon { color: var(--eks-red); }
.home-card-icon svg { width: 100%; height: 100%; display: block; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.home-card-priority { display: block; margin: 11px 0 -7px; color: #32677f; font-size: 11px; line-height: 1.6; }
.home-service-card h3 { margin: 28px 0 18px; font-size: clamp(23px, 2.1vw, 29px); line-height: 1.16; font-weight: 600; letter-spacing: -.035em; }
.home-service-card p, .home-card-it p { margin: 0 0 26px; color: var(--home-card-muted); font-size: 14px; line-height: 1.8; }
.home-card-tags { display: block; margin-top: auto; padding-top: 18px; border-top: 1px solid #b2c6d08c; color: #485c69; font-size: 10px; line-height: 1.75; }

/* The business panel stays light, with a clear inner working area. */
.business-section { position: relative; background: #e7f1f8; color: var(--ink); padding-block: 72px; }
.business-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(40px, 6vw, 84px); }
.business-grid > div { min-width: 0; }
.business-section .eyebrow { color: #547185; }
.business-section h2 { margin: 20px 0 0; font-size: clamp(40px, 4vw, 58px); font-weight: 600; line-height: 1.08; letter-spacing: -.045em; }
.business-section h2 > span { color: var(--accent); }
.business-intro { max-width: 44ch; margin-block: 24px 30px; color: #526777; font-size: 17px; line-height: 1.75; }
.business-detail { position: relative; padding: 34px; border: 1px solid #d8e5ee; border-radius: 30px; background: #fff; }
.business-number { display: block; position: static; margin: 0 0 20px; color: #d0e7f7; font-size: 62px; font-weight: 600; line-height: 1; letter-spacing: -.07em; }
.business-number > span { color: var(--green); }
.business-tabs { gap: 20px; border-bottom-color: #dce5ec; }
.business-tabs > button { padding-block: 15px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.business-tabs > [aria-selected="true"] { color: var(--accent); font-weight: 600; }
.business-tabs > [aria-selected="true"]::after { background: var(--accent); height: 3px; border-radius: 4px 4px 0 0; }
.business-detail h3 { margin-top: 26px; font-size: 28px; line-height: 1.23; font-weight: 600; letter-spacing: -.03em; }
.business-detail p { color: #596b78; font-size: 16px; line-height: 1.75; max-width: 48ch; }
.business-detail li { font-size: 14px; line-height: 1.7; }
.business-detail li::before { color: var(--green); }
.business-bottom { padding-top: 20px; border-color: #dce5ec; color: var(--muted); font-size: 12px; line-height: 1.7; }
.business-bottom .status-dot { background: var(--green); }

/* An editorial library: category navigation and readable cards, no search box. */
.final-library-tags { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0 0 24px; border: 0; }
.final-library-tags a { display: inline-flex; align-items: center; min-height: 44px; padding: 11px 19px; border: 1px solid #d8e0e8; border-radius: 99px; background: #fff; font-size: 14px; line-height: 1.5; }
.final-library-tags a:hover, .final-library-tags a[aria-current="location"] { border-color: #a9cee8; color: var(--accent); background: var(--accent-soft); }
.final-library-group { padding-top: 22px; margin-bottom: 38px; scroll-margin-top: 120px; }
.final-library-group:last-child { margin-bottom: 0; }
.final-library-group-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.final-library-group-heading h3, .final-library-group > h3 { margin: 0; font-size: 27px; line-height: 1.25; font-weight: 600; letter-spacing: -.03em; }
.final-library-group-heading a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.final-library-group-heading a:hover { color: var(--accent); }
.public-tools-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.guide, .public-guide, .guide-green, .computer-guide, .article-feature-guide, .cabling-guide { border: 1px solid #e2e7ec; border-radius: 26px; background: #fff; color: var(--ink); }
.public-guide { display: flex; flex-direction: column; min-height: 306px; padding: 28px; text-align: left; }
.guide:hover, .public-guide:hover, .guide-green:hover, .article-feature-guide:hover, .cabling-guide:hover { border-color: #adc9df; background: #f8fcff; }
.guide .mono { font-family: var(--ui-type); color: #617687; font-size: 10px; font-weight: 600; letter-spacing: .035em; }
.public-guide h3 { margin: 22px 0 16px; font-size: 27px; line-height: 1.2; font-weight: 600; letter-spacing: -.035em; }
.public-guide p { margin: 0 0 25px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.public-guide p br { display: none; }
.public-guide .guide-link { display: block; margin-top: auto; padding-top: 12px; color: var(--accent); font-size: 13px; line-height: 1.6; font-weight: 600; }
.restart-guide, .article-feature-guide { grid-column: auto; }
.restart-guide { background: #e5f2fc; color: var(--ink); padding-right: 28px; }
.restart-guide:hover { background: #dcedfa; }
.restart-guide h3 { font-size: 32px; }
.restart-guide .mono, .restart-guide .guide-link { color: #19668e; }
.restart-guide p { color: #526777; }
.power-symbol { position: absolute; top: 21px; right: 24px; width: 29px; height: 29px; transform: none; fill: none; stroke: var(--accent); stroke-width: 5; stroke-linecap: round; }
.article-feature-guide h3, .article-feature-guide p, .article-feature-guide .guide-link, .article-feature-guide .mono { grid-column: auto; grid-row: auto; }
.restart-result { border: 1px solid #c8dfce; border-radius: 18px; background: #eaf4e9; }
.restart-result strong { font-size: 16px; }
.restart-steps summary { min-height: 52px; font-size: 16px; }
.restart-steps ol { font-size: 15px; }

/* Partners keep their individual names and existing disclosures. */
.partners-section { padding-block: var(--section-space); }
.partners-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.partner, .partner-42, .partner-license { display: flex; flex-direction: column; gap: 0; min-width: 0; padding: 30px; border: 1px solid #dfe5eb; border-radius: 28px; background: #fff; color: var(--ink); }
.partner-license { grid-column: auto; }
.partner-head { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding-bottom: 22px; border-color: #e2e7ec; }
.partner-wordmark, .partner-42 .partner-wordmark, .audit-wordmark { color: var(--ink); font-size: 28px; line-height: 1.2; letter-spacing: -.04em; }
.audit-wordmark { white-space: normal; }
.partner-head > .mono { color: var(--accent); font: 600 13px/1.55 var(--ui-type); letter-spacing: 0; }
.partner h3 { margin: 24px 0 18px; font-size: 27px; line-height: 1.2; font-weight: 600; letter-spacing: -.035em; }
.partner p, .partner-license p { margin: 0 0 25px; max-width: 46ch; color: var(--muted); font-size: 14px; line-height: 1.8; }
.partner-link { margin-top: auto; min-height: 50px; padding-top: 18px; border-color: #dfe5eb; color: var(--accent); font-size: 13px; line-height: 1.6; font-weight: 600; }
.partner-disclosure { margin-top: 20px; max-width: 105ch; font-size: 12px; line-height: 1.8; }

/* Questions and contacts form one quiet end to the page. */
.faq-section { display: grid; grid-template-columns: .85fr 1.4fr; gap: 80px; }
.faq-section h2 { margin-top: 20px; }
.faq-list details { border-color: #d8e0e7; }
.faq-list summary { min-height: 72px; padding-block: 22px; color: var(--ink); font-size: 18px; line-height: 1.5; }
.faq-list summary > span { color: var(--accent); }
.faq-list details p { color: var(--muted); font-size: 16px; line-height: 1.8; }
.contact-section { background: #e7eff5; color: var(--ink); padding-block: 56px; }
.contact-top { gap: 24px; }
.contact-top .status-dot { background: var(--green); }
.contact-top .eyebrow, .contact-top > .mono { color: #596d7c; font-size: 12px; }
.contact-section h2 { margin-block: 36px 28px; font-size: clamp(44px, 5.3vw, 72px); font-weight: 600; line-height: 1.08; letter-spacing: -.05em; }
.contact-section h2 > span { color: var(--accent); }
.contact-email { color: var(--ink); font-size: 19px; }
.contact-request { margin-top: 14px; color: var(--accent); font-size: 15px; line-height: 1.6; }
.contact-bottom { margin-top: 32px; border-color: #c3d3df; padding-top: 28px; }
.contact-phone { font-size: clamp(28px, 3.5vw, 44px); font-weight: 600; line-height: 1.3; letter-spacing: -.04em; }
.contact-phone > span { color: var(--accent); }
.contact-bottom > p { color: #526777; font-size: 14px; line-height: 1.8; }
.contact-call-hours { display: block; margin-bottom: 5px; color: var(--ink); font-weight: 600; }

/* Independent footer shell, shared by every public page in this variant. */
.eks-footer { padding-block: 48px 28px; border-top: 1px solid #e0e5ea; background: #fff; }
.eks-footer-grid, .eks-footer-inner { display: grid; grid-template-columns: 1.05fr 1fr .85fr 1.1fr; gap: 30px 36px; align-items: start; }
.eks-footer .eks-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.eks-footer .eks-brand-caption { max-width: 220px; }
.eks-footer-brand > p, .eks-footer-note { max-width: 36ch; margin: 18px 0 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.eks-footer-grid > div:first-child > p { margin: 15px 0 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.eks-footer h2, .eks-footer h3, .eks-footer-heading { margin: 8px 0 15px; font-size: 15px; line-height: 1.5; font-weight: 600; letter-spacing: 0; }
.eks-footer nav, .eks-footer-links, .eks-footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.eks-footer nav a, .eks-footer-links a, .eks-footer-contact a { display: inline-flex; align-items: center; min-height: 36px; color: #495b68; font-size: 14px; line-height: 1.6; }
.eks-footer a:hover { color: var(--accent); }
.eks-footer-contact > span { color: var(--muted); font-size: 12px; line-height: 1.7; }
.eks-footer-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 28px; grid-column: 1/-1; margin-top: 8px; padding-top: 24px; border-top: 1px solid #e0e5ea; color: var(--muted); font-size: 12px; line-height: 1.7; }
.eks-footer-meta a { min-height: 32px; display: inline-flex; align-items: center; text-decoration: underline; text-decoration-color: #b8c3cc; text-underline-offset: 4px; }

/* Service and editorial pages retain their full original content and components. */
.cabling-article, .service-page { max-width: 1200px; padding-bottom: var(--section-space); }
.cabling-hero { align-items: center; gap: 44px; padding-block: 52px; }
.cabling-hero h1, .reading-article .cabling-hero h1, .service-page .cabling-hero h1, .request-intro h1, .tool-heading h1, .legal-page h1 { margin-block: 23px 26px; font: 600 clamp(39px, 4.4vw, 60px)/1.08 var(--ui-type); letter-spacing: -.045em; text-wrap: balance; }
.cabling-hero p, .service-page .cabling-hero p, .request-intro > p { color: var(--muted); font-size: 18px; line-height: 1.75; }
.cabling-hero .eyebrow { color: #557082; }
.article-section, .service-page .article-section { padding-top: 60px; scroll-margin-top: 125px; }
.article-section-heading { max-width: 760px; margin-bottom: 28px; }
.article-section-heading h2, .service-page .article-section-heading h2, .reading-ux-body .article-section-heading h2, .reading-ux-article .article-section-heading h2 { margin-top: 14px; font-size: var(--section-type); font-weight: 600; line-height: 1.15; letter-spacing: -.04em; }
.article-section-heading > p { color: var(--muted); font-size: 17px; line-height: 1.8; }
.reading-card, .reading-card.lime-card, .reading-card.blue-card, .article-step, .decision-step, .decision-step:last-child, .article-callout, .article-help, .service-reading a { border: 1px solid #dfe5eb; border-radius: 24px; background: #fff; color: var(--ink); }
.reading-card, .article-step, .decision-step { padding: 28px; }
.reading-card.lime-card { background: #edf6ee; }
.reading-card.blue-card { background: #eaf4fb; }
.reading-card h3, .article-step h3, .decision-step h3, .service-page .reading-card h3 { font-size: 25px; font-weight: 600; line-height: 1.26; letter-spacing: -.025em; }
.reading-card p, .reading-card ul, .article-step p, .decision-step p, .service-page .reading-card p, .service-page .decision-step p { color: var(--muted); font-size: 17px; line-height: 1.8; }
.article-callout { padding: 24px 28px; border-left: 4px solid var(--accent); border-top-left-radius: 8px; border-bottom-left-radius: 8px; background: #eaf4fb; }
.article-callout strong { font-size: 19px; line-height: 1.5; font-weight: 600; }
.article-help { margin-top: 52px; padding: 34px; background: #eaf4fb; }
.article-help h2 { font-size: var(--section-type); font-weight: 600; line-height: 1.15; letter-spacing: -.04em; }
.article-help p, .article-summary { font-size: 17px; line-height: 1.8; color: var(--muted); }
.comparison-wrap { border-color: #dce3e9; border-radius: 20px; background: #fff; }
.comparison-table caption { background: #edf3f8; color: #546b7c; }
.comparison-table thead th { background: #e3edf5; color: var(--ink); font-weight: 600; }
.comparison-table th, .comparison-table td { border-color: #dfe5eb; }
.article-nav a { min-height: 44px; border-color: #d7e1e9; border-radius: 10px; font-size: 14px; }
.article-nav a:hover, .reading-contents .article-nav a:hover, .reading-contents .article-nav a[aria-current="location"] { background: #e6f2fb; color: #0b618f; }
.reading-contents { border-color: #dce4ec; border-radius: 20px; background: #fff; }
.reading-contents-column { top: var(--header-offset); }
.reading-contents .article-nav a[aria-current="location"] { border-left-color: var(--accent); }
.reading-note, .article-source, .sources-list { color: var(--muted); }
.article-checklist li::before { color: var(--green); }
.decision-step > span, .article-step > span { color: #627887; }
.related-reading { font-size: 14px; line-height: 1.8; }
.related-reading a { border-color: #b9cbd8; }
.service-visual, .editorial-art, .formula-card, .guide-art, .cartridge-art { border: 1px solid #d2e3ef; border-radius: 28px; background: #e6f2fb; color: var(--ink); }
.service-visual > .mono, .editorial-art .mono, .formula-card > .mono, .guide-art .mono, .cartridge-art > .mono { color: #367392; }
.editorial-art small, .formula-card small, .service-visual > p, .guide-art > p { color: #536a7a !important; }
.service-visual > strong, .editorial-art strong { font-weight: 600; }
.service-visual-blue, .service-visual-paper, .guide-art-light { background: #eef4f8; color: var(--ink); }
.service-visual-blue > .mono, .service-visual-paper > .mono, .service-visual-blue > p, .service-visual-paper > p, .guide-art-light .mono, .guide-art-light > p { color: #586e7e !important; }
.service-visual-tags span { border-color: #adc7d9; border-radius: 99px; color: #416277; font-size: 12px; }
.service-faq h3 { font-size: 21px; line-height: 1.4; }
.service-faq p { color: var(--muted); font-size: 16px; line-height: 1.8; }
.service-reading a { padding: 23px; }
.service-reading a:hover { background: #edf6fc; }
.service-reading span { color: var(--muted); font-size: 15px; }
.service-pages-nav { gap: 14px; font-size: 14px; }
.cartridge-art > div > span:last-child { border-color: #3d8d53; color: var(--green); }
.guide-tab, .guide-example, .guide-highlight, .guide-tab .guide-result { background: #fff; color: var(--ink); border-color: #dce4eb; border-radius: 20px; }
.guide-tab p, .guide-tab .mono, .guide-source-date, .guide-example p { color: var(--muted); }
.guide-example .eyebrow { color: var(--accent); }
.guide-example .guide-equation { background: transparent; color: var(--ink); }
.guide-example .guide-equation > span { color: var(--accent); }
.guide-route li::before { color: var(--green); }
.camera-note, .vendor-card, .vendor-main, .recording-flow span { background: #fff; color: var(--ink); border-color: #dce4eb; border-radius: 20px; }
.vendor-card p { color: var(--muted); }
.upgrade-chip { border-color: #a2bfd1; border-radius: 12px; }
.upgrade-chip:last-child, .source-stack span:last-child { background: #cde8d2; color: #244c2e; border-color: #9ecaa8; }
.cloud-art .cloud-location { border-color: #a9c1d1; border-radius: 14px; }
.cloud-art .cloud-location:last-child { border-color: #3d8d53; color: var(--green); }
.test-tags span:nth-child(2) { color: var(--green); border-color: var(--green); }

/* Finder result and input contrasts. Unknown and caution states remain distinct. */
.cartridge-controls, .cartridge-empty, .cartridge-result, .cartridge-item { background: #fff; color: var(--ink); border-color: #dce4eb; border-radius: 24px; }
.cartridge-item { background: #f7fafc; border-radius: 18px; }
.cartridge-controls select, .cartridge-controls input { min-height: 50px; background: #fff; color: var(--ink); border-color: #9daeba; border-radius: 12px; font-size: 16px; }
.cartridge-controls select:disabled { background: #eff2f5; color: #65737f; }
.cartridge-hint, .cartridge-local, .cartridge-status, .cartridge-result-subtitle, .cartridge-verified, .cartridge-item-label, .cartridge-notes, .ups-parameters dt, .ups-parameters .ups-unconfirmed, .ups-explanation { color: var(--muted); }
.cartridge-candidate { min-height: 44px; background: #fff; color: var(--ink); border-color: #c7d7e2; border-radius: 14px; }
.cartridge-candidate:hover { background: #edf6fc; }
.cartridge-important { background: #fff3da; color: #654308; border-color: #d4b572; border-radius: 16px; }
.cartridge-important .cartridge-notes { color: #654308; }
.dg-function-picker button, .dg-step-list button, .dg-navigation button { background: #fff; color: var(--ink); border-color: #d2dfe8; border-radius: 16px; }
.dg-function-picker button > span, .dg-function-picker button small, .dg-step-list button > span:first-child, .dg-instruction .dg-progress, .dg-lesson-map figcaption, .dg-official-note { color: var(--muted); }
.dg-function-picker button[aria-pressed="true"], .dg-step-list button[aria-pressed="true"], .dg-expected { background: #e6f2fb; color: #245b79; border-color: #80b6d8; }
.dg-function-picker button[aria-pressed="true"] > span, .dg-step-list button[aria-pressed="true"] > span:first-child { color: #245b79; }
.dg-navigation button:last-child { background: var(--accent); color: #fff; border-color: var(--accent); }
.dg-real-screen { background: #fff; color: #19668f !important; border-color: #c2d7e6; border-radius: 18px; }
.dg-real-screen > span, .dg-reading-details > summary small { color: var(--muted); }
.dg-real-screen:hover { background: #edf6fc; }
.dg-walkthrough noscript p { background: #edf3f8; color: var(--ink); }
.dg-reading-details { border-radius: 20px; }

/* Instructional diagrams keep their semantic wire colours and fixed light canvas. */
:is(.pair-art, .wiring-card, .wiring-live-frame, .orientation-figure, .step-illustration, .panel-insertion, .panel-visual-card, .cabling-proof > div, .dg-map, .dg-interface-map, .guide-map, .window-demo, .keyboard-art, .print-art, .tool-art, .coverage-figure, .camera-art, .camera-figure, .psu-output) {
  --paper: #f5f6f8; --ink: #252b30; --muted: #59636e; --line: #c5d1db; --red: #0879bb; --lime: #cde8d2; --focus: #0879bb;
  color: #252b30; color-scheme: light;
}
.pair-art, .keyboard-art, .tool-art, .print-art, .camera-art { border-radius: 26px; background: #e8f1f7; }
.wiring-card, .orientation-figure, .step-illustration, .panel-visual-card { border-radius: 20px; }
.tool-art .mono, .tool-art small, .keyboard-art .mono, .keyboard-art small { color: #536a7a !important; }
.keyboard-art strong > span { color: #596d7b; }
.panel-figure { background: #253746; border-radius: 20px; }
.panel-figure figcaption { color: #e1ebf3; }
.cabling-visual-steps .visual-step-lead { color: var(--ink) !important; }
.print-art .sample-sheet, .print-samples .sample-sheet { color: #252b30; }
.sample-card figcaption, .sample-card strong { color: var(--ink); }
.shortcut-button { background: #fff; color: var(--ink); border-color: #bdcedb; border-radius: 12px; font-size: 16px; }
.shortcut-button[aria-pressed="true"], .shortcut-status { background: #e6f2fb; border-color: #80b6d8; color: #245b79; }
.reading-article kbd { background: #fff; color: var(--ink); border-color: #aebfcb; border-radius: 6px; }

/* All calculations, forms and dialogs continue to use their original logic. */
.request-panel { background: #fff; color: var(--ink); border: 1px solid #dce4eb; border-radius: 28px; padding: 34px; }
.request-intro h1 { font-weight: 600; }
.request-note { background: #e7f1f8; border-radius: 20px; border-color: #cedfe9; }
.request-panel label, .dialog label { font-size: 14px; line-height: 1.65; }
.request-panel input:not([type="checkbox"]):not([type="radio"]), .request-panel select, .request-panel textarea, .psu-field input, .psu-field select, .finder-form input, .finder-form select, .finder-controls input, .finder-controls select, .coverage-form input, .coverage-form select { min-height: 50px; padding: 13px; background: #fff; color: var(--ink); border-color: #9daeba; border-radius: 12px; font-size: 16px; }
input::placeholder, textarea::placeholder { opacity: 1; color: #64717d; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--accent); }
.field-optional, .form-small, .form-note { color: var(--muted); font-size: 12px; line-height: 1.8; }
.form-notice { padding: 18px; background: #e6f2fb; color: #245b79; border-left-color: var(--accent); border-radius: 12px; font-size: 14px; line-height: 1.75; }
.dialog { max-height: calc(100dvh - 36px); padding: 40px; border: 1px solid #dce4eb; border-radius: 28px; background: #fff; color: var(--ink); box-shadow: 0 24px 100px #25374640; }
.dialog::backdrop { background: #25374688; backdrop-filter: blur(4px); }
.dialog-close { width: 44px; height: 44px; top: 12px; right: 12px; display: grid; place-items: center; padding: 0; border-radius: 50%; background: #eff3f7; color: #526573; font-size: 30px; }
.dialog input, .dialog textarea { min-height: 48px; background: #fff; color: var(--ink); border-color: #a0b2bf; border-radius: 12px; font-size: 16px; }
.dialog h2 { margin-block: 22px; font-size: clamp(30px, 3vw, 40px); line-height: 1.15; font-weight: 600; letter-spacing: -.04em; }
.dialog > p, .dialog-hint, .dialog-list, .numbered-list p { font-size: 15px; line-height: 1.8; }
.dialog .eyebrow { padding-right: 38px; }
.dialog pre { background: #edf3f8; color: var(--ink); border-radius: 14px; font-size: 14px; }
.numbered-list strong { font-size: 16px; }
.storage-form output { padding: 24px; border-radius: 18px; background: #e6f2fb; color: #245b79; font-weight: 600; }
.toast { border: 0; border-radius: 16px; background: #253746; color: #fff; font-size: 14px; line-height: 1.7; }
.psu-field small { font-size: 13px; color: var(--muted); }
.psu-output { border-radius: 24px; background: #eaf4e9; color: #244c2e; }
.psu-output .reading-note { color: #52675a; }
.coverage-calc { border-radius: 26px; background: #253746; color: #fff; }
.coverage-heading .eyebrow, #angle-value, .coverage-results strong { color: #8dd4fa; }
#coverage-form input:not([type="range"]), #coverage-form select { background: #fff; color: #252b30; border-color: #9daeba; font-size: 16px; }
#coverage-form input[type="range"] { accent-color: #8dd4fa; }
.coverage-calc .coverage-results span, .coverage-calc .coverage-limit { color: #d7e0e7; }
.legal-page { max-width: 860px; }
.legal-page h2 { font-size: 29px; font-weight: 600; line-height: 1.3; }
.legal-page p { font-size: 17px; line-height: 1.85; }

/* Cautions keep a semantic colour rather than inheriting the brand accents. */
.form-error, .notice-error { background: #ffebe6; color: #842d23; border-color: #d68579; border-radius: 14px; }
.dg-write-dot { background: #a83b2e; }
.guide-notice, .guide-limits, .dg-step-notice[data-kind="caution"], .notice:not(.notice-error), .panel-warning { background: #fff3da; color: #654308; border-color: #caa85e; border-radius: 16px; }
.panel-warning p { color: #654308; }
.dg-step-notice[data-kind="write"] { background: #ffebe6; color: #842d23; border-color: #d68579; border-radius: 16px; }

@media (min-width: 1200px) {
  .reading-contents { max-height: calc(100dvh - var(--header-offset) - 20px); }
}
@media (max-width: 1280px) {
  .eks-header-inner { gap: 18px; padding-inline: 18px; }
  .eks-nav { gap: 1px; }
  .eks-nav > a, .eks-nav > details > summary { padding-inline: 9px; font-size: 13px; }
  .eks-header-actions { gap: 10px; }
  .eks-header .eks-primary { padding-inline: 13px; font-size: 12px; }
  .eks-phone { font-size: 13px; }
  .home-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-service-card { min-height: 330px; padding: 28px; }
  .home-card-top { min-height: 70px; }
  .home-service-card h3 { font-size: 30px; }
  .home-service-card p { font-size: 16px; }
  .home-card-tags { font-size: 12px; }
}
@media (max-width: 1120px) {
  .wrap, .shell, .eks-shell { width: calc(100% - 56px); }
  .eks-header-inner { width: 100%; gap: 15px; }
  .eks-header .eks-phone { display: none; }
  .eks-header-contact { display: none; }
  .eks-hero { gap: 30px; padding-top: 56px; }
  .eks-hero h1 { font-size: clamp(43px, 5vw, 56px); }
  .eks-hero-description { font-size: 17px; }
  .eks-hero-art { padding-inline: 8px; }
  .business-grid { gap: 38px; }
  .business-detail { padding: 28px; }
  .business-tabs { gap: 15px; }
  .business-tabs > button { font-size: 12px; }
  .public-tools-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partners-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-license { grid-column: 1/-1; }
  .partner-license h3 { max-width: 26ch; }
  .partner-license p { max-width: 72ch; }
  .faq-section { gap: 45px; }
}
@media (max-width: 960px) {
  :root { --header-offset: 116px; }
  .eks-header { top: 8px; padding-inline: 16px; margin-top: 8px; }
  .eks-header-inner { position: relative; flex-wrap: wrap; min-height: 82px; gap: 0 18px; padding: 5px 18px; border-radius: 24px; }
  .eks-menu-button { margin-left: auto; }
  [data-eks-ready] .eks-menu-button { display: inline-flex; }
  .eks-navigation { display: grid; flex: 1 0 100%; align-items: stretch; gap: 16px; padding: 18px 0 16px; max-height: calc(100dvh - 110px); overflow-y: auto; border-top: 1px solid #e0e7ed; }
  [data-eks-ready] .eks-navigation:not(.is-open) { display: none; }
  .eks-nav { display: flex; flex-direction: column; align-items: stretch; gap: 5px; width: 100%; }
  .eks-nav > a, .eks-nav > details > summary { display: flex; min-height: 48px; padding: 12px 14px; font-size: 16px; }
  .eks-menu-panel { position: static; width: 100%; max-height: none; overflow: visible; margin-block: 5px 10px; padding: 8px; border: 0; border-radius: 18px; background: #f1f6fa; box-shadow: none; }
  .eks-menu-panel::before { display: none; }
  .eks-menu-panel a { font-size: 15px; }
  .eks-header-actions { display: flex; flex-wrap: wrap; gap: 12px; border-top: 1px solid #dce5ed; padding: 18px 10px 0; }
  .eks-header .eks-phone { display: flex; margin-right: auto; font-size: 15px; }
  .eks-header-contact { display: block; margin-right: auto; }
  .eks-call-hours { font-size: 11px; }
  .eks-header .eks-primary { font-size: 14px; padding-inline: 17px; }
  .eks-hero { padding-top: 44px; grid-template-columns: 1fr 1fr; gap: 25px; }
  .eks-hero h1 { font-size: clamp(39px, 5.25vw, 50px); }
  .eks-hero-art { border-radius: 30px; padding: 18px 6px 82px; }
  .eks-art-note { left: 15px; right: 15px; bottom: 18px; padding: 12px 14px; font-size: 12px; }
  .eks-hero-actions .eks-primary, .eks-hero-actions .eks-secondary { font-size: 14px; padding-inline: 18px; }
  .eks-hero-chips { margin-top: 24px; }
  .business-grid { grid-template-columns: 1fr 1.15fr; gap: 28px; }
  .business-section h2 { font-size: 44px; }
  .business-detail { padding: 24px; }
  .business-intro { font-size: 16px; }
  .business-intro br { display: none; }
  .eks-footer-grid, .eks-footer-inner { grid-template-columns: 1fr 1fr; gap: 24px 35px; }
  .eks-footer-contact { grid-column: 2; grid-row: 1; }
  .eks-footer-links { grid-column: 1/-1; flex-direction: row; flex-wrap: wrap; gap: 8px 24px; }
}
@media (max-width: 760px) {
  .eks-hero { grid-template-columns: 1fr; gap: 30px; padding-block: 42px 36px; }
  .eks-hero-copy { max-width: 660px; }
  .eks-hero h1 { font-size: clamp(44px, 7.7vw, 62px); }
  .eks-hero-description { max-width: 57ch; }
  .eks-hero-art { max-width: 640px; width: 100%; padding: 18px 24px 76px; }
  .eks-hero-art > img, .eks-hero-art > svg { max-height: 380px; object-fit: contain; }
  .eks-art-note { left: 22px; right: 22px; bottom: 20px; font-size: 14px; }
  .home-directions { padding-top: 32px; }
  .home-service-card { min-height: 330px; padding: 25px; }
  .home-service-card h3 { font-size: 26px; }
  .home-service-card p { font-size: 14px; }
  .home-card-tags { font-size: 11px; }
  .business-grid { grid-template-columns: 1fr; gap: 35px; }
  .business-section h2 br { display: none; }
  .business-section h2 { max-width: 14ch; }
  .business-intro { max-width: 48ch; }
  .business-detail { padding: 30px; }
  .business-number { margin-bottom: 10px; }
  .business-tabs > button { font-size: 14px; }
  .business-detail p { max-width: 58ch; }
  .public-guide { padding: 25px; }
  .public-guide h3 { font-size: 25px; }
  .faq-section { grid-template-columns: 1fr; gap: 22px; }
  .faq-section h2 br { display: none; }
  .contact-bottom { align-items: flex-start; flex-direction: column; gap: 20px; }
  .contact-bottom > p { margin: 0; }
  .cabling-hero, .reading-article .cabling-hero { grid-template-columns: 1fr; }
  .section-heading { display: block; }
  .section-heading > p { margin-top: 20px; }
}
@media (max-width: 600px) {
  :root { --section-space: 58px; --section-type: 34px; --header-offset: 100px; }
  .wrap, .shell, .eks-shell { width: calc(100% - 36px); }
  .eks-header { padding-inline: 10px; }
  .eks-header-inner { width: 100%; min-height: 76px; padding: 4px 14px; gap: 0 12px; border-radius: 22px; }
  .eks-menu-button { padding: 10px 12px; font-size: 13px; }
  .eks-header-actions { padding-inline: 2px; }
  .eks-header-contact { flex-basis: 100%; padding-bottom: 4px; }
  .eks-header .eks-primary { flex: 1; }
  .eks-header .eks-cabinet, .eks-header .eks-header-login { flex: 1; justify-content: center; }
  .eks-hero { padding-top: 34px; gap: 25px; }
  .eks-eyebrow { margin-bottom: 20px; font-size: 12px; }
  .eks-hero h1 { margin-bottom: 24px; font-size: clamp(40px, 10.3vw, 58px); line-height: 1.07; letter-spacing: -.05em; }
  .eks-hero-description { font-size: 16px; line-height: 1.8; }
  .eks-hero-actions { align-items: stretch; gap: 10px; margin-top: 25px; }
  .eks-hero-actions .eks-primary, .eks-hero-actions .eks-secondary { font-size: 14px; min-height: 53px; padding-inline: 18px; }
  .eks-hero-chips { gap: 7px; margin-top: 23px; }
  .eks-hero-chips a { font-size: 11px; padding: 8px 12px; }
  .eks-hero-art { border-radius: 28px; padding: 15px 5px 70px; }
  .eks-hero-art > img, .eks-hero-art > svg { max-height: 320px; }
  .eks-art-note { bottom: 16px; left: 16px; right: 16px; font-size: 12px; min-height: 48px; }
  .home-directions-heading { margin-bottom: 26px; }
  .home-service-grid { grid-template-columns: 1fr; gap: 14px; }
  .home-service-card { padding: 26px; min-height: 318px; border-radius: 25px; }
  .home-card-top { min-height: 62px; }
  .home-card-icon { width: 58px; height: 58px; }
  .home-service-card h3 { font-size: 30px; margin-top: 25px; }
  .home-service-card p { font-size: 15px; line-height: 1.8; margin-bottom: 24px; }
  .home-card-tags { font-size: 11px; }
  .business-section { padding-block: 45px; }
  .business-section h2 { font-size: 42px; }
  .business-detail { padding: 24px; border-radius: 25px; }
  .business-number { font-size: 54px; }
  .business-tabs { gap: 18px; overflow-x: auto; }
  .business-tabs > button { font-size: 12px; flex-shrink: 0; }
  .business-detail h3 { font-size: 28px; }
  .business-detail p { font-size: 15px; }
  .business-bottom { font-size: 11px; }
  .final-library-tags { gap: 8px; }
  .final-library-tags a { padding: 10px 14px; font-size: 13px; }
  .final-library-group { padding-top: 18px; margin-bottom: 28px; }
  .final-library-group-heading { gap: 16px; margin-bottom: 18px; }
  .final-library-group-heading h3 { font-size: 26px; }
  .final-library-group-heading a { font-size: 12px; white-space: nowrap; }
  .public-tools-grid { grid-template-columns: 1fr; gap: 13px; }
  .public-guide { min-height: 270px; padding: 27px; border-radius: 23px; }
  .public-guide h3 { font-size: 29px; }
  .public-guide p { font-size: 15px; }
  .public-guide .guide-link { font-size: 13px; }
  .restart-guide h3 { font-size: 33px; }
  .partners-grid { grid-template-columns: 1fr; gap: 14px; }
  .partner-license { grid-column: auto; }
  .partner { padding: 27px; border-radius: 24px; }
  .partner h3 { font-size: 30px; }
  .partner p { font-size: 15px; }
  .partner-head > .mono { font-size: 14px; }
  .partner-link { font-size: 14px; }
  .partner-disclosure { font-size: 12px; }
  .faq-list summary { font-size: 17px; }
  .faq-list details p { font-size: 15px; }
  .contact-section { padding-block: 40px; }
  .contact-top > .mono { display: none; }
  .contact-section h2 { font-size: clamp(40px, 10vw, 58px); margin-block: 28px; }
  .contact-phone { font-size: clamp(26px, 7.2vw, 38px); white-space: normal; }
  .contact-email { display: block; font-size: 18px; width: fit-content; margin-bottom: 5px; }
  .contact-request { font-size: 15px; }
  .eks-footer { padding-block: 30px 24px; }
  .eks-footer-grid, .eks-footer-inner { display: flex; flex-direction: column; gap: 22px; }
  .eks-footer-links { gap: 8px 22px; }
  .eks-footer-meta { justify-content: flex-start; gap: 10px; margin-top: 8px; }
  .eks-footer-meta a { display: flex; width: 100%; }
  .cabling-hero { gap: 28px; padding-block: 35px; }
  .cabling-hero h1, .reading-article .cabling-hero h1, .service-page .cabling-hero h1, .request-intro h1, .tool-heading h1, .legal-page h1 { font-size: clamp(36px, 9.2vw, 48px); line-height: 1.1; letter-spacing: -.04em; }
  .cabling-hero p, .service-page .cabling-hero p { font-size: 17px; }
  .article-section, .service-page .article-section { padding-top: 44px; }
  .article-section-heading h2, .reading-ux-body .article-section-heading h2, .reading-ux-article .article-section-heading h2 { font-size: 33px; }
  .reading-card, .article-step, .decision-step { padding: 24px; border-radius: 21px; }
  .reading-card h3, .article-step h3, .decision-step h3 { font-size: 25px; }
  .article-callout { padding: 22px; }
  .article-help { padding: 27px; border-radius: 24px; }
  .reading-grid, .decision-line { grid-template-columns: 1fr; }
  .request-page { gap: 30px; padding-block: 30px; }
  .request-panel { padding: 25px; border-radius: 24px; }
  .dialog { width: calc(100% - 24px); padding: 32px 24px 26px; border-radius: 24px; }
  .dialog h2 { font-size: 34px; }
  .dialog-close { top: 9px; right: 9px; width: 40px; height: 40px; }
  .dialog .button { font-size: 14px; }
  .button { font-size: 14px; padding-inline: 20px; }
}
@media (max-width: 360px) {
  .eks-hero h1 { font-size: 37px; }
  .eks-hero-actions { flex-direction: column; }
  .business-tabs { gap: 14px; }
  .business-tabs > button { font-size: 11px; }
  .public-guide h3 { font-size: 27px; }
  .home-service-card h3 { font-size: 28px; }
  .contact-phone > span { margin-left: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; }
}
@media (forced-colors: active) {
  .eks-primary, .button, .eks-secondary, .home-service-card, .guide, .partner { border: 1px solid ButtonText; }
  .eks-hero-art, .business-detail, .eks-header-inner { border: 1px solid CanvasText; }
}

/* Fixed approved mark; no logo switching or prototype controls. */
.eks-brand-wordmark { display: block; width: min(246px, 100%); }
.eks-brand-wordmark img { display: block; width: 100%; height: auto; }
@media (max-width: 600px) { .eks-header .eks-brand-mark { flex-basis: 160px; width: 160px; } .eks-header .eks-brand-mark img { width: 160px; } }
@media (max-width: 360px) { .eks-header .eks-brand-mark { flex-basis: 140px; width: 140px; } .eks-header .eks-brand-mark img { width: 140px; } }

/* In-page shortcuts connect tool previews to their interactive section. */
a.utility-jump { text-decoration: none; cursor: pointer; transition: border-color .18s, box-shadow .18s; }
a.utility-jump:hover { border-color: var(--accent); box-shadow: 0 0 0 2px #0878a51a; }
a.utility-jump:focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; }
a.utility-jump > .utility-jump-action { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; margin-top: 4px; padding-top: 16px; border-top: 1px solid #adc7d9; color: #0b618f; font: 600 14px/1.5 var(--ui-type); letter-spacing: 0; }
a.utility-jump:hover > .utility-jump-action { text-decoration: underline; text-underline-offset: 4px; }
a.utility-jump > .utility-jump-action > span { flex: 0 0 auto; font-size: 19px; }
.camera-art.utility-jump { padding: 28px; }
.pair-art.utility-jump { padding-bottom: 78px; }
.pair-art.utility-jump > .utility-jump-action { position: absolute; bottom: 22px; left: 24px; width: auto; right: 145px; border-top: 0; padding-top: 0; }
#cartridge-picker, #ups-picker, #psu-form, #try, #schemes, #coverage-calculator { scroll-margin-top: 16px; }
@media (max-width: 600px) { .pair-art.utility-jump > .utility-jump-action { left: 22px; right: 125px; bottom: 18px; font-size: 13px; } }
@media (prefers-reduced-motion: reduce) { a.utility-jump { transition: none; } }
