/* Compact course offer, using the shared site button and colour palette. */
.sticky-join[hidden] { display:none; }
.sticky-join { position:fixed;z-index:30;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(1000px,calc(100% - 40px));display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;gap:24px;padding:16px 20px;border:1px solid #bcd1ff45;border-radius:24px;background:radial-gradient(ellipse at 15% 0,#536faf45,transparent 65%),linear-gradient(115deg,#101a29fa,#151625fa);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 12px 40px #0008,inset 0 1px 0 #e1ebff12; }
.blueprint-cover { position:relative;box-sizing:border-box;width:100%;aspect-ratio:1672 / 941;overflow:hidden;border:1px solid #dce3ff70;border-radius:10px;box-shadow:0 6px 20px #0005; }
.blueprint-cover-photo { display:block;width:100%;height:100%;object-fit:contain; }
.sticky-join-copy { min-width:0; }
.sticky-blueprint-title { margin:0;color:#f3f5ff;font-size:28px;font-weight:650;line-height:1.12;letter-spacing:-.035em; }
.sticky-course-count { margin:6px 0 0;color:#c8d9ff;font-size:14px;font-weight:550;line-height:1.3; }
.sticky-price-row { display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:10px 0 0; }
.sticky-value { color:#c0cadc;white-space:nowrap; }
.sticky-value s { font-size:26px;font-weight:550;line-height:1.1;text-decoration-thickness:2px;text-decoration-color:#f1f4ff; }
.sticky-free { padding:4px 7px;border:1px solid #cbdcff50;border-radius:7px;background:#c8d9ff20;color:#f1f6ff;font-size:17px;letter-spacing:.01em;line-height:1.1; }
.sticky-arrow { display:none; }
.sticky-join .sticky-join-button { min-height:52px;padding:13px 20px;gap:9px;font-size:16px;white-space:nowrap;border-radius:999px;box-shadow:0 4px 18px #899aff20,inset 0 1px 0 #fff5; }
.sticky-join-button img { width:23px;height:23px; }
html:has(body.has-sticky-join) { scroll-padding-bottom:200px; }
@media(prefers-reduced-motion:no-preference) {
 .sticky-join { animation:sticky-join-enter 240ms cubic-bezier(.2,.7,.2,1); }
 @keyframes sticky-join-enter { from {opacity:0;translate:0 10px;} to {opacity:1;translate:0 0;} }
}
@media(max-width:850px) {
 .sticky-join { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:12px 14px;width:min(480px,calc(100% - 24px));padding:14px;bottom:calc(10px + env(safe-area-inset-bottom,0px));border-radius:20px; }
 .sticky-blueprint-title { font-size:clamp(18px,5vw,24px); }
 .sticky-course-count { font-size:12px;margin-top:4px; }
 .sticky-price-row { gap:6px;margin-top:8px;flex-wrap:nowrap; }
 .sticky-value s { font-size:20px; }
 .sticky-free { font-size:12px;padding:4px 5px; }
 .sticky-join .sticky-join-button { grid-column:1 / -1;width:100%;min-height:46px;font-size:15px;padding:11px 12px; }
 .sticky-join-button img { width:21px;height:21px; }
 html:has(body.has-sticky-join) { scroll-padding-bottom:220px; }
}
@media(max-width:360px) {
 .sticky-join { gap:10px;padding:12px; }
 .sticky-course-count { font-size:11px; }
 .sticky-value s { font-size:17px; }
 .sticky-free { font-size:10px;padding:4px 5px; }
 .sticky-price-row { gap:4px; }
 .sticky-join .sticky-join-button { font-size:14px;gap:4px; }
}
