/* ═══════════════════════════════════════════════════════
   PATHNUMBERS — PERSONAL YEAR PAGE
   Adapted from py7-extra.css design package.

   - Reuses utility classes from life-path-page.css
     (.shell, .shell-wide, .section, .sec-head, .h-eyebrow,
      .h-section, .h-sub, .fade-up, .glow-num, .glow-c-*, .btn-*,
      .bullet-list, .prose, .glance-grid, .glance-card, .h-card-title)
   - Uses --lp-signature* tokens injected per-page by SignatureVars.astro
   - rgba(...) literals replaced with color-mix() against --lp-signature
   - Static cross-link colors (PY6→PY8 cycle, OtherPYs grid) use the
     hardcoded --lp1...--lp9 palette already defined at :root
═══════════════════════════════════════════════════════ */

/* Page-scoped tokens
   Gold/violet/crimson here are CONSTANTS used for the Light Band
   (always gold), the Shadow Band (always crimson), the Year-aware
   block (always violet). They do NOT vary by Personal Year number.
   The page accent (--lp-signature) varies — see SignatureVars.astro */
.personalyear-page {
  --py-gold:        #FFD93D;
  --py-gold-2:      #F9C846;
  --py-gold-glow:   rgba(255, 217, 61, 0.45);

  --py-violet:      #B794F4;
  --py-violet-2:    #9F7AEA;
  --py-violet-deep: #6B46C1;
  --py-violet-glow: rgba(183, 148, 244, 0.45);

  --py-crimson:        #E11D48;
  --py-crimson-2:      #BE123C;
  --py-crimson-3:      #9F1239;
  --py-crimson-bright: #FB7185;
  --py-crimson-glow:   rgba(225, 29, 72, 0.45);

  --py-burgundy-bg: #1A0710;
}

/* ═══════════════════════════════════════════════════════
   BREADCRUMBS
═══════════════════════════════════════════════════════ */
.personalyear-page .breadcrumbs {
  font-size: 12px;
  color: var(--text-4);
  letter-spacing: 0.04em;
  padding: 22px 28px 0;
  max-width: 1320px;
  margin: 0 auto;
}
.personalyear-page .breadcrumbs a {
  color: var(--text-3);
  text-decoration: none;
  transition: color 160ms;
}
.personalyear-page .breadcrumbs a:hover { color: var(--lp-signature-bright); }
.personalyear-page .breadcrumbs .sep { margin: 0 8px; color: var(--text-dim); }
.personalyear-page .breadcrumbs .current { color: var(--lp-signature-bright); }

/* ═══════════════════════════════════════════════════════
   HERO + INLINE CALCULATOR
   IMPORTANT (Googlebot WRS 411x731): no min-height: Xvh on hero.
   Hero must fit content above the fold without inflating geometry.
═══════════════════════════════════════════════════════ */
.personalyear-page .hero {
  padding: 40px 28px 56px;
  max-width: 1320px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .personalyear-page .hero { padding: 24px 20px 40px; }
}
.personalyear-page .hero-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 1.6fr;
  gap: 48px;
  align-items: center;
}
@media (max-width: 900px) {
  .personalyear-page .hero-grid { grid-template-columns: 1fr; gap: 24px; }
}
.personalyear-page .hero-numeral-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.personalyear-page .hero-orbital-dot {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--lp-signature);
  box-shadow: 0 0 24px var(--lp-signature-glow);
  top: 12%;
  left: 18%;
  opacity: 0.85;
  animation: orbital-drift 8s ease-in-out infinite alternate;
}
@keyframes orbital-drift {
  0%   { transform: translate(0, 0); }
  100% { transform: translate(18px, -10px); }
}
.personalyear-page .glow-num-hero {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(160px, 24vw, 320px);
  line-height: 0.85;
  letter-spacing: -0.04em;
  color: var(--lp-signature);
  text-shadow:
    0 0 24px var(--lp-signature-glow),
    0 0 72px var(--lp-signature-glow),
    0 0 140px var(--lp-signature-glow-soft);
}

.personalyear-page .hero-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--lp-signature-bright);
  margin-bottom: 12px;
}
.personalyear-page .hero-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(40px, 5.6vw, 80px);
  line-height: 1;
  letter-spacing: -0.02em;
  margin: 0 0 12px;
  background: linear-gradient(180deg, #FFFFFF 0%, #D6D2EE 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-wrap: balance;
}
.personalyear-page .hero-archetype {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(15px, 1.6vw, 18px);
  color: var(--lp-signature-bright);
  letter-spacing: 0.04em;
  margin-bottom: 20px;
}
.personalyear-page .hero-hook {
  font-size: clamp(16px, 1.8vw, 19px);
  line-height: 1.6;
  color: var(--text-2);
  max-width: 56ch;
  margin: 0 0 28px;
  text-wrap: pretty;
}

.personalyear-page .hero-pillars-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}
.personalyear-page .hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border: 1px solid var(--border-card);
  background: rgba(15, 13, 46, 0.5);
  border-radius: 999px;
  font-size: 12px;
  color: var(--text-2);
}
.personalyear-page .hero-pill-k {
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-4);
  font-weight: 700;
}
.personalyear-page .hero-pill-v {
  color: var(--lp-signature-bright);
  font-weight: 600;
}

.personalyear-page .hero-calc {
  margin-top: 28px;
  padding: 22px 22px 18px;
  border: 1px solid color-mix(in srgb, var(--lp-signature) 25%, transparent);
  border-radius: 18px;
  background: rgba(7, 6, 26, 0.6);
  backdrop-filter: blur(14px);
}
.personalyear-page .hero-calc-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--lp-signature);
  margin-bottom: 12px;
}
.personalyear-page .hero-calc-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 8px;
}
@media (max-width: 600px) {
  .personalyear-page .hero-calc-row { grid-template-columns: 1fr 1fr; }
  .personalyear-page .hero-calc-row > button { grid-column: 1 / -1; }
  .personalyear-page .hero-calc-row > input:nth-child(3) { grid-column: 1 / -1; }
}
.personalyear-page .hero-calc-input {
  padding: 12px 14px;
  background: rgba(7, 6, 26, 0.7);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 25%, transparent);
  border-radius: 10px;
  font-size: 14px;
  color: var(--text-1);
  font-family: var(--font-body);
  outline: none;
  transition: border-color 160ms, box-shadow 160ms;
  width: 100%;
}
.personalyear-page .hero-calc-input::placeholder { color: var(--text-4); }
.personalyear-page .hero-calc-input:focus {
  border-color: var(--lp-signature);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--lp-signature) 12%, transparent);
}
.personalyear-page .hero-calc-go {
  padding: 12px 18px;
  background: linear-gradient(135deg, var(--lp-signature-bright), var(--lp-signature));
  color: var(--bg-0);
  border: none;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: transform 200ms, box-shadow 200ms;
  box-shadow: 0 0 22px var(--lp-signature-glow-soft);
  cursor: pointer;
}
.personalyear-page .hero-calc-go:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 32px var(--lp-signature-glow);
}
.personalyear-page .hero-calc-result {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 12px;
  font-size: 14.5px;
  line-height: 1.5;
  background: color-mix(in srgb, var(--lp-signature) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 30%, transparent);
  color: var(--text-1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.personalyear-page .hero-calc-result.off {
  background: color-mix(in srgb, var(--py-violet) 6%, transparent);
  border-color: color-mix(in srgb, var(--py-violet) 30%, transparent);
}
.personalyear-page .hero-calc-result-num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 28px;
  line-height: 1;
  color: var(--lp-signature-bright);
}
.personalyear-page .hero-calc-result.off .hero-calc-result-num { color: var(--py-violet); }
.personalyear-page .hero-calc-result a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lp-signature-bright);
  text-decoration: none;
}
.personalyear-page .hero-calc-result.off a { color: var(--py-violet); }

/* ═══════════════════════════════════════════════════════
   QUICK ANSWER (AI Overview / featured snippet ready)
═══════════════════════════════════════════════════════ */
.personalyear-page .qa-card {
  background:
    radial-gradient(ellipse 800px 300px at 50% 0%, color-mix(in srgb, var(--lp-signature) 10%, transparent) 0%, transparent 65%),
    var(--bg-card-3);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 25%, transparent);
  border-radius: 24px;
  padding: 40px 44px;
}
@media (max-width: 768px) {
  .personalyear-page .qa-card { padding: 28px 22px; }
}
.personalyear-page .qa-lead {
  font-size: 17px;
  line-height: 1.7;
  color: var(--text-2);
  margin: 0 0 28px;
  text-wrap: pretty;
}
.personalyear-page .qa-lead strong { color: var(--lp-signature-bright); font-weight: 600; }
.personalyear-page .qa-rows {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media (max-width: 768px) {
  .personalyear-page .qa-rows { grid-template-columns: 1fr; }
}
.personalyear-page .qa-block-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-4);
  margin-bottom: 14px;
}
.personalyear-page .qa-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.personalyear-page .qa-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  background: color-mix(in srgb, var(--lp-signature) 6%, transparent);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 22%, transparent);
  color: var(--text-1);
}
.personalyear-page .qa-chip svg,
.personalyear-page .qa-chip i { color: var(--lp-signature-bright); }
.personalyear-page .qa-chip-warn {
  background: rgba(244, 114, 182, 0.06);
  border-color: rgba(244, 114, 182, 0.25);
}
.personalyear-page .qa-chip-warn svg,
.personalyear-page .qa-chip-warn i { color: #F472B6; }

/* ═══════════════════════════════════════════════════════
   LIGHT BAND (gold + violet warm accents)
═══════════════════════════════════════════════════════ */
.personalyear-page .light-band {
  background:
    radial-gradient(ellipse 1000px 600px at 25% 30%, rgba(255, 217, 61, 0.10) 0%, transparent 55%),
    radial-gradient(ellipse 800px 600px at 80% 70%, rgba(183, 148, 244, 0.14) 0%, transparent 55%),
    linear-gradient(180deg, var(--bg-0) 0%, #100B26 100%);
  position: relative;
}
.personalyear-page .light-band::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(circle at 8% 18%,  rgba(255,217,61,0.5) 0.6px, transparent 1.2px),
    radial-gradient(circle at 28% 56%, rgba(255,255,255,0.6) 0.5px, transparent 1.1px),
    radial-gradient(circle at 58% 22%, rgba(255,217,61,0.5) 0.5px, transparent 1.1px),
    radial-gradient(circle at 78% 78%, rgba(255,255,255,0.6) 0.5px, transparent 1.1px),
    radial-gradient(circle at 92% 36%, rgba(183,148,244,0.55) 0.6px, transparent 1.2px);
  opacity: 0.7;
}
.personalyear-page .light-card {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  background: linear-gradient(160deg, rgba(255,217,61,0.05) 0%, var(--bg-card-3) 60%);
  border: 1px solid rgba(255, 217, 61, 0.25);
  border-radius: 28px;
  overflow: hidden;
}
@media (max-width: 900px) {
  .personalyear-page .light-card { grid-template-columns: 1fr; }
}
.personalyear-page .light-card-emblem {
  background: radial-gradient(circle at 50% 50%, rgba(255, 217, 61, 0.18) 0%, transparent 65%);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  border-right: 1px solid rgba(255, 217, 61, 0.18);
  padding: 40px;
  position: relative;
}
@media (max-width: 900px) {
  .personalyear-page .light-card-emblem {
    border-right: none;
    border-bottom: 1px solid rgba(255, 217, 61, 0.18);
    min-height: 220px;
  }
}
.personalyear-page .light-numeral {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(160px, 22vw, 300px);
  color: var(--py-gold);
  line-height: 0.85;
  letter-spacing: -0.04em;
  text-shadow:
    0 0 24px var(--py-gold-glow),
    0 0 64px rgba(255, 217, 61, 0.4),
    0 0 140px rgba(255, 217, 61, 0.25);
}
.personalyear-page .light-card-body { padding: 48px; }
@media (max-width: 768px) {
  .personalyear-page .light-card-body { padding: 32px 24px; }
}
.personalyear-page .light-card-body .prose em { color: var(--py-gold-2); }
.personalyear-page .light-card-body .h-card-title { color: var(--py-gold); }
.personalyear-page .light-card-body .bullet-list li::before {
  background: var(--py-gold);
  box-shadow: 0 0 10px var(--py-gold-glow);
}

.personalyear-page .h-section-gold {
  background: linear-gradient(180deg, #FFE066 0%, #FFD93D 55%, #C29200 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 60px rgba(255, 217, 61, 0.30);
}
.personalyear-page .h-eyebrow-gold { color: var(--py-gold); }

/* ═══════════════════════════════════════════════════════
   SHADOW BAND (crimson / burgundy)
═══════════════════════════════════════════════════════ */
.personalyear-page .shadow-band-deep {
  background:
    radial-gradient(ellipse 900px 600px at 20% 30%, rgba(159, 18, 57, 0.30) 0%, transparent 55%),
    radial-gradient(ellipse 700px 500px at 85% 80%, rgba(91, 70, 193, 0.22) 0%, transparent 60%),
    linear-gradient(180deg, var(--py-burgundy-bg) 0%, #0A0410 100%);
  position: relative;
}
.personalyear-page .shadow-band-deep::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(circle at 14% 22%, rgba(225,29,72,0.45) 0.6px, transparent 1.2px),
    radial-gradient(circle at 48% 58%, rgba(255,255,255,0.4) 0.5px, transparent 1px),
    radial-gradient(circle at 78% 28%, rgba(225,29,72,0.4) 0.5px, transparent 1.1px),
    radial-gradient(circle at 88% 68%, rgba(255,255,255,0.4) 0.5px, transparent 1px);
  opacity: 0.5;
}
.personalyear-page .shadow-card-deep {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  background: linear-gradient(160deg, rgba(159, 18, 57, 0.18) 0%, rgba(20, 8, 16, 0.9) 60%);
  border: 1px solid rgba(225, 29, 72, 0.28);
  border-radius: 28px;
  overflow: hidden;
}
@media (max-width: 900px) {
  .personalyear-page .shadow-card-deep { grid-template-columns: 1fr; }
}
.personalyear-page .shadow-card-deep-emblem {
  background: radial-gradient(circle at 50% 50%, rgba(225, 29, 72, 0.18) 0%, transparent 65%);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  border-right: 1px solid rgba(225, 29, 72, 0.22);
  padding: 40px;
  position: relative;
}
@media (max-width: 900px) {
  .personalyear-page .shadow-card-deep-emblem {
    border-right: none;
    border-bottom: 1px solid rgba(225, 29, 72, 0.22);
    min-height: 220px;
  }
}
.personalyear-page .shadow-numeral {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(160px, 22vw, 300px);
  color: var(--py-crimson);
  line-height: 0.85;
  letter-spacing: -0.04em;
  text-shadow:
    0 0 24px var(--py-crimson-glow),
    0 0 72px rgba(225, 29, 72, 0.4),
    0 0 140px rgba(159, 18, 57, 0.3);
}
.personalyear-page .shadow-card-deep-body { padding: 48px; }
@media (max-width: 768px) {
  .personalyear-page .shadow-card-deep-body { padding: 32px 24px; }
}
.personalyear-page .shadow-card-deep-body .prose em { color: var(--py-crimson-bright); }
.personalyear-page .shadow-card-deep-body .h-card-title { color: var(--py-crimson-bright); }
.personalyear-page .shadow-card-deep-body .prose strong { color: var(--text-1); }
.personalyear-page .shadow-card-deep-body .bullet-list li::before {
  background: var(--py-crimson);
  box-shadow: 0 0 10px var(--py-crimson-glow);
}

.personalyear-page .h-section-crimson {
  background: linear-gradient(180deg, #FB7185 0%, #E11D48 60%, #9F1239 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 60px rgba(225, 29, 72, 0.35);
}
.personalyear-page .h-eyebrow-crimson { color: #FB7185; }

.personalyear-page .shadow-soft-cta {
  margin-top: 32px;
  padding: 22px 26px;
  border-radius: 16px;
  background: rgba(225, 29, 72, 0.08);
  border: 1px solid rgba(225, 29, 72, 0.25);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.personalyear-page .shadow-soft-cta-text {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.4;
  color: var(--text-1);
}
.personalyear-page .shadow-soft-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  background: linear-gradient(135deg, var(--py-crimson-bright) 0%, var(--py-crimson) 100%);
  color: white;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: 999px;
  text-decoration: none;
  transition: transform 200ms, box-shadow 200ms;
  box-shadow: 0 0 24px rgba(225,29,72,0.35);
  flex-shrink: 0;
}
.personalyear-page .shadow-soft-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 36px rgba(225,29,72,0.55);
}

/* ═══════════════════════════════════════════════════════
   CYCLE NEIGHBORS (PY{N-1} ← N → PY{N+1})
═══════════════════════════════════════════════════════ */
.personalyear-page .cycle-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media (max-width: 768px) {
  .personalyear-page .cycle-wrap { grid-template-columns: 1fr; }
}
.personalyear-page .cycle-card {
  display: block;
  text-decoration: none;
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 22px;
  padding: 36px;
  position: relative;
  overflow: hidden;
  transition: border-color 240ms, transform 240ms, box-shadow 240ms;
}
.personalyear-page .cycle-card:hover {
  border-color: color-mix(in srgb, var(--lp-signature) 40%, transparent);
  transform: translateY(-2px);
  box-shadow: 0 24px 60px -24px color-mix(in srgb, var(--lp-signature) 25%, transparent);
}
.personalyear-page .cycle-card-arrow {
  position: absolute;
  top: 20px;
  right: 24px;
  color: var(--lp-signature-bright);
  opacity: 0.7;
  transition: opacity 240ms, transform 240ms;
}
.personalyear-page .cycle-card:hover .cycle-card-arrow { opacity: 1; transform: translateX(4px); }
.personalyear-page .cycle-card-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-4);
  margin-bottom: 22px;
}
.personalyear-page .cycle-card-num-row {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin-bottom: 14px;
}
.personalyear-page .cycle-card-num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 110px;
  line-height: 0.85;
  letter-spacing: -0.04em;
}
.personalyear-page .cycle-card-name {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 21px;
  color: var(--text-1);
}
.personalyear-page .cycle-card-epithet {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 18px;
  color: var(--gold);
  margin-bottom: 18px;
}
.personalyear-page .cycle-card-body {
  font-size: 15px;
  line-height: 1.65;
  color: var(--text-2);
  text-wrap: pretty;
}
.personalyear-page .cycle-wheel-wrap {
  margin-top: 48px;
  display: flex;
  justify-content: center;
}
.personalyear-page .cycle-wheel {
  position: relative;
  width: 360px;
  max-width: 100%;
  aspect-ratio: 1;
}

/* ═══════════════════════════════════════════════════════
   LOVE + COMPATIBILITY GRID
═══════════════════════════════════════════════════════ */
.personalyear-page .love-lead {
  max-width: 76ch;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.7;
  text-align: center;
  color: var(--text-2);
  text-wrap: pretty;
}
.personalyear-page .love-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 36px;
}
@media (max-width: 768px) {
  .personalyear-page .love-pair { grid-template-columns: 1fr; }
}
.personalyear-page .love-pair-card {
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 22px;
  padding: 32px 30px;
}
.personalyear-page .love-pair-card h3 {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 22px;
  color: var(--gold);
  margin: 0 0 14px;
}
.personalyear-page .love-pair-card .prose p {
  margin-bottom: 18px;
  font-size: 15px;
}
.personalyear-page .love-pair-card .bullet-list { margin-top: 14px; }
.personalyear-page .love-pair-card .bullet-list li { font-size: 14.5px; }

.personalyear-page .py-compat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 36px;
}
@media (max-width: 900px) {
  .personalyear-page .py-compat-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .personalyear-page .py-compat-grid { grid-template-columns: 1fr; }
}
.personalyear-page .py-compat-card {
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 16px;
  padding: 20px 22px;
  position: relative;
}
.personalyear-page .py-compat-card-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
}
.personalyear-page .py-compat-card-eq {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 30px;
  line-height: 1;
}
.personalyear-page .py-compat-card-eq .me {
  color: var(--lp-signature-bright);
  text-shadow: 0 0 14px var(--lp-signature-glow);
}
.personalyear-page .py-compat-card-eq .plus { color: var(--text-4); font-size: 0.7em; }
.personalyear-page .py-compat-card-eq .partner { line-height: 1; }
.personalyear-page .py-compat-card-badge {
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-left: auto;
}
.personalyear-page .py-compat-card.tone-high {
  border-color: color-mix(in srgb, var(--lp-signature) 40%, transparent);
}
.personalyear-page .py-compat-card.tone-high .partner {
  color: var(--lp-signature-bright);
  text-shadow: 0 0 12px var(--lp-signature-glow-soft);
}
.personalyear-page .py-compat-card.tone-high .py-compat-card-badge {
  background: color-mix(in srgb, var(--lp-signature) 12%, transparent);
  color: var(--lp-signature-bright);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 40%, transparent);
}
.personalyear-page .py-compat-card.tone-mid .partner {
  color: var(--gold);
  text-shadow: 0 0 12px rgba(255,217,61,0.35);
}
.personalyear-page .py-compat-card.tone-mid .py-compat-card-badge {
  background: rgba(255,217,61,0.10);
  color: var(--gold);
  border: 1px solid rgba(255,217,61,0.35);
}
.personalyear-page .py-compat-card.tone-low {
  border-color: rgba(244,114,182,0.25);
}
.personalyear-page .py-compat-card.tone-low .partner {
  color: #F472B6;
  text-shadow: 0 0 12px rgba(244,114,182,0.4);
}
.personalyear-page .py-compat-card.tone-low .py-compat-card-badge {
  background: rgba(244,114,182,0.10);
  color: #F472B6;
  border: 1px solid rgba(244,114,182,0.35);
}
.personalyear-page .py-compat-card-note {
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-3);
  text-wrap: pretty;
  margin: 0;
}

/* ═══════════════════════════════════════════════════════
   CAREER — do/avoid + best fields + quarterly
═══════════════════════════════════════════════════════ */
.personalyear-page .career-lead,
.personalyear-page .money-lead {
  max-width: 70ch;
  margin: 0 auto 36px;
  font-size: 17px;
  line-height: 1.7;
  text-align: center;
  color: var(--text-2);
  text-wrap: pretty;
}
.personalyear-page .career-do-avoid,
.personalyear-page .money-do-avoid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media (max-width: 768px) {
  .personalyear-page .career-do-avoid,
  .personalyear-page .money-do-avoid { grid-template-columns: 1fr; }
}
.personalyear-page .career-list,
.personalyear-page .money-list {
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 22px;
  padding: 32px 30px;
}
.personalyear-page .career-list-head,
.personalyear-page .money-list-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 18px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--border-soft);
}
.personalyear-page .career-list-head-icon,
.personalyear-page .money-list-head-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.personalyear-page .career-list-head-icon.do,
.personalyear-page .money-list-head-icon.do {
  background: color-mix(in srgb, var(--lp-signature) 10%, transparent);
  color: var(--lp-signature-bright);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 30%, transparent);
}
.personalyear-page .career-list-head-icon.avoid,
.personalyear-page .money-list-head-icon.avoid {
  background: rgba(244, 114, 182, 0.10);
  color: #F472B6;
  border: 1px solid rgba(244, 114, 182, 0.30);
}
.personalyear-page .career-list-head h3,
.personalyear-page .money-list-head h3 {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 22px;
  color: var(--gold);
  margin: 0;
}
.personalyear-page .career-list-item {
  padding: 16px 0;
  border-bottom: 1px solid var(--border-soft);
}
.personalyear-page .career-list-item:last-child { border-bottom: none; }
.personalyear-page .career-list-item-title {
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 16px;
  color: var(--text-1);
  margin-bottom: 4px;
}
.personalyear-page .career-list-item-desc {
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-3);
}

.personalyear-page .best-fields {
  margin-top: 32px;
  padding: 32px;
  background: rgba(15,13,46,0.65);
  border: 1px solid var(--border-card);
  border-radius: 22px;
}
.personalyear-page .best-fields-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.personalyear-page .best-fields-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 217, 61, 0.10);
  color: var(--gold);
  border: 1px solid rgba(255, 217, 61, 0.35);
}
.personalyear-page .best-fields h3 {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 18px;
  color: var(--gold);
  margin: 0;
}
.personalyear-page .best-fields-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
@media (max-width: 900px) {
  .personalyear-page .best-fields-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .personalyear-page .best-fields-grid { grid-template-columns: 1fr; }
}
.personalyear-page .best-fields-chip {
  padding: 12px 14px;
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 10px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-1);
  display: flex;
  align-items: center;
  gap: 10px;
}
.personalyear-page .best-fields-chip svg,
.personalyear-page .best-fields-chip i { color: var(--lp-signature-bright); flex-shrink: 0; }

.personalyear-page .quarters {
  margin-top: 36px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
@media (max-width: 768px) {
  .personalyear-page .quarters { grid-template-columns: 1fr 1fr; }
}
.personalyear-page .quarter-card {
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 16px;
  padding: 22px 22px 24px;
  position: relative;
  overflow: hidden;
}
.personalyear-page .quarter-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--lp-signature-bright), var(--py-violet));
  opacity: 0.7;
}
.personalyear-page .quarter-card-q {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 36px;
  line-height: 1;
  color: var(--lp-signature-bright);
  margin-bottom: 10px;
  letter-spacing: -0.02em;
}
.personalyear-page .quarter-card-focus {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--text-2);
}

/* ═══════════════════════════════════════════════════════
   MONEY — do/avoid + opportunity windows + close
═══════════════════════════════════════════════════════ */
.personalyear-page .money-list-head h3 { font-size: 20px; }
.personalyear-page .money-bullets {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.personalyear-page .money-bullets li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  font-size: 14.5px;
  line-height: 1.6;
  padding: 14px 0;
  border-bottom: 1px solid var(--border-soft);
  color: var(--text-2);
}
.personalyear-page .money-bullets li:last-child { border-bottom: none; }
.personalyear-page .money-bullets li svg,
.personalyear-page .money-bullets li i { flex-shrink: 0; margin-top: 4px; }
.personalyear-page .money-bullets.do svg,
.personalyear-page .money-bullets.do i { color: var(--lp-signature-bright); }
.personalyear-page .money-bullets.avoid svg,
.personalyear-page .money-bullets.avoid i { color: #F472B6; }

.personalyear-page .money-windows {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 768px) {
  .personalyear-page .money-windows { grid-template-columns: 1fr; }
}
.personalyear-page .money-window {
  padding: 22px;
  background: linear-gradient(160deg, rgba(255,217,61,0.07) 0%, var(--bg-card) 70%);
  border: 1px solid rgba(255, 217, 61, 0.25);
  border-radius: 16px;
}
.personalyear-page .money-window-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}
.personalyear-page .money-window-name {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 22px;
  color: var(--text-1);
  margin-bottom: 8px;
}
.personalyear-page .money-window-note {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--text-3);
}

.personalyear-page .money-close {
  margin-top: 36px;
  padding: 32px 36px 32px 64px;
  border-radius: 22px;
  background:
    radial-gradient(ellipse 600px 300px at 30% 50%, color-mix(in srgb, var(--lp-signature) 10%, transparent) 0%, transparent 65%),
    var(--bg-card-3);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 22%, transparent);
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.4;
  color: var(--text-1);
  text-wrap: balance;
  position: relative;
}
.personalyear-page .money-close::before {
  content: '"';
  position: absolute;
  top: 4px;
  left: 16px;
  font-size: 80px;
  color: var(--lp-signature);
  line-height: 1;
  opacity: 0.5;
  text-shadow: 0 0 24px var(--lp-signature-glow);
}

/* ═══════════════════════════════════════════════════════
   HEALTH — 3 column grid + practice callout
═══════════════════════════════════════════════════════ */
.personalyear-page .health-tri {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 900px) {
  .personalyear-page .health-tri { grid-template-columns: 1fr; }
}
.personalyear-page .health-tri-col {
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 22px;
  padding: 32px 28px;
}
.personalyear-page .health-tri-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 18px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--border-soft);
}
.personalyear-page .health-tri-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--lp-signature) 10%, transparent);
  color: var(--lp-signature-bright);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 30%, transparent);
}
.personalyear-page .health-tri-head h3 {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 19px;
  color: var(--gold);
  margin: 0;
}
.personalyear-page .health-tri-row {
  padding: 12px 0;
  border-bottom: 1px solid var(--border-soft);
}
.personalyear-page .health-tri-row:last-child { border-bottom: none; }
.personalyear-page .health-tri-row-name {
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 14.5px;
  color: var(--text-1);
  margin-bottom: 4px;
}
.personalyear-page .health-tri-row-note {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-3);
  font-style: italic;
}

.personalyear-page .health-practice {
  margin-top: 28px;
  padding: 28px 32px;
  border-radius: 22px;
  background: linear-gradient(160deg, rgba(183, 148, 244, 0.08) 0%, var(--bg-card) 70%);
  border: 1px solid rgba(183, 148, 244, 0.28);
}
.personalyear-page .health-practice-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.personalyear-page .health-practice-head svg,
.personalyear-page .health-practice-head i { color: var(--py-violet); }
.personalyear-page .health-practice-head h3 {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 18px;
  color: var(--py-violet);
  letter-spacing: 0.01em;
  margin: 0;
}
.personalyear-page .health-practice-body {
  font-size: 15px;
  line-height: 1.7;
  color: var(--text-2);
  text-wrap: pretty;
  margin: 0;
}

/* ═══════════════════════════════════════════════════════
   MONTHLY JOURNEY ACCORDION
═══════════════════════════════════════════════════════ */
.personalyear-page .month-accordion {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.personalyear-page .month-row {
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 200ms;
}
.personalyear-page .month-row.open {
  border-color: color-mix(in srgb, var(--lp-signature) 42%, transparent);
}
.personalyear-page .month-q {
  width: 100%;
  display: grid;
  grid-template-columns: 56px 1fr auto 32px;
  gap: 18px;
  align-items: center;
  padding: 18px 22px;
  text-align: left;
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: inherit;
  color: inherit;
  transition: background 160ms;
}
.personalyear-page .month-q:hover {
  background: color-mix(in srgb, var(--lp-signature) 4%, transparent);
}
.personalyear-page .month-q-num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 28px;
  color: var(--lp-signature);
  text-shadow: 0 0 14px var(--lp-signature-glow);
  line-height: 1;
  letter-spacing: -0.02em;
}
.personalyear-page .month-q-name-wrap {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.personalyear-page .month-q-name {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 17px;
  color: var(--text-1);
}
.personalyear-page .month-q-theme {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 15px;
  color: var(--lp-signature-bright);
}
.personalyear-page .month-q-meta {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-4);
}
.personalyear-page .month-q-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--lp-signature) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 25%, transparent);
  color: var(--lp-signature-bright);
  transition: background 200ms, color 200ms, transform 200ms;
}
.personalyear-page .month-row.open .month-q-icon {
  background: var(--lp-signature);
  color: var(--bg-0);
  transform: rotate(45deg);
}
.personalyear-page .month-a {
  overflow: hidden;
  max-height: 0;
  transition: max-height 320ms ease, padding 320ms ease;
}
.personalyear-page .month-row.open .month-a {
  max-height: 320px;
  padding: 0 22px 24px 96px;
}
@media (max-width: 600px) {
  .personalyear-page .month-row.open .month-a { padding: 0 22px 22px; }
  .personalyear-page .month-q { grid-template-columns: 42px 1fr 32px; }
  .personalyear-page .month-q-meta { display: none; }
}
.personalyear-page .month-a-body {
  font-size: 15px;
  line-height: 1.7;
  color: var(--text-2);
  margin: 0 0 14px;
}
.personalyear-page .month-a-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.personalyear-page .month-a-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
}
.personalyear-page .month-a-pill.do {
  background: color-mix(in srgb, var(--lp-signature) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 30%, transparent);
  color: var(--lp-signature-bright);
}
.personalyear-page .month-a-pill.avoid {
  background: rgba(244, 114, 182, 0.06);
  border: 1px solid rgba(244, 114, 182, 0.3);
  color: #F472B6;
}

/* ═══════════════════════════════════════════════════════
   HOW TO CALCULATE — calculator card + worked example + Two Schools
═══════════════════════════════════════════════════════ */
.personalyear-page .calc-card {
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 24px;
  padding: 32px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 36px;
  align-items: center;
}
@media (max-width: 768px) {
  .personalyear-page .calc-card { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
}
.personalyear-page .calc-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.personalyear-page .calc-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-4);
  display: block;
  margin-bottom: 6px;
}
.personalyear-page .calc-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.personalyear-page .calc-input {
  padding: 14px 16px;
  background: rgba(7, 6, 26, 0.7);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 25%, transparent);
  border-radius: 10px;
  font-size: 15px;
  color: var(--text-1);
  font-family: var(--font-body);
  outline: none;
  transition: border-color 160ms, box-shadow 160ms;
  width: 100%;
}
.personalyear-page .calc-input::placeholder { color: var(--text-4); }
.personalyear-page .calc-input:focus {
  border-color: var(--lp-signature);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--lp-signature) 12%, transparent);
}
.personalyear-page .calc-submit {
  padding: 14px 22px;
  background: linear-gradient(135deg, var(--lp-signature-bright), var(--lp-signature));
  color: var(--bg-0);
  border: none;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: transform 200ms, box-shadow 200ms;
  box-shadow: 0 0 24px var(--lp-signature-glow-soft);
  cursor: pointer;
  margin-top: 4px;
}
.personalyear-page .calc-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 32px var(--lp-signature-glow);
}
.personalyear-page .calc-helper {
  font-size: 11px;
  color: var(--text-4);
  margin: 6px 0 0;
}
.personalyear-page .calc-result {
  background: rgba(7, 6, 26, 0.5);
  border: 1px solid var(--border-card);
  border-radius: 16px;
  padding: 28px;
  text-align: center;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.personalyear-page .calc-result-empty {
  font-style: italic;
  color: var(--text-4);
  font-family: var(--font-display);
  font-size: 17px;
  line-height: 1.5;
}
.personalyear-page .calc-result-num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 80px;
  line-height: 0.85;
  color: var(--lp-signature);
  text-shadow:
    0 0 24px var(--lp-signature-glow),
    0 0 64px var(--lp-signature-glow-soft);
}
.personalyear-page .calc-result-label {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 18px;
  color: var(--text-1);
  margin-top: 10px;
}
.personalyear-page .calc-result-desc {
  font-size: 14px;
  color: var(--text-3);
  margin: 10px 0 0;
}

.personalyear-page .worked {
  margin-top: 36px;
  background:
    radial-gradient(ellipse 600px 300px at 30% 30%, color-mix(in srgb, var(--lp-signature) 7%, transparent) 0%, transparent 65%),
    var(--bg-card-3);
  border: 1px solid var(--border-card);
  border-radius: 22px;
  padding: 36px;
}
@media (max-width: 768px) {
  .personalyear-page .worked { padding: 28px 22px; }
}
.personalyear-page .worked-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--lp-signature);
  margin-bottom: 12px;
}
.personalyear-page .worked-title {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 22px;
  color: var(--gold);
  margin: 0 0 20px;
}
.personalyear-page .worked-steps { display: flex; flex-direction: column; }
.personalyear-page .worked-step {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) 2fr;
  gap: 20px;
  padding: 14px 0;
  border-bottom: 1px solid var(--border-soft);
  align-items: center;
}
.personalyear-page .worked-step:last-of-type {
  border-bottom: 1px solid color-mix(in srgb, var(--lp-signature) 40%, transparent);
}
.personalyear-page .worked-step-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-4);
}
.personalyear-page .worked-step-value {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  color: var(--text-1);
  letter-spacing: -0.01em;
}
.personalyear-page .worked-step.final .worked-step-value {
  color: var(--lp-signature-bright);
  text-shadow: 0 0 16px var(--lp-signature-glow);
  font-size: 36px;
}
.personalyear-page .worked-summary {
  margin-top: 20px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--text-2);
  font-style: italic;
}

.personalyear-page .schools {
  margin-top: 56px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
@media (max-width: 900px) {
  .personalyear-page .schools { grid-template-columns: 1fr; gap: 16px; }
}
.personalyear-page .school-card {
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 22px;
  padding: 32px;
}
.personalyear-page .school-card.calendar {
  border-color: color-mix(in srgb, var(--lp-signature) 32%, transparent);
}
.personalyear-page .school-card.solar {
  border-color: rgba(183,148,244,0.32);
}
.personalyear-page .school-card-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.personalyear-page .school-card.calendar .school-card-eyebrow { color: var(--lp-signature); }
.personalyear-page .school-card.solar    .school-card-eyebrow { color: var(--py-violet); }
.personalyear-page .school-card-title {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 22px;
  color: var(--gold);
  margin: 0 0 8px;
}
.personalyear-page .school-card-attrib {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 15px;
  color: var(--text-3);
  margin-bottom: 18px;
}
.personalyear-page .school-card-body {
  font-size: 15px;
  line-height: 1.7;
  color: var(--text-2);
  text-wrap: pretty;
}
.personalyear-page .school-card-body p { margin-bottom: 12px; }
.personalyear-page .school-card-body p:last-child { margin-bottom: 0; }

.personalyear-page .schools-coda {
  margin-top: 28px;
  padding: 24px 28px;
  border-radius: 18px;
  background: rgba(255, 217, 61, 0.05);
  border: 1px solid rgba(255, 217, 61, 0.22);
  font-size: 15px;
  line-height: 1.7;
  color: var(--text-2);
  text-wrap: pretty;
}
.personalyear-page .schools-coda strong { color: var(--gold); }

/* ═══════════════════════════════════════════════════════
   PY = LP amplification callout
═══════════════════════════════════════════════════════ */
.personalyear-page .pyeqlp {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 48px;
  align-items: center;
  background:
    radial-gradient(ellipse 800px 400px at 30% 50%, color-mix(in srgb, var(--lp-signature) 14%, transparent) 0%, transparent 60%),
    radial-gradient(ellipse 600px 400px at 80% 50%, color-mix(in srgb, var(--lp-signature) 10%, transparent) 0%, transparent 60%),
    var(--bg-card-3);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 30%, transparent);
  border-radius: 28px;
  padding: 56px;
  overflow: hidden;
}
@media (max-width: 900px) {
  .personalyear-page .pyeqlp {
    grid-template-columns: 1fr;
    padding: 36px 28px;
    gap: 28px;
  }
}
.personalyear-page .pyeqlp-numerals {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(120px, 14vw, 200px);
  line-height: 0.85;
  position: relative;
}
.personalyear-page .pyeqlp-numerals .me,
.personalyear-page .pyeqlp-numerals .lp {
  color: var(--lp-signature);
  text-shadow:
    0 0 24px var(--lp-signature-glow),
    0 0 64px var(--lp-signature-glow),
    0 0 140px var(--lp-signature-glow-soft);
}
.personalyear-page .pyeqlp-numerals .x {
  color: var(--text-3);
  font-size: 0.4em;
  font-weight: 400;
  font-family: var(--font-body);
}
.personalyear-page .pyeqlp-content { position: relative; }
.personalyear-page .pyeqlp-content h3 {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: clamp(28px, 3vw, 38px);
  color: var(--text-1);
  line-height: 1.1;
  margin: 0 0 22px;
  text-wrap: balance;
}
.personalyear-page .pyeqlp-content .prose p { font-size: 15.5px; }
.personalyear-page .pyeqlp-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  padding: 13px 22px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lp-signature-bright);
  background: color-mix(in srgb, var(--lp-signature) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 35%, transparent);
  border-radius: 999px;
  text-decoration: none;
  transition: background 200ms, border-color 200ms;
}
.personalyear-page .pyeqlp-link:hover {
  background: color-mix(in srgb, var(--lp-signature) 14%, transparent);
  border-color: var(--lp-signature);
}

/* ═══════════════════════════════════════════════════════
   YEAR-AWARE (2026)
═══════════════════════════════════════════════════════ */
.personalyear-page .year-aware-wrap {
  position: relative;
  background:
    radial-gradient(ellipse 900px 500px at 25% 25%, rgba(183, 148, 244, 0.18) 0%, transparent 55%),
    radial-gradient(ellipse 700px 500px at 80% 80%, color-mix(in srgb, var(--lp-signature) 12%, transparent) 0%, transparent 60%),
    linear-gradient(180deg, #0F0A2C 0%, #07061A 100%);
  border: 1px solid rgba(183, 148, 244, 0.3);
  border-radius: 28px;
  padding: 56px;
  overflow: hidden;
}
@media (max-width: 768px) {
  .personalyear-page .year-aware-wrap { padding: 36px 24px; }
}
.personalyear-page .year-aware-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(183, 148, 244, 0.12);
  border: 1px solid rgba(183, 148, 244, 0.4);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--py-violet);
  margin-bottom: 24px;
}
.personalyear-page .year-aware-badge .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--py-violet);
  box-shadow: 0 0 8px var(--py-violet-glow);
  animation: yearpulse 2.4s ease-in-out infinite;
}
@keyframes yearpulse {
  0%, 100% { opacity: 0.6; transform: scale(1); }
  50%      { opacity: 1; transform: scale(1.2); }
}
.personalyear-page .year-aware-title {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.1;
  margin: 0 0 28px;
  background: linear-gradient(180deg, #FFFFFF 0%, #D6B6FF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-wrap: balance;
}
.personalyear-page .year-aware-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 48px;
}
@media (max-width: 900px) {
  .personalyear-page .year-aware-grid { grid-template-columns: 1fr; gap: 32px; }
}
.personalyear-page .year-aware-grid .prose p { font-size: 16px; }
.personalyear-page .year-aware-side h4 {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--py-violet);
  margin: 0 0 16px;
}
.personalyear-page .year-aware-keys {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 28px;
}
.personalyear-page .year-aware-key {
  padding: 14px 18px;
  background: rgba(15, 13, 46, 0.6);
  border: 1px solid rgba(183, 148, 244, 0.22);
  border-radius: 12px;
}
.personalyear-page .year-aware-key-label {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 14px;
  color: var(--text-1);
  margin-bottom: 4px;
}
.personalyear-page .year-aware-key-note {
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-3);
}
.personalyear-page .year-aware-quote {
  padding: 24px 26px;
  border-left: 3px solid var(--py-violet);
  background: rgba(183, 148, 244, 0.04);
  border-radius: 0 14px 14px 0;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(17px, 1.8vw, 21px);
  line-height: 1.4;
  color: var(--text-1);
  margin-top: 6px;
  text-wrap: balance;
}
.personalyear-page .year-aware-quote-attr {
  margin-top: 14px;
  font-family: var(--font-head);
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--py-violet);
}
.personalyear-page .year-aware-uy {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
  padding: 18px 20px;
  border-radius: 14px;
  background: rgba(183, 148, 244, 0.06);
  border: 1px solid rgba(183, 148, 244, 0.24);
}
.personalyear-page .year-aware-uy-num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: 0.85;
  color: var(--py-violet);
  text-shadow: 0 0 16px var(--py-violet-glow);
}
.personalyear-page .year-aware-uy-text {
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-2);
}
.personalyear-page .year-aware-uy-text strong { color: var(--text-1); font-weight: 600; }

/* ═══════════════════════════════════════════════════════
   REAL EXPERIENCES
═══════════════════════════════════════════════════════ */
.personalyear-page .real-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 900px) {
  .personalyear-page .real-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .personalyear-page .real-grid { grid-template-columns: 1fr; }
}
.personalyear-page .real-card {
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 20px;
  padding: 28px 26px;
  position: relative;
  overflow: hidden;
  transition: transform 240ms, border-color 240ms, box-shadow 240ms;
}
.personalyear-page .real-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--lp-signature) 40%, transparent);
  box-shadow: 0 24px 60px -24px color-mix(in srgb, var(--lp-signature) 20%, transparent);
}
.personalyear-page .real-card.light {
  background: linear-gradient(160deg, rgba(255,217,61,0.04) 0%, var(--bg-card) 60%);
  border-color: rgba(255, 217, 61, 0.22);
}
.personalyear-page .real-card.shadow {
  background: linear-gradient(160deg, rgba(225, 29, 72, 0.05) 0%, var(--bg-card) 60%);
  border-color: rgba(225, 29, 72, 0.22);
}
.personalyear-page .real-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}
.personalyear-page .real-card-handle {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 16px;
  color: var(--text-1);
}
.personalyear-page .real-card-year {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-4);
}
.personalyear-page .real-card-tone {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.personalyear-page .real-card.light .real-card-tone {
  background: rgba(255, 217, 61, 0.10);
  color: var(--gold);
  border: 1px solid rgba(255, 217, 61, 0.3);
}
.personalyear-page .real-card.shadow .real-card-tone {
  background: rgba(225, 29, 72, 0.10);
  color: #FB7185;
  border: 1px solid rgba(225, 29, 72, 0.3);
}
.personalyear-page .real-card-story {
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--text-2);
  text-wrap: pretty;
  position: relative;
  padding-left: 14px;
  margin: 0;
}
.personalyear-page .real-card-story::before {
  content: '"';
  position: absolute;
  top: -8px;
  left: -4px;
  font-family: var(--font-display);
  font-size: 38px;
  color: var(--lp-signature);
  opacity: 0.55;
  line-height: 1;
}
.personalyear-page .real-card.light .real-card-story::before { color: var(--gold); }
.personalyear-page .real-card.shadow .real-card-story::before { color: #FB7185; }
.personalyear-page .real-disclaimer {
  margin-top: 32px;
  font-size: 12.5px;
  color: var(--text-4);
  text-align: center;
  font-style: italic;
}

/* ═══════════════════════════════════════════════════════
   OTHER PERSONAL YEARS — 3x3 grid (uses hardcoded --lp1..--lp9)
═══════════════════════════════════════════════════════ */
.personalyear-page .py-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 768px) {
  .personalyear-page .py-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .personalyear-page .py-grid { grid-template-columns: 1fr; }
}
.personalyear-page .py-grid-card {
  display: block;
  text-decoration: none;
  position: relative;
  padding: 28px 26px;
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 18px;
  transition: transform 240ms, border-color 240ms;
  overflow: hidden;
}
.personalyear-page .py-grid-card:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--lp-signature) 42%, transparent);
}
.personalyear-page .py-grid-card.current {
  background: linear-gradient(180deg, color-mix(in srgb, var(--lp-signature) 18%, transparent) 0%, var(--bg-card) 70%);
  border-color: color-mix(in srgb, var(--lp-signature) 55%, transparent);
  box-shadow: 0 0 40px color-mix(in srgb, var(--lp-signature) 25%, transparent);
  pointer-events: none;
}
.personalyear-page .py-grid-card .glow-num {
  font-size: 96px;
  line-height: 0.85;
  margin-bottom: 16px;
  display: block;
}
.personalyear-page .py-grid-card-name {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 17px;
  color: var(--text-1);
  margin-bottom: 4px;
}
.personalyear-page .py-grid-card-sub {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-4);
  margin-bottom: 12px;
}
.personalyear-page .py-grid-card-line {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--text-3);
  text-wrap: pretty;
  margin: 0;
}
.personalyear-page .py-grid-card-arrow {
  position: absolute;
  top: 22px;
  right: 22px;
  color: var(--lp-signature-bright);
  opacity: 0;
  transition: opacity 240ms, transform 240ms;
}
.personalyear-page .py-grid-card:hover .py-grid-card-arrow {
  opacity: 1;
  transform: translateX(4px);
}
.personalyear-page .py-grid-card.current::after {
  content: 'You are here';
  position: absolute;
  top: 22px;
  right: 22px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--lp-signature-bright);
  padding: 5px 10px;
  background: color-mix(in srgb, var(--lp-signature) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 40%, transparent);
  border-radius: 999px;
}

/* ═══════════════════════════════════════════════════════
   FINAL CTA
═══════════════════════════════════════════════════════ */
.personalyear-page .final-cta-section {
  padding: 0 28px 120px;
}
.personalyear-page .final-cta {
  position: relative;
  padding: 80px 64px;
  border-radius: 32px;
  background:
    radial-gradient(ellipse 1000px 500px at 20% 20%, color-mix(in srgb, var(--lp-signature) 18%, transparent) 0%, transparent 55%),
    radial-gradient(ellipse 800px 500px at 80% 80%, rgba(183, 148, 244, 0.20) 0%, transparent 55%),
    linear-gradient(180deg, #100B26 0%, #0A081E 100%);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 30%, transparent);
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  align-items: center;
  max-width: 1320px;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .personalyear-page .final-cta {
    grid-template-columns: 1fr;
    padding: 56px 28px;
    gap: 40px;
    text-align: center;
  }
}
.personalyear-page .final-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 15% 25%, rgba(255,255,255,0.7) 0.6px, transparent 1.2px),
    radial-gradient(circle at 35% 78%, color-mix(in srgb, var(--lp-signature) 50%, transparent) 0.5px, transparent 1.1px),
    radial-gradient(circle at 78% 22%, rgba(255,255,255,0.5) 0.5px, transparent 1.1px),
    radial-gradient(circle at 92% 70%, rgba(183,148,244,0.5) 0.6px, transparent 1.2px);
  pointer-events: none;
  opacity: 0.5;
}
.personalyear-page .final-cta-content { position: relative; }
.personalyear-page .final-cta h2 {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: clamp(32px, 4.4vw, 52px);
  line-height: 1.05;
  color: var(--text-1);
  margin: 0 0 22px;
  text-wrap: balance;
}
.personalyear-page .final-cta h2 em {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  background: linear-gradient(180deg, var(--lp-signature-bright) 0%, var(--lp-signature) 60%, var(--lp-signature-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.personalyear-page .final-cta p {
  font-size: 17px;
  line-height: 1.6;
  color: var(--text-2);
  max-width: 48ch;
  margin: 0 0 32px;
}
@media (max-width: 900px) {
  .personalyear-page .final-cta p { margin-left: auto; margin-right: auto; }
}
.personalyear-page .final-cta-buttons {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}
@media (max-width: 900px) {
  .personalyear-page .final-cta-buttons { justify-content: center; }
}
.personalyear-page .final-cta-trust {
  font-size: 12.5px;
  color: var(--text-4);
  letter-spacing: 0.04em;
}
.personalyear-page .final-cta-chips {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px;
  background: rgba(15, 13, 46, 0.7);
  border: 1px solid var(--border-card);
  border-radius: 22px;
  backdrop-filter: blur(14px);
}
.personalyear-page .final-cta-chip {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  background: color-mix(in srgb, var(--lp-signature) 4%, transparent);
  border: 1px solid color-mix(in srgb, var(--lp-signature) 18%, transparent);
  border-radius: 12px;
  font-size: 14px;
  color: var(--text-1);
}
.personalyear-page .final-cta-chip-icon {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--lp-signature) 14%, transparent);
  color: var(--lp-signature-bright);
  flex-shrink: 0;
}
.personalyear-page .final-cta-chip strong { color: var(--lp-signature-bright); }
.personalyear-page .final-cta-chip span.dim { color: var(--text-3); }

/* ═══════════════════════════════════════════════════════
   FAQ ACCORDION (light variant for PY page; LP page has its own)
═══════════════════════════════════════════════════════ */
.personalyear-page .faq-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.personalyear-page .faq-item {
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 200ms;
}
.personalyear-page .faq-item.open {
  border-color: color-mix(in srgb, var(--py-violet) 42%, transparent);
}
.personalyear-page .faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 16px;
  color: var(--text-1);
  transition: background 160ms;
}
.personalyear-page .faq-q:hover {
  background: rgba(183, 148, 244, 0.04);
}
.personalyear-page .faq-q-num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: var(--py-violet);
  margin-right: 14px;
  display: inline-block;
}
.personalyear-page .faq-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--py-violet) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--py-violet) 25%, transparent);
  color: var(--py-violet);
  transition: background 200ms, color 200ms, transform 200ms;
}
.personalyear-page .faq-item.open .faq-icon {
  background: var(--py-violet);
  color: var(--bg-0);
  transform: rotate(45deg);
}
.personalyear-page .faq-a {
  overflow: hidden;
  max-height: 0;
  transition: max-height 320ms ease, padding 320ms ease;
}
.personalyear-page .faq-item.open .faq-a {
  max-height: 400px;
  padding: 0 24px 22px;
}
.personalyear-page .faq-a p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--text-2);
  margin: 0;
  text-wrap: pretty;
}
