/* Automation field guide. Colour and type come from site.css brand tokens. */
.automation-hub-page { background: var(--brand-soft); color: var(--brand-navy); }
.automation-hub { --hub-space: clamp(64px, 8vw, 120px); }
.automation-hub :where(h1,h2,h3,p,figure,dl) { margin: 0; }
.automation-hub :where(h1,h2,h3,dt,dd) { color: inherit; }
.automation-hub :where(h1,h2,h3) { font-family: var(--font-display); font-weight: 600; text-wrap: balance; }
body.automation-hub-page h1 { font-size: clamp(44px, 5.6vw, 82px); line-height: 1.04; letter-spacing: -.045em; }
body.automation-hub-page h2 { font-size: clamp(32px, 3.4vw, 50px); line-height: 1.12; letter-spacing: -.035em; }
.automation-hub h3 { font-size: 25px; line-height: 1.2; letter-spacing: -.02em; }
.automation-hub p { max-width: 68ch; font-size: 19px; line-height: 1.6; }
.automation-hub a { color: inherit; text-underline-offset: .2em; }
.automation-hub :where(a,summary,[tabindex]):focus-visible { outline: 3px solid var(--brand-cyan); outline-offset: 5px; }
.ah-shell { width: min(100% - 2 * var(--page-gutter), var(--content-max)); margin-inline: auto; }
.ah-section { padding-block: var(--hub-space); scroll-margin-top: 130px; }
.automation-hub .ah-kicker { font-size: 13px; line-height: 1.4; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ah-heading { display: grid; grid-template-columns: 1.15fr 1fr; gap: 32px 64px; align-items: end; margin-bottom: 40px; }
.ah-heading h2 { margin-top: 16px; max-width: 19ch; }
.ah-heading > p { max-width: 48ch; }
.ah-hero { background: var(--brand-deep); color: var(--brand-soft); padding-block: 38px 0; }
.ah-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; margin-bottom: 48px; }
.ah-breadcrumb a { color: var(--brand-mint); }
.ah-breadcrumb span[aria-hidden] { color: var(--brand-cyan); }
.ah-hero-grid { display: grid; grid-template-columns: 1.35fr 1fr; align-items: center; gap: clamp(32px, 5vw, 76px); }
.ah-hero .ah-kicker { color: var(--brand-cyan); margin-bottom: 20px; }
.ah-hero h1 { max-width: 12ch; }
.ah-hero h1 span { color: var(--brand-acid); }
.ah-hero-copy > p:not(.ah-kicker) { margin-top: 26px; max-width: 47ch; color: var(--brand-mint); }
.ah-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 30px; }
.automation-hub .ah-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; padding: 17px 22px; background: var(--brand-acid); color: var(--brand-navy); font-size: 16px !important; font-weight: 700; text-decoration: none; min-height: 52px; }
.ah-button span, .ah-text-link span { transition: transform .2s var(--ease-out); }
.ah-button:hover span, .ah-text-link:hover span { transform: translateX(3px); }
.ah-text-link { display: inline-flex; align-items: center; gap: 18px; font-size: 16px; font-weight: 600; min-height: 44px; }
.ah-workflow { background: var(--brand-mint); color: var(--brand-navy); padding: clamp(24px, 3vw, 40px); }
.automation-hub .ah-workflow .ah-kicker { color: var(--brand-navy); margin: 0; }
.ah-workflow figcaption { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.ah-workflow figcaption img { width: 32px; height: 32px; }
.ah-flow { list-style: none; margin: 26px 0 0; padding: 0; }
.ah-flow li { position: relative; display: grid; grid-template-columns: 32px 1fr; gap: 14px; padding: 18px 0; border-top: 1px solid var(--brand-navy); }
.ah-flow li > span { font-size: 13px; padding-top: 3px; }
.ah-flow strong { display: block; font-family: var(--font-display); font-size: 23px; line-height: 1.2; }
.ah-flow small { display: block; margin-top: 6px; font-size: 16px; line-height: 1.4; }
.automation-hub .ah-workflow > p { font-size: 14px; line-height: 1.5; margin-top: 16px; }
.ah-metadata { display: flex; flex-wrap: wrap; gap: 12px 32px; border-top: 1px solid var(--brand-cyan); padding-block: 22px; margin-top: 56px; font-size: 13px; }
.ah-metadata div { display: flex; gap: 9px; }
.ah-metadata dt { color: var(--brand-cyan); }
.ah-metadata dd { margin: 0; }
.ah-jump { background: var(--brand-mint); border-bottom: 1px solid var(--brand-navy); }
.ah-jump .ah-shell { display: flex; flex-wrap: wrap; gap: 0 28px; }
.ah-jump a { display: inline-flex; align-items: center; gap: 9px; min-height: 60px; font-size: 15px; font-weight: 600; text-decoration: none; }
.ah-jump a:hover { text-decoration: underline; }
.ah-jump a span { font-size: 12px; }
.ah-intro-copy { max-width: 75ch; margin-bottom: 42px; }
.ah-intro-copy h2 { max-width: 25ch; margin-block: 16px 24px; }
.ah-intro-copy p + p { margin-top: 18px; }
.ah-types { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.ah-types article { border-top: 1px solid var(--brand-navy); padding-top: 18px; }
.ah-types h3 { font-size: 23px; margin-bottom: 12px; }
.ah-types p { font-size: 17px; }
.ah-start { display: grid; grid-template-columns: 1fr 1.3fr; gap: 36px; margin-top: 44px; padding: 28px; background: var(--brand-mint); }
.ah-start h3 { margin-bottom: 12px; }
.ah-start p { font-size: 17px; }
.ah-start ul { margin: 0; padding-left: 20px; }
.ah-start li { font-size: 17px; line-height: 1.5; margin-bottom: 10px; }
.ah-regulation { background: var(--brand-mint); }
.ah-regimes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.ah-regimes article { border-top: 1px solid var(--brand-navy); padding-top: 24px; }
.ah-regimes h3 { margin-block: 12px 18px; }
.ah-regimes p { font-size: 17px; }
.ah-regimes p + p { margin-top: 14px; }
.ah-source { display: inline-block; margin-top: 18px; font-size: 14px; line-height: 1.5; }
.automation-hub .ah-regulation-note { max-width: none; margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--brand-navy); font-size: 17px; }
.ah-timeline { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 0; margin: 0; border: 1px solid var(--brand-navy); }
.ah-timeline li { padding: 30px; }
.ah-timeline li + li { border-left: 1px solid var(--brand-navy); }
.ah-timeline li:first-child { background: var(--brand-acid); }
.ah-timeline h3 { margin-block: 18px 12px; }
.ah-timeline p { font-size: 16px; }
.ah-timeline dl { margin-top: 24px; display: grid; gap: 16px; }
.ah-timeline dt { font-size: 13px; }
.ah-timeline dd { margin: 4px 0 0; font-size: 20px; font-weight: 600; }
.automation-hub .ah-footnote { font-size: 15px; margin-top: 22px; }
.ah-tools { background: var(--brand-navy); color: var(--brand-soft); }
.ah-tools .ah-kicker { color: var(--brand-cyan); }
.ah-table-scroll { overflow-x: auto; scrollbar-color: var(--brand-cyan) var(--brand-deep); }
.ah-table { border-collapse: collapse; width: 100%; min-width: 1060px; font-size: 16px; line-height: 1.45; }
.ah-table caption { text-align: left; margin-bottom: 18px; font-size: 15px; color: var(--brand-mint); }
.ah-table th, .ah-table td { text-align: left; vertical-align: top; padding: 20px 16px; border: 1px solid var(--brand-cyan); }
.ah-table thead th { background: var(--brand-acid); color: var(--brand-navy); font-size: 14px; }
.ah-table tbody th { color: var(--brand-acid); width: 16%; font-weight: 600; }
.ah-table tbody th small { display: block; margin-top: 10px; color: var(--brand-mint); font-size: 14px; font-weight: 400; }
.ah-tools .ah-text-link { color: var(--brand-acid); margin-top: 24px; }
.ah-library-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 48px 32px; }
.ah-note { min-width: 0; }
.ah-note-visual { display: block; overflow: hidden; background: var(--brand-mint); margin-bottom: 22px; }
.ah-note-visual img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .35s var(--ease-out); }
.ah-note-visual:hover img { transform: scale(1.025); }
.ah-note h3 { font-size: clamp(25px, 2.5vw, 34px); margin-block: 12px; max-width: 28ch; }
.ah-note h3 a { text-decoration: none; }
.ah-note h3 a:hover { text-decoration: underline; }
.ah-note > p:not(.ah-kicker) { font-size: 17px; max-width: 52ch; }
.ah-note .ah-text-link { margin-top: 12px; }
.ah-operator { background: var(--brand-mint); }
.ah-operator-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.ah-operator h2 { margin-block: 16px 24px; }
.ah-operator p + p { margin-top: 18px; }
.ah-service-links { display: flex; flex-direction: column; border-top: 1px solid var(--brand-navy); }
.ah-service-links a { display: grid; grid-template-columns: 1fr auto; gap: 8px 24px; border-bottom: 1px solid var(--brand-navy); padding: 24px 0; text-decoration: none; }
.ah-service-links strong { font-family: var(--font-display); font-size: 25px; line-height: 1.2; }
.ah-service-links small { grid-column: 1; font-size: 17px; line-height: 1.4; }
.ah-service-links a > span { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 25px; }
.ah-service-links a:hover strong { text-decoration: underline; text-underline-offset: .2em; }
.ah-faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; }
.ah-faq-layout header h2 { margin-block: 16px 22px; }
.ah-faq-list { border-top: 1px solid var(--brand-navy); }
.ah-faq-list details { border-bottom: 1px solid var(--brand-navy); }
.ah-faq-list summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 24px; padding: 24px 0; font-size: 21px; font-weight: 600; line-height: 1.35; }
.ah-faq-list summary::-webkit-details-marker { display: none; }
.ah-faq-list summary::after { content: '+'; font-size: 26px; font-weight: 400; flex-shrink: 0; }
.ah-faq-list details[open] summary::after { content: '−'; }
.ah-faq-answer { padding-bottom: 26px; }
.ah-faq-answer p { font-size: 17px; }
.ah-close { background: var(--brand-deep); color: var(--brand-soft); }
.ah-close .ah-shell { display: grid; grid-template-columns: 1.25fr 1fr; gap: 32px 64px; align-items: end; }
.ah-close .ah-kicker { color: var(--brand-cyan); margin-bottom: 18px; }
.automation-hub-page .ah-close h2 { font-size: clamp(38px, 4.5vw, 64px); max-width: 17ch; }
.ah-close .ah-button { margin-top: 28px; }
@media (min-width: 1500px) { .ah-hero h1 { font-size: 82px; } }
@media (max-width: 1000px) {
  .ah-hero-grid { grid-template-columns: 1.15fr 1fr; gap: 28px; }
  .ah-types { grid-template-columns: repeat(2, 1fr); }
  .ah-heading, .ah-operator-grid, .ah-faq-layout { gap: 32px; }
  .ah-timeline li { padding: 24px 20px; }
  .ah-regimes { gap: 24px; }
}
@media (max-width: 720px) {
  .ah-hero { padding-top: 26px; }
  .ah-breadcrumb { margin-bottom: 34px; }
  .ah-hero-grid, .ah-heading, .ah-regimes, .ah-timeline, .ah-operator-grid, .ah-faq-layout, .ah-close .ah-shell, .ah-start { grid-template-columns: 1fr; }
  .automation-hub-page .ah-hero h1 { font-size: clamp(44px, 9.5vw, 66px); max-width: 13ch; }
  .ah-hero-grid { gap: 36px; }
  .ah-metadata { margin-top: 32px; gap: 10px 24px; }
  .ah-jump .ah-shell { gap: 0 22px; padding-block: 10px; }
  .ah-jump a { min-height: 44px; }
  .ah-heading { gap: 20px; margin-bottom: 30px; }
  .ah-heading h2 { max-width: 22ch; }
  .ah-timeline li + li { border-left: 0; border-top: 1px solid var(--brand-navy); }
  .ah-timeline dl { grid-template-columns: 1fr 1fr; }
  .ah-library-grid { gap: 40px; grid-template-columns: 1fr; }
  .ah-note h3 { font-size: 29px; }
  .ah-start { padding: 24px; gap: 22px; }
  .ah-regimes { gap: 30px; }
  .ah-regimes h3 { margin-block: 10px 14px; }
}
@media (max-width: 380px) {
  .ah-types { grid-template-columns: 1fr; }
  .ah-timeline dl { grid-template-columns: 1fr; }
  .ah-actions { align-items: stretch; flex-direction: column; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .ah-note-visual img, .ah-button span, .ah-text-link span { transition: none; }
}
