/* Generated by scripts/sync-modern-products.mjs from Modern core 0.2.0. */
/* Signal Atlas 0.2.0. Values mirror design.tokens.json. */
.academy {
  --d7r-ink: #09090B;
  --d7r-paper: #F8F8F6;
  --d7r-card: #FFFFFF;
  --d7r-cream: #EEEDEA;
  --d7r-body: #414148;
  --d7r-secondary: #68686D;
  --d7r-line: #D7D7D3;
  --d7r-line-strong: #87878D;
  --d7r-night: #111020;
  --signal: #4C52FF;
  --signal-text: #3B40D6;
  --signal-soft: #EDEBFF;
  --orchid: #BBA7FF;
  --blush: #F0A8CD;
  --product-violet: #E6DEFF;
  --product-coral: #FFC8B6;
  --product-sky: #C8E8FF;
  --product-mint: #D5F2E7;
  --product-gold: #F5E5AC;
  --action-marketing: var(--signal-text);
  --action-operational: var(--d7r-ink);
  --d7r-ok: #186443; --d7r-ok-soft: #E5F3EC;
  --d7r-warning: #805500; --d7r-warning-soft: #FFF2D6;
  --d7r-error: #B42318; --d7r-error-soft: #FFF1F0;
  --surface-page: var(--d7r-paper); --surface-card: var(--d7r-card); --surface-alt: var(--d7r-cream);
  --surface-chrome: var(--d7r-night); --surface-chrome-card: #201F32; --surface-accent-soft: var(--signal-soft);
  --text-primary: var(--d7r-ink); --text-secondary: var(--d7r-body); --text-muted: var(--d7r-secondary);
  --text-on-chrome: #FFFFFF; --text-secondary-on-chrome: #DEDEE8; --text-muted-on-chrome: #BFBFCF;
  --text-on-accent-soft: #353066;
  --accent: var(--d7r-ink); --accent-hover: #29292D;
  --accent-on-chrome: #FFFFFF; --accent-on-chrome-hover: var(--signal-soft);
  --eyebrow: var(--text-muted); --eyebrow-on-chrome: #DEDEE8; --label: var(--text-secondary);
  --border: var(--d7r-line); --border-strong: var(--d7r-line-strong); --border-on-chrome: #464558;
  --focus-ring: var(--signal); --focus-halo: #EDEBFF; --mark: var(--signal);
  --d7r-on-dark: #FFFFFF; --d7r-on-dark-2: #DEDEE8; --d7r-on-dark-3: #BFBFCF; --d7r-on-dark-4: #BFBFCF;
  --d7r-seo: #075985; --d7r-seo-soft: #E0F2FE;
  --d7r-aeo: #6D28D9; --d7r-aeo-soft: #EDE9FE;
  --d7r-geo: #0F766E; --d7r-geo-soft: #CCFBF1;
  --d7r-agent: #9A3412; --d7r-agent-soft: #FFEDD5;
  --d7r-sev-high: var(--d7r-error); --d7r-sev-high-soft: var(--d7r-error-soft);
  --d7r-sev-med: var(--d7r-warning); --d7r-sev-med-text: var(--d7r-warning); --d7r-sev-med-soft: var(--d7r-warning-soft);
  --brand-primary: var(--signal); --brand-bg: var(--d7r-night); --brand-ink: #FFFFFF; --brand-muted: #BFBFCF;
  --term: var(--d7r-night); --term-green: var(--signal); --term-green-dim: var(--orchid);
  --cta: var(--accent); --cta-hover: var(--accent-hover); --cta-soft: var(--signal-soft);
}

.academy {
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px;
  --space-8:32px; --space-10:40px; --space-12:48px; --space-14:56px; --space-16:64px; --space-20:80px; --space-24:96px; --space-28:96px;
  --radius-sm:8px; --radius:12px; --radius-lg:20px; --radius-pill:999px;
  --shadow-hard:none; --shadow-hard-pressed:none; --shadow-hard-soft:none;
  --shadow-frame:0 16px 48px rgba(17,16,32,.08);
  --shadow-sm:none; --shadow:none; --shadow-lg:var(--shadow-frame); --shadow-focus-card:none;
  --size-control:44px; --size-control-sm:44px; --size-control-lg:52px;
  --size-nav:80px; --size-app-header:72px; --size-sidebar:232px;
  --measure-copy:64ch; --container:1280px; --gutter:20px; --section-pad:56px;
  --hairline-mark:24px 1px; --motion-duration:160ms;
}
@media(min-width:768px){.academy{--gutter:32px;--section-pad:72px}}
@media(min-width:992px){.academy{--gutter:48px;--section-pad:96px}}

.academy{--font-sans:var(--academy-font);--font-mono:var(--academy-mono);--text-small:400 14px/20px var(--font-sans);--text-heading:400 24px/30px var(--font-sans);--text-body:400 16px/22px var(--font-sans)}
/* Modern Product Editions. Import styles.css first; all colors belong to core tokens. */
.academy .product-stage,
.academy .product-cover,
.academy .product-tile {
  --product-family: var(--product-violet);
  --product-family-accent: var(--signal);
}
.academy :is(.product-stage,.product-cover,.product-tile)[data-family="violet"] { --product-family: var(--product-violet); }
.academy :is(.product-stage,.product-cover,.product-tile)[data-family="coral"] { --product-family: var(--product-coral); }
.academy :is(.product-stage,.product-cover,.product-tile)[data-family="sky"] { --product-family: var(--product-sky); }
.academy :is(.product-stage,.product-cover,.product-tile)[data-family="mint"] { --product-family: var(--product-mint); }
.academy :is(.product-stage,.product-cover,.product-tile)[data-family="gold"] { --product-family: var(--product-gold); }
.academy .product-stage {
  position: relative;
  display: grid;
  place-items: center;
  isolation: isolate;
  min-width: 0;
  min-height: 408px;
  padding: 42px 24px 48px;
  border-radius: var(--radius-lg);
  background: var(--product-family);
  perspective: 1800px;
  perspective-origin: 50% 50%;
  overflow: clip;
}
.academy .product-stage::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(ellipse at 78% 12%, var(--surface-card) 0%, transparent 58%);
  opacity: .55;
}
.academy .product-stage::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 24px;
  width: min(270px, 78%);
  height: 30px;
  border-radius: 50%;
  background: var(--d7r-night);
  filter: blur(12px);
  opacity: .22;
  transform: translateX(12px) rotate(-8deg);
}
.academy .product-box {
  --box-depth: 88px;
  --box-half-depth: 44px;
  position: relative;
  flex: 0 0 auto;
  width: min(225px, 100%);
  aspect-ratio: 225 / 310;
  transform: rotateX(-17deg) rotateY(28deg);
  transform-style: preserve-3d;
  color: var(--text-on-chrome);
  user-select: none;
}
.academy .product-box::before {
  content: "";
  position: absolute;
  inset: calc(-1 * var(--box-half-depth)) 0 auto;
  height: var(--box-depth);
  background: linear-gradient(145deg, var(--border-on-chrome), var(--surface-chrome-card) 58%, var(--d7r-night));
  border: 1px solid var(--border-on-chrome);
  transform: rotateX(90deg);
  backface-visibility: hidden;
}
.academy .product-box__front {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 20px 20px 15px;
  border: 1px solid var(--border-on-chrome);
  background: var(--d7r-night);
  transform: translateZ(var(--box-half-depth, 44px));
  box-shadow: inset 1px 0 0 rgba(255,255,255,.08);
  backface-visibility: hidden;
  overflow: hidden;
}
.academy .product-box__spine {
  position: absolute;
  top: 0;
  left: calc(-1 * var(--box-half-depth));
  width: var(--box-depth);
  height: 100%;
  padding: 20px 14px;
  background: linear-gradient(90deg, var(--d7r-ink), var(--d7r-night) 72%, var(--surface-chrome-card));
  color: var(--product-family);
  border: 1px solid var(--border-on-chrome);
  font: 400 10px/16px var(--font-mono);
  letter-spacing: .035em;
  writing-mode: vertical-rl;
  transform: rotateY(-90deg);
  backface-visibility: hidden;
}
.academy .product-box__brand {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--text-on-chrome);
  font: 500 17px/22px var(--font-sans);
  letter-spacing: -.055em;
}
.academy .product-box__brand svg { width: 21px; height: 21px; flex: 0 0 auto; }
.academy .product-box__brand circle { fill: var(--text-on-chrome); }
.academy .product-box .product-box__kind {
  margin: 22px 0 8px;
  color: var(--product-family);
  font: 400 10px/14px var(--font-mono);
}
.academy .product-box .product-box__title {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: 100%;
  color: var(--text-on-chrome);
  font: 400 25px/26px var(--font-sans);
  letter-spacing: -.045em;
  overflow-wrap: normal;
}
.academy .product-box__art {
  position: absolute;
  inset: auto -8px 44px;
  height: 88px;
  pointer-events: none;
}
.academy .product-box__art::before,
.academy .product-box__art::after {
  content: "";
  position: absolute;
  inset: 0;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.academy .product-box__art::before {
  background: linear-gradient(120deg, var(--product-family) 22%, var(--orchid) 67%, var(--signal));
  -webkit-mask-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20440%20160%22%20fill%3D%22none%22%3E%0A%20%20%3Cpath%20d%3D%22M-30%2054H100Q120%2054%20120%2074V104Q120%20124%20140%20124H276Q296%20124%20296%20104V50Q296%2030%20316%2030H470%22%20stroke%3D%22white%22%20stroke-width%3D%2248%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E');
  mask-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20440%20160%22%20fill%3D%22none%22%3E%0A%20%20%3Cpath%20d%3D%22M-30%2054H100Q120%2054%20120%2074V104Q120%20124%20140%20124H276Q296%20124%20296%20104V50Q296%2030%20316%2030H470%22%20stroke%3D%22white%22%20stroke-width%3D%2248%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E');
}
.academy .product-box__art::after {
  background: var(--d7r-night);
  -webkit-mask-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20440%20160%22%20fill%3D%22none%22%3E%0A%20%20%3Cpath%20d%3D%22M-30%2054H100Q120%2054%20120%2074V104Q120%20124%20140%20124H276Q296%20124%20296%20104V50Q296%2030%20316%2030H470%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%2F%3E%0A%20%20%3Cg%20fill%3D%22white%22%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2245%22%20cy%3D%2254%22%20r%3D%227%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22120%22%20cy%3D%2290%22%20r%3D%227%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22157%22%20cy%3D%22124%22%20r%3D%227%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22230%22%20cy%3D%22124%22%20r%3D%227%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22296%22%20cy%3D%2286%22%20r%3D%227%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22296%22%20cy%3D%2250%22%20r%3D%227%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22385%22%20cy%3D%2230%22%20r%3D%227%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E');
  mask-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20440%20160%22%20fill%3D%22none%22%3E%0A%20%20%3Cpath%20d%3D%22M-30%2054H100Q120%2054%20120%2074V104Q120%20124%20140%20124H276Q296%20124%20296%20104V50Q296%2030%20316%2030H470%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%2F%3E%0A%20%20%3Cg%20fill%3D%22white%22%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2245%22%20cy%3D%2254%22%20r%3D%227%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22120%22%20cy%3D%2290%22%20r%3D%227%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22157%22%20cy%3D%22124%22%20r%3D%227%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22230%22%20cy%3D%22124%22%20r%3D%227%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22296%22%20cy%3D%2286%22%20r%3D%227%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22296%22%20cy%3D%2250%22%20r%3D%227%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22385%22%20cy%3D%2230%22%20r%3D%227%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E');
}
.academy .product-box .product-box__footer {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: auto 0 0;
  padding-top: 9px;
  border-top: 1px solid var(--border-on-chrome);
  color: var(--text-secondary-on-chrome);
  font: 400 10px/14px var(--font-mono);
}
.academy .product-caption {
  margin: 12px 0 0;
  color: var(--text-secondary);
  font: var(--text-small);
}
.academy .product-stage > .product-caption {
  position: relative;
  z-index: 1;
  max-width: 100%;
  padding: 6px 10px;
  border-radius: var(--radius-sm);
  background: var(--product-family);
  text-align: center;
}
.academy .product-cover {
  position: relative;
  width: min(100%, 300px);
  aspect-ratio: 225 / 310;
  color: var(--text-on-chrome);
  background: var(--d7r-night);
  border: 1px solid var(--border-on-chrome);
  overflow: hidden;
}
.academy .product-cover .product-box__front {
  transform: none;
  border: 0;
  padding: 24px;
}
.academy .product-cover .product-box__brand { font-size: 20px; }
.academy .product-cover .product-box__kind { margin-top: 32px; font-size: 12px; line-height: 16px; }
.academy .product-cover .product-box__title { font-size: 30px; line-height: 32px; }
.academy .product-cover .product-box__art { height: 112px; bottom: 48px; }
.academy .product-cover .product-box__footer { font-size: 11px; line-height: 15px; }
.academy .product-tile {
  min-width: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-card);
  overflow: hidden;
}
.academy .product-tile .product-stage { border-radius: 0; }
.academy .product-tile__content { display: flex; flex-direction: column; gap: 12px; padding: 24px; flex: 1; }
.academy .product-tile__content :is(h2,h3,h4,p) { margin: 0; }
.academy .product-tile__content :is(h2,h3,h4) { font: var(--text-heading); letter-spacing: -.035em; }
.academy .product-tile__kind { color: var(--text-secondary); font: var(--text-small); }
.academy .product-tile__description { color: var(--text-secondary); }
.academy .product-tile__availability { color: var(--text-muted); font: var(--text-small); }
.academy .product-tile__content a { display: inline-flex; align-items: center; align-self: flex-start; min-height: 44px; margin-top: auto; font-weight: 500; }
.academy .product-tile__content a:hover { text-decoration-thickness: 2px; }
@media (max-width: 479px) {
  .academy .product-stage { min-height: 356px; padding: 38px 36px 42px; }
  .academy .product-box { --box-depth: 74px; --box-half-depth: 37px; width: min(190px, 100%); aspect-ratio: 190 / 265; }
  .academy .product-box__front { padding: 17px 17px 13px; }
  .academy .product-box__brand { font-size: 16px; line-height: 20px; }
  .academy .product-box .product-box__kind { margin-top: 15px; margin-bottom: 7px; font-size: 9px; line-height: 12px; }
  .academy .product-box .product-box__title { font-size: 22px; line-height: 23px; }
  .academy .product-box__art { height: 74px; bottom: 42px; }
  .academy .product-box .product-box__footer { font-size: 9px; line-height: 12px; }
  .academy .product-cover .product-box__title { font-size: 28px; line-height: 29px; }
  .academy .product-tile__content { padding: 20px; }
}
@supports not (transform-style: preserve-3d) {
  .academy .product-box { transform: none; }
  .academy .product-box::before, .product-box__spine { display: none; }
}
@media print {
  .academy .product-stage { background: white; perspective: none; }
  .academy .product-stage::before, .product-stage::after { display: none; }
  .academy .product-box { transform: none; }
  .academy .product-box::before, .product-box__spine { display: none; }
  .academy .product-box__front { transform: none; }
  .academy .product-cover { break-inside: avoid; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

.academy .academy-brand-mark:has(svg),.academy .logo__mark:has(svg),.academy .header a.logo .logo__mark:has(svg),.academy .footer a.logo .logo__mark:has(svg){width:28px;height:28px;min-width:28px;flex:none;background:transparent;color:var(--text-primary)}.academy .academy-brand-mark svg,.academy .logo__mark svg{width:28px;height:28px;aspect-ratio:1}.academy .academy-footer .academy-brand-mark svg,.academy .footer a.logo .logo__mark svg{color:var(--text-on-chrome)}
.academy:not(.academy-course-modern) .academy-btn-primary{background:var(--signal-text);border-color:var(--signal-text);color:var(--text-on-chrome)}
.academy:not(.academy-course-modern) .academy-btn-primary:hover{background:var(--text-primary);border-color:var(--text-primary)}
