/* Shared interaction language: filled primary actions, outlined alternatives,
   underlined supporting actions, quiet navigation and explicit toggle states. */
:root {
  --ars-cta-gradient:linear-gradient(102deg,#00719f,#095ee3 36%,#7330d6 69%,#b21aca);
  --ars-action-size:clamp(1rem,.96rem + .16vw,1.125rem);
  --ars-action-ink:#124b92;
  --ars-focus-ring:#1957c4;
  --ars-interaction-time:180ms;
}
:is(#hero,#model,#challenge,#movement,#person,#insights,#support,.ars-s8,.ars-site-footer) {
  --ars-action-ink:#e7f1ff;
  --ars-focus-ring:#8bdcff;
}
:where(a,button,input,select,textarea) {
  -webkit-tap-highlight-color:rgb(46 129 255 / .18);
  touch-action:manipulation;
}
.ars-skip-link:focus,
.ars-main :is(a[href],button,[tabindex]):focus-visible,
.ars-site-header :is(a[href],button):focus-visible,
.ars-mobile-nav :is(a[href],button):focus-visible,
.ars-site-footer :is(a[href],button):focus-visible {
  outline:3px solid var(--ars-focus-ring);
  outline-offset:4px;
  box-shadow:0 0 0 1px #fff;
}
/* CTAs keep their approved colours and shapes, without decorative arrows. */
.ars-button.ars-button,#main-content.ars-main .ars-button,.ars-s8 .ars-s8__cta {
  align-items:center;
  justify-content:center;
  max-width:100%;
  min-height:48px;
  font-size:var(--ars-action-size);
  font-weight:650;
  line-height:1.3;
  white-space:normal;
  text-decoration:none;
  cursor:pointer;
  transition:transform var(--ars-interaction-time) ease,box-shadow var(--ars-interaction-time) ease,filter var(--ars-interaction-time) ease,background-color var(--ars-interaction-time) ease,border-color var(--ars-interaction-time) ease;
}
.ars-s8 .ars-s8__cta { display:inline-flex; }
.ars-button.ars-button::after { content:none; }
.ars-button--primary.ars-button { box-shadow:0 .3rem 1rem rgb(18 69 150 / .16); }
.ars-button.ars-button:active,.ars-s8 .ars-s8__cta:active { transform:none; filter:brightness(.95); }
.ars-main .ars-button:focus-visible,.ars-s8 .ars-s8__cta:focus-visible { outline-color:var(--ars-focus-ring); box-shadow:0 0 0 2px #fff; }
.ars-site-header .ars-button { font-size:.875rem; }
/* Supporting actions are text, with a persistent fine underline. */
.ars-button.ars-action--text.ars-button,#main-content.ars-main .ars-button.ars-action--text {
  justify-content:flex-start;
  width:fit-content;
  min-height:44px;
  padding:.7rem 0;
  color:var(--ars-action-ink);
  background:none;
  border:0;
  border-radius:.15rem;
  box-shadow:none;
  font-size:1rem;
  font-weight:600;
  line-height:1.4;
  text-align:left;
  text-decoration:underline;
  text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);
  text-decoration-thickness:1px;
  text-underline-offset:.3em;
  transition:text-decoration-color var(--ars-interaction-time) ease,color var(--ars-interaction-time) ease;
}
.ars-button.ars-action--text:is(:active,:focus-visible) { transform:none; filter:none; text-decoration-color:currentColor; }
.ars-main p > a:not(.ars-button) {
  color:var(--ars-action-ink);
  font-weight:600;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.25em;
  transition:text-decoration-color var(--ars-interaction-time) ease;
}
.ars-evidence-footnote p:has(> a) { font-size:.875rem; }
.ars-evidence-footnote p > a { display:inline-flex; align-items:center; min-height:44px; }
/* Navigation and utility links use typography, not floating-button motion. */
.ars-primary-nav-list { gap:clamp(.3rem,.6vw,.9rem); }
.ars-primary-nav a { font-size:.875rem; font-weight:600; }
.ars-mobile-nav a:not(.ars-button) { font-weight:600; }
.ars-primary-nav a,.ars-mobile-nav a:not(.ars-button),.ars-site-footer a:not(.ars-brand) {
  min-height:44px;
  text-decoration:underline;
  text-decoration-color:transparent;
  text-decoration-thickness:1px;
  text-underline-offset:.3em;
  border-radius:.15rem;
  transition:color var(--ars-interaction-time) ease,text-decoration-color var(--ars-interaction-time) ease;
}
.ars-primary-nav a[aria-current="location"],.ars-mobile-nav a[aria-current="location"] {
  color:#1758c9;
  text-decoration-color:currentColor;
  text-decoration-thickness:2px;
}
.ars-site-footer a:not(.ars-brand) { min-width:44px; font-size:.875rem; }
.ars-primary-nav a:active,.ars-mobile-nav a:not(.ars-button):active,.ars-site-footer a:not(.ars-brand):active { text-decoration-color:currentColor; }
.ars-site-footer a[href^="https:"]:visited { color:#cfbfed; }
.ars-brand { min-height:44px; border-radius:.25rem; transition:opacity var(--ars-interaction-time) ease; }
.ars-brand:active { opacity:.75; }
.ars-site-footer .ars-button--secondary { color:#fff; border-color:#8ea7cc; background:transparent; }
.ars-menu-toggle,.ars-mobile-nav-close { transition:background-color var(--ars-interaction-time) ease,border-color var(--ars-interaction-time) ease; }
.ars-menu-toggle:active,.ars-mobile-nav-close:active { background:#eaf1fb; }
.ars-mobile-nav-toggle[aria-expanded="true"] span { background:transparent; }
.ars-mobile-nav-toggle[aria-expanded="true"] span::before { top:0; transform:rotate(45deg); }
.ars-mobile-nav-toggle[aria-expanded="true"] span::after { top:0; transform:rotate(-45deg); }
/* A single resources destination makes this teaser card a native link. */
#support .ars-linked-card { transition:border-color var(--ars-interaction-time) ease,box-shadow var(--ars-interaction-time) ease; }
.ars-linked-card > a { position:static; }
.ars-linked-card > a::before { content:""; position:absolute; inset:0; border-radius:inherit; }
#support .ars-linked-card:focus-within { outline:3px solid var(--ars-focus-ring); outline-offset:4px; }
#support .ars-linked-card a:focus-visible { outline:none; box-shadow:none; }
/* Tabs are one connected selector; selected state does not rely on colour. */
.ars-s8 .ars-s8__tabs { gap:clamp(.3rem,1vw,.9rem); padding:4px 2px; border-bottom:1px solid var(--s8-line-strong); scrollbar-width:thin; scrollbar-color:#526993 transparent; }
.ars-s8 .ars-s8__tabs::-webkit-scrollbar { display:block; height:3px; }
.ars-s8 .ars-s8__tabs::-webkit-scrollbar-thumb { background:#526993; }
.ars-s8 .ars-s8__tab {
  min-height:48px;
  padding:.7rem .9rem;
  border:0;
  border-bottom:2px solid transparent;
  border-radius:.25rem .25rem 0 0;
  color:#c9d7ed;
  background:none;
  font-size:.875rem;
  font-weight:600;
  transition:color var(--ars-interaction-time) ease,background-color var(--ars-interaction-time) ease,border-color var(--ars-interaction-time) ease;
}
.ars-s8 .ars-s8__tab[aria-selected="true"] { color:#fff; background:none; border-color:#73e5f5; }
.ars-s8 .ars-s8__tab:focus-visible { outline-offset:-3px; box-shadow:none; }
.ars-s8 .ars-s8__tab:active { background:#ffffff14; }
.ars-s8 .ars-s8__hub-button { opacity:1; filter:none; }
.ars-s8 .ars-s8__hub-thumb { filter:saturate(.8) brightness(.85); transition:filter var(--ars-interaction-time) ease,border-color var(--ars-interaction-time) ease; }
.ars-s8 .ars-s8__hub-label,.ars-s8 .ars-s8__hub-button.is-active .ars-s8__hub-label {
  color:#d5e1f6;
  font-size:.875rem;
  font-weight:650;
  line-height:1.2;
  background:none;
  box-shadow:none;
}
.ars-s8 .ars-s8__hub-button.is-active .ars-s8__hub-label { color:#fff; text-decoration:underline; text-decoration-color:#8bdcff; text-underline-offset:.22em; }
.ars-s8 .ars-s8__hub-button.is-active .ars-s8__hub-thumb { filter:none; }
.ars-s8 .ars-s8__hub-button:active .ars-s8__hub-thumb { filter:brightness(.9); }
.ars-s8 .ars-s8__support-chip { min-height:0; padding:.2rem 0; border:0; border-radius:0; background:none; }
.ars-s8 .ars-s8__support-chip:not(:last-child)::after { content:"·"; margin-left:.6rem; color:#8fa3c5; }
/* Emphasis controls remain actions, with a calm default and clear pressed state. */
#readiness .s2-question { min-height:44px; padding:.4rem; border-bottom:1px solid #b9d4ef; border-radius:.35rem; transition:background-color var(--ars-interaction-time) ease; }
#readiness .s2-question[aria-pressed="true"] { box-shadow:inset 3px 0 #1758c9; }
#model .s3-row[aria-pressed="true"] { box-shadow:inset 3px 0 var(--s3-accent); }
#model .s3-row.is-emphasized { background:#153b684d; }
.ars-route-notice {
  flex-basis:100%; width:100%; margin:.8rem 0 0; padding:.8rem 1rem;
  border:1px solid #83b9ed; border-radius:.5rem;
  background:#eaf5ff; color:#102f54; font-size:.95rem; line-height:1.5;
}
:where(button,input,select,textarea):disabled,:where(a,button)[aria-disabled="true"] { opacity:.55; cursor:not-allowed; }
:where(a,button)[aria-busy="true"] { cursor:progress; }
/* Footer layout and disclosure states live together in footer.css. */
@media (hover:hover) and (pointer:fine) {
  .ars-primary-nav a:hover,.ars-mobile-nav a:not(.ars-button):hover,.ars-site-footer a:not(.ars-brand):hover { text-decoration-color:currentColor; }
  .ars-button.ars-action--text:hover { transform:none; filter:none; text-decoration-color:currentColor; box-shadow:none; }
  .ars-main p > a:hover { text-decoration-thickness:2px; }
  .ars-brand:hover { opacity:.85; }
  .ars-menu-toggle:hover,.ars-mobile-nav-close:hover { background:#eef4fd; border-color:#92add4; }
  .ars-site-footer .ars-footer-toggle:hover { color:#8bdcff; }
  #support .ars-linked-card:hover { border-color:#8bdcff; box-shadow:inset 0 0 0 1px #8bdcff; }
  .ars-s8 .ars-s8__tab:hover { color:#fff; background:#ffffff08; }
  .ars-s8 .ars-s8__hub-button:hover { opacity:1; filter:none; }
  .ars-s8 .ars-s8__hub-button:hover .ars-s8__hub-thumb { filter:none; }
  #readiness .s2-question:hover { background:#eff5ff; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .ars-button.ars-button:where(:not(.ars-action--text):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"])):hover,
  .ars-s8 .ars-s8__cta:where(:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"])):hover {
    transform:translateY(-2px); filter:brightness(1.03); box-shadow:0 .45rem 1.2rem rgb(8 28 70 / .17);
  }
  .ars-button.ars-button:active:hover,.ars-s8 .ars-s8__cta:active:hover { transform:none; filter:brightness(.95); }
}
@media (hover:none),(pointer:coarse) {
  .ars-button.ars-button:hover,.ars-s8 .ars-s8__cta:hover { transform:none; }
  .ars-site-footer .ars-footer-legal a { text-decoration-color:color-mix(in srgb,currentColor 35%,transparent); }
}
@media (prefers-reduced-motion:reduce) {
  .ars-button.ars-button,#main-content.ars-main .ars-button,#main-content.ars-main .ars-button.ars-action--text,.ars-s8 .ars-s8__cta,.ars-s8 .ars-s8__tab,.ars-s8 .ars-s8__hub-button,.ars-s8 .ars-s8__hub-thumb,
  .ars-brand,.ars-primary-nav a,.ars-site-footer a,.ars-footer-toggle,.ars-menu-toggle,.ars-mobile-nav-close,.ars-main p > a,#support .ars-linked-card { transition:none; }
  #readiness .s2-question { transition:none; }
  .ars-button.ars-button:hover,.ars-button.ars-button:active,.ars-s8 .ars-s8__cta:hover,.ars-s8 .ars-s8__cta:active { transform:none; }
}
@media (forced-colors:active) {
  .ars-route-notice { border-color:CanvasText; background:Canvas; color:CanvasText; }
  .ars-skip-link:focus-visible,.ars-main :is(a[href],button,[tabindex]):focus-visible,.ars-site-header :is(a[href],button):focus-visible,.ars-mobile-nav :is(a[href],button):focus-visible,.ars-site-footer :is(a[href],button):focus-visible { outline-color:Highlight; }
  .ars-s8 .ars-s8__tab[aria-selected="true"] { color:Highlight; border-color:Highlight; }
}
