/*
 * AAMS 1.6.51 design taste preserve pass.
 *
 * This final cascade refines composition, hierarchy, spacing, controls and
 * editorial rhythm without changing the canonical July shell or hero.
 */

:root {
  --aams-taste-canvas: #02060b;
  --aams-taste-canvas-soft: #030912;
  --aams-taste-surface: #07131f;
  --aams-taste-surface-raised: #0a1928;
  --aams-taste-line: rgba(190, 215, 234, 0.18);
  --aams-taste-line-strong: rgba(190, 215, 234, 0.28);
  --aams-taste-text: #f3f7fb;
  --aams-taste-muted: #afbfcc;
  --aams-taste-quiet: #879cad;
  --aams-taste-blue: #3b82f6;
  --aams-taste-green: #21b889;
  --aams-taste-radius: 8px;
}

.aams-header-sentinel {
  position: absolute;
  z-index: -1;
  top: 200px;
  left: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.aams-main,
.aams-july-restored,
.aams-language-home,
.aams-scope-page,
.aams-campaign-page,
.aams-page-shell,
.aams-account-workspace,
.aams-assessment-wrap,
.aams-dashboard-shell {
  background-color: var(--aams-taste-canvas);
}

.aams-main :is(h1, h2, h3) {
  color: var(--aams-taste-text);
  text-wrap: balance;
}

.aams-main :is(p, li, blockquote, figcaption) {
  text-wrap: pretty;
}

.aams-main :is(p, li) {
  orphans: 2;
  widows: 2;
}

.aams-main :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid #93c5fd;
  outline-offset: 3px;
}

.aams-main :is(.aams-button, .wl-button, button[type="submit"], input[type="submit"]) {
  white-space: nowrap;
}

.aams-main :is(.aams-button, .wl-button, button):active {
  transform: scale(0.98) !important;
}

/* Homepage composition and editorial rhythm. */
.aams-home-hero-copy {
  width: min(60ch, 100%);
  margin-top: 20px !important;
  color: #cbd7e2 !important;
  font-size: clamp(16px, 1.55vw, 18px) !important;
  font-weight: 400 !important;
  line-height: 1.65;
}

.aams-july-urgency,
.aams-july-section,
.aams-july-paths {
  padding: 36px 0;
}

.aams-july-section-heading,
.aams-home-chapter-heading {
  max-width: 690px;
  margin-right: auto;
  margin-left: auto;
}

.aams-july-section-heading {
  margin-bottom: 32px;
}

.aams-july-section-heading p,
.aams-home-chapter-heading > p:not(.aams-home-label):not(.aams-timeline-update) {
  max-width: 62ch;
  color: var(--aams-taste-muted);
}

.aams-july-choice,
.aams-home-final-panel {
  border-color: var(--aams-taste-line) !important;
  background: var(--aams-taste-surface) !important;
}

.aams-july-paths {
  background: var(--aams-taste-canvas-soft);
}

.aams-july-path h3 {
  margin-top: 0;
}

.aams-july-path a {
  color: #9bcaff;
  text-underline-offset: 4px;
}

.aams-timeline-update {
  display: block;
  width: fit-content;
  margin: 14px auto 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--aams-taste-quiet);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.aams-home .aams-current-timeline::before {
  background: linear-gradient(180deg, var(--aams-taste-blue), var(--aams-taste-green));
}

.aams-home .aams-current-timeline li::before,
.aams-home .aams-current-timeline li:nth-child(n)::before {
  background: var(--aams-taste-blue);
}

.aams-home .aams-current-timeline li:nth-child(3)::before {
  background: var(--aams-taste-green);
}

.aams-home .aams-current-timeline li div,
.aams-home .aams-current-timeline li:nth-child(n) div {
  border-color: var(--aams-taste-line);
  border-left-color: var(--aams-taste-blue);
  border-radius: var(--aams-taste-radius);
  background: rgba(7, 19, 31, 0.82);
  box-shadow: none;
}

.aams-home .aams-current-timeline li:nth-child(3) div {
  border-left-color: var(--aams-taste-green);
}

.aams-home-timeline-note {
  border-color: var(--aams-taste-line);
  border-left-color: var(--aams-taste-green);
  border-radius: var(--aams-taste-radius);
  background: var(--aams-taste-surface);
  box-shadow: none;
}

.aams-july-restored .aams-home-faq {
  padding: 56px 0 60px;
}

.aams-july-restored .aams-home-faq-layout {
  display: block;
  width: min(880px, calc(100% - 40px));
  margin: 0 auto;
}

.aams-july-restored .aams-home-faq-layout > div:first-child {
  max-width: 620px;
  margin-bottom: 28px;
}

.aams-july-restored .aams-home-faq-layout > div:first-child p {
  max-width: 54ch;
  margin-top: 10px;
  color: var(--aams-taste-muted);
  font-size: 14px;
}

.aams-july-restored .aams-home-faq-list {
  border-top: 1px solid var(--aams-taste-line-strong);
}

.aams-july-restored .aams-home-faq-list details {
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--aams-taste-line);
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
}

.aams-july-restored .aams-home-faq-list summary {
  position: relative;
  display: block;
  min-height: 0;
  padding: 22px 48px 22px 0;
  color: #e6edf4;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
  transition: color 160ms ease;
}

.aams-july-restored .aams-home-faq-list summary:hover,
.aams-july-restored .aams-home-faq-list summary:focus-visible,
.aams-july-restored .aams-home-faq-list details[open] summary {
  color: #f4f8fb;
}

.aams-july-restored .aams-home-faq-list summary::after {
  position: absolute;
  top: 50%;
  right: 2px;
  color: var(--aams-taste-green);
  font-size: 20px;
  line-height: 1;
  transform: translateY(-50%);
}

.aams-july-restored .aams-home-faq-list p {
  max-width: 72ch;
  margin: 0;
  padding: 0 56px 24px 0;
  color: var(--aams-taste-muted);
  font-size: 14px;
  line-height: 1.75;
}

.aams-scope-details details {
  border-color: var(--aams-taste-line);
  border-radius: var(--aams-taste-radius);
  background: transparent;
}

.aams-scope-details summary {
  min-height: 48px;
}

.aams-home-final-panel {
  max-width: 920px;
  padding: 42px 38px;
}

.aams-home-final-panel > p {
  max-width: 58ch;
  margin-right: auto;
  margin-left: auto;
  color: var(--aams-taste-muted);
}

.aams-home-quote {
  padding: 48px 0 64px;
}

.aams-home-quote-panel {
  max-width: 780px;
  margin: 0 auto;
  padding: 4px 0 4px 28px;
  border: 0;
  border-left: 2px solid var(--aams-taste-green);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.aams-home-quote blockquote {
  color: #d4dee7;
  font-size: clamp(17px, 1.8vw, 20px);
  line-height: 1.55;
}

.aams-home-quote figcaption {
  max-width: 64ch;
  color: var(--aams-taste-quiet);
  font-size: 13px;
  font-weight: 500;
}

/* Public guides, Library, language gateways and campaign pages. */
.aams-resource-hero-guide,
.aams-library-hero,
.aams-gateway-panel,
.aams-resource-callout,
.aams-page-shell :is(.wl-auth-card, .wl-gate-card, .wl-profile-panel) {
  border-color: var(--aams-taste-line) !important;
  border-radius: var(--aams-taste-radius) !important;
  background: var(--aams-taste-surface) !important;
}

.aams-resource-hero-content,
.aams-library-hero-content {
  max-width: 680px;
}

.aams-resource-hero :is(h1, p),
.aams-library-hero :is(h1, p) {
  max-width: 62ch;
}

.aams-library-access-note {
  color: var(--aams-taste-quiet) !important;
  font-size: 12px !important;
  line-height: 1.6;
}

.aams-library-catalog .wl-lead-magnet-card__meta span {
  color: var(--aams-taste-quiet);
}

.aams-language-home .aams-gateway-panel {
  border-left-color: var(--aams-taste-green) !important;
}

.aams-scope-page,
.aams-campaign-page,
.aams-scope-section,
.aams-july-literal-page .bg-black {
  background-color: var(--aams-taste-canvas) !important;
}

.aams-scope-heading,
.aams-contact-brief > div,
.aams-about-story > div {
  max-width: 720px;
}

.aams-scope-heading p,
.aams-about-story > div > p:not(.aams-scope-kicker),
.aams-language-capability p:not(.aams-scope-kicker) {
  max-width: 64ch;
  color: var(--aams-taste-muted);
}

.aams-language-capability nav a {
  border-color: var(--aams-taste-line);
  border-radius: var(--aams-taste-radius);
  background: transparent;
}

.aams-july-literal-page main :is(.uppercase, [class*="tracking-widest"]) {
  letter-spacing: 0.04em !important;
}

.aams-july-literal-page main [class*="rounded-"] {
  border-radius: var(--aams-taste-radius) !important;
}

.aams-july-literal-page :is(a, button)[class*="rounded-full"] {
  border-radius: var(--aams-taste-radius) !important;
}

.aams-july-literal-page main [class*="shadow-"] {
  box-shadow: none !important;
}

/* Forms and protected product surfaces keep their information architecture. */
.aams-page-shell :is(label, legend),
.aams-assessment-wrap :is(label, legend),
.aams-dashboard-shell :is(label, legend) {
  color: #dce6ee;
}

.aams-page-shell :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.aams-assessment-wrap :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.aams-dashboard-shell :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: 44px;
  border: 1px solid var(--aams-taste-line-strong) !important;
  border-radius: 6px !important;
  background: #030b14 !important;
  color: var(--aams-taste-text) !important;
  box-shadow: none !important;
}

.aams-main :is(input, textarea)::placeholder {
  color: #8094a4;
  opacity: 1;
}

.aams-main :is(input, select, textarea):hover {
  border-color: rgba(147, 197, 253, 0.45) !important;
}

.aams-main :is(input, select, textarea):focus {
  border-color: #60a5fa !important;
  outline: 2px solid rgba(96, 165, 250, 0.25);
  outline-offset: 1px;
}

.aams-assessment-progress,
.aams-assessment-form,
.aams-save-panel {
  border-color: var(--aams-taste-line) !important;
  border-radius: var(--aams-taste-radius) !important;
  background: var(--aams-taste-surface) !important;
  box-shadow: none !important;
}

#assessment {
  background-color: var(--aams-taste-canvas);
}

#assessment :is(.flow-guide, .flow-panel, .finish-panel) {
  border-color: var(--aams-taste-line);
  border-radius: var(--aams-taste-radius);
  background: var(--aams-taste-surface);
  box-shadow: none;
}

#assessment .answer-set span {
  border-color: var(--aams-taste-line);
  border-radius: 6px;
  background: #030b14;
  transition: border-color 160ms ease, background-color 160ms ease;
}

#assessment .answer-set label:hover span {
  border-color: rgba(147, 197, 253, 0.45);
  transform: none;
}

#assessment :is(.next-button, .finish-button) {
  border-radius: var(--aams-taste-radius);
  box-shadow: none;
}

#assessment :is(.next-button, .finish-button):active {
  transform: scale(0.98);
}

.aams-assessment-progress p {
  color: var(--aams-taste-quiet);
  letter-spacing: 0.08em;
}

.aams-assessment-form h2 {
  max-width: 24ch;
}

.aams-form-actions {
  padding-top: 20px;
  border-top: 1px solid var(--aams-taste-line);
}

/* The taste skill excludes dashboard redesign. These rules only align tokens,
   contrast, focus and control behavior with the public shell. */
.aams-dashboard-shell .wl-dashboard > *,
.aams-dashboard-shell :is(.wl-card, .wl-panel, .wl-dashboard-card, .wl-profile-panel) {
  border-color: var(--aams-taste-line) !important;
  background-color: var(--aams-taste-surface) !important;
  box-shadow: none !important;
}

.aams-dashboard-shell :is(button, [role="tab"], .wl-button) {
  box-shadow: none !important;
}

@media (max-width: 680px) {
  .aams-july-urgency,
  .aams-july-section,
  .aams-july-paths {
    padding: 28px 0;
  }

  .aams-july-section-heading {
    margin-bottom: 24px;
  }

  .aams-july-restored .aams-home-faq {
    padding: 42px 0 46px;
  }

  .aams-july-restored .aams-home-faq-layout {
    width: calc(100% - 28px);
    gap: 0;
  }

  .aams-july-restored .aams-home-faq-layout > div:first-child {
    margin-bottom: 20px;
  }

  .aams-july-restored .aams-home-faq-list summary {
    padding: 18px 38px 18px 0;
    font-size: 14px;
    line-height: 1.45;
  }

  .aams-july-restored .aams-home-faq-list p {
    padding: 0 34px 20px 0;
    font-size: 13px;
    line-height: 1.7;
  }

  .aams-home-final-panel {
    padding: 30px 20px;
  }

  .aams-home-quote {
    padding: 38px 0 48px;
  }

  .aams-home-quote-panel {
    padding-left: 18px;
  }

  .aams-timeline-update {
    width: auto;
    font-size: 11px;
  }

  .aams-resource-hero-guide,
  .aams-library-hero {
    padding: 32px 20px 24px;
  }

  .aams-form-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aams-main *,
  .aams-main *::before,
  .aams-main *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .aams-main :is(
    .aams-july-urgency-panel,
    .aams-home-final-panel,
    .aams-resource-hero-guide,
    .aams-library-hero,
    .aams-gateway-panel,
    .aams-resource-callout,
    .wl-auth-card,
    .wl-gate-card,
    .aams-assessment-form,
    .aams-assessment-progress
  ) {
    background: var(--aams-taste-surface) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}
