/* Copyright 2026 d7r LLC. Signal Atlas Academy web adapter, version 1.1.0.
 * Existing Academy classes preserve layout and platform behavior. This file is
 * mirrored byte-for-byte into academy-theme/shared/assets/academy-modern.css.
 * Legacy setting names remain aliases so saved Builder controls still work.
 */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500&family=IBM+Plex+Mono:wght@400;500&display=swap');

.academy {
  --academy-forest: var(--modern-academy-forest, #09090b);
  --academy-forest-light: var(--modern-academy-forest-light, #27272a);
  --academy-forest-deep: var(--modern-academy-forest-deep, #111020);
  --academy-ink: var(--modern-academy-ink, #09090b);
  --academy-cream: var(--modern-academy-cream, #eeedea);
  --academy-paper: var(--modern-academy-paper, #f8f8f6);
  --academy-earth: var(--modern-academy-earth, #414148);
  --academy-gold: var(--modern-academy-gold, #bba7ff);
  --academy-gold-text: var(--modern-academy-gold-text, #3b40d6);
  --academy-line: var(--modern-academy-line, #d7d7d3);
  --academy-muted: var(--modern-academy-muted, #68686d);
  --academy-white: var(--modern-academy-white, #fff);
  --academy-font: var(--modern-academy-font, 'Instrument Sans', Arial, sans-serif);
  --academy-display: var(--modern-academy-display, 'Instrument Sans', Arial, sans-serif);
  --academy-mono: 'IBM Plex Mono', monospace;
  --academy-signal: #4c52ff;
  --academy-control: #87878d;
  --academy-shadow: 0 12px 32px rgb(17 16 32 / 8%);
  --academy-display-size: 56px;
  --academy-display-line: 53.76px;
  --academy-heading-size: 40px;
  --academy-heading-line: 41.6px;
  --academy-subheading-size: 24px;
  --academy-subheading-line: 30px;
  --academy-gutter: 48px;
  background: var(--academy-paper);
  color: var(--academy-ink);
  font: 400 16px/22px var(--academy-font);
  overflow-x: visible;
  overflow-wrap: anywhere;
}
.academy :where(h1, h2, h3, h4, h5, h6) { font-family: var(--academy-display); font-weight: 400; }
.academy:not(.academy-course-modern) :where(h1, h2, h3, h4, h5, h6) { text-wrap: balance; }
.academy:not(.academy-course-modern) h1 { font-size: var(--academy-display-size); line-height: var(--academy-display-line); font-weight: 400; letter-spacing: -.045em; }
.academy h2 { font-size: var(--academy-heading-size); line-height: var(--academy-heading-line); font-weight: 400; letter-spacing: -.035em; }
.academy h3 { font-size: var(--academy-subheading-size); line-height: var(--academy-subheading-line); font-weight: 400; letter-spacing: -.025em; }
.academy h4 { font-size: 20px; line-height: 25px; font-weight: 400; }
.academy :where(p, li) { color: inherit; }
.academy :where(p) { font-size: 16px; line-height: 22px; }
.academy :where(strong, b) { font-weight: 500; }
.academy :where(button, a, input, select, textarea, summary) { -webkit-tap-highlight-color: transparent; }
.academy :focus-visible { outline: 3px solid var(--academy-signal); outline-offset: 4px; border-radius: 4px; }
.academy :where(section, main, [id]) { scroll-margin-top: 100px; }
.academy :where(img, svg) { max-width: 100%; }
.academy :where(button, a, summary) { transition-duration: 160ms; }
.academy :where(button, input, textarea, select) { font-family: var(--academy-font); }
.academy .academy-container { width: min(1280px, calc(100% - 2 * var(--academy-gutter))); min-width: 0; }
.academy .academy-container-narrow { width: min(880px, calc(100% - 2 * var(--academy-gutter))); }
.academy .academy-section { padding-block: 96px; }
.academy .academy-section-tight { padding-block: 64px; }
.academy .academy-section-head { gap: 32px; margin-bottom: 40px; }
.academy .academy-section-head > p { font-size: 16px; line-height: 22px; color: var(--academy-earth); }
.academy .academy-lede { font-size: 20px; line-height: 28px; }
.academy .academy-kicker, .academy .academy-card-label, .academy .academy-eyebrow-note,
.academy .academy-hero-note, .academy .academy-article-meta, .academy .academy-result-count {
  font-family: var(--academy-mono); font-size: 12px; line-height: 18px; font-weight: 400;
  letter-spacing: .035em; text-transform: none;
}
.academy .academy-kicker { color: var(--academy-gold-text); }
.academy .academy-kicker::before { width: 7px; height: 7px; border-radius: 50%; background: var(--academy-signal); }
.academy .academy-announcement { background: var(--academy-cream); color: var(--academy-ink); font-size: 13px; line-height: 18px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.academy .academy-header { background: var(--academy-paper); border-color: var(--academy-line); }
.academy .academy-header-inner { min-height: 80px; gap: 20px; }
.academy .academy-brand { gap: 10px; max-width: 100%; }
.academy .academy-brand-mark { width: 44px; height: 44px; background: var(--academy-ink); color: var(--academy-white); border-radius: 12px; clip-path: none; font: 500 13px/1 var(--academy-font); }
.academy .academy-brand-mark::after { content: none; }
.academy .academy-brand-mark:has(svg) { width: 56px; height: 44px; background: transparent; color: var(--academy-ink); border-radius: 0; flex: none; }
.academy .academy-brand-mark svg { width: 56px; height: 24px; }
.academy .academy-footer .academy-brand-mark:has(svg), .academy .academy-demo-access-intro .academy-brand-mark:has(svg) { color: var(--academy-white); background: transparent; }
.academy .academy-brand-copy strong { font-size: 18px; line-height: 20px; font-weight: 500; }
.academy .academy-brand-copy span { color: var(--academy-muted); font-size: 11px; line-height: 16px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.academy .academy-nav { gap: 20px; }
.academy .academy-nav-list { gap: 20px; }
.academy .academy-nav-list a { color: var(--academy-ink); font-size: 14px; font-weight: 500; }
.academy .academy-menu-toggle { border-radius: 999px; border-color: var(--academy-control); }
.academy .academy-btn, .academy .academy-form .form-btn, .academy .academy-form .btn {
  min-height: 48px; border-radius: 999px; padding: 13px 22px; font-size: 16px; line-height: 22px;
  font-weight: 500; letter-spacing: 0; text-transform: none; text-align: center;
  box-shadow: none; transform: none; transition: background-color 160ms, color 160ms, border-color 160ms;
}
.academy .academy-btn:hover, .academy .academy-form .form-btn:hover, .academy .academy-form .btn:hover { box-shadow: none; transform: none; }
.academy .academy-btn-primary, .academy .academy-form .form-btn, .academy .academy-form .btn { background: var(--academy-ink); border-color: var(--academy-ink); color: var(--academy-white); }
.academy .academy-btn-primary:hover, .academy .academy-form .form-btn:hover, .academy .academy-form .btn:hover { background: var(--academy-forest-light); }
.academy .academy-btn-light { background: var(--academy-white); border-color: var(--academy-white); color: var(--academy-ink); }
.academy .academy-btn-light:hover { background: var(--academy-cream); border-color: var(--academy-cream); }
.academy .academy-btn-outline { background: transparent; border-color: var(--academy-control); color: var(--academy-ink); }
.academy .academy-btn-outline:hover { background: var(--academy-cream); }
.academy .academy-btn-link { color: var(--academy-gold-text); font-size: 16px; line-height: 22px; font-weight: 500; border-bottom-width: 1px; min-height: 44px; }
.academy .academy-btn-link:hover svg, .academy .academy-destination:hover h3 svg { transform: none; }
.academy .academy-btn-platform { background: transparent; color: inherit; border-style: dashed; }
.academy .academy-btn:disabled, .academy .academy-btn[aria-disabled='true'] { cursor: not-allowed; }

/* Preserve dark reading bands, with bounded modern artwork and no gold rings. */
.academy .academy-page-hero, .academy .academy-editorial-hero, .academy .academy-post-hero { background: var(--academy-forest-deep); color: var(--academy-white); padding-block: 88px; }
.academy .academy-page-hero::after { width: 380px; height: 380px; right: -140px; top: -220px; border: 0; border-radius: 48px; transform: rotate(30deg); background: var(--academy-signal); box-shadow: none; opacity: .18; pointer-events: none; }
.academy .academy-page-hero h1, .academy .academy-hero h1, .academy .academy-editorial-hero h1, .academy .academy-post-hero h1 { font-size: var(--academy-display-size); line-height: var(--academy-display-line); font-weight: 400; }
.academy h1 em { color: inherit; font-style: normal; }
.academy .academy-hero { min-height: 0; background: var(--academy-forest-deep); color: var(--academy-white); }
.academy .academy-hero-grid { padding-block: 96px; }
.academy .academy-hero-media::after { background: linear-gradient(90deg, rgb(17 16 32 / 98%), rgb(17 16 32 / 92%) 35%, rgb(17 16 32 / 58%) 75%, rgb(17 16 32 / 42%)); }
.academy .academy-hero-rail { background: rgb(17 16 32 / 90%); border: 1px solid #68657d; border-radius: 12px; box-shadow: none; }
.academy .academy-hero-rail strong { color: var(--academy-gold); font-weight: 500; letter-spacing: 0; text-transform: none; font-size: 14px; }
.academy .academy-hero-rail p { color: #eeedf5; font-size: 16px; line-height: 22px; }
.academy .academy-section-dark { background: var(--academy-forest-deep); color: var(--academy-white); }
.academy :is(.academy-hero, .academy-page-hero, .academy-editorial-hero, .academy-post-hero, .academy-section-dark) :is(.academy-lede, .academy-hero-note, .academy-method-intro p, .academy-method-panel p, .academy-form-copy p) { color: #d8d6e7; }
.academy :is(.academy-hero, .academy-page-hero, .academy-section-dark) .academy-kicker { color: var(--academy-gold); }
.academy :is(.academy-hero, .academy-page-hero, .academy-section-dark) .academy-btn-outline { color: var(--academy-white); border-color: #878393; }
.academy :is(.academy-hero, .academy-page-hero, .academy-section-dark) .academy-btn-outline:hover { background: rgb(255 255 255 / 8%); }
.academy .academy-hero-note { text-transform: none; }
.academy .academy-hero-note::before { background: var(--academy-gold); }

/* The card lattice is retained, now on quiet surfaces with consistent geometry. */
.academy :is(.academy-path-grid, .academy-feature-grid, .academy-value-grid, .academy-track-grid) { gap: 20px; border: 0; }
.academy :is(.academy-path-card, .academy-feature, .academy-value, .academy-track-card, .academy-course-card, .academy-offer-card, .academy-proof-card) { border: 1px solid var(--academy-line); border-radius: 12px; background: var(--academy-white); color: var(--academy-ink); box-shadow: none; }
.academy .academy-path-card:not(:first-of-type) { border: 1px solid var(--academy-line); }
.academy .academy-path-card, .academy .academy-track-card { padding: 32px; min-height: 0; }
.academy .academy-path-card:hover, .academy .academy-destination:hover { background: var(--academy-paper); }
.academy .academy-path-card::after { color: rgb(76 82 255 / 5%); font-family: var(--academy-mono); }
.academy .academy-path-card h3, .academy .academy-track-card h3, .academy .academy-offer-card h3, .academy .academy-article-card-copy h3, .academy .academy-course-body h3 { font-size: var(--academy-subheading-size); line-height: var(--academy-subheading-line); font-weight: 400; }
.academy :is(.academy-path-card, .academy-track-card, .academy-feature, .academy-value, .academy-course-body, .academy-offer-card) p { font-size: 16px; line-height: 22px; color: var(--academy-earth); }
.academy .academy-feature { --academy-feature-inset: 28px; }
.academy .academy-feature-icon { border-radius: 12px; background: var(--academy-paper); color: var(--academy-gold-text); }
.academy .academy-value { min-height: 0; padding: 28px; }
.academy .academy-value .number, .academy .academy-method-step .number { font: 400 13px/20px var(--academy-mono); }
.academy .academy-value h3 { margin-top: 36px; }
.academy .academy-course-card:hover { border-color: var(--academy-control); box-shadow: none; }
.academy .academy-course-card .academy-course-art { background: var(--academy-signal); color: var(--academy-white); }
.academy .academy-course-card:nth-of-type(4n + 2) .academy-course-art, .academy .academy-course-card .academy-course-art[data-art-tone='earth'] { background: #bba7ff; color: #09090b; }
.academy .academy-course-card:nth-of-type(4n + 3) .academy-course-art, .academy .academy-course-card .academy-course-art[data-art-tone='ink'] { background: #111020; color: #fff; }
.academy .academy-course-card:nth-of-type(4n + 4) .academy-course-art, .academy .academy-course-card .academy-course-art[data-art-tone='forest_mid'] { background: #f0a8cd; color: #09090b; }
.academy .academy-course-art .art-code { color: inherit; font: 400 12px/18px var(--academy-mono); letter-spacing: .03em; text-transform: none; }
.academy .academy-course-art::before, .academy .academy-course-art::after { border-color: currentColor; opacity: .24; border-radius: 20px; transform: rotate(25deg); }
.academy .academy-course-art .art-line { background: currentColor; opacity: .4; }
.academy .academy-filter, .academy .academy-category-nav a { border-radius: 999px; border-color: var(--academy-control); color: var(--academy-ink); font-size: 14px; font-weight: 500; }
.academy .academy-filter[aria-pressed='true'], .academy .academy-filter:hover, .academy .academy-category-nav a[aria-current='page'], .academy .academy-category-nav a:hover { background: var(--academy-ink); color: var(--academy-white); }
.academy .academy-offer-card { border-top-width: 1px; }
.academy .academy-offer-card-future { background: var(--academy-paper); }
.academy .academy-status-pill { border: 1px solid var(--academy-line); border-radius: 999px; background: var(--academy-paper); color: var(--academy-ink); white-space: normal; font-weight: 500; letter-spacing: 0; text-transform: none; }
.academy .academy-status-pill-muted { background: var(--academy-cream); color: var(--academy-earth); }
.academy .academy-table-wrap { border-radius: 12px; }
.academy .academy-comparison-table { font-size: 14px; }
.academy .academy-comparison-table thead th { background: var(--academy-forest-deep); color: var(--academy-white); font-weight: 500; }
.academy .academy-method-step { min-height: 44px; }
.academy .academy-method-step .label { font-size: var(--academy-subheading-size); font-weight: 400; }
.academy .academy-method-visual span { border-color: #bba7ff; background: rgb(187 167 255 / 24%); border-radius: 8px 8px 0 0; transition-duration: 160ms; }
.academy .academy-featured-article { border-radius: 20px; overflow: hidden; box-shadow: none; }
.academy .academy-featured-art { background: #bba7ff; color: #09090b; }
.academy .academy-featured-art::before, .academy .academy-featured-art::after { border-color: rgb(9 9 11 / 20%); }
.academy .academy-featured-copy h2 { font-size: var(--academy-subheading-size); line-height: var(--academy-subheading-line); }
.academy .academy-founder-photo, .academy .academy-image-band, .academy .academy-post-image { border-radius: 20px; overflow: hidden; box-shadow: none; }
.academy .academy-founder-quote { border-color: var(--academy-signal); font-family: var(--academy-display); font-weight: 400; }

/* Fields keep native labels, consent, validation and disabled states. */
.academy .academy-form { border: 1px solid var(--academy-line); border-radius: 12px; background: var(--academy-white); }
.academy .academy-field label, .academy .academy-form label { color: var(--academy-ink); font-size: 14px; line-height: 20px; font-weight: 500; letter-spacing: 0; }
.academy .academy-field :is(input, select, textarea), .academy .academy-form .form-control {
  min-height: 48px; border: 1px solid var(--academy-control); border-radius: 8px;
  background: var(--academy-white); color: var(--academy-ink); padding: 12px 14px; font-size: 16px; line-height: 22px;
}
.academy .academy-field :is(input, select, textarea):focus, .academy .academy-form .form-control:focus { border-color: var(--academy-signal); box-shadow: none; outline: 3px solid var(--academy-signal); outline-offset: 2px; }
.academy .academy-field :is(input, select, textarea)[aria-invalid='true'], .academy .academy-form .form-control.parsley-error { border-color: #b42318; }
.academy .academy-field :is(input, select, textarea)[aria-invalid='true']:focus, .academy .academy-form .form-control.parsley-error:focus { outline-color: #b42318; }
.academy .academy-field input[type='checkbox'], .academy .academy-form input[type='checkbox'] { width: 22px; min-height: 22px; height: 22px; padding: 0; accent-color: var(--academy-ink); }
.academy .academy-check-field label, .academy .academy-form .checkbox-field label { min-height: 44px; font-size: 14px; line-height: 20px; font-weight: 400; color: var(--academy-earth); }
.academy .academy-form-note { font-size: 13px; line-height: 19px; color: var(--academy-muted); }
.academy .academy-form-status, .academy .academy-alert-success { background: #ecfdf5; color: #166534; border-left-color: #166534; border-radius: 8px; }
.academy .academy-alert-error { border-radius: 8px; }
.academy .academy-login-panel, .academy .academy-order-shape { border-radius: 12px; box-shadow: none; }
.academy .academy-login-panel { border: 1px solid var(--academy-line); }
.academy .academy-login-head h1 { font-size: var(--academy-display-size); line-height: var(--academy-display-line); }
.academy .academy-demo-access { background: var(--academy-forest-deep); overflow: clip; }
.academy .academy-demo-access::before, .academy .academy-demo-access::after { content: none; }
.academy .academy-demo-access-shell { border-color: var(--academy-line); border-radius: 20px; overflow: hidden; box-shadow: none; }
.academy .academy-demo-access-intro { background: var(--academy-forest-deep); }
.academy .academy-demo-access-panel-head h2 { font-size: var(--academy-heading-size); line-height: var(--academy-heading-line); }
.academy .academy-editorial-note, .academy .academy-order-row dd { border-radius: 8px; border-color: var(--academy-line); }

.academy .academy-footer, .academy .academy-legal, .academy .powered-by { background: var(--academy-forest-deep); color: #d8d6e7; }
.academy .academy-footer-brand p, .academy .academy-footer-legal, .academy .academy-legal p, .academy .powered-by a { color: #b8b5c8; }
.academy .academy-footer .academy-brand-copy strong { color: var(--academy-white); }
.academy .academy-footer .academy-brand-copy span { color: #b8b5c8; }
.academy .academy-footer-col h3 { color: #fff; font-family: var(--academy-font); font-weight: 500; font-size: 14px; letter-spacing: 0; text-transform: none; }
.academy .academy-footer-col a, .academy .academy-footer-col span { color: #d8d6e7; font-size: 14px; line-height: 20px; }
.academy .academy-footer-col a { min-height: 44px; }
.academy .academy-footer-legal { font-size: 12px; line-height: 18px; border-color: #41404f; }
.academy .academy-footer .academy-brand-mark { background: var(--academy-white); color: var(--academy-ink); }
.academy .academy-skip { border: 1px solid var(--academy-signal); border-radius: 999px; min-height: 44px; background: var(--academy-white); color: var(--academy-ink); font-weight: 500; }

@media (max-width: 991px) {
  .academy { --academy-gutter: 24px; --academy-display-size: 40px; --academy-display-line: 42px; --academy-heading-size: 32px; --academy-heading-line: 35px; --academy-subheading-size: 22px; --academy-subheading-line: 28px; }
  .academy .academy-section { padding-block: 72px; }
  .academy .academy-hero-grid, .academy .academy-page-hero, .academy .academy-editorial-hero, .academy .academy-post-hero { padding-block: 64px; }
  .academy .academy-nav { box-shadow: var(--academy-shadow); }
  .academy .academy-section-head { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 660px) {
  .academy { --academy-gutter: 20px; }
  .academy .academy-header-inner { flex-wrap: wrap; gap: 8px; padding-block: 12px; }
  .academy .academy-brand { flex-shrink: 1; }
  .academy .academy-brand-copy strong { font-size: 16px; }
  .academy .academy-menu-toggle { flex: none; }
  .academy .academy-header-inner > .academy-card-label { max-width: 100%; }
  .academy .academy-lede { font-size: 18px; line-height: 26px; }
  .academy .academy-section { padding-block: 56px; }
  .academy .academy-section-tight { padding-block: 40px; }
  .academy .academy-page-hero, .academy .academy-hero-grid, .academy .academy-editorial-hero, .academy .academy-post-hero { padding-block: 56px; }
  .academy .academy-path-card, .academy .academy-value, .academy .academy-track-card, .academy .academy-feature { padding: 24px; }
  .academy .academy-feature { --academy-feature-inset: 16px; grid-template-columns: 44px minmax(0, 1fr); }
  .academy .academy-feature-icon { width: 44px; height: 44px; }
  .academy .academy-feature-grid, .academy .academy-path-grid, .academy .academy-track-grid, .academy .academy-value-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .academy .academy-actions { align-items: stretch; }
  .academy .academy-actions .academy-btn { width: 100%; }
  .academy .academy-offer-status { flex-wrap: wrap; }
}
@media (max-width: 479px) {
  .academy { --academy-display-size: 28px; --academy-display-line: 28px; --academy-heading-size: 24px; --academy-heading-line: 27.36px; --academy-subheading-size: 20px; --academy-subheading-line: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .academy *, .academy *::before, .academy *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .academy .academy-method-visual span { transform: none !important; }
}
