body.academy-directory-page {
  --dir-black: #08070a;
  --dir-black-2: #110d13;
  --dir-panel: #171119;
  --dir-pink: #ff4cb5;
  --dir-pink-light: #ffc9e9;
  --dir-white: #fff9fd;
  --dir-muted: #c5bac4;
  --dir-rule: rgba(255, 201, 233, .2);
  margin: 0;
  background: var(--dir-black);
  color: var(--dir-white);
  font-family: 'TildaSans', Arial, sans-serif;
  line-height: 1.5;
}
.academy-directory-page *, .academy-directory-page *::before, .academy-directory-page *::after { box-sizing: border-box; }
.academy-directory-page a { color: inherit; }
.directory-shell { width: min(1240px, calc(100% - 56px)); margin-inline: auto; }
.directory-skip { position: absolute; z-index: 20; top: -60px; left: 16px; padding: 10px 14px; background: var(--dir-pink); color: var(--dir-black) !important; }
.directory-skip:focus { top: 12px; }
.directory-header { position: relative; z-index: 2; border-bottom: 1px solid var(--dir-rule); background: var(--dir-black); }
.directory-header__inner { display: flex; justify-content: space-between; align-items: center; min-height: 76px; gap: 28px; }
.directory-brand { display: inline-flex; flex-direction: column; gap: 1px; color: var(--dir-white) !important; font-size: 19px; font-weight: 700; line-height: 1.05; text-decoration: none; }
.directory-brand small { color: var(--dir-muted); font-size: 11px; font-weight: 400; }
.directory-header nav { display: flex; align-items: center; gap: 28px; }
.directory-header nav a { color: var(--dir-muted); font-size: 14px; text-decoration: none; transition: color .2s ease; }
.directory-header nav a:hover { color: var(--dir-pink-light); }
.academy-directory { display: block; overflow: hidden; background: var(--dir-black); }
.directory-hero { padding: clamp(38px, 6vw, 78px) 0 30px; }
.directory-crumbs { display: flex; gap: 10px; margin-bottom: 32px; color: var(--dir-muted); font-size: 13px; }
.directory-crumbs a { text-decoration: underline; text-underline-offset: 3px; }
.directory-crumbs [aria-current] { color: var(--dir-pink-light); }
.directory-hero__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr); gap: clamp(35px, 6vw, 100px); align-items: end; }
.directory-kicker { margin: 0 0 14px; color: var(--dir-pink); font-size: 13px; font-weight: 700; }
.directory-hero h1 { max-width: 840px; margin: 0; color: var(--dir-white); font-size: clamp(42px, 6.5vw, 80px); line-height: .98; letter-spacing: -.05em; font-weight: 700; }
.directory-marketing { max-width: 620px; margin: 22px 0 10px; color: var(--dir-pink-light); font-size: clamp(18px, 2vw, 24px); font-weight: 600; line-height: 1.28; }
.directory-lead { max-width: 630px; margin: 12px 0 26px; color: var(--dir-muted); font-size: 17px; }
.directory-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.directory-button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 11px 20px; border: 1px solid var(--dir-pink); border-radius: 3px; background: var(--dir-pink); color: var(--dir-black) !important; font-size: 14px; font-weight: 700; text-decoration: none; transition: transform .2s ease, background .2s ease, color .2s ease; }
.directory-button:hover { transform: translateY(-2px); background: transparent; color: var(--dir-pink-light) !important; }
.directory-text-link { color: var(--dir-pink-light) !important; font-size: 14px; text-underline-offset: 4px; }
.directory-note { position: relative; padding: 26px 25px 24px; border: 1px solid rgba(255, 76, 181, .58); background: radial-gradient(ellipse at top right, rgba(255, 76, 181, .15), transparent 68%), var(--dir-black-2); }
.directory-note__mark { display: block; margin-bottom: 14px; color: var(--dir-pink); font-size: 25px; }
.directory-note h2 { margin: 0 0 8px; color: var(--dir-white); font-size: 19px; }
.directory-note p { margin: 0; color: var(--dir-muted); font-size: 14px; line-height: 1.55; }
.directory-stats { display: flex; align-items: baseline; gap: 14px; margin-top: 48px; padding: 16px 0; border-top: 1px solid var(--dir-rule); border-bottom: 1px solid var(--dir-rule); color: var(--dir-muted); font-size: 13px; }
.directory-stats strong { color: var(--dir-pink); font-size: 22px; }
.directory-stats a { margin-left: auto; color: var(--dir-pink-light); font-weight: 700; text-decoration: none; }
.directory-stats a:hover { text-decoration: underline; text-underline-offset: 4px; }
/* The proof section is preserved from the source page; variables keep it aligned with this palette. */
.academy-proof { border-block: 1px solid var(--dir-rule); background: var(--dir-black-2); }
.academy-proof__intro { color: var(--dir-pink) !important; }
.academy-proof__certificate { border-color: rgba(255, 76, 181, .65) !important; background: #21131f !important; }
.directory-list-section { padding: clamp(52px, 7vw, 88px) 0 72px; scroll-margin-top: 24px; }
.directory-list-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 430px); gap: 50px; align-items: end; margin-bottom: 28px; }
.directory-list-head h2 { margin: 0; color: var(--dir-white); font-size: clamp(32px, 4vw, 48px); line-height: 1.05; letter-spacing: -.04em; }
.directory-list-intro { max-width: 520px; margin: 12px 0 0; color: var(--dir-muted); font-size: 16px; }
.directory-search label { display: block; margin-bottom: 8px; color: var(--dir-muted); font-size: 13px; }
.directory-search .search { width: 100%; min-height: 48px; padding: 11px 14px; border: 1px solid #5a4655; border-radius: 2px; background: var(--dir-panel); color: var(--dir-white); font: inherit; }
.directory-search .search::placeholder { color: #a99aa5; }
.directory-search #search-help, .directory-count { margin: 7px 0 0; color: var(--dir-muted); font-size: 12px; }
.directory-count output { color: var(--dir-pink-light); font-weight: 700; }
.directory-cities-wrap { padding-top: 18px; border-top: 1px solid var(--dir-rule); }
.academy-directory .cities { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; margin: 0; padding: 0; columns: auto; list-style: none; }
.academy-directory .cities li { min-width: 0; padding: 0; border: 1px solid rgba(255, 201, 233, .14); background: var(--dir-panel); break-inside: auto; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.academy-directory .cities li:hover { border-color: rgba(255, 76, 181, .65); background: #211521; transform: translateY(-1px); }
.academy-directory .cities li[hidden] { display: none !important; }
.academy-directory .cities li a { display: block; overflow-wrap: anywhere; padding: 8px 10px 1px; color: var(--dir-white); font-size: 13px; font-weight: 600; line-height: 1.25; text-decoration: none; }
.academy-directory .cities li a:hover { color: var(--dir-pink-light); }
.academy-directory .cities li small { display: block; padding: 0 10px 8px; overflow-wrap: anywhere; color: var(--dir-muted); font-size: 11px; line-height: 1.25; }
.academy-directory .source { max-width: 900px; margin: 38px auto 0; padding-top: 20px; border-top: 1px solid var(--dir-rule); color: var(--dir-muted); font-size: 12px; }
.academy-directory .source a { color: var(--dir-pink-light); text-underline-offset: 3px; }
.directory-course-cta { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin: 0 0 72px; padding: 30px clamp(22px, 4vw, 48px); border: 1px solid rgba(255, 76, 181, .55); background: radial-gradient(ellipse at right, rgba(255, 76, 181, .13), transparent 70%), var(--dir-black-2); }
.directory-course-cta h2 { margin: 0; color: var(--dir-white); font-size: clamp(25px, 3vw, 36px); letter-spacing: -.03em; }
.directory-course-cta p:not(.directory-kicker) { max-width: 660px; margin: 8px 0 0; color: var(--dir-muted); font-size: 14px; }
.directory-course-cta .directory-kicker { margin-bottom: 8px; }
.directory-footer { padding: 30px 0; background: #050406; color: var(--dir-muted); font-size: 12px; }
.directory-footer__inner { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 24px 40px; }
.directory-footer p { margin: 0 0 7px; }
.directory-footer strong { color: var(--dir-white); }
.directory-footer a { color: var(--dir-pink-light); text-underline-offset: 3px; }
.directory-button:focus-visible, .directory-text-link:focus-visible, .directory-header a:focus-visible, .directory-stats a:focus-visible, .academy-directory .cities a:focus-visible, .directory-search input:focus-visible { outline: 3px solid var(--dir-pink-light); outline-offset: 3px; }
.directory-is-enhanced [data-directory-reveal] { opacity: 0; transform: translateY(12px); transition: opacity .5s ease, transform .5s ease; }
.directory-is-enhanced [data-directory-reveal].is-visible { opacity: 1; transform: none; }
@media (max-width: 1050px) { .academy-directory .cities { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .directory-shell { width: min(100% - 36px, 640px); }
  .directory-header__inner { min-height: 68px; gap: 16px; }
  .directory-header nav { gap: 16px; }
  .directory-header nav a { font-size: 12px; }
  .directory-hero__grid { grid-template-columns: 1fr; gap: 30px; }
  .directory-note { max-width: none; }
  .directory-stats { flex-wrap: wrap; row-gap: 5px; }
  .directory-stats span { flex: 1 1 60%; }
  .directory-list-head { grid-template-columns: 1fr; gap: 24px; }
  .academy-directory .cities { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .directory-course-cta { align-items: flex-start; flex-direction: column; }
  .academy-proof { padding: 52px 0; }
}
@media (max-width: 480px) {
  .directory-shell { width: calc(100% - 28px); }
  .directory-brand { font-size: 16px; }
  .directory-brand small { font-size: 9px; }
  .directory-header nav { gap: 10px; }
  .directory-header nav a { font-size: 11px; }
  .directory-header nav a:first-child { display: none; }
  .directory-hero { padding-top: 30px; }
  .directory-crumbs { margin-bottom: 24px; }
  .directory-hero h1 { font-size: clamp(38px, 11vw, 48px); }
  .directory-marketing { font-size: 19px; }
  .directory-stats { align-items: center; }
  .directory-stats a { flex: 1 0 100%; margin: 6px 0 0; }
  .academy-directory .cities { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .academy-directory .cities li a { padding: 8px 8px 1px; font-size: 12px; }
  .academy-directory .cities li small { padding: 0 8px 7px; font-size: 10px; }
  .directory-footer__inner { display: block; }
  .directory-footer__inner > div + div { margin-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .academy-directory-page *, .academy-directory-page *::before, .academy-directory-page *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
.directory-cities-wrap{max-height:620px;overflow:auto;scrollbar-color:#ff4cb5 #171119;overscroll-behavior:contain;border-bottom:1px solid var(--dir-rule);padding-bottom:14px;scroll-padding:12px}.directory-quick{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.directory-quick button{font:inherit;font-size:14px;padding:9px 14px;border:1px solid var(--dir-rule);border-radius:99px;color:var(--dir-pink-light);background:var(--dir-panel);cursor:pointer}.directory-quick button:hover{border-color:var(--dir-pink)}.directory-empty{color:var(--dir-pink-light)}.directory-empty[hidden]{display:none}.directory-cities-wrap:focus-visible{outline:2px solid var(--dir-pink);outline-offset:5px}@media(max-width:640px){.directory-cities-wrap{max-height:560px}}
