/* v19 — neighboring slides stay in the page margins around the central banner. */
.banner-slider {overflow:clip}
.banner-stage {position:relative; isolation:isolate}
.banner-stage>.banner-viewport {position:relative; z-index:2}
.banner-preview {display:none; position:absolute; top:0; width:100%; height:100%; padding:0; border:0; border-radius:20px; overflow:hidden; background:#fff; cursor:pointer; opacity:.32; transform:scale(.91); filter:saturate(.84); transition:opacity .24s ease,filter .24s ease; box-shadow:0 8px 24px #162b4912}
.banner-preview-prev {right:calc(100% + 28px); transform-origin:right center}
.banner-preview-next {left:calc(100% + 28px); transform-origin:left center}
.banner-preview img {display:block; width:100%; height:100%; object-fit:contain}
.banner-preview:focus-visible {opacity:.62; outline:3px solid #275ec7; outline-offset:5px}
@media(min-width:1440px) {.banner-preview:not([hidden]) {display:block}}
@media(hover:hover) {.banner-preview:hover {opacity:.52; filter:saturate(1)}}
@media(prefers-reduced-motion:reduce) {.banner-preview {transition:none}}

/* TKM masthead */
.academy-header {
  --ink: #132951; --cobalt: #234fc1; --gold: #ffcc50;
  --utility-height: 34px;
  top: calc(-1 * var(--utility-height)); background: white; color: var(--ink);
  box-shadow: 0 4px 16px #10224917;
}
.academy-wrap {width: min(1260px, calc(100% - 48px)); margin-inline:auto}
.academy-utility {background:#eff3fa; border-bottom:1px solid #dce4f1}
.utility-content {min-height:calc(var(--utility-height) - 1px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px}
.utility-contact, .utility-contact a, .utility-channels, .utility-links, .community-announcement {display:flex; align-items:center}
.utility-contact {gap:13px; font-size:11px; font-weight:600; font-variant-numeric:tabular-nums}
.utility-contact a {gap:7px}
.utility-contact .icon {width:14px;height:14px}
.utility-channels {gap:12px; padding-left:13px; border-left:1px solid #bccbe0; color:#405775}
.utility-links {justify-self:end; gap:17px; font-size:10px; font-weight:500}
.utility-links a:hover, .utility-contact a:hover {color:var(--cobalt); text-decoration:underline; text-underline-offset:3px}
.community-announcement {gap:9px; color:#324968; font-size:11px; font-weight:500}
.community-announcement a {display:inline-flex; align-items:center; gap:4px; flex:none; padding:2px 9px; border:1px solid #b9dfd0; border-radius:5px; background:#def3e9; color:#136c4b; font-size:10px; line-height:1.7; font-weight:600; white-space:nowrap}
.community-announcement a:hover {background:#c8ebdc; border-color:#92cbb4}
.community-announcement a:focus-visible {outline:2px solid #17805c; outline-offset:2px}
.community-announcement .icon {width:11px; height:11px}
.academy-desk {display:flex; align-items:center; gap:clamp(16px,2.1vw,32px); min-height:90px}
.academy-logo {flex:none; padding-right:clamp(14px,1.8vw,29px); border-right:1px solid #dfe5f1}
.academy-logo img {width:111px; height:auto}
.academy-search {flex:1 1 400px; max-width:504px; min-width:0; height:48px; display:flex; align-items:center; padding:4px; border:1px solid #c7d2e5; border-radius:12px; background:#f6f8fc}
.academy-search:focus-within {outline:2px solid #406fd4; outline-offset:2px; background:white}
.academy-search input {min-width:0; flex:1; width:100%; padding:9px 6px 9px 12px; color:var(--ink); font-size:13px; background:transparent; border:none; outline:0}
.academy-search input::placeholder {color:#526480}
.academy-search button {height:100%; display:flex; gap:7px; align-items:center; justify-content:center; padding:0 13px; color:white; background:var(--ink); border-radius:8px; font-size:12px; font-weight:600}
.academy-search .icon {width:17px; height:17px; stroke-width:2.2}
.academy-search button:hover {background:var(--cobalt)}
.academy-actions {flex:none; display:flex; align-items:center; gap:8px; margin-left:auto}
.academy-wa {display:flex; align-items:center; justify-content:flex-start; margin-right:7px; padding-right:18px; border-right:1px solid #dfe5f1; min-height:42px}
.academy-wa picture {display:block; line-height:0; border-radius:13px; box-shadow:0 3px 8px #068c551c; transition:transform .18s ease,box-shadow .18s ease}
.academy-wa img {display:block; width:164px; height:auto}
.academy-wa:focus-visible {outline:2px solid #078750; outline-offset:4px; border-radius:13px}
@media(hover:hover) {.academy-wa:hover picture {transform:translateY(-1px); box-shadow:0 5px 12px #068c5529}}
@media(prefers-reduced-motion:reduce) {.academy-wa picture {transition:none}}
.calculator-trigger {width:46px; height:43px; flex:none; display:grid; place-items:center; border:1px solid #cfdef4; border-radius:11px; background:#edf4ff; transition:background .18s,border-color .18s}
.calculator-trigger img {width:37px; height:37px}
.calculator-trigger:hover {background:#ddeaff; border-color:#8baae1}
.calculator-trigger:focus-visible {outline:2px solid #3159bd; outline-offset:3px}
.desk-account,.desk-lessons,.desk-cart {min-height:43px; border-radius:10px; display:inline-flex; justify-content:center; align-items:center; gap:8px; white-space:nowrap; font-size:13px; font-weight:600; line-height:1.2}
.desk-account {padding:0 12px; color:var(--ink)}
.desk-account:hover,.desk-cart:hover {background:#e7eef9}
.desk-lessons {padding:0 16px; background:linear-gradient(110deg,#254fb3,#1b3e94); color:white; box-shadow:inset 0 1px 0 #ffffff3d,0 3px 7px #1d439220}
.desk-lessons:hover {background:#193b89}
.desk-cart {width:43px; position:relative; color:var(--ink); border:1px solid #d9e1ee; background:#f7f9fc}
.academy-actions .icon {width:19px; height:19px}
.desk-cart .cart-count {position:absolute; left:auto; right:-3px; top:-5px; min-width:16px; height:16px; padding:0 3px; display:grid; place-items:center; border-radius:9px; background:var(--gold); color:#292813; font-size:9px; line-height:1; box-shadow:0 0 0 2px white}
.cart-dialog .drawer-actions {display:grid; grid-template-columns:1fr 1fr; gap:10px}
.cart-dialog .drawer-actions .button {min-height:45px; padding:11px 12px; font-size:12px; gap:7px}
.cart-dialog .drawer-actions .icon {width:16px; height:16px}
.cart-dialog .drawer-cart-link {background:#f0f5ff; color:#315ba7; border:1px solid #d2def3; box-shadow:none}
.cart-dialog .drawer-cart-link:hover {background:#e3edff}
.cart-dialog .cart-item>img {object-fit:contain; background:#f7f9fc}
.cart-dialog .drawer-header .cart-count {color:#4264ab}
.cart-dialog .cart-continue {text-align:center}
.academy-rail {
  background:white; color:#253449;
  border-top:1px solid #f1f3f6; border-bottom:1px solid #e9edf4;
}
.academy-nav-shell {position:relative; display:flex; align-items:center; gap:18px}
.catalog-rail-links {min-width:0; flex:1; display:flex; align-items:stretch; justify-content:space-between; overflow-x:auto; scrollbar-width:none; overscroll-behavior-x:contain}
.catalog-rail-links::-webkit-scrollbar {display:none}
.catalog-link {position:relative; flex:none; display:flex; align-items:center; justify-content:center; gap:6px; min-height:54px; padding:0 8px; font-size:13px; font-weight:600; white-space:nowrap; color:inherit}
.catalog-link::after {content:""; position:absolute; bottom:0; left:8px; right:8px; height:2px; background:var(--cobalt); transform:scaleX(0); transition:transform .15s}
.catalog-link:is(:hover,[aria-current]) {color:var(--cobalt)}
.catalog-link:is(:hover,[aria-current],:focus-visible)::after {transform:scaleX(1)}
.catalog-link:focus-visible {outline-offset:-4px; outline-color:var(--cobalt)}
.catalog-badge {display:inline-flex; align-items:center; padding:3px 6px; border:1px solid transparent; border-radius:5px; font-size:8px; font-weight:600; line-height:1.25; letter-spacing:-.1px}
.badge-amber {background:#fff1ce; color:#865500; border-color:#f2dfa6}
.badge-green {background:#def5eb; color:#146447; border-color:#bce7d4}
.book-activation {flex:none; display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:34px; padding:7px 12px; border:1px solid #cedaf4; border-radius:8px; background:#eef3ff; color:#244a99; font-size:12px; font-weight:600; white-space:nowrap; line-height:1.3; transition:background .18s,border-color .18s}
.book-activation .icon {width:18px; height:18px; color:#a77712}
.book-activation:hover {background:#e0eaff; border-color:#a9bee9}
.book-activation:focus-visible {outline:2px solid #3159bd; outline-offset:2px}
/* One diagonal reflection per entry; the original graphics stay legible and clickable. */
.archive-banner,.banner-viewport>a {position:relative; overflow:hidden; isolation:isolate}
.archive-banner::after,.banner-viewport>a::after {content:""; position:absolute; inset:0; pointer-events:none; opacity:0; transform:translateX(-130%); background:linear-gradient(109deg,transparent 38%,#ffffff12 45%,#ffffff63 49%,#ffffff24 53%,transparent 60%)}
.banner-viewport>a::after {background:linear-gradient(109deg,transparent 36%,#ffffff32 49%,transparent 62%)}
@keyframes academy-sheen {0%{opacity:0; transform:translateX(-95%)} 16%,78%{opacity:1} 100%{opacity:0; transform:translateX(95%)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  :is(.archive-banner,.banner-viewport>a):hover::after {animation:academy-sheen .68s ease-out 1}
}
@media(prefers-reduced-motion:no-preference) {
  :is(.archive-banner,.banner-viewport>a):focus-visible::after {animation:academy-sheen .68s ease-out 1}
}
@media(prefers-reduced-motion:reduce) {
  .archive-banner:hover {transform:none}
}
@media(max-width:1050px) {
  .academy-desk {gap:15px; min-height:82px}
  .academy-logo {padding-right:14px}
  .academy-logo img {width:94px}
  .academy-wa {padding-right:10px; margin-right:0}
  .academy-wa img {width:148px}
  .calculator-trigger {width:39px; height:41px}
  .calculator-trigger img {width:33px; height:33px}
  .academy-actions {gap:5px}
  .desk-account,.desk-lessons {padding-inline:10px; font-size:12px}
  .academy-nav-shell {gap:12px}
  .catalog-link {font-size:12px; padding:0 9px}
  .book-activation {font-size:11px; padding-inline:10px}
}
@media(max-width:900px) {
  .utility-content {display:flex; justify-content:center}
  .utility-contact,.utility-links {display:none}
}
@media(max-width:760px) {
  .academy-header {--utility-height:28px}
  .academy-wrap {width:calc(100% - 32px)}
  .utility-content {min-height:27px}
  .community-announcement {font-size:9px; gap:6px}
  .community-announcement a {font-size:9px; padding:1px 6px}
  .academy-desk {display:grid; grid-template-columns:auto minmax(0,1fr); min-height:0; gap:6px 8px; padding:7px 0 10px}
  .academy-logo {border:0; padding:0}
  .academy-logo img {width:75px}
  .academy-actions {grid-column:2; grid-row:1; gap:4px}
  .academy-wa {width:32px; min-height:40px; padding:0; border:0}
  .academy-wa picture {border-radius:10px}
  .academy-wa img {width:32px; height:32px}
  .calculator-trigger {width:32px; height:36px; border-radius:8px}
  .calculator-trigger img {width:30px; height:30px}
  .desk-account,.desk-lessons,.desk-cart {min-height:38px; gap:4px; font-size:11px; padding:0 8px; border-radius:8px}
  .desk-cart {width:32px; padding:0}
  .desk-account .icon {display:none}
  .academy-actions .icon {width:16px; height:16px}
  .academy-search {grid-column:1/-1; grid-row:2; width:100%; max-width:none; height:40px; border-radius:9px; padding:3px}
  .academy-search input {font-size:12px}
  .academy-search button {border-radius:6px; padding:0 12px}
  .academy-nav-shell {gap:8px}
  .catalog-link {min-height:46px; padding:0 9px; font-size:11px; gap:5px}
  .catalog-badge {font-size:7px; padding:3px 4px}
  .book-activation {min-height:32px; padding:6px 8px; gap:5px; font-size:10px; border-radius:7px}
  .book-activation .icon {width:16px; height:16px}
}
@media(max-width:375px) {
  .community-announcement {font-size:8px; gap:4px}
  .community-announcement a {font-size:8px; padding-inline:5px; gap:2px}
  .academy-logo img {width:61px}
  .academy-wa {width:28px}
  .academy-wa img {width:28px; height:28px}
  .calculator-trigger {width:27px; height:34px}
  .calculator-trigger img {width:26px; height:26px}
  .academy-actions {gap:2px}
  .desk-account,.desk-lessons {padding:0 6px; font-size:10px}
  .desk-lessons .icon {display:none}
  .desk-cart {width:29px}
}

/* Consistent spacing above and below the counselling card. */
.guidance-section {padding-block:48px}
.guidance-section .contact-cta {margin:0}
/* Centre the three service groups within equally sized columns. */
.footer-service-strip {padding:36px 0 30px}
.footer-services {grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:center; padding-bottom:30px}
.footer-service {min-width:0; justify-content:center; align-items:center; gap:15px}
.footer-service>div {min-width:0}
.footer-service>div>strong.service-number {font-size:23px; white-space:nowrap; font-variant-numeric:tabular-nums}
.footer-service p {max-width:250px}
@media(min-width:761px) and (max-width:1100px) {
  .footer-services {gap:18px}
  .footer-service {gap:10px}
  .footer-service>div>strong.service-number {font-size:18px}
  .footer-service p {font-size:10px}
}
@media(max-width:760px) {
  .guidance-section {padding-block:32px}
  .footer-service-strip {padding:28px 0 24px}
  .footer-services {grid-template-columns:1fr; gap:24px; padding-bottom:28px}
  .footer-service {width:min(100%,320px); margin-inline:auto; justify-content:flex-start; gap:15px}
  .footer-service>div>strong.service-number {font-size:21px}
  .footer-service p {font-size:11px; max-width:265px}
}
/* Full-width within the same content column as the slider and category banners. */
.achievement-banner {padding:12px 0 4px}
.achievement-banner>.container {width:min(1260px,calc(100% - 48px))}
.achievement-banner img {display:block; width:100%; height:auto; border-radius:12px}
/* Portrait package artwork stays fully visible, including on hover. */
.catalog-product {display:flex; flex-direction:column; min-width:0}
.catalog-product .product-image {aspect-ratio:3/4; border-radius:12px; background:#f4f6fb; flex:none}
.catalog-product .product-image>img {width:100%; height:100%; object-fit:contain; object-position:center}
.catalog-product .product-image:hover>img {transform:none}
.catalog-product .product-copy {display:flex; flex-direction:column; flex:1}
.catalog-product .product-bottom {margin-top:auto; padding-top:16px}
/* Decorative only: images never intercept clicks or receive focus. */
.degree-rain {position:fixed; inset:0; overflow:hidden; pointer-events:none; z-index:20; contain:strict}
.degree-rain[hidden] {display:none}
.degree-flake {position:absolute; left:var(--fall-x); top:0; width:var(--badge-width); display:block; pointer-events:none; animation:degree-fall var(--fall-time) var(--fall-delay) linear infinite; will-change:transform}
.degree-flake img {display:block; width:100%; height:auto; user-select:none; pointer-events:none}
.degree-rain.is-paused .degree-flake {animation-play-state:paused}
@keyframes degree-fall {
  0% {transform:translate3d(0,-140px,0) rotate(var(--tilt-start)); opacity:0}
  12% {opacity:.56}
  50% {transform:translate3d(var(--drift-mid),50dvh,0) rotate(var(--tilt-mid)); opacity:.52}
  88% {opacity:.56}
  100% {transform:translate3d(var(--drift-end),calc(100dvh + 140px),0) rotate(var(--tilt-end)); opacity:0}
}
.degree-rain-toggle {position:fixed; left:16px; bottom:18px; z-index:31; display:flex; align-items:center; gap:6px; min-height:34px; padding:7px 11px; border:1px solid #d6e1f0; border-radius:20px; background:#fffffff2; color:#465a77; font-size:10px; font-weight:500; box-shadow:0 3px 12px #172d4d12}
.degree-rain-toggle[hidden] {display:none}
.degree-rain-toggle>span:first-child {font-size:16px; color:#3159bd; line-height:1}
.degree-rain-toggle:focus-visible {outline:2px solid #3159bd; outline-offset:3px}
.degree-rain-toggle:hover {background:#edf4ff}
@media(max-width:760px) {
  .achievement-banner {padding-top:8px}
  .achievement-banner>.container {width:calc(100% - 32px)}
  .achievement-banner img {border-radius:7px}
  .catalog-product .product-image {border-radius:8px}
  .degree-rain-toggle {left:10px; bottom:16px; font-size:9px; padding:6px 9px}
}
@media(prefers-reduced-motion:reduce) {
  .degree-rain,.degree-rain-toggle {display:none!important}
  .calculator-trigger {transition:none}
}

/* Gold Board: a continuous left-to-right ribbon, above the counselling card. */
.gold-board {padding:28px 0 0; color:#152648}
.gold-board-inner {width:100%; max-width:none; overflow:hidden; padding:32px 0 22px; border-block:1px solid #ecdfba; border-inline:0; border-radius:0; background:radial-gradient(ellipse at 92% 0,#fae6ae80,transparent 52%),linear-gradient(125deg,#fffdf8,#fbf6e9 75%,#fffdf8)}
.gold-board-heading {display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; padding:0 32px 25px}
.gold-board-heading>div {grid-column:2; text-align:center}
.gold-board-eyebrow {font-size:10px; letter-spacing:.19em; font-weight:700; color:#9b7123}
.gold-board-heading h2 {display:flex; justify-content:center; align-items:center; gap:12px; margin:5px 0 4px; font-size:36px; line-height:1.2; letter-spacing:-1px; color:#1d2c47}
.gold-board-heading h2>span {font-size:27px; color:#c89b3c}
.gold-board-heading p {margin:0; color:#7a7569; font-size:12px}
.gold-board-toggle {grid-column:3; justify-self:end; display:flex; align-items:center; gap:8px; min-height:38px; padding:8px 14px; border:1px solid #dfcfab; border-radius:100px; background:#fffaf0; color:#80601e; font-size:11px; font-weight:600}
.gold-board-toggle[hidden] {display:none}
.gold-board-toggle:hover {background:#f6e8c6}
.gold-board-toggle:focus-visible,.gold-board-window:focus-visible {outline:2px solid #aa7a1e; outline-offset:3px}
.gold-toggle-icon {width:12px; text-align:center; font-size:12px}
.gold-board-window {overflow-x:auto; scrollbar-width:thin; scrollbar-color:#cfb26b #f8f0dc; padding:4px 0 10px; outline-offset:-3px}
.gold-board-track {display:flex; width:max-content}
.gold-board-group {display:flex; align-items:stretch; gap:16px; flex:none; width:max-content; list-style:none; margin:0; padding:0 16px 0 0}
.gold-card {position:relative; flex:0 0 208px; width:208px; margin:0; padding:14px 10px 18px; text-align:center; border:1px solid #ebdfc4; border-radius:17px; background:linear-gradient(160deg,#fff,#fffcf3); box-shadow:0 5px 13px #80601e07}
.gold-card-year {display:inline-block; border-radius:6px; padding:3px 11px; color:#997025; background:#f7edd3; font-size:11px; font-weight:700; letter-spacing:.05em}
.gold-card img {display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; margin:4px auto 7px}
.gold-card-caption h3 {margin:0 0 4px; font-size:14px; line-height:1.4; font-weight:700; color:#25324a}
.gold-card-caption p {margin:0; color:#8e794e; font-size:11px}
.gold-card-caption strong {color:#a37113; font-weight:700}
.gold-board-copy {display:none}
.gold-board.is-animated .gold-board-window {overflow:hidden; mask-image:linear-gradient(to right,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.gold-board.is-animated .gold-board-track {animation:gold-pan-right 160s linear infinite; will-change:transform}
.gold-board.is-animated .gold-board-copy {display:flex}
.gold-board.is-paused .gold-board-track,.gold-board.is-animated .gold-board-window:hover .gold-board-track {animation-play-state:paused}
.gold-board.is-browsing .gold-board-window {overflow-x:auto; mask-image:none}
.gold-board.is-browsing .gold-board-track {animation:none; transform:none}
.gold-board.is-browsing .gold-board-copy {display:none}
.gold-board-footnote {display:flex; justify-content:center; align-items:center; gap:7px; padding:16px 20px 0; font-size:10px; color:#9c8452}
.gold-board-footnote>span {font-size:18px}
@keyframes gold-pan-right {from {transform:translate3d(-50%,0,0)} to {transform:translate3d(0,0,0)}}
@media(max-width:760px) {
  .gold-board {padding-top:12px}
  .gold-board-inner {padding:24px 0 18px}
  .gold-board-heading {grid-template-columns:1fr; padding:0 18px 20px; gap:12px}
  .gold-board-heading>div {grid-column:1}
  .gold-board-heading h2 {font-size:28px; letter-spacing:-.7px; gap:8px}
  .gold-board-heading p {font-size:10px; max-width:none}
  .gold-board-eyebrow {font-size:8px; letter-spacing:.12em}
  .gold-board-toggle {grid-column:1; justify-self:center; padding:8px 10px; font-size:10px}
  .gold-card {flex-basis:174px; width:174px; padding:12px 8px 15px; border-radius:13px}
  .gold-card-caption h3 {font-size:12px}
  .gold-board-group {gap:12px; padding-right:12px}
  .gold-board.is-animated .gold-board-track {animation-duration:130s}
  .gold-board-footnote {font-size:8px; padding-top:12px}
}
@media(prefers-reduced-motion:reduce) {
  .gold-board .gold-board-track {animation:none!important; transform:none!important}
  .gold-board .gold-board-copy {display:none!important}
  .gold-board .gold-board-window {overflow-x:auto!important; mask-image:none!important}
}

/* v21 — testimonials and the full-width awards gallery share one surface. */
.success-showcase {
  position:relative; isolation:isolate; overflow:clip; padding:58px 0 30px;
  background:radial-gradient(ellipse at 0 0,#e9f1ff9c,transparent 52%),radial-gradient(ellipse at 100% 100%,#f6dfac73,transparent 52%),#fcfaf5;
  border-block:1px solid #e9e6dc; color:#1d2c47;
}
.success-showcase .testimonials {padding:0; background:transparent; scroll-margin-top:160px}
.success-showcase .testimonials>.container {width:min(1260px,calc(100% - 64px))}
.success-showcase .testimonials .section-heading {margin-bottom:30px; gap:10px}
.success-showcase .testimonials .eyebrow {display:inline-flex; align-items:center; padding:6px 14px; border:1px solid #e9d9b4; border-radius:100px; background:#fffaf0; color:#8a6624; font-size:10px; font-weight:600; letter-spacing:.15em}
.success-showcase .testimonials .section-heading h2 {margin:0; color:#1b2b48; font-size:38px; letter-spacing:-1px}
.success-showcase .testimonials .section-heading>p {margin:0; color:#697386; font-size:13px}
.success-showcase .reviews {gap:22px}
.success-showcase .review {min-height:272px; padding:25px 28px 22px; border:1px solid #e9e3d6; border-radius:20px; background:#ffffffeb; box-shadow:0 8px 24px #4b3c1710}
.success-showcase .review>p {font-size:12px; line-height:1.9; color:#596478; margin:13px 0 22px}
.success-showcase .review .stars {color:#b88a32; letter-spacing:3px}
.success-showcase .review .quote {color:#eddfbf}
.success-showcase .review-person {border-color:#eee7da; padding-top:15px}
.success-showcase .review-person strong {color:#24334c; font-size:12px}
.success-showcase .review-person>div>span {color:#92702e; font-size:10px}
.success-showcase .review-arrow {border-color:#e7dcc6; color:#886722; box-shadow:0 5px 16px #75613712}
.success-showcase .review-arrow:hover {background:#fff7e5}
.success-showcase .review-arrow:focus-visible {outline:2px solid #a37a27; outline-offset:3px}
.success-showcase .review-progress {width:132px; height:4px; margin:24px auto 8px; background:#e9e3d5}
.success-showcase .review-progress>span {background:#b98c37}
.success-showcase .review-count {color:#8d8473; font-size:10px}
.success-showcase .review-count>b {color:#7d6025}
.success-divider {display:flex; align-items:center; gap:17px; width:min(1000px,calc(100% - 64px)); margin:25px auto 26px; color:#b9954a}
.success-divider::before,.success-divider::after {content:''; flex:1; height:1px; background:linear-gradient(90deg,transparent,#ddcda9)}
.success-divider::after {transform:rotate(180deg)}
.success-divider span {font-size:18px; line-height:1}
.success-showcase .gold-board {padding:0; scroll-margin-top:160px}
.success-showcase .gold-board-inner {padding:0; background:transparent; border:0}
.success-showcase .gold-board-heading {width:min(1260px,calc(100% - 64px)); margin:0 auto; padding:0 0 25px; gap:16px}
.success-showcase .gold-board-heading h2 {font-size:30px; margin:0 0 7px; letter-spacing:-.7px}
.success-showcase .gold-board-heading h2>span {font-size:22px}
.success-showcase .gold-board-heading p {color:#837860; font-size:12px}
.success-showcase .gold-board-toggle {background:#ffffffb3; border-color:#dfcfaa; padding:9px 15px}
.success-showcase .gold-board-toggle:hover {background:#f9edcf}
.success-showcase .gold-board-window {padding:6px 0 14px}
.success-showcase .gold-board-group {gap:18px; padding-right:18px}
.success-showcase .gold-card {flex-basis:252px; width:252px; padding:16px 12px 19px; border-radius:20px; border-color:#e5d6b4; background:linear-gradient(155deg,#fff,#fffdf7); box-shadow:0 7px 18px #8b6e2d0a}
.success-showcase .gold-card-year {padding:4px 14px; border-radius:8px; background:#f7edda; color:#8b6421; font-size:12px}
.success-showcase .gold-card img {margin:5px auto 10px}
.success-showcase .gold-card-caption h3 {font-size:15px}
.success-showcase .gold-card-caption p {font-size:12px}
.success-showcase .gold-board-footnote {padding-top:12px; color:#998451; font-size:11px}
.success-showcase .gold-board.is-animated .gold-board-track {animation-duration:185s}
@media(max-width:1050px) {
  .success-showcase .review {padding:22px 20px; min-height:292px}
}
@media(max-width:760px) {
  .success-showcase {padding:34px 0 24px}
  .success-showcase .testimonials>.container {width:calc(100% - 40px)}
  .success-showcase .testimonials,.success-showcase .gold-board {scroll-margin-top:180px}
  .success-showcase .testimonials .section-heading {gap:10px; margin-bottom:24px}
  .success-showcase .testimonials .eyebrow {font-size:8px; padding:5px 11px; letter-spacing:.12em}
  .success-showcase .testimonials .section-heading h2 {font-size:29px; letter-spacing:-.6px}
  .success-showcase .testimonials .section-heading>p {font-size:11px; max-width:290px}
  .success-showcase .review {min-height:264px; padding:22px 24px; border-radius:17px}
  .success-showcase .review>p {font-size:12px}
  .success-showcase .review-progress {margin-top:20px}
  .success-divider {width:calc(100% - 48px); margin:22px auto; gap:12px}
  .success-showcase .gold-board-heading {width:calc(100% - 40px); padding-bottom:21px; gap:13px}
  .success-showcase .gold-board-heading h2 {font-size:27px}
  .success-showcase .gold-board-heading p {font-size:11px}
  .success-showcase .gold-board-toggle {padding:7px 13px}
  .success-showcase .gold-card {flex-basis:212px; width:212px; padding:14px 10px 17px; border-radius:17px}
  .success-showcase .gold-card-caption h3 {font-size:14px}
  .success-showcase .gold-card-caption p {font-size:11px}
  .success-showcase .gold-board-group {gap:13px; padding-right:13px}
  .success-showcase .gold-board-footnote {font-size:9px; padding-inline:16px; gap:5px}
  .success-showcase .gold-board.is-animated .gold-board-track {animation-duration:155s}
}

/* v23 — compact feature tiles with native, keyboard-accessible disclosures. */
.academy-benefits {padding:42px 0 46px; background:#f5f7fc; color:#172b4c; scroll-margin-top:154px}
.academy-benefits-inner {width:min(1260px,calc(100% - 48px)); margin-inline:auto}
.academy-benefits-heading {display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:24px}
.academy-benefits-heading h2 {margin:0; color:#172b4c; font-size:38px; line-height:1.2; letter-spacing:-1px}
.academy-benefits-heading h2>span {display:block; margin-bottom:7px; font-size:23px; font-weight:500; letter-spacing:-.5px; color:#52627c}
.academy-benefits-heading>p {max-width:330px; margin:0 0 3px; font-size:13px; line-height:1.8; color:#67758c}
.academy-benefits-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:14px}
.academy-benefit {--benefit-ink:#1f3359; --benefit-copy:#4e5f7c; --benefit-line:#cbd6ed; --benefit-tint:#ffffff85; position:relative; isolation:isolate; overflow:hidden; min-width:0; border:1px solid var(--benefit-line); border-radius:14px; color:var(--benefit-ink); transition:transform .2s ease}
.academy-benefit::after {content:''; position:absolute; z-index:-1; width:135px; height:135px; right:-90px; top:-90px; border:19px solid var(--benefit-tint); border-radius:50%; opacity:.45; pointer-events:none}
.academy-benefit summary {display:grid; grid-template-columns:minmax(0,1fr) 34px; grid-template-rows:30px auto; align-items:center; gap:10px 14px; min-height:112px; padding:16px 18px; list-style:none; cursor:pointer; -webkit-tap-highlight-color:transparent}
.academy-benefit summary::-webkit-details-marker {display:none}
.academy-benefit summary::marker {content:''}
.academy-benefit summary:focus-visible {outline:2px solid currentColor; outline-offset:-5px; border-radius:13px}
.benefit-icon {display:block; grid-column:1; grid-row:1; width:29px; height:29px}
.benefit-icon svg {display:block; width:100%; height:100%}
.academy-benefit h3 {grid-column:1; grid-row:2; margin:0; color:inherit; font-size:15px; line-height:1.4; letter-spacing:-.25px; font-weight:600}
.benefit-toggle {display:grid; place-items:center; grid-column:2; grid-row:2; align-self:end; width:34px; height:34px; border:1px solid var(--benefit-line); border-radius:50%; background:var(--benefit-tint)}
.benefit-toggle svg {width:19px; height:19px; transition:transform .2s ease}
.academy-benefit[open] .benefit-toggle svg {transform:rotate(180deg)}
.benefit-description {padding:0 18px 18px}
.benefit-description>p {margin:0; padding-top:14px; border-top:1px solid var(--benefit-line); color:var(--benefit-copy); font-size:13px; line-height:1.8; font-weight:400}
.benefit-blue,.benefit-purple,.benefit-navy,.benefit-teal {--benefit-ink:#fff; --benefit-copy:#f2f4ff; --benefit-line:#ffffff36; --benefit-tint:#ffffff13}
.benefit-blue {background:linear-gradient(135deg,#2764d2,#2449af)}
.benefit-lavender {background:linear-gradient(135deg,#ececff,#e3e8fa); --benefit-ink:#3e4093; --benefit-copy:#505677; --benefit-line:#cbd0ed}
.benefit-mint {background:linear-gradient(135deg,#e3f5f0,#d8eeea); --benefit-ink:#18645c; --benefit-copy:#426864; --benefit-line:#bcded7}
.benefit-purple {background:linear-gradient(135deg,#7752c8,#6143ae)}
.benefit-gold {background:linear-gradient(135deg,#fff2d7,#f7e7bd); --benefit-ink:#745118; --benefit-copy:#76633f; --benefit-line:#e5d3a8}
.benefit-navy {background:linear-gradient(135deg,#2a3e66,#1c2d4f)}
.benefit-coral {background:linear-gradient(135deg,#ffece8,#f9ddd8); --benefit-ink:#943f43; --benefit-copy:#82585a; --benefit-line:#eac2bf}
.benefit-teal {background:linear-gradient(135deg,#168d89,#146e76)}
.benefit-ice {background:linear-gradient(135deg,#e5f1ff,#dbe9fa); --benefit-ink:#28568b; --benefit-copy:#4d6884; --benefit-line:#bfd5ed}
@media(hover:hover) {.academy-benefit:hover {transform:translateY(-2px)}}
@media(max-width:1000px) {
  .academy-benefits-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .academy-benefits-heading>p {max-width:280px}
}
@media(max-width:600px) {
  .academy-benefits {padding:30px 0 34px; scroll-margin-top:175px}
  .academy-benefits-inner {width:calc(100% - 32px)}
  .academy-benefits-heading {display:block; margin-bottom:23px}
  .academy-benefits-heading h2 {font-size:32px; letter-spacing:-.7px}
  .academy-benefits-heading h2>span {font-size:20px; margin-bottom:5px}
  .academy-benefits-heading>p {max-width:290px; margin:13px 0 0; font-size:12px}
  .academy-benefits-grid {grid-template-columns:minmax(0,1fr); gap:10px}
  .academy-benefit summary {grid-template-columns:29px minmax(0,1fr) 30px; grid-template-rows:auto; min-height:78px; padding:15px 16px; gap:13px}
  .academy-benefit h3 {grid-column:2; grid-row:1; font-size:14px}
  .benefit-toggle {grid-column:3; grid-row:1; align-self:center; width:30px; height:30px}
  .benefit-description {padding:0 16px 17px}
}
@media(prefers-reduced-motion:reduce) {.academy-benefit,.benefit-toggle svg {transition:none} .academy-benefit:hover {transform:none}}
