/* Reference redesign, deliberately scoped away from the existing hero, Neve menu and final CTA. */
.sh-reference-sections { --shr-blue:#0065ff; --shr-ink:#101b49; --shr-muted:#627399; --shr-line:#dce9ff; background:linear-gradient(110deg,#fff 0%,#fbfdff 50%,#fff 100%); color:var(--shr-ink); padding:26px 0 32px; }
.sh-reference-sections *, .sh-reference-sections *::before, .sh-reference-sections *::after { box-sizing:border-box; }
.sh-reference-sections .shr-shell { width:min(1480px,92%); margin:0 auto; }
.sh-reference-sections h2,.sh-reference-sections h3,.sh-reference-sections p,.sh-reference-sections figure,.sh-reference-sections blockquote { margin:0; padding:0; }
.sh-reference-sections h2 { color:var(--shr-ink); font-size:clamp(24px,2.25vw,34px); line-height:1.2; letter-spacing:-.7px; font-weight:800; }
.sh-reference-sections h3 { color:var(--shr-ink); font-size:20px; line-height:1.3; font-weight:750; }
.sh-reference-sections p { line-height:1.55; }
.sh-reference-sections svg { width:21px; height:21px; flex-shrink:0; vertical-align:middle; }
.sh-reference-sections a { text-decoration:none; }
.sh-reference-sections a:focus-visible { outline:3px solid #102a6b; outline-offset:4px; }
.sh-reference-sections .shr-section { margin-bottom:30px; }
.sh-reference-sections .shr-section-head { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:17px; }
.sh-reference-sections .shr-section-head p { font-size:15px; margin-top:5px; color:#354368; }
.sh-reference-sections .shr-more { display:inline-flex; align-items:center; gap:8px; color:var(--shr-blue); font-size:14px; font-weight:650; white-space:nowrap; }
.sh-reference-sections .shr-more:hover { text-decoration:underline; }
.sh-reference-sections .shr-language-grid { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:12px; }
.sh-reference-sections .shr-language { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:126px; padding:15px 6px; background:linear-gradient(145deg,#f5faff,#edf5ff); border:1px solid #e1edff; border-radius:16px; transition:transform .18s,box-shadow .18s; }
.sh-reference-sections .shr-language:hover { transform:translateY(-3px); box-shadow:0 7px 18px #1455ad13; }
.sh-reference-sections .shr-language img { width:42px; height:42px; border-radius:50%; object-fit:cover; background:#fff; }
.sh-reference-sections .shr-language strong { font-size:14px; line-height:1.2; }
.sh-reference-sections .shr-language svg { color:var(--shr-blue); width:18px; height:18px; }
.sh-reference-sections .shr-paths { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:30px; }
.sh-reference-sections .shr-path { position:relative; overflow:hidden; isolation:isolate; display:flex; gap:15px; min-height:300px; padding:27px 24px; border-radius:18px; background:linear-gradient(115deg,#eaf4ff,#f2f8ff); }
.sh-reference-sections .shr-path--group { background:linear-gradient(115deg,#edf6ff 0%,#e5f1ff 52%,#cfe4ff 100%); }
.sh-reference-sections .shr-path-icon { position:relative; z-index:1; width:52px; height:52px; flex:0 0 52px; border-radius:50%; display:grid; place-items:center; color:var(--shr-blue); background:#d7e9ff; }
.sh-reference-sections .shr-path-icon svg { width:30px; height:30px; }
.sh-reference-sections .shr-path--group .shr-path-icon { background:#d3e5ff; color:var(--shr-blue); }
.sh-reference-sections .shr-path-copy { position:relative; z-index:2; width:57%; }
.sh-reference-sections .shr-path-copy h3 { font-size:22px; }
.sh-reference-sections .shr-path-copy p { max-width:275px; font-size:14px; margin-top:7px; }
.sh-reference-sections .shr-path-image { position:absolute; z-index:0; bottom:0; right:-8px; width:44%; height:auto; max-height:90%; object-fit:contain; object-position:bottom right; }
.sh-reference-sections .shr-path--group .shr-path-image { width:48%; right:-25px; max-height:95%; }
.sh-reference-sections .shr-checklist { list-style:none; margin:15px 0 18px; padding:0; }
.sh-reference-sections .shr-checklist li { display:flex; align-items:flex-start; gap:8px; margin:8px 0; font-size:14px; line-height:1.4; color:#465b81; }
.sh-reference-sections .shr-checklist li > span { display:grid; place-items:center; flex:0 0 17px; height:17px; background:var(--shr-blue); color:#fff; border-radius:50%; margin-top:1px; }
.sh-reference-sections .shr-checklist svg { width:12px; height:12px; stroke-width:2.8; }
.sh-reference-sections .shr-path--group .shr-checklist li { color:var(--shr-ink); }
.sh-reference-sections .shr-path--group .shr-checklist li > span { background:var(--shr-blue); color:#fff; }
.sh-reference-sections .shr-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:42px; padding:10px 24px; border:0; border-radius:8px; background:linear-gradient(110deg,#005eff,#0095ff); color:#fff; font-size:14px; font-weight:700; line-height:1.3; box-shadow:0 5px 12px #0065ff18; transition:filter .18s,transform .18s; }
.sh-reference-sections .shr-button:hover { color:#fff; filter:brightness(.94); transform:translateY(-1px); }
.sh-reference-sections .shr-path--group .shr-button { background:linear-gradient(110deg,#005eff,#0095ff); color:#fff; box-shadow:0 5px 12px #0065ff18; }
.sh-reference-sections .shr-card-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.sh-reference-sections .shr-card { min-width:0; overflow:hidden; background:linear-gradient(180deg,#fff,#fbfdff); border:1px solid var(--shr-line); border-radius:13px; }
.sh-reference-sections .shr-card-image { position:relative; display:block; aspect-ratio:1.85; overflow:hidden; background:#edf5ff; }
.sh-reference-sections .shr-card-image img { width:100%; height:100%; object-fit:cover; object-position:center 32%; transition:transform .25s; }
.sh-reference-sections .shr-card-image:hover img { transform:scale(1.04); }
.sh-reference-sections .shr-level { position:absolute; left:9px; top:9px; padding:4px 9px; border-radius:6px; background:var(--shr-blue); color:#fff; font-size:12px; font-weight:700; }
.sh-reference-sections .shr-card-content { padding:12px 13px 13px; }
.sh-reference-sections .shr-card h3 { font-size:15px; margin-bottom:5px; }
.sh-reference-sections .shr-card h3 a { display:flex; align-items:center; gap:7px; color:var(--shr-ink); }
.sh-reference-sections .shr-card-meta { display:flex; align-items:center; gap:5px; color:var(--shr-muted); font-size:12px; margin-top:3px; }
.sh-reference-sections .shr-card-meta svg { width:14px; height:14px; color:var(--shr-blue); }
.sh-reference-sections .shr-tutor-flag { width:20px; height:16px; object-fit:cover; border-radius:4px; flex-shrink:0; }
.sh-reference-sections .shr-rating { display:flex; align-items:center; gap:5px; color:#3b4e75; font-size:13px; line-height:1.4; }
.sh-reference-sections .shr-rating > span { color:#ffb400; font-size:23px; line-height:1; }
.sh-reference-sections .shr-rating small { color:var(--shr-muted); font-size:12px; }
.sh-reference-sections .shr-price { font-size:15px; font-weight:750; line-height:1.4; color:var(--shr-ink); margin:6px 0 10px; }
.sh-reference-sections .shr-price small { font-size:12px; font-weight:500; }
.sh-reference-sections .shr-card-button { width:100%; min-height:34px; font-size:12px; padding:8px 12px; border-radius:6px; box-shadow:none; }
.sh-reference-sections .shr-photo-placeholder { display:grid; place-items:center; height:100%; color:var(--shr-blue); }
.sh-reference-sections .shr-photo-placeholder svg { width:64px; height:64px; }
.sh-reference-sections .shr-empty { display:flex; align-items:center; gap:20px; background:linear-gradient(115deg,#edf6ff,#f6fbff); padding:26px; border:1px solid var(--shr-line); border-radius:15px; }
.sh-reference-sections .shr-empty strong { font-size:18px; }
.sh-reference-sections .shr-empty p { color:var(--shr-muted); font-size:14px; margin-top:4px; }
.sh-reference-sections .shr-empty > .shr-button { margin-left:auto; flex-shrink:0; }
.sh-reference-sections .shr-empty-icon { width:52px; height:52px; display:grid; place-items:center; background:#dcecff; border-radius:50%; color:var(--shr-blue); flex-shrink:0; }
.sh-reference-sections .shr-empty-icon svg { width:28px; height:28px; }
.sh-reference-sections .shr-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:45px; }
.sh-reference-sections .shr-steps li { position:relative; }
.sh-reference-sections .shr-steps li:not(:last-child)::after { content:'→'; position:absolute; top:17px; right:-34px; color:#a6ceff; font-size:38px; font-weight:400; }
.sh-reference-sections .shr-step-icon { display:grid; place-items:center; width:70px; height:70px; margin:0 auto 12px; color:var(--shr-blue); border-radius:50%; background:#e8f3ff; }
.sh-reference-sections .shr-step-icon svg { width:36px; height:36px; }
.sh-reference-sections .shr-step-copy { display:flex; gap:12px; align-items:flex-start; }
.sh-reference-sections .shr-step-number { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; color:#fff; background:var(--shr-blue); border-radius:50%; font-weight:700; }
.sh-reference-sections .shr-step-copy h3 { font-size:15px; margin:3px 0 6px; }
.sh-reference-sections .shr-step-copy p { font-size:13px; color:#47597d; }
.sh-reference-sections .shr-teach { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:1fr 1fr 225px; gap:18px; min-height:315px; border-radius:18px; padding:28px 30px; background:linear-gradient(115deg,#e5f2ff,#edf7ff 68%,#eff7ff); margin-bottom:28px; }
.sh-reference-sections .shr-teach-copy { position:relative; z-index:2; }
.sh-reference-sections .shr-teach-copy p { font-size:15px; margin-top:8px; max-width:410px; }
.sh-reference-sections .shr-teach-image { position:absolute; bottom:-4px; right:15%; width:38%; max-height:110%; object-fit:contain; object-position:bottom; z-index:0; }
.sh-reference-sections .shr-teach-perks { display:flex; flex-direction:column; justify-content:center; gap:14px; grid-column:3; position:relative; z-index:2; }
.sh-reference-sections .shr-teach-perks span { display:flex; align-items:center; gap:13px; min-height:49px; padding:12px 14px; background:#ffffffdb; border-radius:9px; font-size:13px; font-weight:650; }
.sh-reference-sections .shr-teach-perks svg { color:var(--shr-blue); width:27px; height:27px; }
.sh-reference-sections .shr-teach-perks span:nth-child(2) svg { color:#ff3750; }
.sh-reference-sections .shr-teach-perks span:nth-child(3) svg { color:#a43de9; }
.sh-reference-sections .shr-teach-perks span:nth-child(4) svg { color:#639480; }
.sh-reference-sections .shr-review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.sh-reference-sections .shr-review { display:flex; flex-direction:column; justify-content:space-between; padding:19px 22px; border:1px solid var(--shr-line); border-radius:13px; background:linear-gradient(140deg,#fff,#fafdff); }
.sh-reference-sections .shr-review blockquote { border:0; box-shadow:none; font-size:14px; color:#354368; font-style:normal; line-height:1.55; }
.sh-reference-sections .shr-review figcaption { display:flex; align-items:center; gap:11px; margin-top:15px; }
.sh-reference-sections .shr-review img { width:44px; height:44px; object-fit:cover; border-radius:50%; }
.sh-reference-sections .shr-review strong { display:block; font-size:13px; font-weight:700; }
.sh-reference-sections .shr-review small { display:block; color:var(--shr-muted); font-size:12px; }
.sh-reference-sections .shr-reviews { margin-bottom:0; }
@media(min-width:1700px) { .sh-reference-sections .shr-shell { width:min(1640px,92%); } .sh-reference-sections .shr-path { min-height:335px; } }
@media(max-width:1100px) {
 .sh-reference-sections .shr-language-grid { gap:8px; }
 .sh-reference-sections .shr-language strong { font-size:12px; }
 .sh-reference-sections .shr-path { min-height:305px; padding:22px 18px; gap:10px; }
 .sh-reference-sections .shr-path-icon { width:40px; height:40px; flex-basis:40px; }
 .sh-reference-sections .shr-path-copy { width:65%; }
 .sh-reference-sections .shr-path-copy h3 { font-size:19px; }
 .sh-reference-sections .shr-path-image { opacity:.85; width:42%; }
 .sh-reference-sections .shr-card-grid { gap:10px; }
 .sh-reference-sections .shr-card-content { padding:10px; }
 .sh-reference-sections .shr-card h3 { font-size:14px; }
 .sh-reference-sections .shr-teach { grid-template-columns:1fr 1fr 185px; padding:25px; }
 .sh-reference-sections .shr-teach-perks span { font-size:12px; gap:8px; padding:10px; }
 .sh-reference-sections .shr-empty { flex-wrap:wrap; }
 .sh-reference-sections .shr-empty > .shr-button { margin-left:72px; }
}
@media(max-width:800px) {
 .sh-reference-sections { padding-top:22px; }
 .sh-reference-sections .shr-section-head { align-items:flex-start; }
 .sh-reference-sections .shr-section-head p { font-size:14px; }
 .sh-reference-sections .shr-more { font-size:12px; }
 .sh-reference-sections .shr-language-grid { grid-template-columns:repeat(5,1fr); gap:10px; }
 .sh-reference-sections .shr-language { min-height:112px; }
 .sh-reference-sections .shr-paths { grid-template-columns:1fr; }
 .sh-reference-sections .shr-path { min-height:285px; }
 .sh-reference-sections .shr-path-copy { width:55%; }
 .sh-reference-sections .shr-path-image { max-height:100%; width:44%; opacity:1; }
 .sh-reference-sections .shr-path--group .shr-path-image { width:45%; }
 .sh-reference-sections .shr-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
 .sh-reference-sections .shr-steps { grid-template-columns:1fr 1fr; gap:24px 40px; }
 .sh-reference-sections .shr-steps li:nth-child(2)::after { display:none; }
 .sh-reference-sections .shr-teach { grid-template-columns:1fr 1fr; padding:24px; min-height:430px; }
 .sh-reference-sections .shr-teach-copy { grid-column:1/-1; max-width:65%; }
 .sh-reference-sections .shr-teach-image { right:-6%; width:57%; bottom:12%; max-height:80%; }
 .sh-reference-sections .shr-teach-perks { grid-column:1/-1; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; gap:8px; }
 .sh-reference-sections .shr-teach-perks span { flex:1 1 45%; }
 .sh-reference-sections .shr-review-grid { grid-template-columns:1fr; }
}
@media(max-width:500px) {
 .sh-reference-sections .shr-shell { width:calc(100% - 32px); }
 .sh-reference-sections h2 { font-size:25px; }
 .sh-reference-sections .shr-section-head { flex-wrap:wrap; gap:8px; margin-bottom:14px; }
 .sh-reference-sections .shr-language-grid { gap:7px; }
 .sh-reference-sections .shr-language { min-height:100px; border-radius:12px; padding:12px 3px; gap:7px; }
 .sh-reference-sections .shr-language img { width:31px; height:31px; }
 .sh-reference-sections .shr-language strong { font-size:10px; }
 .sh-reference-sections .shr-path { padding:20px 17px 140px; min-height:405px; }
 .sh-reference-sections .shr-path-copy { width:calc(100% - 48px); }
 .sh-reference-sections .shr-path-copy h3 { font-size:20px; }
 .sh-reference-sections .shr-path-copy p { font-size:13px; }
 .sh-reference-sections .shr-checklist li { font-size:13px; }
 .sh-reference-sections .shr-path-image { height:168px; width:auto; right:0; }
 .sh-reference-sections .shr-path--group .shr-path-image { width:60%; max-height:190px; right:0; }
 .sh-reference-sections .shr-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .sh-reference-sections .shr-card h3 { font-size:13px; }
 .sh-reference-sections .shr-card-image { aspect-ratio:1.5; }
 .sh-reference-sections .shr-card-content { padding:10px; }
 .sh-reference-sections .shr-price { font-size:13px; }
 .sh-reference-sections .shr-price small { font-size:11px; }
 .sh-reference-sections .shr-empty { gap:12px; padding:20px; }
 .sh-reference-sections .shr-empty > div { flex:1; min-width:180px; }
 .sh-reference-sections .shr-empty > .shr-button { width:100%; margin-left:0; }
 .sh-reference-sections .shr-empty strong { font-size:16px; }
 .sh-reference-sections .shr-steps { gap:22px; }
 .sh-reference-sections .shr-steps li::after { display:none; }
 .sh-reference-sections .shr-step-copy { gap:7px; }
 .sh-reference-sections .shr-step-number { width:24px; height:24px; flex-basis:24px; font-size:13px; }
 .sh-reference-sections .shr-step-copy h3 { font-size:13px; }
 .sh-reference-sections .shr-step-copy p { font-size:12px; }
 .sh-reference-sections .shr-teach { min-height:660px; display:flex; flex-direction:column; gap:15px; padding:22px; }
 .sh-reference-sections .shr-teach-copy { max-width:none; }
 .sh-reference-sections .shr-teach-copy p { font-size:14px; }
 .sh-reference-sections .shr-teach-image { width:80%; right:8%; bottom:130px; height:270px; }
 .sh-reference-sections .shr-teach-perks { margin-top:auto; }
 .sh-reference-sections .shr-teach-perks span { font-size:10px; padding:8px; min-height:43px; }
 .sh-reference-sections .shr-teach-perks svg { width:22px; height:22px; }
 .sh-reference-sections .shr-review { padding:18px; }
}
@media(prefers-reduced-motion:reduce) { .sh-reference-sections a,.sh-reference-sections img { transition:none!important; } }
