/* Focused CTA refinement; the approved layout, curriculum and headline treatment remain intact. */
:root{--blue-cta-glow:0 0 8px rgb(111 216 255 / .8),0 0 30px rgb(111 216 255 / .95),0 0 80px rgb(111 216 255 / .65)}
.action:is([data-preview="book"], [data-destination="book"]),.dock-item:is([data-preview="book"], [data-destination="book"]){--cta-accent:var(--orange);background:var(--ivory);color:var(--navy);box-shadow:none}
.action:is([data-preview="book"], [data-destination="book"])>i{background:color-mix(in srgb,var(--navy) 6%,var(--ivory));color:var(--navy)}
.action:is([data-preview="waitlist"], [data-destination="waitlist"]),.dock-item:is([data-preview="waitlist"], [data-destination="waitlist"]){--cta-accent:var(--glow-blue);background:var(--navy);color:var(--white);box-shadow:inset 0 0 0 1.5px var(--glow-blue)}
.action:is([data-preview="waitlist"], [data-destination="waitlist"])>i{background:color-mix(in srgb,var(--white) 9%,var(--navy));color:var(--white)}
.hero>.hero-content>.hero-actions{flex-direction:column;align-items:flex-start;gap:12px}
.hero>.hero-content>.hero-actions>.action{width:220px}
/* A crisp chevron inside an open orbital arc replaces the font arrow glyphs. */
.direction-icon{display:block;width:22px;height:22px;overflow:visible;flex:none}
.direction-icon .icon-orbit{stroke:var(--cta-accent,currentColor);opacity:.5;transform-origin:12px 12px;transition:transform 180ms var(--out),opacity 180ms ease}
.direction-icon .icon-pointer{stroke:currentColor;transform-origin:12px 12px;transition:transform 180ms var(--out)}
.direction-icon--up{transform:rotate(-90deg)}
.direction-icon--down{transform:rotate(90deg)}
.direction-icon--back{transform:rotate(180deg)}
.inline-direction{display:inline-flex;align-items:center;vertical-align:middle}
.inline-direction .direction-icon{width:18px;height:18px}
.action>i,.dock-title>i{padding:0}
.action>i .direction-icon{width:24px;height:24px}
.course-path button>i .direction-icon{width:20px;height:20px}
.course-switcher>span{display:inline-flex;align-items:center}
.course-switcher .direction-icon{width:14px;height:14px}
.course-switcher .icon-orbit{display:none}
.membership-tabs button>i{display:grid;place-items:center}
@media(hover:hover) and (pointer:fine){
 .action:is([data-preview="book"], [data-destination="book"]):hover,.dock-item:is([data-preview="book"], [data-destination="book"]):hover{background:var(--ivory);color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--orange),var(--orange-transition-glow)}
 .action:is([data-preview="waitlist"], [data-destination="waitlist"]):hover,.dock-item:is([data-preview="waitlist"], [data-destination="waitlist"]):hover{background:var(--navy);color:var(--white);box-shadow:inset 0 0 0 1.5px var(--glow-blue),var(--blue-cta-glow)}
 .action:hover>i,.dock-item:hover .dock-title>i{transform:none}
 .action:hover .icon-orbit,.dock-item:hover .icon-orbit,.free-start a:hover .icon-orbit{transform:rotate(28deg);opacity:.8}
 .action:hover .icon-pointer,.dock-item:hover .icon-pointer{transform:translateX(1.5px)}
}
.conversion-cta:focus-visible{outline:3px solid var(--navy);outline-offset:5px;box-shadow:inset 0 0 0 1.5px var(--cta-accent,var(--navy)),0 0 0 3px var(--white),0 0 0 6px var(--navy)}
@media(max-width:760px){.hero>.hero-content>.hero-actions>.action{width:220px}.direction-icon{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){.direction-icon,.direction-icon *{transition:none!important;animation:none!important}.action:hover .icon-orbit,.dock-item:hover .icon-orbit,.action:hover .icon-pointer,.dock-item:hover .icon-pointer{transform:none}}
