/* academy.css — the page 「学院」: the academy's public pages rebuilt inside astro.nyc.
 * Author: [ASTRO-H4] helper of the 命理学 iMac window — a17 supervisor (Claude Opus 5.5), 2026-11-15. New file.
 *
 * Owner decisions N190, N191, N192 (rebuild-2026-11-14/academy/BRIEF.md). The design idea is the site's: 刻度, the
 * graduated plate. The first year's 19 credits are a rule; each course is a segment of it, the two semesters and the
 * year are brackets; the lamp of the home page's short 学院 introduction is lit at the end of the rule and handed on.
 * Everything is visible: no accordion, tab or "read more". Every selector is under .astro-academy. Static first:
 * .is-live / .is-enhanced / .is-pending and the opening's custom properties are set only by
 * assets/js/motion/academy.js; without it the page shows the opening's final state (the rule lit, the lamp lit).
 *
 * Running text 17px / 1.9 (16px / 1.85 at 600px and below), measure 34em (34 Han); #DDD3BE on #0A0907 (13.9:1);
 * the dimmest text #B3A994 (8.5:1); the lamp gold #E2A847 (9.6:1); ink on the gold button 9.6:1.
 */

/* ---------- isolation from the page's other stylesheets (Bricks, WordPress) ----------
 * The technique of home-sections.css and the openings ([ASTRO-F6], build/fixes/bricks-css/README.md): the root starts
 * from initial values and is not shrunk as a flex item of Bricks' column-flex <body>; every descendant except SVG,
 * pictures and the canvas is rolled back to the browser's defaults at (0,1,1), before this file's own rules, which are
 * all at (0,2,0) or more; SVG, pictures and canvas keep their attributes and only the outside rules that reach them are
 * rolled back; Bricks' `body.bricks-is-frontend :focus {outline:auto}` (0,2,1) is rolled back at (0,3,0). No rem. */
.astro-academy { all: initial; min-width: 0; min-height: 0; }
.astro-academy *:not(svg, svg *, img, canvas),
.astro-academy :where(*:not(svg, svg *, img, canvas))::before,
.astro-academy :where(*:not(svg, svg *, img, canvas))::after,
.astro-academy :where(*:not(svg, svg *, img, canvas))::marker { all: revert; box-sizing: border-box; }
.astro-academy svg, .astro-academy svg * { border-color: revert; min-width: revert; min-height: revert; box-sizing: revert; }
.astro-academy img, .astro-academy canvas { border-color: revert; box-sizing: revert; vertical-align: revert; max-width: revert; max-inline-size: revert; }
.astro-academy.astro-academy :focus { outline: revert; outline-offset: revert; }

.astro-academy {
  --aa-ink: #0A0907;
  --aa-text: #ECE3D0;      /* headings, 15.6:1 */
  --aa-body: #DDD3BE;      /* running text, 13.9:1 */
  --aa-dim: #B3A994;       /* labels, notes, 8.5:1 */
  --aa-lamp: #E2A847;      /* numerals, the rule, links, 9.6:1 */
  --aa-lamp-hi: #F4CF83;
  --aa-line: rgba(226, 168, 71, .26);
  --aa-line-2: rgba(226, 168, 71, .55);
  --aa-cinnabar: #C2462F;  /* focus only */
  --aa-song: "Songti SC", "STSong", "Source Han Serif SC", "Noto Serif CJK SC", "Source Han Serif", "Noto Serif SC", serif;
  --aa-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;
  --aa-mono: "SF Mono", ui-monospace, Menlo, "IBM Plex Mono", Consolas, monospace;
  --aa-ease: cubic-bezier(.2, 0, 0, 1);
  --aa-x: clamp(20px, 4vw, 48px);
  --aa-head: var(--astro-header-h, 0px);
  --aa-cell: 26px;
  display: block;
  position: relative;
  box-sizing: border-box;
  background: var(--aa-ink);
  color: var(--aa-body);
  font-family: var(--aa-sans);
  font-size: 17px;
  line-height: 1.9;
  text-align: start;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-wrap: break-word;
  overflow-x: clip;
}

/* ================================================================== the opening */
.astro-academy .aa-open { display: block; position: relative; }
.astro-academy .aa-open__stage {
  display: grid; position: relative;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center; column-gap: 48px;
  max-width: 1180px; margin: 0 auto;
  padding: calc(var(--aa-head) + 56px) var(--aa-x) 72px;
  min-height: 0;
}
.astro-academy .aa-open__sparks { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; display: block; z-index: 2; }
.astro-academy .aa-open__side { display: flex; flex-direction: column; align-items: center; text-align: center; position: relative; z-index: 1; }
.astro-academy .aa-open__lamp { display: block; position: relative; width: 220px; height: 220px; }
.astro-academy .aa-open__name {
  display: block; margin: 18px 0 0; font-family: var(--aa-song); font-size: 15px; line-height: 1.6;
  letter-spacing: .4em; color: var(--aa-lamp); padding-left: .4em;
}
.astro-academy .aa-open__line {
  display: block; margin: 10px 0 0; font-family: var(--aa-song); font-weight: 600; font-size: clamp(22px, 1.9vw, 27px);
  line-height: 1.5; letter-spacing: .12em; color: var(--aa-text); white-space: nowrap;
}

/* the lamp: lit in the static page; the module dims it first and lights it at the high point */
.astro-academy .aa-lamp { display: block; overflow: visible; }
.astro-academy .aa-lamp--big { width: 220px; height: 220px; }
.astro-academy .aa-lamp__body, .astro-academy .aa-lamp__scale { fill: none; stroke: var(--aa-lamp); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.astro-academy .aa-lamp__scale { stroke-width: 1.4; }
.astro-academy .aa-lamp__flame { fill: var(--aa-lamp); transform-box: fill-box; transform-origin: 50% 100%; opacity: var(--aa-lamp-on, 1); transform: scale(var(--aa-lamp-flare, 1)); }
.astro-academy .aa-lamp__core { fill: #FFF3D6; transform-box: fill-box; transform-origin: 50% 100%; opacity: var(--aa-lamp-on, 1); transform: scale(var(--aa-lamp-flare, 1)); }
.astro-academy .aa-open__glow {
  position: absolute; left: 50%; top: 30%; width: 360%; height: 360%; margin: -180% 0 0 -180%; display: block; pointer-events: none;
  background: radial-gradient(closest-side, rgba(244, 207, 131, .30), rgba(226, 168, 71, .12) 38%, rgba(226, 168, 71, .04) 64%, rgba(226, 168, 71, 0));
  opacity: var(--aa-lamp-on, 1); transform: scale(var(--aa-halo, 1));
}
.astro-academy .aa-open__lamp .aa-lamp { position: relative; }

/* the graduated plate: rule | segments | the semesters | the year */
.astro-academy .aa-plate {
  display: grid; position: relative; z-index: 1;
  grid-template-columns: 22px minmax(0, max-content) 40px 40px;
  grid-template-rows: repeat(19, var(--aa-cell));
  column-gap: 16px; justify-content: center;
}
.astro-academy .aa-plate__rule { grid-column: 1; grid-row: 1 / -1; display: block; position: relative; }
.astro-academy .aa-plate__ticks, .astro-academy .aa-plate__lit {
  position: absolute; left: 0; top: 0; right: 0; bottom: -1px; display: block;
  background:
    linear-gradient(var(--aa-c), var(--aa-c)) 10px 0 / 1px 100% no-repeat,
    repeating-linear-gradient(to bottom, var(--aa-c) 0 1px, transparent 1px var(--aa-cell)) 4px 0 / 13px 100% no-repeat;
}
.astro-academy .aa-plate__ticks { --aa-c: rgba(226, 168, 71, .3); }
.astro-academy .aa-plate__lit {
  --aa-c: var(--aa-lamp-hi);
  transform-origin: 50% 0; transform: scaleY(var(--aa-fill, 1)); opacity: var(--aa-lit-o, 1);
  filter: drop-shadow(0 0 4px rgba(244, 207, 131, .55));
}
.astro-academy .aa-plate__flame {
  position: absolute; left: 0; top: 0; width: 22px; height: 22px; margin: -11px 0 0 0; display: block;
  transform: translateY(var(--aa-flame-y, 0px)); opacity: var(--aa-flame-on, 0);
}
.astro-academy .aa-plate__flame-i {
  display: block; width: 22px; height: 22px; border-radius: 50%;
  background: radial-gradient(circle, #FFF6E0 0 2px, rgba(244, 207, 131, .95) 3px, rgba(226, 168, 71, .35) 6px, rgba(226, 168, 71, 0) 11px);
}
.astro-academy .aa-seg {
  grid-column: 2; display: flex; align-items: baseline; gap: 12px; min-width: 0;
  border-top: 1px solid var(--aa-line-2); padding: 2px 0 0;
  opacity: var(--aa-seg-on, 1);
}
.astro-academy .aa-seg__name { display: block; font-family: var(--aa-song); font-size: 16px; line-height: 1.4; letter-spacing: .06em; color: var(--aa-text); white-space: nowrap; }
.astro-academy .aa-seg__cr { display: block; font-family: var(--aa-mono); font-size: 12px; line-height: 1.4; letter-spacing: .04em; color: var(--aa-lamp); white-space: nowrap; }
.astro-academy .aa-br {
  display: flex; align-items: center; justify-content: flex-start; position: relative; margin: 3px 0;
  opacity: var(--aa-br-o, 1);
}
.astro-academy .aa-br__line {
  position: absolute; left: 0; top: 0; bottom: 0; width: 8px; display: block;
  border-left: 1px solid var(--aa-line-2); border-top: 1px solid var(--aa-line-2); border-bottom: 1px solid var(--aa-line-2);
  transform-origin: 50% 0; transform: scaleY(var(--aa-br, 1));
}
.astro-academy .aa-br--s1, .astro-academy .aa-br--s2 { grid-column: 3; }
.astro-academy .aa-br--y { grid-column: 4; }
.astro-academy .aa-br__name {
  display: block; writing-mode: vertical-rl; padding-left: 10px;
  font-family: var(--aa-song); font-size: 15px; line-height: 1; letter-spacing: .36em; color: var(--aa-lamp);
  opacity: var(--aa-br-name, 1); transition: opacity .5s var(--aa-ease);
}

/* live: the opening is pinned for its scroll and driven by it (the module sets .is-live and the properties above) */
.astro-academy.is-live .aa-open { height: 300vh; }
.astro-academy.is-live .aa-open__stage {
  position: sticky; top: var(--aa-head);
  height: calc(100vh - var(--aa-head)); padding-top: 24px; padding-bottom: 24px;
}
@supports (height: 100svh) {
  .astro-academy.is-live .aa-open { height: 300svh; }
  .astro-academy.is-live .aa-open__stage { height: calc(100svh - var(--aa-head)); }
}
.astro-academy.is-live .aa-seg { transition: opacity .5s var(--aa-ease); }
.astro-academy.is-live .aa-open__line, .astro-academy.is-live .aa-open__name { opacity: var(--aa-words, 1); }

/* ================================================================== shared */
.astro-academy .aa-sec { display: block; position: relative; padding-top: clamp(88px, 14vh, 152px); scroll-margin-top: var(--aa-head); }
.astro-academy .aa-wrap { display: block; max-width: 1180px; margin: 0 auto; padding: 0 var(--aa-x); }
.astro-academy .aa-h1 {
  display: block; margin: 0; max-width: 22em;
  font-family: var(--aa-song); font-weight: 600; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.35; letter-spacing: .08em;
  color: var(--aa-text); text-wrap: balance;
}
.astro-academy .aa-h2 {
  display: block; margin: 0; padding-top: .9em; border-top: 1px solid var(--aa-line-2);
  font-family: var(--aa-song); font-weight: 600; font-size: clamp(27px, 2.5vw, 36px); line-height: 1.4; letter-spacing: .1em;
  color: var(--aa-text);
}
.astro-academy .aa-line {
  display: block; margin: 1em 0 0; font-family: var(--aa-song); font-size: 18px; line-height: 1.7; letter-spacing: .12em; color: var(--aa-lamp);
}
.astro-academy .aa-p {
  display: block; margin: 0 0 1.05em; font-size: 17px; line-height: 1.9; color: var(--aa-body);
  text-align: justify; text-justify: inter-ideograph; line-break: strict;
}
.astro-academy .aa-p:last-child { margin-bottom: 0; }
.astro-academy .aa-go-row { display: block; margin: 28px 0 0; }
.astro-academy .aa-go {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--aa-song); font-size: 17px; line-height: 1.6; letter-spacing: .14em; color: var(--aa-lamp);
  text-decoration: none; border-bottom: 1px solid var(--aa-line-2); padding-bottom: 2px;
  transition: color .2s var(--aa-ease), border-color .2s var(--aa-ease);
}
.astro-academy .aa-go:hover { color: var(--aa-lamp-hi); border-bottom-color: var(--aa-lamp-hi); }
.astro-academy .aa-go__arrow { display: block; flex: none; }
.astro-academy .aa-in { color: var(--aa-lamp); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em; text-decoration-color: var(--aa-line-2); }
.astro-academy .aa-in:hover { color: var(--aa-lamp-hi); }
.astro-academy.astro-academy a:focus-visible { outline: 2px solid var(--aa-cinnabar); outline-offset: 3px; }

/* the small rule of a course or package: its credits marked among the year's 19 */
.astro-academy .aa-scale { display: inline-flex; gap: 3px; margin: 0 0 18px; vertical-align: middle; }
.astro-academy .aa-scale__c { display: block; width: 9px; height: 9px; border: 1px solid var(--aa-line); }
.astro-academy .aa-scale__c--sem { margin-left: 9px; }
.astro-academy .aa-scale__c.is-on { background: var(--aa-lamp); border-color: var(--aa-lamp); }

/* ================================================================== welcome and the four features */
.astro-academy .aa-welcome { padding-top: clamp(64px, 10vh, 112px); }
.astro-academy .aa-lead {
  display: block; margin: 1.2em 0 0; max-width: 34em;
  font-size: 19px; line-height: 1.9; color: var(--aa-body);
}
.astro-academy .aa-welcome__go { display: block; margin: 24px 0 0; }
.astro-academy .aa-features {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 32px; row-gap: 40px;
  margin: clamp(56px, 9vh, 96px) 0 0; padding: 0; list-style: none;
}
.astro-academy .aa-feat {
  display: block; position: relative; padding: 26px 0 0;
  border-top: 1px solid var(--aa-line-2);
}
.astro-academy .aa-feat::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 6px;
  background: repeating-linear-gradient(90deg, var(--aa-line-2) 0 1px, transparent 1px 12px);
}
.astro-academy .aa-feat__h {
  display: block; margin: 0 0 .6em; font-family: var(--aa-song); font-weight: 600; font-size: 21px; line-height: 1.45;
  letter-spacing: .12em; color: var(--aa-text);
}
.astro-academy .aa-feat__p { display: block; margin: 0; font-size: 16px; line-height: 1.85; color: var(--aa-body); }

/* ================================================================== 我们的优势 */
.astro-academy .aa-adv__list {
  display: block; columns: 2; column-gap: 72px; column-rule: 1px solid var(--aa-line);
  margin: 48px 0 0; padding: 0; list-style: none;
}
.astro-academy .aa-adv__i { display: block; break-inside: avoid; padding: 0 0 30px; }
.astro-academy .aa-adv__h {
  display: flex; align-items: center; gap: 14px; margin: 0 0 .35em;
  font-family: var(--aa-song); font-weight: 600; font-size: 19px; line-height: 1.5; letter-spacing: .1em; color: var(--aa-lamp);
}
.astro-academy .aa-adv__h::before { content: ""; display: block; flex: none; width: 18px; height: 0; border-top: 1px solid var(--aa-lamp); }
.astro-academy .aa-adv__p { display: block; margin: 0; padding-left: 32px; font-size: 17px; line-height: 1.85; color: var(--aa-body); }

/* ================================================================== courses */
.astro-academy .aa-courses__head { display: block; max-width: 40em; }
.astro-academy .aa-names {
  display: flex; flex-wrap: wrap; gap: 6px 0; margin: 28px 0 0; padding: 0; list-style: none;
}
.astro-academy .aa-names li {
  display: block; font-family: var(--aa-song); font-size: 17px; line-height: 1.7; letter-spacing: .06em; color: var(--aa-text);
  padding: 0 16px; border-left: 1px solid var(--aa-line-2);
}
.astro-academy .aa-names li:first-child { padding-left: 0; border-left: 0; }
.astro-academy .aa-courses__grid {
  display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: 24px;
  max-width: 1180px; margin: clamp(56px, 9vh, 96px) auto 0; padding: 0 var(--aa-x);
}
.astro-academy .aa-courses__fig { display: block; position: relative; }
.astro-academy .aa-courses__fig .aa-plate { position: sticky; top: calc(var(--aa-head) + 40px); justify-content: start; }
.astro-academy .aa-courses__flow { display: block; min-width: 0; max-width: 36em; }

.astro-academy .aa-pack, .astro-academy .aa-course { display: block; scroll-margin-top: calc(var(--aa-head) + 24px); }
.astro-academy .aa-pack { padding: 0 0 8px; margin: 0 0 96px; }
.astro-academy .aa-pack:not(:first-child) { margin-top: 128px; }
.astro-academy .aa-course { margin: 0 0 96px; padding-top: 40px; border-top: 1px solid var(--aa-line); }
.astro-academy .aa-pack__head { display: block; padding-top: 28px; border-top: 1px solid var(--aa-line-2); }
.astro-academy .aa-pack__title {
  display: block; margin: 0; font-family: var(--aa-song); font-weight: 600; font-size: clamp(34px, 3.4vw, 48px);
  line-height: 1.25; letter-spacing: .14em; color: var(--aa-text);
}
.astro-academy .aa-course__title {
  display: block; margin: 0; font-family: var(--aa-song); font-weight: 600; font-size: clamp(26px, 2.2vw, 32px);
  line-height: 1.35; letter-spacing: .08em; color: var(--aa-text);
}
.astro-academy .aa-course__sub {
  display: block; margin: 12px 0 0; font-family: var(--aa-song); font-size: 18px; line-height: 1.8; letter-spacing: .04em; color: var(--aa-lamp);
}
.astro-academy .aa-meta { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 16px 0 0; }
.astro-academy .aa-meta__i {
  display: block; font-family: var(--aa-mono); font-size: 13px; line-height: 1.7; letter-spacing: .06em; color: var(--aa-dim);
  padding: 0 14px; border-left: 1px solid var(--aa-line);
}
.astro-academy .aa-meta__i:first-child { padding-left: 0; border-left: 0; }
.astro-academy .aa-meta__price { color: var(--aa-lamp); font-size: 15px; }
.astro-academy .aa-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin: 22px 0 0; }
.astro-academy .aa-price__full { display: block; font-family: var(--aa-mono); font-size: 17px; line-height: 1.4; color: var(--aa-dim); text-decoration: line-through; text-decoration-color: rgba(179, 169, 148, .8); }
.astro-academy .aa-price__off {
  display: block; font-family: var(--aa-mono); font-size: 12px; line-height: 1.4; letter-spacing: .1em; color: var(--aa-lamp);
  border: 1px solid var(--aa-line-2); padding: 3px 8px;
}
.astro-academy .aa-price__now { display: block; font-family: var(--aa-mono); font-size: 30px; line-height: 1.2; letter-spacing: .02em; color: var(--aa-lamp); }
.astro-academy .aa-pack__body, .astro-academy .aa-course__body { display: block; margin-top: 28px; }
.astro-academy .aa-why { display: block; margin: 0; font-size: 15px; line-height: 1.7; letter-spacing: .04em; color: var(--aa-dim); }
.astro-academy .aa-label {
  display: block; margin: 6px 0 18px; font-family: var(--aa-song); font-weight: 600; font-size: 16px; line-height: 1.6; letter-spacing: .3em; color: var(--aa-lamp);
}
.astro-academy .aa-why + .aa-label { margin-top: 2px; }
.astro-academy .aa-desc + .aa-label, .astro-academy .aa-pack__list + .aa-label, .astro-academy .aa-req + .aa-label { margin-top: 36px; }
.astro-academy .aa-desc { display: block; }
.astro-academy .aa-desc-h {
  display: block; margin: 1.8em 0 .7em; font-family: var(--aa-song); font-weight: 600; font-size: 20px; line-height: 1.5; letter-spacing: .1em; color: var(--aa-text);
}
.astro-academy .aa-desc-h:first-child { margin-top: 0; }
.astro-academy .aa-ol { display: block; margin: 0 0 1.05em; padding: 0 0 0 1.8em; list-style: decimal; }
.astro-academy .aa-ol li { display: list-item; font-size: 17px; line-height: 1.9; color: var(--aa-body); margin: 0 0 .5em; padding-left: .3em; }
.astro-academy .aa-ol li::marker { font-family: var(--aa-mono); font-size: 14px; color: var(--aa-lamp); }
.astro-academy .aa-req { display: block; margin: 0; padding: 0; list-style: none; }
.astro-academy .aa-req li { display: block; font-size: 17px; line-height: 1.9; color: var(--aa-body); }
.astro-academy .aa-req__note { margin-top: 1em; }
.astro-academy .aa-pack__list { display: block; margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--aa-line); }
.astro-academy .aa-pack__list li { display: block; border-bottom: 1px solid var(--aa-line); }
.astro-academy .aa-pack__m {
  display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 2px;
  text-decoration: none; color: var(--aa-text);
}
.astro-academy .aa-pack__m:hover .aa-pack__mn { color: var(--aa-lamp-hi); }
.astro-academy .aa-pack__mn { display: block; font-family: var(--aa-song); font-size: 18px; line-height: 1.5; letter-spacing: .06em; }
.astro-academy .aa-pack__mc { display: block; font-family: var(--aa-mono); font-size: 13px; line-height: 1.5; color: var(--aa-lamp); }
.astro-academy .aa-fig { display: block; margin: 32px 0 0; padding: 0; }
.astro-academy .aa-fig__img { display: block; width: 100%; height: auto; border: 1px solid var(--aa-line); background: #15130F; }

/* the courses' plate while reading: the course in view lit, the rest quiet (the module sets data-current) */
.astro-academy .aa-plate--map[data-current] .aa-seg { --aa-seg-on: .32; }
.astro-academy .aa-plate--map[data-current] .aa-seg.is-current { --aa-seg-on: 1; }
.astro-academy .aa-plate--map[data-current] .aa-br { --aa-br-o: .3; }
.astro-academy .aa-plate--map[data-current] .aa-br.is-current { --aa-br-o: 1; }
.astro-academy .aa-plate--map .aa-seg, .astro-academy .aa-plate--map .aa-br { transition: opacity .45s var(--aa-ease); }

/* ================================================================== 常见问答 */
.astro-academy .aa-qa { display: block; margin: 48px 0 0; padding: 0; }
.astro-academy .aa-qa__item {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 24px;
  padding: 30px 0 32px; border-top: 1px solid var(--aa-line);
}
.astro-academy .aa-qa__q {
  display: block; margin: 0; padding-right: 24px;
  font-family: var(--aa-song); font-weight: 600; font-size: 20px; line-height: 1.6; letter-spacing: .06em; color: var(--aa-text);
}
.astro-academy .aa-qa__a {
  display: block; margin: 0; max-width: 34em; font-size: 17px; line-height: 1.9; color: var(--aa-body);
  text-align: justify; text-justify: inter-ideograph; line-break: strict;
}

/* ================================================================== the way in, the nonprofit statement */
.astro-academy .aa-way { padding-bottom: clamp(88px, 14vh, 152px); }
.astro-academy .aa-way__go { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 56px 0 72px; border-top: 1px solid var(--aa-line-2); }
.astro-academy .aa-lamp--small { width: 96px; height: 96px; }
.astro-academy .aa-way__links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 20px 36px; margin: 28px 0 0; }
.astro-academy .aa-btn {
  display: inline-flex; align-items: center; gap: 10px; padding: 14px 30px;
  font-family: var(--aa-song); font-weight: 600; font-size: 19px; line-height: 1.4; letter-spacing: .24em;
  color: var(--aa-ink); background: var(--aa-lamp); border: 1px solid var(--aa-lamp); text-decoration: none;
  transition: background-color .2s var(--aa-ease), box-shadow .3s var(--aa-ease);
}
.astro-academy .aa-btn:hover { background: var(--aa-lamp-hi); box-shadow: 0 0 32px rgba(226, 168, 71, .35); }
.astro-academy .aa-np__h {
  display: block; margin: 0; font-family: var(--aa-song); font-weight: 600; font-size: 18px; line-height: 1.6; letter-spacing: .3em; color: var(--aa-lamp);
}
.astro-academy .aa-np { display: block; margin: 14px 0 0; max-width: 34em; font-size: 16px; line-height: 1.9; color: var(--aa-dim); }

/* ================================================================== small movements (only with the module) */
.astro-academy.is-enhanced .aa-reveal { transition: opacity .8s var(--aa-ease), transform .8s var(--aa-ease); }
.astro-academy.is-enhanced .aa-reveal.is-pending { opacity: 0; transform: translateY(18px); }
.astro-academy.is-enhanced .aa-scale__c.is-on { transition: opacity .35s var(--aa-ease) calc(var(--aa-i) * 45ms + .15s); }
.astro-academy.is-enhanced .is-pending .aa-scale__c.is-on { opacity: .12; transition: none; }

/* ================================================================== widths */
@media (max-width: 999.98px) {
  .astro-academy .aa-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .astro-academy .aa-courses__grid { grid-template-columns: minmax(0, 1fr); }
  .astro-academy .aa-courses__fig { margin: 0 0 72px; }
  .astro-academy .aa-courses__fig .aa-plate { position: relative; top: auto; justify-content: start; }
  .astro-academy .aa-plate--map[data-current] .aa-seg, .astro-academy .aa-plate--map[data-current] .aa-br { --aa-seg-on: 1; --aa-br-o: 1; }
  .astro-academy .aa-qa__item { grid-template-columns: minmax(0, 1fr); row-gap: 10px; }
}
@media (max-width: 819.98px) {
  .astro-academy .aa-open__stage { grid-template-columns: minmax(0, 1fr); row-gap: 28px; align-content: start; justify-items: center; }
  .astro-academy .aa-open__side { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 18px; align-items: center; text-align: start; justify-self: stretch; }
  .astro-academy .aa-open__lamp { width: 96px; height: 96px; grid-row: 1 / span 2; }
  .astro-academy .aa-lamp--big { width: 96px; height: 96px; }
  .astro-academy .aa-open__name { margin: 0; align-self: end; padding-left: 0; letter-spacing: .3em; }
  .astro-academy .aa-open__line { margin: 2px 0 0; align-self: start; font-size: 17px; letter-spacing: .06em; }
  .astro-academy.is-live .aa-open__stage { padding-top: 20px; align-content: center; row-gap: 40px; }
}
@media (max-width: 699.98px) {
  .astro-academy .aa-adv__list { columns: 1; }
  .astro-academy { --aa-cell: 21px; }
  .astro-academy .aa-plate { grid-template-columns: 22px minmax(0, max-content) 30px 30px; column-gap: 10px; }
  .astro-academy .aa-seg__name { font-size: 14px; }
  .astro-academy .aa-seg__cr { font-size: 11px; }
  .astro-academy .aa-seg { gap: 8px; }
  .astro-academy .aa-br__name { font-size: 13px; padding-left: 7px; letter-spacing: .3em; }
}
@media (max-width: 600px) {
  .astro-academy { font-size: 16px; line-height: 1.85; }
  .astro-academy .aa-p, .astro-academy .aa-qa__a, .astro-academy .aa-req li, .astro-academy .aa-ol li, .astro-academy .aa-adv__p { font-size: 16px; line-height: 1.85; }
  .astro-academy .aa-lead { font-size: 17px; }
  .astro-academy .aa-features { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
  .astro-academy .aa-adv__p { padding-left: 0; }
  .astro-academy .aa-pack:not(:first-child) { margin-top: 96px; }
  .astro-academy .aa-course, .astro-academy .aa-pack { margin-bottom: 72px; }
  .astro-academy .aa-price__now { font-size: 26px; }
  .astro-academy .aa-np { font-size: 15px; }
  /* Co-written 2026-11-15 by the 命理学 iMac window — a5 supervisor, session of 2026-11-15 (Claude Fable 5.2): on a
   * phone the opening's line 「科学、系统、集大成的占星教学」 ended 3 px from the window's edge ([ASTRO-I4]'s look at 390).
   * A little smaller and closer set it keeps the page's own margin at 390; on a narrower window it may break into
   * two lines instead of running to the edge. */
  .astro-academy .aa-open__line { font-size: 16px; letter-spacing: .02em; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .astro-academy.astro-academy *, .astro-academy.astro-academy *::before, .astro-academy.astro-academy *::after { transition: none; }
}
.astro-academy .aa-way__l { display: block; }
