.concept-a {
  --content-gap: clamp(18px, 2vw, 28px);
  --reading-width: 78ch;
  --heading-gap: clamp(.55rem, 1vw, .85rem);
  --reading-break: clamp(1.75rem, 3vw, 3rem);
}
.concept-a :is(h1, h2, h3, h4) { overflow-wrap: anywhere; }
.concept-a h1 { line-height: 1.05; }
.concept-a h2 { line-height: 1.12; }
.concept-a :is(h3, h4) { line-height: 1.23; }
.concept-a h4 { font-family: var(--display, var(--body)); font-size: clamp(1.07rem, 1.5vw, 1.3rem); font-weight: 730; letter-spacing: -.025em; }
.concept-a .eyebrow { margin-bottom: var(--heading-gap); }
.concept-a .a-brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 750; letter-spacing: -.025em; }
.a-nav { gap: clamp(12px, 1.75vw, 29px); }
.a-topbar { position: relative; }
.ac-header-contact { background: var(--hero-a); border-bottom: 1px solid var(--line); }
.ac-header-contact .shell { display: flex; flex-wrap: wrap; justify-content: flex-end; column-gap: clamp(12px, 2.5vw, 28px); }
.ac-header-contact a { display: inline-flex; align-items: center; min-height: 32px; color: var(--link); font-size: .82rem; font-weight: 680; overflow-wrap: anywhere; }
.ac-header-contact a:hover { text-decoration: underline; text-underline-offset: .2em; }
.ac-organization.ac-about-details { margin-block: 2rem 0; }
.a-nav-solutions { position: static; }
.ac-mega {
  position: absolute; inset: calc(100% + 1px) 0 auto auto; width: min(100%, 1110px);
  max-height: calc(100dvh - var(--header-size) - 16px); overflow: auto; overscroll-behavior: contain;
  padding: 15px; border: 1px solid var(--line); border-radius: 17px; background: var(--paper); box-shadow: var(--lift-shadow);
}
.ac-mega-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ac-mega-group { min-width: 0; padding: 10px; border-radius: 10px; background: var(--ac-tint, var(--hero-a)); }
.ac-mega-category {
  display: grid; grid-template-columns: 29px minmax(0, 1fr) auto; align-items: center; gap: 8px;
  min-height: 43px; padding: 4px 6px; border-radius: 6px; color: var(--ink); font-weight: 750;
}
.ac-mega-category:is(:hover, [aria-current]) { background: var(--paper); color: var(--ac-accent, var(--link)); }
.ac-mega-icon { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 7px; color: var(--ac-accent, var(--link)); background: var(--paper); }
.ac-mega-icon svg { width: 17px; height: 17px; }
.ac-mega-arrow { color: var(--ac-accent, var(--link)); }
.ac-mega-services { display: grid; gap: 1px; margin: 5px 0 0 35px; padding: 0; list-style: none; }
.ac-mega-services a { display: flex; align-items: center; min-height: 29px; padding: 3px 6px; border-radius: 5px; color: var(--muted); line-height: 1.28; font-size: .84rem; }
.ac-mega-services a:is(:hover, [aria-current]) { color: var(--ac-accent, var(--link)); background: var(--paper); }
.ac-mega-foot { display: flex; justify-content: flex-end; margin-top: 10px; }
.ac-mega-foot .button { min-height: 40px; }
.concept-a .a-section-head { margin-bottom: clamp(16px, 2.1vw, 29px); }
.concept-a .a-section-head > h2::before, .ac-reading h2::before {
  content: ""; display: block; width: 25px; height: 2px; margin-bottom: var(--heading-gap);
  border-radius: 2px; background: var(--connector);
}
.a-detail-content, .a-editorial-content, .a-pricing-layout { max-width: var(--shell); }
.ac-reading { max-width: var(--reading-width); font-size: clamp(1rem, 1.24vw, 1.11rem); line-height: 1.67; }
.ac-reading > section + section { margin-top: var(--reading-break); }
.ac-reading h2 { font-size: clamp(1.37rem, 2.45vw, 2.05rem); }
.ac-reading :is(p, ul, ol) { margin-block: .72rem 0; }
.ac-reading h3:not(:first-child) { margin-top: 1.25rem; }
.ac-reading a, .ac-legal-contact a { color: var(--link); text-decoration: underline; text-underline-offset: .2em; }
.a-native-material, .a-native-static, .a-page-content { min-width: 0; }

.ac-mast-grid, .a-closing:has(> .ac-art) {
  display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); align-items: center;
  gap: clamp(18px, 4vw, 58px);
}
.ac-mast-copy, .ac-banner-copy { min-width: 0; }
.ac-mast-grid h1 { max-width: 24ch; }
.ac-mast-grid .lede { max-width: 53ch; }
.ac-art {
  display: grid; justify-items: center; align-content: center; gap: 10px; min-width: 0;
  padding: clamp(12px, 2.2vw, 29px); border: 1px solid var(--panel-stroke); border-radius: var(--radius);
  background: radial-gradient(circle, var(--panel-stroke) .65px, transparent .85px) 0 0 / 13px 13px,
    linear-gradient(127deg, var(--paper-glass), var(--tone-b));
}
.ac-mast-grid .ac-art { position: relative; isolation: isolate; width: 100%; max-width: 500px; justify-self: end; padding: 0; border: 0; background: transparent; }
.ac-mast-grid .ac-art::before {
  position: absolute; z-index: -1; inset: -9% -3%; content: "";
  background: radial-gradient(ellipse at 55% 45%, var(--ac-glow, var(--hero-glow)), transparent 72%);
}
.ac-mast-grid .ac-graph { width: min(100%, 490px); }
.a-closing > .ac-art, .a-process .ac-art { background-color: var(--paper-glass); }
.ac-graph { display: block; width: min(100%, 360px); height: auto; overflow: visible; }
.ac-graph-wire {
  stroke: var(--ac-wire, var(--connector)); stroke-width: 1.7; stroke-dasharray: 4 4; stroke-linecap: butt;
}
.ac-graph-arrow { stroke: var(--ac-wire, var(--connector)); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ac-graph-tile { fill: var(--paper); stroke: var(--ac-line, var(--panel-stroke)); stroke-width: 1.35; }
.ac-graph-icon { stroke: var(--ac-accent, var(--link)); stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.ac-graph text { text-anchor: middle; fill: var(--ac-accent, var(--tone-ink)); font: 700 11px var(--body); }
@media (prefers-reduced-motion: no-preference) {
  :is(.ac-mast-grid, .a-closing) .ac-graph-wire { animation: ac-connector-flow 18s linear infinite; }
}
@keyframes ac-connector-flow { to { stroke-dashoffset: -54; } }

.ac-editorial-grid, .a-case-grid { display: grid; gap: var(--content-gap); align-items: stretch; }
.ac-editorial-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.a-topic .ac-editorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.a-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.a-topic + .a-topic { margin-top: var(--section); }
.a-topic .a-section-head h2 { margin: 0; font-size: clamp(1.62rem, 2.7vw, 2.24rem); }
.ac-editorial-card {
  display: flex; flex-direction: column; padding: 10px; border: 1px solid var(--line);
  background: var(--paper); box-shadow: var(--soft-shadow);
}
.ac-editorial-card .ac-art { padding: clamp(9px, 1.45vw, 19px); min-height: clamp(105px, 12vw, 163px); border-radius: calc(var(--radius) - 4px); }
.ac-editorial-card .ac-graph { width: min(100%, 335px); }
.ac-editorial-copy { display: flex; flex: 1; flex-direction: column; align-items: start; padding: clamp(14px, 1.7vw, 23px); }
.ac-editorial-copy > .eyebrow, .a-related-card > .eyebrow { margin-bottom: 7px; }
.ac-editorial-copy > h3 { font-size: clamp(1.16rem, 1.9vw, 1.53rem); }
.ac-editorial-copy > p:not(.eyebrow) { margin: .55rem 0 1.05rem; color: var(--muted); }
.ac-card-action { margin-top: auto; padding-top: 4px; color: var(--link); font-size: .9rem; font-weight: 720; }
.ac-card-action span { display: inline-block; margin-left: .2em; transition: transform var(--transition); }
.ac-case-steps {
  display: flex; flex-wrap: wrap; gap: .35rem .65rem; padding: 0; margin: 0 0 .9rem;
  list-style: none; font-size: .8rem; color: var(--muted);
}
.ac-case-steps li + li::before { content: "→"; margin-right: .5rem; color: var(--link); }
.ac-case-problem { padding: clamp(18px, 2.8vw, 36px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.ac-case-problem p { max-width: var(--reading-width); color: var(--muted); }
.a-detail-content .a-workflow-detail { max-width: none; }
.a-scenario-panel { padding: clamp(15px, 2.5vw, 30px); }
.a-scenario-panel h3 + p { margin-top: var(--heading-gap); max-width: var(--reading-width); }

.a-detail-content .a-detail-section > :is(.a-scope-list, .a-inputs, .a-faq-list),
.a-detail-content > .a-faq .a-faq-list { max-width: none; }
.a-detail-content .a-scope-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--content-gap); }
.a-detail-content .a-scope-list li { padding: clamp(13px, 1.8vw, 22px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.a-detail-content .a-inputs { padding: clamp(14px, 2vw, 24px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.a-detail-content :is(.a-inputs p, .a-inputs ul, .a-faq-answer p) { max-width: var(--reading-width); }
.a-detail-content .a-faq-list { display: grid; gap: 7px; }
.ac-conditions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--content-gap); }
.ac-conditions > .a-prose { max-width: none; min-width: 0; padding: clamp(15px, 2vw, 27px); border-radius: var(--radius); border: 1px solid var(--line); background: var(--paper); }
.ac-conditions > .a-prose + .a-prose { background: var(--tone-b); }
.ac-conditions .a-prose h3 { margin-top: 0; }
.ac-related-section { margin-top: var(--section); }
.ac-related-section .ac-editorial-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.a-related-card { display: flex; flex-direction: column; }
.a-related-card h3 { margin-top: 0; }
.a-related-card p:not(.eyebrow) { margin-bottom: .7rem; }
.ac-editorial-compact .ac-art { min-height: 94px; padding: 5px 10px; }
.ac-editorial-compact .ac-graph { width: min(100%, 245px); }
.a-scope > .ac-art { padding: 2px 8px; border: 0; background: transparent; }
.a-scope .a-service-diagram { width: min(76%, 210px); }
.a-scope .ac-service-labels { display: none; }

.a-process { max-width: none; gap: var(--content-gap); margin-bottom: 22px; }
.a-process section {
  position: relative; grid-template-columns: minmax(0, 1fr) minmax(220px, .66fr); align-items: center;
  gap: var(--content-gap); padding: clamp(20px, 3vw, 41px); border: 1px solid var(--line);
}
.a-process section + section::before {
  content: ""; position: absolute; left: 37px; bottom: 100%; height: var(--content-gap); border-left: 1px dashed var(--connector);
}
.ac-stage-copy { min-width: 0; }
.ac-stage-number {
  display: inline-grid; place-items: center; min-width: 39px; min-height: 34px; margin-bottom: .65rem;
  border-radius: 8px; background: var(--paper); color: var(--link); font-size: .88rem; font-weight: 770;
}
.a-process .a-process-outcome { margin-top: .6rem; font-size: .94rem; }
.a-process .ac-graph { width: min(100%, 290px); }
.a-process p { max-width: 67ch; }

.concept-a .a-section-nav {
  top: 0;
  background: var(--canvas); border-block: 0; border-bottom: 1px solid var(--line);
  box-shadow: 0 8px 18px -20px var(--soft-shadow-ink);
}
.a-ready .concept-a .a-section-nav { top: var(--header-size); }
.a-section-nav .a-jump-label { display: none; }
.a-jump-items { gap: clamp(12px, 2.1vw, 30px); padding: 0 1px; }
.a-jump-items a { padding: 11px 1px 9px; min-height: 41px; color: var(--muted); border-radius: 0; border-bottom: 2px solid transparent; }
.a-jump-items a:is([aria-current], :hover) { color: var(--link); background: transparent; }
.a-jump-items a[aria-current] { box-shadow: none; border-bottom-color: var(--detail-accent); }

.a-filter-rail .a-rail-nav, .a-filter-rail.a-rail-nav {
  background: var(--paper); border: 1px solid var(--line); padding: 9px;
}
.a-filter-rail .a-rail-nav nav a, .a-filter-rail.a-rail-nav nav a { color: var(--muted); padding-block: 8px; }
.a-filter-rail .a-rail-nav nav a[aria-current], .a-filter-rail.a-rail-nav nav a[aria-current] {
  color: var(--link); background: var(--hero-a); box-shadow: inset 2px 0 var(--detail-accent);
}
.a-filter-rail :is(.a-rail-label, .a-rail-group > p) { color: var(--ink); }
.a-filter-selects { margin-top: 14px; padding-top: 14px; }
.a-service-list { gap: clamp(13px, 1.35vw, 20px); }
.a-service-row { padding: 10px; border: 1px solid var(--line); }
.a-service-visual { min-height: clamp(140px, 11.8vw, 168px); grid-template-rows: 1fr auto; gap: 4px; padding: 10px 7px; }
.a-service-visual .a-service-diagram { width: min(90%, 250px); }
.a-service-copy { padding: clamp(12px, 1.25vw, 19px) 6px 6px; gap: 2px; }
.a-service-copy h2 { margin-top: 4px; font-size: clamp(1.07rem, 1.65vw, 1.38rem); }
.a-service-copy .a-service-description { margin-block: .45rem; }
.ac-service-labels {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 3px;
  list-style: none; margin: 0; padding: 0; width: 100%; text-align: center; color: var(--tone-ink);
  font-size: clamp(.64rem, .85vw, .75rem); font-weight: 680; line-height: 1.24; overflow-wrap: anywhere;
}
.a-service-visual:empty, .ac-art:empty { display: none; }
@media (hover: hover) {
  :is(.a-service-row, .ac-editorial-card, .a-related-card):hover { border-color: var(--connector); transform: translateY(-3px); box-shadow: var(--lift-shadow); }
  .a-card:hover .ac-card-action span { transform: translate(2px, -2px); }
}

.ac-pricing-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; padding: 5px; border: 1px solid var(--line); border-radius: 14px; background: var(--nav-fill); }
.ac-pricing-tabs a { display: grid; place-items: center; min-height: 48px; padding: 7px 9px; border: 1px solid transparent; border-radius: 9px; color: var(--muted); font-size: .9rem; font-weight: 720; text-align: center; line-height: 1.25; }
.ac-pricing-tabs a:hover { color: var(--link); background: var(--paper-glass); }
.ac-pricing-tabs a:is([aria-current="page"], [aria-selected="true"]) { color: var(--link); background: var(--paper); border-color: var(--line); box-shadow: inset 0 -2px var(--accent); }
.ac-price-panel { margin-top: clamp(20px, 3.2vw, 38px); }
.ac-price-panel > h3 { margin-bottom: 12px; }
.a-price-card, .a-compare-card { border: 1px solid var(--line); }
.a-price-card .a-price-scope-label { font-size: .81rem; }
.a-compare-card .button { margin-top: 6px; }
.a-pricing h4 { margin: 0; color: var(--ink); }
.ac-package-grid .a-compare-card { grid-row: span 6; }
.ac-package-grid ul { margin: 5px 0 0; padding-inline-start: 17px; }
.ac-package-grid li + li { margin-top: 4px; }

.ac-legal { display: grid; grid-template-columns: minmax(170px, 215px) minmax(0, 1fr); gap: clamp(20px, 5vw, 72px); align-items: start; }
.ac-legal-nav { position: sticky; top: calc(var(--header-size) + 18px); display: grid; gap: 3px; padding: 6px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.ac-legal-nav:empty { display: none; }
.ac-legal-nav a { display: flex; align-items: center; min-height: 44px; padding: 5px 10px; color: var(--muted); font-weight: 700; border-inline-start: 2px solid transparent; border-radius: 7px; }
.ac-legal-nav a:hover { background: var(--hero-a); color: var(--link); }
.ac-legal-nav a[aria-current] { border-inline-start-color: var(--accent); color: var(--link); background: var(--hero-a); }
.ac-legal .ac-reading { margin: 0; }
.ac-legal-contact { padding-top: 1.15rem; border-top: 1px solid var(--line); }
.ac-acknowledgement.check-row {
  grid-template-columns: 22px minmax(0, 1fr); gap: 12px; padding: 0 14px;
  border: 1px solid var(--line); border-radius: 10px; background: var(--hero-a);
}
.ac-acknowledgement label { display: block; min-height: 48px; margin: 0; padding-block: 12px; line-height: 1.5; }
.concept-a .ac-acknowledgement input {
  appearance: none; display: grid; place-items: center; flex-shrink: 0; width: 22px; height: 22px;
  margin: 12px 0 0; border: 1.5px solid var(--line-strong, var(--muted)); border-radius: 5px;
  background: var(--paper); cursor: pointer;
}
.ac-acknowledgement input::before { content: ""; width: 6px; height: 11px; border: solid white; border-width: 0 2px 2px 0; transform: translateY(-1px) rotate(45deg); visibility: hidden; }
.ac-acknowledgement input:checked { background: var(--accent); border-color: var(--accent); }
.ac-acknowledgement input:checked::before { visibility: visible; }
.ac-acknowledgement:has([aria-invalid="true"]) { border-color: var(--error); }
.ac-acknowledgement input:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (forced-colors: active) {
  .concept-a .ac-acknowledgement input { appearance: auto; display: inline-block; }
  .ac-acknowledgement input::before { display: none; }
}
.ac-submit-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 15px; }
.ac-submit-row [data-submit-status] { color: var(--muted); font-size: .88rem; }
.ac-submit-row button[disabled] { opacity: .72; cursor: wait; }
.ac-receipt { padding: clamp(18px, 4vw, 42px); border: 1px solid var(--line); background: var(--paper); box-shadow: var(--soft-shadow); }
.ac-receipt p { margin: .55rem 0 1.3rem; color: var(--muted); overflow-wrap: anywhere; }

.a-footer.ac-footer { background: var(--hero-a); padding-block: clamp(28px, 4vw, 54px) 14px; }
.ac-footer-grid { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(0, .72fr) minmax(0, 1.26fr) minmax(0, .65fr) minmax(0, .8fr); gap: clamp(16px, 2.5vw, 32px); }
.ac-footer-brand { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px clamp(18px, 3vw, 44px); flex-wrap: wrap; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.ac-footer-brand p { max-width: 47ch; color: var(--muted); font-size: .94rem; }
.ac-footer-grid > nav { min-width: 0; }
.ac-footer-grid nav:nth-of-type(2) { grid-column: span 2; }
.ac-footer-grid h2 { margin: 0 0 .4rem; font-size: .94rem; letter-spacing: -.012em; }
.ac-footer-grid ul { list-style: none; padding: 0; margin: 0; }
.ac-footer-grid nav a { min-height: 30px; line-height: 1.25; padding: 4px 0; color: var(--muted); }
.ac-organization address { font-style: normal; }
.ac-organization dl { margin: .45rem 0 0; }
.ac-organization dl > div + div { margin-top: .55rem; }
.ac-organization dt { font-size: .81em; font-weight: 730; color: var(--ink); }
.ac-organization dd { margin: 1px 0 0; color: var(--muted); overflow-wrap: anywhere; }
.ac-organization a { color: var(--link); }
.ac-footer-contacts { font-size: .86rem; }
.ac-contact-details { margin-top: 1.5rem; }
.ac-contact-details h2 { font-size: 1.18rem; }
.ac-legal .ac-organization { margin-top: var(--reading-break); }
.ac-footer-bottom { border-top: 1px solid var(--line); margin-top: clamp(18px, 2.8vw, 37px); padding-top: 13px; color: var(--muted); font-size: .8rem; }
.ac-footer-grid:has(.ac-footer-contacts) { grid-template-columns: minmax(0, .75fr) minmax(0, 1.35fr) minmax(0, .7fr) minmax(0, .75fr) minmax(0, 1fr); }
.ac-footer-grid:has(.ac-footer-contacts) nav:nth-of-type(2) { grid-column: auto; }

.a-faq-list { display: grid; gap: 6px; }
.a-faq-item { border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
.a-faq-item[open] { background: var(--hero-a); }
.a-faq-item summary { gap: 12px; min-height: 49px; padding: 10px 13px; }
.a-faq-sign { flex: 0 0 20px; }
.a-faq-answer { padding: 0 36px 15px 13px; }
@supports (interpolate-size: allow-keywords) and selector(details::details-content) {
  .a-faq-item { interpolate-size: allow-keywords; }
  .a-faq-item::details-content {
    block-size: 0; overflow: clip; opacity: 0;
    transition: block-size 300ms cubic-bezier(.22,.72,.34,1), opacity 210ms ease, content-visibility 300ms allow-discrete;
  }
  .a-faq-item[open]::details-content { block-size: auto; opacity: 1; }
  .a-faq-item[open] .a-faq-answer { animation: none; }
}
.is-revealing { animation: a-native-reveal 410ms cubic-bezier(.19,.67,.32,1) var(--ac-reveal-delay, 0ms) both; }
.is-revealing:focus-within { animation: none; }
:is(.a-service-list, .ac-editorial-grid, .a-case-grid, .a-price-grid, .ac-package-grid) > :nth-child(4n + 2) { --ac-reveal-delay: 28ms; }
:is(.a-service-list, .ac-editorial-grid, .a-case-grid, .a-price-grid, .ac-package-grid) > :nth-child(4n + 3) { --ac-reveal-delay: 56ms; }
:is(.a-service-list, .ac-editorial-grid, .a-case-grid, .a-price-grid, .ac-package-grid) > :nth-child(4n + 4) { --ac-reveal-delay: 84ms; }
@keyframes a-native-reveal { from { opacity: .78; translate: 0 17px; } to { opacity: 1; translate: 0 0; } }

@media (min-width: 1100px) {
  .ac-footer-brand p { flex: 1 1 28rem; max-width: none; }
}
@media (max-width: 1000px) {
  .a-topbar { position: static; }
  .ac-mega { position: static; width: auto; max-height: none; overflow: visible; padding: 4px; border: 0; border-radius: 8px; box-shadow: none; background: var(--canvas); }
  .ac-mega-grid { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .ac-mega-group { padding: 1px; }
  .ac-mega-services { display: none; }
  .ac-mega-category { min-height: 42px; }
  .ac-mega-foot { justify-content: flex-start; margin: 5px 3px 3px; }
}
@media (min-width: 1180px) {
  .a-topic .ac-editorial-grid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 761px) {
  .ac-editorial-compact:only-child { display: grid; grid-template-columns: minmax(215px, .46fr) minmax(0, 1fr); }
  .a-case-grid:has(> :nth-child(5):last-child) > :last-child {
    grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 980px) {
  .ac-editorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .ac-mast-grid, .a-closing:has(> .ac-art) { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  :is(.ac-mast-grid, .a-closing) > .ac-art { justify-self: start; width: min(100%, 360px); padding: 4px 14px; }
  :is(.ac-mast-grid, .a-closing) .ac-graph { width: min(100%, 276px); }
  .a-process section { grid-template-columns: minmax(0, 1fr) minmax(155px, .56fr); }
  .ac-footer-grid, .ac-footer-grid:has(.ac-footer-contacts) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-footer-grid nav:nth-of-type(2) { grid-column: auto; }
  .ac-pricing-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-package-grid .a-compare-card { grid-row: auto; }
  .ac-legal { grid-template-columns: minmax(0, 1fr); }
  .ac-legal-nav { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 525px) {
  .ac-editorial-grid, .a-topic .ac-editorial-grid, .a-case-grid, .a-process section, .ac-conditions,
  .a-detail-content .a-scope-list { grid-template-columns: minmax(0, 1fr); }
  .ac-editorial-card .ac-art { min-height: 108px; }
  .ac-editorial-copy { padding: 13px 11px; }
  .a-process .ac-art { padding: 5px 8px; }
  .a-process .ac-graph { width: min(100%, 242px); }
  .a-service-visual { min-height: 145px; }
  .ac-service-labels { font-size: .72rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ac-card-action span, .a-faq-sign::after { transition: none; }
  .a-faq-item::details-content { transition: none; }
  .is-revealing, .a-faq-item[open] .a-faq-answer { animation: none; }
}

:is([data-ac-section="services"], [data-ac-theme="solutions"], [data-kind="consulting"], [data-ac-theme="consulting"], [data-ac-category="consulting"]) {
  --ac-accent: #344d9e; --ac-wire: #617bc1; --ac-line: #ccd7f0; --ac-tint: #ecf2ff; --ac-glow: #dce7ff;
}
:is([data-kind="workflow"], [data-ac-theme="workflow"], [data-ac-category="workflow"]) {
  --ac-accent: #076675; --ac-wire: #438f98; --ac-line: #c3e1e8; --ac-tint: #eaf7fa; --ac-glow: #d9f1f3;
}
:is([data-kind="agents"], [data-ac-theme="agents"], [data-ac-category="agents"]) {
  --ac-accent: #654394; --ac-wire: #8b70b6; --ac-line: #e0d2f0; --ac-tint: #f4eefb; --ac-glow: #ecdffb;
}
:is([data-kind="integrations"], [data-ac-theme="integrations"], [data-ac-category="integrations"]) {
  --ac-accent: #265d9a; --ac-wire: #5685b7; --ac-line: #c9ddef; --ac-tint: #eaf4fd; --ac-glow: #d9edfd;
}
:is([data-kind="optimization"], [data-ac-theme="optimization"], [data-ac-category="optimization"]) {
  --ac-accent: #805519; --ac-wire: #a87840; --ac-line: #e8d6bc; --ac-tint: #fbf2e6; --ac-glow: #f7e7ce;
}
:is([data-kind="support"], [data-ac-theme="support"], [data-ac-category="support"]) {
  --ac-accent: #30674f; --ac-wire: #5b8e76; --ac-line: #c8dfd3; --ac-tint: #eaf6ee; --ac-glow: #dcefe4;
}
:is([data-ac-section="how-we-work"], [data-ac-theme="process"]) {
  --ac-accent: #4e4ba7; --ac-wire: #7873bf; --ac-line: #d7d5ef; --ac-tint: #f0eeff; --ac-glow: #e6e1ff;
}
:is([data-ac-section="use-cases"], [data-ac-theme="cases"]) {
  --ac-accent: #16665f; --ac-wire: #52938a; --ac-line: #c5dfda; --ac-tint: #eaf7f2; --ac-glow: #d9f1e8;
}
:is([data-ac-section="insights"], [data-ac-theme="insights"]) {
  --ac-accent: #594486; --ac-wire: #8470ae; --ac-line: #e0d8ee; --ac-tint: #f5eff9; --ac-glow: #ede0f5;
}
.concept-a:is([data-ac-section="services"], [data-ac-section="how-we-work"], [data-ac-section="use-cases"], [data-ac-section="insights"]) .a-mast {
  background: linear-gradient(112deg, var(--hero-a), var(--ac-tint));
}
.concept-a .a-section-head > h2::before { background: var(--ac-wire, var(--connector)); }
.a-service-row[data-kind] .a-service-visual {
  background: radial-gradient(var(--ac-line, var(--panel-stroke)) .7px, transparent .9px) 0 0 / 13px 13px,
    linear-gradient(125deg, var(--hero-a), var(--ac-tint, var(--tone-b)));
}
.a-service-visual .ac-graph { width: min(97%, 276px); }
.ac-service-labels { color: var(--ac-accent, var(--tone-ink)); }
[data-ac-section="how-we-work"] .a-process section { background: linear-gradient(105deg, var(--ac-tint), var(--paper)); }
[data-ac-section="how-we-work"] .a-process .ac-art { background: transparent; border: 0; }
[data-ac-section="how-we-work"] .a-process section + section::before { border-color: var(--ac-wire); }
[data-ac-section="use-cases"] .ac-editorial-card .ac-art { background: linear-gradient(135deg, var(--ac-tint), var(--paper)); border-color: var(--ac-line); }
[data-ac-section="insights"] .ac-editorial-card .ac-art { background: linear-gradient(156deg, var(--paper), var(--ac-tint)); border-color: var(--ac-line); }

.ac-home-hero .a-hero-media { padding-bottom: 0; }
.ac-home-hero .a-hero-media::before { inset: 12px -9px -12px 18px; }
.ac-home-hero .a-hero-photo { max-height: 440px; }
.ac-home-band { padding-block: clamp(44px, 6.8vw, 94px); }
.ac-home-band :is(ul, ol) { margin: 0; }
.ac-home-section-head {
  display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap;
  gap: 12px 24px; margin-bottom: clamp(20px, 3.3vw, 42px);
}
.ac-home-section-head p { max-width: 47ch; margin-top: .75rem; color: var(--muted); }
.ac-home-section-head .text-link { white-space: nowrap; }
.ac-home-arrow { color: var(--ac-accent, var(--link)); }
.ac-home-solutions-layout { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.82fr); gap: clamp(24px, 5vw, 72px); }
.ac-home-solutions .ac-home-section-head { display: block; margin-bottom: 0; }
.ac-home-solutions .ac-home-section-head .text-link { margin-top: 1rem; }
.ac-home-category-list, .ac-home-offers, .ac-home-format-list { display: grid; gap: 10px; }
.ac-home-category-list { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; list-style: none; }
.ac-home-category {
  display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 10px;
  align-items: start; height: 100%; padding: 14px; border: 1px solid var(--ac-line, var(--line));
  border-radius: 12px; background: var(--ac-tint, var(--surface)); color: var(--ink);
}
.ac-home-category:hover { border-color: var(--ac-wire, var(--connector)); }
.ac-home-category-icon {
  display: grid; place-items: center; width: 32px; height: 32px; border-radius: 7px;
  background: var(--paper); color: var(--ac-accent, var(--link));
}
.ac-home-category-icon svg { width: 20px; height: 20px; }
.ac-home-category h3 { margin: 1px 0 6px; font-size: clamp(1rem, 1.3vw, 1.19rem); }
.ac-home-category p { font-size: .85rem; color: var(--muted); line-height: 1.42; }
.ac-home-category small { display: block; margin-top: 7px; color: var(--ac-accent, var(--link)); font-weight: 720; }

.ac-home-featured { background: var(--paper); border-block: 1px solid var(--line); }
.ac-home-offers { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 2vw, 27px); }
.ac-home-offer {
  position: relative; display: flex; flex-direction: column; align-items: start;
  gap: 10px; min-width: 0; padding: clamp(16px, 2.2vw, 26px);
  border-top: 3px solid var(--ac-wire, var(--connector)); border-radius: 0 0 12px 12px;
  background: linear-gradient(150deg, var(--ac-tint, var(--surface)), var(--paper) 82%);
}
.ac-home-offer .ac-home-offer-category { padding-inline-end: 18px; color: var(--ac-accent, var(--link)); font-size: .83rem; font-weight: 720; }
.ac-home-offer h3 { max-width: 28ch; }
.ac-home-offer > p:not(.a-amount) { color: var(--muted); }
.ac-home-offer .a-amount { margin: auto 0 0; padding-top: 7px; }
.ac-home-offer .ac-home-arrow, .ac-home-format-list .ac-home-arrow { position: absolute; inset: 14px 14px auto auto; }
:is(.ac-home-offer, .ac-home-guide):is(:hover, :focus-within) h3 a { color: var(--link); text-decoration: underline; text-underline-offset: .18em; }
:is(.ac-home-offers, .ac-home-category-list, .ac-home-format-list, .ac-home-guides) > :nth-child(2n) { --ac-reveal-delay: 28ms; }
:is(.ac-home-offers, .ac-home-format-list, .ac-home-guides) > :nth-child(3) { --ac-reveal-delay: 56ms; }

.ac-home-process { background: linear-gradient(180deg, var(--canvas), #f0eeff); }
.ac-home-process-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; list-style: none; }
.ac-home-process-steps li { position: relative; min-width: 0; padding-inline: 10px; text-align: center; }
.ac-home-process-node {
  position: relative; z-index: 1; display: inline-grid; place-items: center; width: 54px; height: 54px;
  margin-bottom: 12px; border-radius: 50%; border: 1px solid #d7d5ef; background: var(--paper); color: #4e4ba7;
}
.ac-home-process-node svg { width: 26px; height: 26px; }
.ac-home-process-steps li + li::before {
  position: absolute; top: 26px; right: calc(50% + 34px); width: calc(100% - 68px);
  border-top: 2px dashed #7873bf; content: "";
}
.ac-home-process-steps li + li::after {
  position: absolute; top: 23px; right: calc(50% + 35px); width: 7px; height: 7px;
  border: solid #7873bf; border-width: 2px 2px 0 0; transform: rotate(45deg); content: "";
}
.ac-home-process-steps p { max-width: 31ch; margin: .45rem auto 0; color: var(--muted); }

.ac-home-cases { background: linear-gradient(115deg, var(--ac-tint), var(--paper)); border-block: 1px solid var(--ac-line); }
.ac-home-case-layout {
  display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.15fr); align-items: start;
  gap: clamp(20px, 5vw, 68px);
}
.ac-home-case-copy > h3 { max-width: 20ch; font-size: clamp(1.5rem, 3.2vw, 2.9rem); }
.ac-home-case-copy > p:not(.eyebrow) { max-width: 44ch; margin-block: .65rem 1.1rem; color: var(--muted); }
.ac-home-case-related { margin-top: 1.15rem; }
.ac-home-case-related h4 { margin-bottom: .35rem; font-size: .92rem; }
.ac-home-case-related ul { display: flex; flex-wrap: wrap; gap: 2px 14px; padding: 0; list-style: none; }
.ac-home-case-related a { display: inline-flex; align-items: center; min-height: 34px; color: var(--ac-accent); font-size: .89rem; text-decoration: underline; text-underline-offset: .2em; }
.ac-home-demo { position: relative; min-width: 0; margin: 0; padding: clamp(13px, 2.6vw, 28px); border: 1px solid var(--ac-line); border-radius: 16px; background: var(--paper); }
.ac-home-demo legend { padding: 0 8px; color: var(--ac-accent); font-size: .91rem; font-weight: 730; }
.ac-home-demo > input { position: absolute; width: 1px; height: 1px; padding: 0; clip-path: inset(50%); white-space: nowrap; }
.ac-home-demo-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 3px; border-radius: 9px; background: var(--ac-tint); }
.ac-home-demo-controls label {
  display: grid; place-items: center; min-height: 44px; padding: 5px 7px; border-radius: 6px;
  color: var(--ink); text-align: center; line-height: 1.25; font-size: .91rem; font-weight: 710; cursor: pointer;
}
#home-workflow-manual:checked ~ .ac-home-demo-controls [for="home-workflow-manual"],
#home-workflow-automated:checked ~ .ac-home-demo-controls [for="home-workflow-automated"] { background: var(--paper); box-shadow: inset 0 -2px var(--ac-accent); color: var(--ac-accent); }
#home-workflow-manual:focus-visible ~ .ac-home-demo-controls [for="home-workflow-manual"],
#home-workflow-automated:focus-visible ~ .ac-home-demo-controls [for="home-workflow-automated"] { outline: 2px solid var(--link); outline-offset: 1px; }
.ac-home-demo-views { display: grid; margin-top: 12px; }
.ac-home-demo-view { grid-area: 1 / 1; min-width: 0; color: var(--muted); }
#home-manual { align-content: center; }
#home-workflow-manual:checked ~ .ac-home-demo-views #home-automated,
#home-workflow-automated:checked ~ .ac-home-demo-views #home-manual { visibility: hidden; }
.ac-home-demo .ac-home-demo-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; margin-top: 14px; padding-inline-start: 1.45rem; }
.ac-home-demo-steps li { padding: 4px 2px; color: var(--ink); font-weight: 660; font-size: .9rem; }
.ac-home-demo-steps li::marker { color: var(--ac-accent); font-weight: 760; }
.ac-home-band .ac-home-case-index {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 14px;
  margin-top: clamp(18px, 3.5vw, 45px); padding: 10px 0 0; border-top: 1px solid var(--ac-line); list-style: none;
}
.ac-home-case-index a { display: flex; justify-content: space-between; align-items: center; gap: 7px; min-height: 46px; font-size: .91rem; font-weight: 690; }
.ac-home-case-index a:hover { color: var(--ac-accent); text-decoration: underline; }

.ac-home-formats { background: var(--paper); }
.ac-home-format-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.5vw, 22px); padding: 0; list-style: none; }
.ac-home-format-list > li { min-width: 0; --format-color: var(--link); --format-tint: #e9effc; }
.ac-home-format-list [data-home-format="project"] { --format-color: #5b3bad; --format-tint: #eeebfb; }
.ac-home-format-list [data-home-format="month"] { --format-color: #08655d; --format-tint: #e3f2f0; }
.ac-home-format-list [data-home-format="package"] { --format-color: #4451a1; --format-tint: #ebedf9; }
.ac-home-format-list a {
  position: relative; display: flex; flex-direction: column; gap: 9px; height: 100%;
  padding: clamp(15px, 1.8vw, 25px); border: 1px solid var(--line); border-radius: var(--radius);
  background: linear-gradient(156deg, var(--format-tint), var(--paper) 66%); color: var(--ink); box-shadow: var(--soft-shadow);
}
.ac-format-art {
  display: grid; place-items: center; margin-bottom: 4px; min-height: 70px; border-radius: calc(var(--radius) - 5px);
  background: radial-gradient(circle, color-mix(in srgb, var(--format-color) 22%, transparent) .7px, transparent 1px) 0 0 / 11px 11px, var(--format-tint);
  color: var(--format-color);
}
.ac-format-art svg { width: min(100%, 144px); height: auto; }
.ac-format-node { fill: var(--paper); }
.ac-home-format-list .ac-home-arrow {
  display: grid; place-items: center; width: 28px; height: 28px; color: var(--format-color);
  background: var(--paper); border: 1px solid var(--line); border-radius: 50%; line-height: 1;
}
.ac-home-format-list a:is(:hover, :focus-visible) { border-color: var(--format-color); box-shadow: var(--lift-shadow); }
@media (prefers-reduced-motion: no-preference) {
  .ac-home-format-list a { transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
  .ac-home-format-list a:hover { transform: translateY(-3px); }
}
.ac-home-format-list h3 { font-size: clamp(1.07rem, 1.6vw, 1.3rem); }
.ac-home-format-list p:not(.a-amount) { color: var(--muted); font-size: .93rem; }
.ac-home-format-list .a-amount { margin: auto 0 0; padding-top: 10px; }

.ac-home-insights { background: linear-gradient(115deg, var(--canvas), var(--ac-tint)); border-block: 1px solid var(--ac-line); }
.ac-home-guides { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 10px clamp(18px, 3.8vw, 48px); }
.ac-home-guide {
  position: relative; min-width: 0; padding: clamp(14px, 2.1vw, 26px) 0;
  border-top: 1px solid var(--ac-line);
}
.ac-home-guide:first-child {
  grid-row: span 2; padding: clamp(16px, 2.7vw, 34px);
  border: 1px solid var(--ac-line); border-radius: 15px; background: var(--paper);
}
.ac-home-guide:first-child:only-child { grid-column: 1 / -1; }
.ac-home-guide-art { display: grid; place-items: center; margin-bottom: 12px; border-radius: 11px; background: linear-gradient(120deg, var(--paper), var(--ac-tint)); }
.ac-home-guide-art .ac-graph { width: min(100%, 320px); }
.ac-home-guide p { margin: .55rem 0 .8rem; color: var(--muted); }
.ac-home-guide-action { color: var(--ac-accent); font-weight: 730; font-size: .92rem; }
.ac-home-end { padding-block: clamp(30px, 5.4vw, 72px); }
.ac-home-end .ac-home-closing { margin-block: 0; }
.ac-home-closing .ac-art { border: 0; background: transparent; }

.ac-service-situations li + li { margin-top: .45em; }
.ac-service-technical dl, .ac-service-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.ac-service-technical dl > div, .ac-service-checks li {
  min-width: 0; padding: clamp(13px, 2vw, 23px); border: 1px solid var(--ac-line, var(--line));
  border-radius: 12px; background: var(--ac-tint, var(--hero-a));
}
.ac-service-technical dt { margin-bottom: 6px; color: var(--ac-accent, var(--link)); font-weight: 740; }
.ac-service-technical dd { margin: 0; color: var(--muted); }
.ac-service-checks { padding: 0; list-style: none; }
.ac-service-checks li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 9px; background: var(--paper); }
.ac-service-checks li::before { content: "✓"; color: var(--ac-accent, var(--link)); font-weight: 770; }
.a-workflow-node > svg { width: 15px; height: 15px; }

@media (max-width: 950px) {
  .ac-home-solutions-layout { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .ac-home-format-list, .ac-home-band .ac-home-case-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 690px) {
  .ac-home-offers, .ac-home-case-layout, .ac-home-guides, .ac-service-technical dl, .ac-service-checks { grid-template-columns: minmax(0, 1fr); }
  .ac-home-process-steps { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .ac-home-process-steps li { display: grid; grid-template-columns: 45px minmax(0, 1fr); gap: 0 12px; padding: 0; text-align: start; }
  .ac-home-process-node { grid-row: span 2; width: 45px; height: 45px; margin: 0; }
  .ac-home-process-node svg { width: 22px; height: 22px; }
  .ac-home-process-steps p { max-width: none; margin: .25rem 0 0; }
  .ac-home-process-steps li + li::before, .ac-home-process-steps li + li::after { display: none; }
  .ac-home-guide:first-child { grid-row: auto; }
}
@media (max-width: 520px) {
  .ac-home-category-list, .ac-home-format-list, .ac-home-band .ac-home-case-index { grid-template-columns: minmax(0, 1fr); }
  .ac-home-category { padding: 12px; }
  .ac-home-case-index a { min-height: 44px; }
}
