.concept-a {
  --canvas: #f9faff;
  --paper: #fff;
  --surface: #f0f4fd;
  --ink: #152344;
  --muted: #4b5a73;
  --line: #dbe3f1;
  --strong-line: #657c9b;
  --accent: #2452d2;
  --accent-ink: #fff;
  --accent-soft: #e7eeff;
  --link: #2448ae;
  --error: #a51e3b;
  --focus: #174bc5;
  --heading: Inter, "Helvetica Neue", Arial, sans-serif;
  --body: Inter, "Helvetica Neue", Arial, sans-serif;
  --shell: 1272px;
  --gutter: clamp(18px, 5vw, 76px);
  --rail: 216px;
  --radius: 16px;
  --control: 10px;
  --section: clamp(40px, 5.2vw, 74px);
  --gap: clamp(24px, 4vw, 58px);
  --tone-a: #edf3ff;
  --tone-b: #f0edfb;
  --hero-a: #f3f8ff;
  --hero-b: #f7f5ff;
  --hero-glow: #e8e8fb;
  --nav-fill: color-mix(in srgb, var(--tone-a) 82%, var(--canvas));
  --tone-deep: color-mix(in srgb, var(--accent) 13%, var(--paper));
  --tone-ink: color-mix(in srgb, var(--link) 60%, var(--ink));
  --detail-accent: color-mix(in srgb, var(--accent) 81%, var(--muted));
  --panel-stroke: color-mix(in srgb, var(--accent) 16%, var(--paper));
  --subtle-stroke: color-mix(in srgb, var(--strong-line) 55%, var(--paper));
  --connector: color-mix(in srgb, var(--accent) 51%, var(--paper));
  --tile: color-mix(in srgb, var(--accent) 14%, var(--paper));
  --tile-secondary: color-mix(in srgb, var(--tone-b) 76%, var(--accent) 24%);
  --tile-ink: var(--link);
  --paper-glass: color-mix(in srgb, var(--paper) 82%, transparent);
  --scrim: color-mix(in srgb, var(--ink) 42%, transparent);
  --soft-shadow-ink: color-mix(in srgb, var(--ink) 33%, transparent);
  --surface-gradient: linear-gradient(125deg, var(--tone-a), var(--tone-b));
  --soft-shadow: 0 2px 6px color-mix(in srgb, var(--ink) 5%, transparent), 0 18px 36px -29px var(--soft-shadow-ink);
  --lift-shadow: 0 3px 8px color-mix(in srgb, var(--accent) 11%, transparent), 0 19px 36px -24px var(--soft-shadow-ink);
  --header-size: 0px;
  --section-nav-size: 0px;
  --anchor-offset: calc(var(--header-size) + var(--section-nav-size) + 18px);
  --transition: 180ms ease;
  background: var(--canvas);
}

[data-palette="purple"] .concept-a {
  --canvas: #fcfaff;
  --paper: #fff;
  --surface: #f4effa;
  --ink: #271f38;
  --muted: #60536b;
  --line: #e6dcef;
  --strong-line: #827092;
  --accent: #673bb3;
  --accent-soft: #eee3fb;
  --link: #59339a;
  --focus: #6936ac;
  --tone-a: #f0e8fb;
  --tone-b: #f6eaf6;
  --hero-a: #fbf7ff;
  --hero-b: #f6edfd;
  --hero-glow: #ede1f9;
}

[data-palette="orange"] .concept-a {
  --canvas: #fffaf5;
  --paper: #fffdfa;
  --surface: #fbf1e7;
  --ink: #30231d;
  --muted: #625249;
  --line: #eedfd1;
  --strong-line: #8b7063;
  --accent: #a64616;
  --accent-soft: #fae7d5;
  --link: #8b3814;
  --focus: #9a3e15;
  --tone-a: #fff0db;
  --tone-b: #f7e8dc;
  --hero-a: #fff6e8;
  --hero-b: #fbefe6;
  --hero-glow: #f8e4cc;
}

[data-palette="azure"] .concept-a {
  --canvas: #f7fcfd;
  --paper: #fff;
  --surface: #ebf6fa;
  --ink: #102b38;
  --muted: #425d69;
  --line: #d5e7ef;
  --strong-line: #607d89;
  --accent: #08739a;
  --accent-soft: #def2f9;
  --link: #0d617f;
  --focus: #05698d;
  --tone-a: #e5f5fc;
  --tone-b: #e7f7f6;
  --hero-a: #f0fbff;
  --hero-b: #edf8f8;
  --hero-glow: #daeff6;
}

.concept-a main { padding-bottom: var(--section); }
.concept-a h1 { font-size: clamp(2rem, 4.2vw, 3.375rem); line-height: 1.06; letter-spacing: -.055em; }
.concept-a h2 { font-size: clamp(1.56rem, 2.85vw, 2.55rem); letter-spacing: -.045em; }
.concept-a h3 { font-size: clamp(1.15rem, 1.7vw, 1.4rem); letter-spacing: -.03em; line-height: 1.18; }
.concept-a :is([id], a, button, summary, input, select, textarea) { scroll-margin-top: var(--anchor-offset); }
.concept-a summary { cursor: pointer; list-style: none; }
.concept-a summary::-webkit-details-marker { display: none; }
.concept-a .button { border-radius: var(--control); min-height: 46px; }
.concept-a .button .icon, .concept-a .text-link .icon { transition: transform var(--transition); }
.concept-a .eyebrow { letter-spacing: .105em; font-size: .73rem; }
.concept-a .crumbs { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 8px; margin-bottom: 12px; color: var(--link); font-size: .84rem; }
.concept-a .crumbs a { padding-block: 4px; text-decoration: underline; text-underline-offset: 3px; }
.concept-a .crumbs [aria-current] { color: var(--muted); }
.concept-a .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.a-header { position: relative; z-index: 10; background: var(--paper); border-bottom: 1px solid var(--line); }
.a-ready .a-header { position: sticky; top: 0; }
.a-topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; }
.a-brand { flex: 0 1 auto; font-size: 1rem; color: var(--ink); }
.a-brand img { width: 36px; flex-basis: 36px; }
.a-nav { display: flex; align-items: center; gap: clamp(14px, 2.25vw, 34px); font-size: .91rem; font-weight: 660; }
.a-nav > a:not(.button), .a-nav-solutions > summary {
  display: flex; align-items: center; gap: 6px; min-height: 44px; border-radius: 5px; white-space: nowrap;
}
.a-nav [aria-current="page"]:not(.button), .a-nav > a:not(.button):hover, .a-nav-solutions[open] > summary { color: var(--link); }
.a-nav-solutions { position: relative; }
.a-nav-solutions > summary .icon { width: 14px; height: 14px; transition: transform var(--transition); }
.a-nav-solutions[open] > summary .icon { transform: rotate(180deg); }
.a-nav-flyout {
  position: absolute; inset: calc(100% + 7px) auto auto -16px; width: 292px;
  padding: 8px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper);
  box-shadow: var(--lift-shadow);
}
.a-nav-flyout a {
  display: flex; align-items: center; gap: 9px; min-height: 42px; padding: 8px 10px; border-radius: 8px; line-height: 1.3;
}
.a-nav-flyout a:hover { color: var(--link); background: var(--surface); }
.a-nav-flyout .icon { width: 16px; height: 16px; color: var(--link); }
.a-nav-flyout .a-all-solutions { color: var(--link); font-weight: 760; justify-content: space-between; }
.a-menu-toggle {
  align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 7px 10px;
  border: 1px solid var(--strong-line); border-radius: var(--control); background: var(--paper); font-weight: 700;
}

.a-hero { background: radial-gradient(ellipse at 76% 35%, var(--hero-glow) 0%, transparent 58%), linear-gradient(136deg, var(--hero-a), var(--hero-b) 72%, var(--canvas)); }
.a-hero-grid {
  display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(0, 1fr); align-items: center;
  gap: clamp(24px, 4.3vw, 64px); padding-block: clamp(35px, 5.4vw, 80px);
}
.a-hero-copy { padding-bottom: 12px; }
.a-hero .eyebrow { margin-bottom: clamp(12px, 1.9vw, 24px); }
.a-hero h1 { font-size: clamp(2.3rem, 5.05vw, 4.6rem); line-height: 1.015; text-wrap: initial; }
.a-hero h1 em { display: block; font-style: normal; color: var(--link); }
.a-hero .lede { margin-top: 22px; max-width: 40ch; }
.a-hero .actions { gap: 10px 24px; margin-top: 28px; }
.a-hero .primary { padding-inline: 17px; }
.a-hero-media { position: relative; isolation: isolate; min-width: 0; padding: 0 0 clamp(48px, 5vw, 74px); }
.a-hero-media::before {
  position: absolute; content: ""; z-index: -1; inset: 13px -10px 38px 16px; border: 1px solid var(--panel-stroke);
  border-radius: 26px; background: linear-gradient(145deg, var(--hero-a), var(--hero-glow));
}
.a-hero-photo {
  width: 100%; height: auto; max-height: 462px; aspect-ratio: 1.43; object-fit: cover;
  object-position: 50% 51%; border-radius: clamp(15px, 1.8vw, 24px); box-shadow: var(--soft-shadow);
}
.a-workflow {
  padding: 15px 16px 13px; min-width: 0; border: 1px solid var(--panel-stroke); border-radius: var(--radius);
  background: var(--paper); box-shadow: var(--soft-shadow);
}
.a-workflow-hero { position: absolute; inset: auto 16px 0 16px; }
.a-workflow-top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; font-size: .89rem; }
.a-workflow-status {
  min-width: 5ch; padding: 2px 8px; border-radius: 6px; background: var(--nav-fill); color: var(--tone-ink);
  font-weight: 720; font-size: .75rem; text-align: center;
}
.a-workflow[data-mode="complete"] .a-workflow-status { background: #e1f4eb; color: #1d654e; }
.a-workflow[data-mode="paused"] .a-workflow-status { background: #f7edda; color: #785221; }
.a-workflow-steps {
  display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 7px;
  padding: 0; margin: 11px 0 9px; list-style: none;
}
.a-workflow-steps li {
  position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start;
  gap: 7px; padding: 8px 5px 7px 8px; border-radius: 9px; background: var(--surface); color: var(--tone-ink);
  min-height: 54px; line-height: 1.22;
}
.a-workflow-steps li + li::before {
  content: ""; position: absolute; left: -7px; width: 7px; top: 50%; height: 1px; background: var(--connector);
}
.a-workflow-steps li strong { display: block; font-size: .82rem; overflow-wrap: anywhere; }
.a-workflow-steps li small { display: block; margin-top: 3px; font-size: .71rem; color: var(--muted); }
.a-workflow-node {
  display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 7px; background: var(--tone-deep); color: var(--link);
}
.a-workflow-node .icon { width: 15px; height: 15px; }
.a-workflow-steps [data-state="active"] { background: var(--tone-deep); box-shadow: inset 0 0 0 1px var(--connector); }
.a-workflow-steps [data-state="active"] .a-workflow-node { color: var(--paper); background: var(--accent); }
.a-workflow-steps [data-state="active"]::before { background: var(--accent); animation: a-connector 300ms ease-out both; }
.a-workflow-steps [data-state="done"] { background: #e9f5f1; }
.a-workflow-steps [data-state="done"] .a-workflow-node { background: #d8eee6; color: #265f51; }
.a-workflow-steps [data-state="paused"] { background: #f9f1e3; }
.concept-a .a-run { min-height: 38px; margin-left: auto; display: flex; padding-block: 5px; font-size: .82rem; }
.concept-a .a-run .icon { width: 16px; height: 16px; }
@keyframes a-connector { from { transform: scaleX(.12); transform-origin: left; } to { transform: scaleX(1); } }

.a-mast { padding-block: clamp(30px, 4.8vw, 64px) clamp(24px, 3.9vw, 55px); background: linear-gradient(122deg, var(--hero-a), var(--hero-b) 80%); }
.a-mast h1 { max-width: 26ch; text-wrap: pretty; }
.a-mast .lede { margin-top: .8rem; }
.a-page-content { margin-top: clamp(27px, 4vw, 57px); }
.a-layout, .a-catalog {
  display: grid; grid-template-columns: var(--rail) minmax(0, 1fr); gap: var(--gap); align-items: start;
  margin-top: clamp(22px, 3.8vw, 54px);
}
.a-home-layout { margin-top: clamp(26px, 4vw, 62px); }
.a-content, .a-results { min-width: 0; }
.a-rail {
  position: sticky; top: calc(var(--header-size) + var(--section-nav-size) + 17px); min-width: 0; align-self: start;
  max-height: calc(100dvh - var(--header-size) - var(--section-nav-size) - 35px);
  overflow-y: auto; padding: 4px; margin: -4px; scrollbar-width: thin;
}
.a-rail-nav { min-width: 0; border-radius: var(--radius); background: var(--nav-fill); padding: 7px; }
.a-rail-nav > summary { display: none; }
.a-rail-nav nav { display: grid; gap: 2px; }
.a-rail-nav nav a {
  display: flex; align-items: center; padding: 8px 11px; min-height: 40px; border-radius: 8px;
  line-height: 1.32; font-size: .88rem; color: var(--tone-ink); font-weight: 620;
}
.a-rail-nav a[aria-current], .a-rail-nav nav a:hover { background: var(--tone-deep); color: var(--link); }
.a-rail-nav a[aria-current] { box-shadow: inset 3px 0 var(--detail-accent); font-weight: 750; }
.a-rail-nav nav a:focus-visible { outline-offset: -2px; }
.a-rail-label, .a-rail-group > p {
  color: var(--tone-ink); font-size: .76rem; font-weight: 760; padding: 5px 10px 6px;
}
.a-rail-group + .a-rail-group { border-top: 1px solid var(--line); margin-top: 6px; padding-top: 6px; }

.a-section-nav {
  position: sticky; z-index: 4; top: var(--header-size); color: var(--ink);
  background: var(--paper); border-block: 1px solid var(--line); box-shadow: 0 9px 24px -24px var(--soft-shadow-ink);
}
.a-section-nav-inner { display: flex; min-width: 0; align-items: center; gap: 16px; }
.a-jump-label { flex: 0 0 auto; color: var(--muted); font-size: .8rem; font-weight: 730; }
.a-jump-items {
  display: flex; flex: 1 1 auto; min-width: 0; overflow-x: auto; padding: 5px 3px;
  scrollbar-width: thin; scroll-padding-inline: 6px; overscroll-behavior-x: contain;
}
.a-jump-items a {
  flex: 0 0 auto; padding: 8px 13px; border-radius: 8px; min-height: 39px;
  font-size: .87rem; font-weight: 690; line-height: 1.4; white-space: nowrap;
}
.a-jump-items a[aria-current], .a-jump-items a:hover { background: var(--tone-deep); color: var(--link); }
.a-jump-items a[aria-current] { box-shadow: inset 0 -2px var(--accent); }
.a-jump-items a:focus-visible { outline-offset: -2px; }

.a-offer-mast { padding-block: clamp(20px, 3.2vw, 46px); }
.a-offer-hero { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .65fr); gap: clamp(16px, 4.5vw, 64px); align-items: center; }
.a-offer-title .eyebrow { margin-bottom: 9px; }
.a-offer-audience {
  display: inline-block; margin-top: 12px; padding: 4px 10px; border-radius: 7px;
  background: var(--tone-deep); color: var(--tone-ink); font-size: .81rem; font-weight: 700;
}
.a-results-back { display: inline-block; margin-bottom: 10px; font-size: .85rem; color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
.a-scope {
  display: grid; gap: 10px; padding: clamp(15px, 2.2vw, 26px); border-radius: var(--radius);
  background: var(--surface-gradient); box-shadow: var(--soft-shadow);
}
.a-scope h2 { font-size: 1.27rem; }
.a-scope p { color: var(--muted); font-size: .9rem; line-height: 1.42; }
.a-scope .button { padding-inline: 13px; font-size: .89rem; justify-self: start; }
.a-scope .a-amount strong { font-size: 1.23rem; }

.a-detail-content { max-width: min(var(--shell), 1120px); }
.a-detail-section + .a-detail-section, .a-detail-section + .a-section, .a-section + .a-detail-section,
.a-prose + .a-detail-section { margin-top: var(--section); }
.a-detail-section .a-prose > :first-child { margin-top: 0; }
.a-reading-split { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .78fr); align-items: start; gap: 20px 37px; }
.a-info-panel { padding: clamp(14px, 2vw, 22px); background: var(--tone-b); border-radius: var(--radius); }
.a-info-panel p { margin-top: 7px; color: var(--muted); }
.a-deliverable-grid, .a-related-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: clamp(10px, 1.35vw, 17px);
}
.a-deliverable-grid article {
  padding: clamp(14px, 2vw, 23px); border-radius: var(--radius); background: var(--tone-a);
}
.a-deliverable-grid article:nth-child(2n) { background: var(--tone-b); }
.a-deliverable-grid .icon { color: var(--link); margin-bottom: 8px; }
.a-deliverable-grid p, .a-related-card p { margin-top: 6px; color: var(--muted); font-size: .95rem; }
.a-scope-list, .a-service-process { list-style: none; margin: 0; padding: 0; }
.a-scope-list { max-width: 74ch; }
.a-scope-list li { padding-block: 13px; border-bottom: 1px solid var(--line); }
.a-scope-list li:first-child { padding-top: 0; }
.a-scope-list p, .a-service-process p { margin-top: 5px; color: var(--muted); }
.a-service-process {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 10px; counter-reset: service-stage;
}
.a-service-process li {
  position: relative; padding: 17px; border-radius: var(--radius); background: var(--paper); box-shadow: var(--soft-shadow);
  counter-increment: service-stage;
}
.a-service-process li::before {
  content: counter(service-stage); display: grid; place-items: center; width: 29px; height: 29px;
  margin-bottom: 11px; border-radius: 50%; background: var(--tone-deep); color: var(--link); font-size: .81rem; font-weight: 760;
}
.a-price-band {
  display: grid; grid-template-columns: minmax(160px, .7fr) minmax(0, 1.5fr); align-items: center; gap: 17px 30px;
  padding: clamp(16px, 3vw, 32px); border-radius: var(--radius); background: var(--surface-gradient);
}
.a-price-band .eyebrow { margin-bottom: 5px; }
.a-price-band .button { margin-top: 13px; }
.a-price-band h3 + p { margin-top: 6px; color: var(--muted); }
.a-example { margin: 0; padding: clamp(16px, 2.6vw, 32px); border-radius: var(--radius); background: var(--surface-gradient); }
.a-example figcaption { color: var(--tone-ink); max-width: 74ch; }
.a-example ol {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
  list-style: none; margin: 17px 0 0; padding: 0;
}
.a-example li { position: relative; padding: 15px; border-radius: 12px; background: var(--paper-glass); }
.a-example li + li::before { content: ""; width: 12px; height: 1px; position: absolute; right: 100%; top: 30px; background: var(--connector); }
.a-example h3 { margin-top: 8px; }
.a-example p { margin-top: 6px; color: var(--muted); font-size: .94rem; }
.a-detail-section .a-prose h3 { margin-top: 16px; }
.a-related-card { padding: 16px 18px; background: var(--paper); box-shadow: var(--soft-shadow); }
.a-related-card h3 { margin-top: 10px; }
.a-related-insights { margin-top: 20px; max-width: 72ch; }
.a-editorial-content { max-width: min(var(--shell), 1080px); }
.a-topic-links { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 23px; }
.a-topic-links a {
  background: var(--nav-fill); color: var(--link); font-size: .86rem; font-weight: 680;
  border-radius: 8px; padding: 7px 11px;
}
.a-topic-links a:hover { background: var(--tone-deep); }

.a-section + .a-section, .a-section + .a-prose, .a-prose + .a-section { margin-top: var(--section); }
.a-section-head {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;
  gap: 5px 18px; margin-bottom: clamp(13px, 2vw, 23px);
}
.a-section-head h2 { text-wrap: pretty; }
.a-section-head .text-link { min-height: 40px; font-size: .89rem; }
.a-stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.a-stages article { position: relative; padding: 16px 16px 15px; border-radius: 13px; background: var(--tone-a); }
.a-stages article:nth-child(2) { background: var(--tone-a); }
.a-stages article:nth-child(3) { background: var(--tone-b); }
.a-stages .icon { color: var(--detail-accent); margin-bottom: 8px; }
.a-stages p { margin-top: 5px; font-size: .9rem; color: var(--muted); }

.a-card {
  position: relative; min-width: 0; border-radius: var(--radius);
  transition: transform var(--transition), box-shadow var(--transition), background-color var(--transition);
}
.a-card-arrow {
  position: absolute; right: 17px; top: 17px; color: var(--detail-accent); width: 19px; height: 19px;
  transition: transform var(--transition), color var(--transition);
}
.a-stretched::after { content: ""; position: absolute; z-index: 1; inset: 0; border-radius: var(--radius); }
.a-stretched:focus-visible::after { outline: 3px solid var(--focus); outline-offset: 3px; }
.a-stretched:focus-visible { outline: 0; text-decoration: underline; text-underline-offset: .16em; }
.a-card > .button { position: relative; z-index: 2; }
.a-icon-tile {
  display: inline-grid; place-items: center; width: 42px; height: 42px; flex: 0 0 auto;
  color: var(--tile-ink); background: var(--tile); border-radius: 11px;
}
.a-icon-tile .icon { width: 21px; height: 21px; }
.a-category-grid, .a-case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.a-category-card, .a-case-card { display: block; padding: clamp(15px, 2vw, 23px); background: var(--surface); }
.a-category-card:nth-child(3n + 2) { background: var(--tone-a); }
.a-category-card:nth-child(3n) { background: var(--tone-b); }
.a-category-card h3, .a-case-card h3 { margin: 13px 0 7px; }
.a-category-card p, .a-case-card p { color: var(--muted); font-size: .94rem; }
.a-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.a-case-card { background: var(--paper); box-shadow: var(--soft-shadow); }
.a-case-card h3 { padding-right: 12px; }
.a-case-feature {
  grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 18px; align-items: center; padding: clamp(19px, 3.4vw, 36px); background: var(--surface-gradient);
}
.a-case-feature h3 { font-size: clamp(1.25rem, 2.4vw, 2rem); }
.a-mini-flow { display: grid; gap: 9px; margin: 0; padding: 0 20px 0 0; list-style: none; }
.a-mini-flow li {
  position: relative; display: flex; align-items: center; gap: 9px; min-height: 40px; padding: 7px 12px;
  color: var(--tone-ink); background: var(--paper-glass); border-radius: 8px; font-size: .86rem; font-weight: 640;
}
.a-mini-flow li::before { content: ""; width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--connector); }
.a-mini-flow li + li::after { content: ""; position: absolute; bottom: 100%; left: 15px; height: 9px; width: 1px; background: var(--connector); }
.a-closing {
  padding: clamp(19px, 4.2vw, 49px); margin-top: var(--section); border-radius: var(--radius);
  background: radial-gradient(ellipse at 90% 5%, var(--hero-glow), transparent 60%), linear-gradient(125deg, var(--tone-a), var(--tone-b));
}
.a-closing h2 { text-wrap: pretty; }
.a-closing p { margin-top: 9px; color: var(--muted); }
.a-closing .button { margin-top: 16px; }
.a-prose { max-width: 70ch; color: var(--muted); }
.a-prose h2, .a-prose h3 { color: var(--ink); }
.a-prose h2 { font-size: clamp(1.43rem, 2.6vw, 2rem); text-wrap: pretty; }
.a-prose p, .a-prose ul, .a-prose ol { margin-top: 11px; }
.a-prose ul, .a-prose ol { padding-inline-start: 1.35em; }
.a-prose li + li { margin-top: .48em; }
.a-prose-section + .a-prose-section { margin-top: clamp(27px, 4vw, 55px); }
.a-prose .a-related { display: grid; gap: 2px; list-style: none; padding: 0; }
.a-related li { border-bottom: 1px solid var(--line); }
.a-related .text-link { width: 100%; justify-content: space-between; padding-block: 7px; }
.a-related .icon { width: 17px; height: 17px; }
.a-policy .text-link { margin-top: 19px; }
.a-process { display: grid; gap: 13px; margin-bottom: 16px; max-width: 76ch; }
.a-process section {
  display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; align-items: start;
  padding: clamp(15px, 2.7vw, 29px); border-radius: var(--radius); background: var(--surface);
}
.a-process section:nth-child(2) { background: var(--tone-a); }
.a-process section:nth-child(3) { background: var(--tone-b); }
.a-process h2 { font-size: clamp(1.4rem, 2.7vw, 2rem); }
.a-process p { margin-top: 7px; color: var(--muted); }
.a-process .a-process-outcome { font-size: .86rem; font-weight: 750; color: var(--link); }
.a-audience-list { display: grid; gap: 10px; max-width: 70ch; }
.a-audience { padding: 16px 44px 16px 18px; background: var(--surface); }
.a-audience p { margin-top: 5px; color: var(--muted); }
.a-topic-grid { display: grid; gap: clamp(24px, 4vw, 49px); }
.a-topic h2 { font-size: clamp(1.45rem, 2.75vw, 2.12rem); margin-bottom: 5px; text-wrap: pretty; }
.a-editorial-row { display: block; padding: 14px 40px 14px 0; border-bottom: 1px solid var(--line); border-radius: 0; }
.a-editorial-row .a-card-arrow { right: 5px; top: 16px; }
.a-editorial-row p { margin-top: 5px; color: var(--muted); font-size: .95rem; }
.a-scenario-panel { padding: clamp(15px, 3vw, 29px); border-radius: var(--radius); background: var(--surface-gradient); }
.a-scenario-panel p { color: var(--muted); margin-top: 7px; }
.a-mode-switch {
  display: inline-flex; gap: 4px; margin-bottom: 17px; padding: 4px; border-radius: var(--control); background: var(--tone-deep);
}
.a-mode-switch button {
  min-height: 39px; padding-inline: 13px; border: 0; border-radius: 8px; background: transparent; font-weight: 690; color: var(--tone-ink);
}
.a-mode-switch button[aria-pressed="true"] { background: var(--paper); box-shadow: var(--soft-shadow); color: var(--link); }
.a-scenario-panel [data-scenario-view] + [data-scenario-view]:not([hidden]) { margin-top: 14px; }
.a-ready .a-scenario-panel [data-scenario-view] + [data-scenario-view] { margin-top: 0; }
.a-workflow-detail { margin-top: 16px; max-width: 740px; }

.a-catalog { grid-template-rows: auto 1fr; gap: 16px var(--gap); }
.a-catalog:not(:has(.a-search:not([hidden]))) { grid-template-rows: auto; }
.a-search { grid-column: 2; grid-row: 1; }
.a-filter-rail { grid-column: 1; grid-row: 1 / -1; }
.a-results { grid-column: 2; grid-row: 2; }
.a-catalog:not(:has(.a-search:not([hidden]))) .a-results { grid-row: 1; }
.a-search label, .a-filter-selects label, .a-field > label { display: block; margin-bottom: 5px; font-weight: 710; font-size: .9rem; }
.a-search-field { position: relative; }
.a-search-field .icon { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: var(--link); pointer-events: none; }
.concept-a :is(input:not([type="checkbox"]), select, textarea) {
  width: 100%; max-width: 100%; min-height: 47px; padding: 9px 11px; border: 1px solid var(--strong-line);
  border-radius: var(--control); background: var(--paper); color: var(--ink); line-height: 1.36;
}
.concept-a .a-search-field input { padding-inline-start: 42px; }
.concept-a input::placeholder, .concept-a textarea::placeholder { color: var(--muted); opacity: 1; }
.concept-a textarea { resize: vertical; }
.concept-a :is(input:not([type="checkbox"]), select, textarea):focus-visible {
  outline: none; border-color: var(--focus); box-shadow: 0 0 0 2px var(--focus);
}
.a-select { display: block; position: relative; min-width: 0; }
.concept-a .a-select select { appearance: none; padding-inline-end: 40px; text-overflow: ellipsis; }
.a-select > .icon {
  position: absolute; top: 50%; right: 13px; width: 17px; height: 17px;
  transform: translateY(-50%); color: var(--link); pointer-events: none;
}
.a-filter-selects { padding: 10px 6px 6px; margin-top: 8px; border-top: 1px solid var(--line); }
.a-filter-selects label { margin-bottom: 3px; font-size: .83rem; }
.a-filter-selects select { font-size: .92rem; }
.a-filter-selects .a-select + label { margin-top: 11px; }
.a-filter-bar { display: flex; gap: 5px 13px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.a-filter-bar:has(.a-chips:empty) { display: none; }
.a-chips { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; padding: 0; list-style: none; }
.a-chips :is(button, a) {
  display: inline-flex; align-items: center; gap: 7px; min-height: 33px; padding: 3px 9px;
  border: 1px solid transparent; border-radius: 8px; color: var(--tone-ink); background: var(--tone-deep);
  font: 670 .83rem/1.3 var(--body); overflow-wrap: anywhere; word-break: break-word;
}
.a-chips :is(button, a):hover { border-color: var(--connector); }
.a-chips span { font-size: 1rem; line-height: 1; }
.a-clear { min-height: 33px; display: inline-flex; align-items: center; color: var(--link); font-size: .85rem; text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
.a-result-count { margin-bottom: 5px; color: var(--muted); font-weight: 700; font-size: .89rem; }
.a-service-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; min-width: 0; }
.a-service-row { display: flex; flex-direction: column; min-width: 0; padding: 9px; background: var(--paper); box-shadow: var(--soft-shadow); }
.a-service-visual {
  display: grid; place-items: center; min-height: 84px; border-radius: 11px; color: var(--tone-ink);
  background: radial-gradient(var(--panel-stroke) .7px, transparent .85px) 0 0 / 12px 12px, var(--surface-gradient);
}
.a-service-row:nth-child(3n + 2) .a-service-visual {
  background: radial-gradient(var(--panel-stroke) .7px, transparent .85px) 0 0 / 12px 12px, linear-gradient(115deg, var(--tone-b), var(--hero-a));
}
.a-service-diagram { width: min(88%, 188px); height: auto; overflow: visible; }
.a-diagram-track { stroke: var(--connector); stroke-width: 1.4; stroke-dasharray: 4 2; }
.a-diagram-node { fill: var(--paper); stroke: var(--panel-stroke); }
.a-service-copy { display: flex; flex: 1; flex-direction: column; align-items: start; padding: 10px 6px 4px; }
.a-service-card-foot {
  display: flex; width: 100%; justify-content: space-between; align-items: center; gap: 7px;
  padding-top: 9px; margin-top: auto;
}
.a-service-row .a-card-arrow { position: static; flex: 0 0 auto; }
.a-service-category { color: var(--link); font-size: .76rem; font-weight: 740; }
.a-service-row h2 { margin-top: 4px; font-size: clamp(1.16rem, 1.65vw, 1.36rem); letter-spacing: -.034em; text-wrap: pretty; }
.a-service-description { margin-top: 5px; color: var(--muted); font-size: .94rem; line-height: 1.45; }
.a-service-meta { margin-top: 5px; color: var(--muted); font-size: .78rem; }
.a-empty { grid-column: 1 / -1; padding: clamp(19px, 4vw, 35px); background: var(--nav-fill); border-radius: var(--radius); }
.a-empty h2 { font-size: 1.45rem; }
.a-empty p { margin: 7px 0 13px; color: var(--muted); }
.a-pagination { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-top: 20px; }
.a-pagination span { font-size: .87rem; font-weight: 690; color: var(--muted); }

.a-review-banner { padding-block: 9px; background: var(--nav-fill); color: var(--tone-ink); font-size: .85rem; }
.a-review-banner > div, .a-review-banner > div > div { display: flex; flex-wrap: wrap; gap: 5px 18px; justify-content: space-between; }
.a-review-banner a { text-decoration: underline; text-underline-offset: 3px; }
.a-formats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; }
.a-format-button {
  display: grid; grid-template-columns: 33px minmax(0, 1fr) 16px; gap: 9px; align-items: start;
  min-height: 79px; padding: 12px; text-align: start; border: 1px solid var(--subtle-stroke); border-radius: var(--control);
  background: var(--paper); transition: background-color var(--transition), border-color var(--transition);
}
.a-format-button strong, .a-format-button small { display: block; line-height: 1.28; }
.a-format-button strong { font-size: .9rem; }
.a-format-button small { margin-top: 3px; color: var(--muted); font-size: .78rem; }
.a-format-button .icon { color: var(--link); }
.a-format-button .a-icon-tile { width: 33px; height: 33px; border-radius: 8px; }
.a-format-button .a-icon-tile .icon { width: 18px; height: 18px; }
.a-format-check { width: 16px; height: 16px; opacity: 0; }
.a-format-button[aria-pressed="true"] { background: var(--tone-deep); border-color: var(--detail-accent); color: var(--link); }
.a-format-button[aria-pressed="true"] .a-format-check { opacity: 1; }
.a-format-button:hover { border-color: var(--detail-accent); }
.a-price-tools {
  display: flex; gap: 7px 12px; flex-wrap: wrap; align-items: center; justify-content: space-between;
  margin: 19px 0 24px; padding-block: 12px; border-bottom: 1px solid var(--line);
}
.a-price-tools p { color: var(--muted); font-size: .9rem; font-weight: 690; }
.a-price-tools .button, .a-price-card .button, .a-compare-card .button { min-height: 42px; font-size: .87rem; }
.a-price-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 21px 14px; }
.a-price-group:only-child, .a-price-groups:has(.a-price-group[hidden]) .a-price-group { grid-column: 1 / -1; }
.a-price-group > h3 { margin: 0 0 7px 2px; color: var(--tone-ink); font-size: .93rem; font-weight: 730; letter-spacing: -.01em; }
.a-price-group .text-link { margin-top: 7px; }
.a-price-grid, .a-compare-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.a-price-grid > :only-child, .a-price-groups:not(:has(.a-price-group[hidden])) .a-price-grid > :not([hidden]):has(~ [hidden]) { grid-column: 1 / -1; }
.a-price-card, .a-compare-card { background: var(--paper); padding: clamp(15px, 2vw, 26px); box-shadow: var(--soft-shadow); }
.a-price-card { display: flex; flex-direction: column; align-items: start; gap: 9px; }
.a-price-card h3 { padding-right: 19px; }
.a-price-card .a-card-arrow { width: 16px; height: 16px; right: 11px; top: 12px; }
.a-price-card p, .a-compare-card dd { color: var(--muted); font-size: .9rem; }
.a-price-card > .button { margin-top: auto; }
.concept-a .a-amount { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 7px; color: var(--link); line-height: 1.25; }
.a-amount strong { font-size: clamp(1.3rem, 2.45vw, 1.92rem); letter-spacing: -.04em; }
.a-amount span { color: var(--muted); font-size: .77rem; }
.a-amount[data-price=""] strong { font-size: 1rem; letter-spacing: 0; }
.a-service-card-foot .a-amount strong { font-size: 1.07rem; }
.a-price-card .a-price-scope-label { color: var(--tone-ink); font-size: .77rem; font-weight: 760; margin-bottom: 3px; }
.a-package-section { margin-top: clamp(23px, 4vw, 52px); }
.a-compare-card { display: grid; grid-row: span 5; grid-template-rows: subgrid; align-items: start; }
.a-compare-card dl { display: contents; }
.a-compare-card dl div { border-top: 1px solid var(--line); padding-top: 7px; }
.a-compare-card dt { color: var(--tone-ink); font-size: .77rem; font-weight: 770; }
.a-compare-card dd { margin: 3px 0 0; }
.a-compare-card .button { justify-self: start; align-self: end; }
.a-compare-head .a-amount { margin-top: 5px; }

.a-faq-list { max-width: 74ch; }
.a-faq-item { border-bottom: 1px solid var(--line); border-radius: 9px 9px 0 0; }
.a-faq-item[open] { background: var(--surface); }
.a-faq-item summary {
  display: grid; grid-template-columns: minmax(0, 1fr) 21px; align-items: center;
  gap: 11px; min-height: 51px; padding: 9px 13px; border-radius: 9px; font-size: 1.02rem; font-weight: 700;
}
.a-faq-item summary:hover { color: var(--link); }
.a-faq-sign { position: relative; width: 20px; height: 20px; color: var(--link); }
.a-faq-sign::before, .a-faq-sign::after {
  position: absolute; top: 9px; left: 3px; width: 14px; height: 2px; border-radius: 2px; content: ""; background: currentColor;
}
.a-faq-sign::after { transform: rotate(90deg); transition: transform var(--transition); }
.a-faq-item[open] .a-faq-sign::after { transform: rotate(0); }
.a-faq-answer { padding: 0 32px 12px 13px; color: var(--muted); }
.a-faq-item[open] .a-faq-answer { animation: a-answer 160ms ease-out both; }
@keyframes a-answer { from { opacity: .58; } to { opacity: 1; } }

.a-form-panel {
  max-width: 780px; padding: clamp(15px, 3vw, 34px); border-radius: var(--radius);
  background: var(--paper); box-shadow: var(--soft-shadow);
}
.a-form-panel h2 { font-size: clamp(1.53rem, 2.7vw, 2.1rem); }
.a-form-note { color: var(--muted); font-size: .91rem; margin: 6px 0 17px; }
.a-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.a-form-grid .a-full { grid-column: 1 / -1; }
.a-selected-offer {
  display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin-bottom: 15px;
  border-radius: var(--control); background: var(--tone-deep); color: var(--tone-ink);
}
.a-selected-offer small, .a-selected-offer strong { display: block; line-height: 1.3; }
.a-selected-offer small { font-size: .8rem; }
.a-selected-offer strong { margin-top: 3px; }
.a-selected-offer p { margin-top: 4px; color: var(--muted); font-size: .84rem; line-height: 1.38; }
.a-form-feedback {
  color: var(--error); font-size: .93rem; font-weight: 750; border-left: 3px solid var(--error);
  border-radius: 6px; margin: 0 0 15px; padding: 8px 10px; background: #fff0f2;
}
.a-field-error { margin-top: 4px; color: var(--error); font-size: .85rem; font-weight: 690; }
.concept-a :is(input, select, textarea)[aria-invalid="true"] { border-color: var(--error); }
.concept-a .check-row input[aria-invalid="true"]:not(:focus-visible) { outline: 2px solid var(--error); outline-offset: 2px; }
.concept-a .check-row { padding-block: 4px; }
.concept-a .check-row input { margin-top: .18rem; }
.a-field .optional { color: var(--muted); font-size: .85em; font-weight: 500; }
.a-inquiry-submit { margin-top: 15px; }
.a-form-success p { margin: 8px 0 13px; color: var(--muted); }
.a-contact-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, .65fr); gap: var(--gap); align-items: start; }
.a-guidance { padding: clamp(14px, 2vw, 23px); background: var(--tone-a); border-radius: var(--radius); }
.a-guidance .text-link { margin-top: 6px; }
.a-policy-dialog {
  width: min(calc(100% - 36px), 712px); max-height: min(82dvh, 810px); padding: 0;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); color: var(--ink);
  box-shadow: var(--lift-shadow); overscroll-behavior: contain;
}
.a-policy-dialog::backdrop { background: var(--scrim); }
.a-dialog-header {
  position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: start;
  gap: 10px; padding: 15px clamp(15px, 3vw, 25px); border-bottom: 1px solid var(--line); background: var(--paper);
}
.a-dialog-header .eyebrow { margin-bottom: 5px; }
.a-policy-dialog > .a-prose { padding: clamp(15px, 3vw, 25px); }
.a-policy-dialog .a-prose-section + .a-prose-section { margin-top: 20px; }
.a-policy-dialog .a-prose-section h2 { font-size: 1.25rem; }

.a-footer { padding-block: clamp(19px, 3.5vw, 42px) 13px; background: var(--nav-fill); border-top: 1px solid var(--line); }
.a-footer-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) repeat(3, minmax(0, 1fr)); gap: 18px; }
.a-footer-grid p { max-width: 34ch; margin-top: 7px; color: var(--muted); font-size: .91rem; }
.a-footer nav { display: grid; align-content: start; gap: 2px; }
.a-footer nav a { min-height: 36px; display: flex; align-items: center; color: var(--tone-ink); font-size: .88rem; font-weight: 630; }
.a-footer nav a:hover { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
.a-footer-review { margin-top: 17px; padding-top: 9px; border-top: 1px solid var(--panel-stroke); color: var(--muted); font-size: .77rem; }

.a-palette-tools { padding-block: 8px; background: var(--tone-a); border-bottom: 1px solid var(--line); }
.a-palette-tools > div, .a-palette-tools > div > div { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.a-palette-tools > div { justify-content: space-between; }
.a-palette-tools label, .a-palette-tools a { color: var(--link); font-size: .82rem; font-weight: 700; }
.a-palette-tools a { display: inline-flex; gap: 4px; align-items: center; }
.a-palette-tools a:hover { text-decoration: underline; text-underline-offset: 3px; }
.a-palette-tools a .icon { width: 14px; height: 14px; }
.a-palette-tools .a-select select { min-height: 35px; padding-block: 5px; font-size: .83rem; }
.a-swatch-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.a-swatch-options button {
  display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 9px;
  padding: 10px; text-align: start; border: 1px solid var(--subtle-stroke); border-radius: var(--control); background: var(--paper);
}
.a-swatch-options button[aria-pressed="true"] { border-color: var(--accent); box-shadow: inset 0 -3px var(--accent); }
.a-swatch-mark { width: 30px; height: 30px; border-radius: 9px; background: linear-gradient(135deg, var(--swatch-ink) 46%, var(--swatch-fill) 46%); }
[data-review-palette="blue"] { --swatch-ink:#2452d2; --swatch-fill:#e7eeff; }
[data-review-palette="purple"] { --swatch-ink:#673bb3; --swatch-fill:#eee3fb; }
[data-review-palette="orange"] { --swatch-ink:#a64616; --swatch-fill:#fae7d5; }
[data-review-palette="azure"] { --swatch-ink:#08739a; --swatch-fill:#def2f9; }
.a-preview-controls, .a-preview-pages, .a-preview-sizes { display: flex; flex-wrap: wrap; gap: 5px; }
.a-preview-controls { justify-content: space-between; margin-block: 13px; gap: 9px; }
.a-preview-controls button {
  min-height: 40px; padding: 5px 11px; border: 1px solid var(--subtle-stroke); border-radius: 8px;
  background: var(--paper); font-size: .87rem; font-weight: 670;
}
.a-preview-controls button[aria-pressed="true"] { background: var(--tone-deep); border-color: var(--accent); color: var(--link); }
.a-preview-stage { padding: clamp(4px, 1vw, 12px); border-radius: var(--radius); background: var(--tone-a); }
.a-preview-stage iframe {
  display: block; width: 100%; height: clamp(480px, 72vh, 810px); margin: auto;
  border: 1px solid var(--panel-stroke); border-radius: 12px; background: var(--paper);
}
[data-preview-size="mobile"] .a-preview-stage iframe { max-width: 390px; }
.a-preview-open { margin-top: 6px; }

.is-revealing { animation: a-reveal 340ms cubic-bezier(.2,.72,.35,1) var(--reveal-delay, 0ms) both; }
.a-card:nth-child(2n), .a-stages article:nth-child(2) { --reveal-delay: 22ms; }
.a-card:nth-child(3n), .a-stages article:nth-child(3) { --reveal-delay: 44ms; }
@keyframes a-reveal { from { opacity: .86; translate: 0 12px; } to { opacity: 1; translate: 0 0; } }

@media (hover: hover) and (pointer: fine) {
  .a-card:hover { transform: translateY(-3px); box-shadow: var(--lift-shadow); }
  .a-editorial-row:hover { background: var(--surface); box-shadow: 0 4px 11px -8px var(--soft-shadow-ink); }
  .a-service-row:hover { background: color-mix(in srgb, var(--surface) 46%, var(--paper)); }
  .a-card:hover .a-card-arrow { transform: translate(2px, -2px); color: var(--link); }
  .concept-a .text-link:hover .icon, .concept-a .button:hover .icon { transform: translateX(2px); }
}

@media (min-width: 1001px) {
  .concept-a { --header-size: 77px; }
  .a-header { position: sticky; top: 0; }
  .a-menu-toggle { display: none; }
}

@media (max-width: 1150px) {
  .a-service-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1000px) {
  .a-topbar { flex-wrap: wrap; min-height: 62px; gap: 0 10px; padding-block: 6px; }
  .a-menu-toggle { display: inline-flex; }
  .a-nav { display: grid; flex: 1 0 100%; gap: 2px; padding: 7px 3px; }
  .a-ready .a-nav { display: none; }
  .a-ready .a-nav.is-open {
    display: grid; position: absolute; z-index: 5; left: var(--gutter); right: var(--gutter); top: calc(100% + 5px);
    max-height: calc(100dvh - 83px); overflow: auto; padding: 8px 9px; border: 1px solid var(--line);
    border-radius: var(--radius); background: var(--paper); box-shadow: var(--lift-shadow);
  }
  .a-nav > a:not(.button), .a-nav-solutions > summary { padding-inline: 9px; min-height: 40px; }
  .a-nav-flyout { position: static; width: auto; background: var(--surface); border: 0; box-shadow: none; padding: 3px; }
  .a-nav-flyout a { min-height: 35px; font-size: .87rem; }
  .a-nav .a-nav-cta { justify-self: start; margin: 3px 0 2px 4px; }
  .a-layout, .a-catalog { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .a-rail { position: static; max-height: none; overflow: visible; padding: 0; margin: 0; }
  .a-rail-nav { padding: 4px 7px; border-radius: var(--control); }
  .a-rail-nav > summary {
    display: flex; justify-content: space-between; align-items: center; min-height: 38px;
    gap: 8px; padding: 5px 7px; border-radius: 8px; font-weight: 720; font-size: .88rem;
  }
  .a-rail-nav[open] > summary .icon { transform: rotate(180deg); }
  .a-rail-nav nav a { min-height: 38px; }
  .a-formats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a-jump-label { display: none; }
  .a-catalog, .a-catalog:not(:has(.a-search:not([hidden]))) { grid-template-rows: auto; }
  .a-catalog :is(.a-search, .a-filter-rail, .a-results), .a-catalog:not(:has(.a-search:not([hidden]))) .a-results { grid-row: auto; grid-column: 1; }
  .a-category-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 750px) {
  .a-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a-hero-copy { padding-bottom: 0; }
  .a-hero h1 { font-size: clamp(2.2rem, 5.6vw, 3.7rem); }
  .a-hero .lede { margin-top: 14px; }
  .a-hero .actions { margin-top: 17px; gap: 5px 16px; }
  .a-workflow-hero { inset-inline: 8px; }
  .a-workflow { padding-inline: 10px; }
  .a-workflow-steps li { gap: 4px; padding-inline: 5px; }
  .a-workflow-node { width: 22px; height: 22px; }
  .a-workflow-node .icon { width: 13px; height: 13px; }
  .a-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .a-footer-grid > div { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .a-hero-grid { grid-template-columns: minmax(0, 1fr); padding-block: 28px 25px; gap: 20px; }
  .a-hero h1 { font-size: clamp(2.32rem, 8.6vw, 3.35rem); }
  .a-hero-media { padding-bottom: 67px; }
  .a-hero-media::before { right: -6px; }
  .a-hero-photo { max-height: 330px; }
  .a-offer-hero, .a-reading-split, .a-price-band, .a-contact-layout { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .a-offer-mast { padding-block: 18px 20px; }
  .a-offer-audience { margin-top: 9px; }
  .a-jump-items a { padding-inline: 10px; font-size: .82rem; }
  .a-service-list, .a-deliverable-grid, .a-related-grid, .a-example ol { grid-template-columns: minmax(0, 1fr); }
  .a-example li + li::before { top: auto; bottom: 100%; right: auto; left: 28px; width: 1px; height: 12px; }
  .a-service-row { padding: 8px; }
  .a-service-visual { min-height: 71px; }
  .a-service-diagram { width: min(77%, 178px); }
  .a-swatch-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a-stages { gap: 5px; }
  .a-stages article { padding: 8px 7px; border-radius: 9px; }
  .a-stages .icon { width: 16px; height: 16px; margin-bottom: 4px; }
  .a-stages h3 { font-size: .98rem; }
  .a-stages p { font-size: .78rem; line-height: 1.36; }
  .a-case-feature { grid-template-columns: 1fr; gap: 11px; }
  .a-mini-flow { padding-right: 0; }
  .a-form-grid { grid-template-columns: minmax(0, 1fr); gap: 11px; }
  .a-price-grid, .a-compare-grid { grid-template-columns: minmax(0, 1fr); }
  .a-compare-card { grid-row: auto; grid-template-rows: auto; }
  .a-price-groups { grid-template-columns: minmax(0, 1fr); }
  .a-workflow-detail .a-workflow-steps { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a-workflow-detail li:nth-child(odd)::before { content: none; }
}

@media (max-width: 400px) {
  .a-topbar .a-brand { font-size: .92rem; }
  .a-topbar .a-brand img { width: 30px; flex-basis: 30px; }
  .a-category-card, .a-case-card { padding: 13px; }
  .a-category-card h3 { font-size: 1.03rem; }
  .a-category-card p, .a-case-card p { font-size: .88rem; }
  .a-case-grid { grid-template-columns: minmax(0, 1fr); }
  .a-service-row .a-card-arrow { width: 16px; height: 16px; }
  .a-format-button { grid-template-columns: 24px minmax(0, 1fr); gap: 6px; padding-inline: 8px; }
  .a-format-button > .icon { width: 16px; height: 16px; }
  .a-format-button .a-icon-tile { width: 24px; height: 24px; border-radius: 6px; }
  .a-format-button .a-icon-tile .icon { width: 15px; height: 15px; }
  .a-format-button .a-format-check { display: none; }
}

@media (forced-colors: active) {
  .concept-a :is(input:not([type="checkbox"]), select, textarea):focus-visible { outline: 2px solid CanvasText; outline-offset: 2px; }
}

@media (prefers-reduced-motion: reduce) {
  .concept-a *, .concept-a *::before, .concept-a *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .concept-a :is(.a-card, .a-service-row, .button, .text-link):hover, .concept-a :hover > .a-card-arrow,
  .concept-a :is(.button, .text-link):hover .icon { transform: none; }
}
