.cts-aam {
  --cts-aam-accent: #0c66e4;
  --cts-aam-accent-dark: #0747a6;
  --cts-aam-surface: #ffffff;
  --cts-aam-text: #172b4d;
  --cts-aam-muted: #44546f;
  font-family: inherit;
}

.cts-aam--green { --cts-aam-accent: #216e4e; --cts-aam-accent-dark: #164b35; }
.cts-aam--charcoal { --cts-aam-accent: #3b4351; --cts-aam-accent-dark: #1d2125; }

.cts-aam__trigger,
.cts-aam__close {
  appearance: none;
  border: 2px solid var(--cts-aam-accent);
  border-radius: .45rem;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  line-height: 1.25;
  min-height: 44px;
  padding: .7rem 1rem;
}

.cts-aam__trigger { background: var(--cts-aam-accent); color: #fff; }
.cts-aam__close { background: transparent; color: var(--cts-aam-accent-dark); }
.cts-aam__trigger:hover { background: var(--cts-aam-accent-dark); border-color: var(--cts-aam-accent-dark); }
.cts-aam__close:hover { background: #f1f2f4; }
.cts-aam__trigger:focus-visible,
.cts-aam__close:focus-visible,
.cts-aam__message a:focus-visible { outline: 3px solid #ffab00; outline-offset: 3px; }

.cts-aam__layer[hidden] { display: none !important; }
.cts-aam__layer { align-items: center; display: flex; inset: 0; justify-content: center; padding: 1rem; position: fixed; z-index: 999999; }
.cts-aam__backdrop { background: rgba(9, 30, 66, .72); inset: 0; position: absolute; }
.cts-aam__dialog {
  background: var(--cts-aam-surface);
  border-radius: .85rem;
  box-shadow: 0 24px 64px rgba(9, 30, 66, .28);
  color: var(--cts-aam-text);
  max-height: calc(100vh - 2rem);
  max-width: 38rem;
  overflow: auto;
  padding: clamp(1.25rem, 4vw, 2.25rem);
  position: relative;
  width: 100%;
}

.cts-aam__eyebrow { color: var(--cts-aam-accent-dark); font-size: .78rem; font-weight: 800; letter-spacing: .09em; margin: 0 0 .5rem; text-transform: uppercase; }
.cts-aam__dialog h2 { color: var(--cts-aam-text); font-size: clamp(1.5rem, 5vw, 2.2rem); line-height: 1.15; margin: 0 0 1rem; }
.cts-aam__message { color: var(--cts-aam-muted); font-size: 1rem; line-height: 1.65; margin: 0 0 1.5rem; }
.cts-aam__message > :first-child { margin-top: 0; }
.cts-aam__message > :last-child { margin-bottom: 0; }
.cts-aam__message a { color: var(--cts-aam-accent-dark); font-weight: 700; }
body.cts-aam-open { overflow: hidden; }

@media (max-width: 480px) {
  .cts-aam__layer { align-items: flex-end; padding: .65rem; }
  .cts-aam__dialog { border-radius: .85rem .85rem .4rem .4rem; max-height: calc(100vh - 1.3rem); }
  .cts-aam__trigger,
  .cts-aam__close { width: 100%; }
}

@media (prefers-reduced-motion: no-preference) {
  .cts-aam[data-aam-opened="true"] .cts-aam__backdrop { animation: cts-aam-fade .18s ease-out; }
  .cts-aam[data-aam-opened="true"] .cts-aam__dialog { animation: cts-aam-enter .22s ease-out; }
  @keyframes cts-aam-fade { from { opacity: 0; } to { opacity: 1; } }
  @keyframes cts-aam-enter { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }
}

@media (forced-colors: active) {
  .cts-aam__dialog { border: 2px solid CanvasText; }
  .cts-aam__trigger,
  .cts-aam__close { border: 2px solid ButtonText; }
}
