/* Site footer (2026-11-07). One stylesheet for every page's footer. The footer HTML is the same on every page. */
footer.ckft{display:block;margin:0;padding:56px 48px 30px;background:#07111E;border-top:1px solid rgba(196,146,10,0.14);text-align:left;font-size:16px;line-height:1.5;color:rgba(255,255,255,0.72)}
footer.ckft *{box-sizing:border-box}
footer.ckft .ckft-wrap{max-width:1180px;margin:0 auto}
footer.ckft .ckft-brand{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,0.08)}
footer.ckft .ckft-id{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
footer.ckft .ckft-logo{display:inline-flex;align-items:center;gap:12px;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.35rem;font-weight:700;letter-spacing:0.02em;color:#FAFAF7;text-decoration:none;border:0}
footer.ckft .ckft-logo img{width:48px;height:48px;object-fit:contain;opacity:0.8}
footer.ckft .ckft-logo span{color:#E8B830}
footer.ckft .ckft-tag{margin:0;font-family:'Outfit',sans-serif;font-size:0.9rem;color:rgba(255,255,255,0.72)}
footer.ckft .ckft-cta{display:inline-block;flex:0 0 auto;padding:14px 26px;border-radius:2px;background:linear-gradient(135deg,#9A7008,#E8B830);color:#07111E;font-family:'Outfit',sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;border:0;transition:transform .2s,box-shadow .2s}
footer.ckft .ckft-cta:hover,footer.ckft .ckft-cta:focus-visible{transform:translateY(-2px);box-shadow:0 6px 18px rgba(196,146,10,0.3);color:#07111E}
footer.ckft .ckft-cols{display:grid;grid-template-columns:1fr 1.1fr 1.25fr 0.9fr 0.8fr;gap:28px;padding:36px 0 30px}
footer.ckft .ckft-h{margin:0 0 14px;padding:0;border:0;background:none;font-family:'Outfit',sans-serif;font-size:0.68rem;font-weight:600;line-height:1.4;letter-spacing:0.18em;text-transform:uppercase;color:#C4920A;text-align:left}
footer.ckft .ckft-h::before,footer.ckft .ckft-h::after{content:none !important;display:none !important}
footer.ckft ul{list-style:none;margin:0;padding:0}
footer.ckft li{margin:0 0 9px;padding:0}
footer.ckft li::before{content:none !important}
footer.ckft .ckft-cols a{font-family:'Outfit',sans-serif;font-size:0.9rem;font-weight:400;letter-spacing:0;text-transform:none;color:rgba(255,255,255,0.74);text-decoration:none;border:0;transition:color .2s}
footer.ckft .ckft-cols a.ckft-shop{color:rgba(232,184,48,0.8)}
footer.ckft .ckft-cols a:hover,footer.ckft .ckft-cols a:focus-visible{color:#E8B830}
footer.ckft .ckft-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding-top:22px;border-top:1px solid rgba(255,255,255,0.08)}
footer.ckft .ckft-social{display:flex;align-items:center;gap:10px}
footer.ckft .ck-social{display:flex;flex-wrap:wrap;gap:2px;margin:0}
footer.ckft .ck-social a{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;color:rgba(232,184,48,.8);border-radius:50%;transition:color .2s,transform .2s}
footer.ckft .ck-social a:hover,footer.ckft .ck-social a:focus-visible{color:#E8B830;transform:translateY(-2px)}
footer.ckft .ck-social svg{width:18px;height:18px;fill:currentColor;display:block}
footer.ckft .ck-social-handle{margin:0;font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.16em;color:rgba(232,184,48,.75)}
footer.ckft .ckft-copy{margin:0;font-family:'Outfit',sans-serif;font-size:0.72rem;color:rgba(255,255,255,0.7)}
footer.ckft .ckft-copy a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.28)}
footer.ckft .ckft-copy a:hover{color:#E8B830;border-bottom-color:#E8B830}
footer.ckft .insx-foot{margin:18px 0 0;padding:0;text-align:center}
footer.ckft a:focus-visible{outline:2px solid #E8B830;outline-offset:3px}
@media (max-width:1080px){footer.ckft .ckft-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
 footer.ckft{padding:40px 20px 26px}
 footer.ckft .ckft-brand{flex-direction:column;align-items:center;text-align:center;gap:18px}
 footer.ckft .ckft-id{flex-direction:column;gap:8px}
 footer.ckft .ckft-cta{width:100%;max-width:340px;text-align:center}
 footer.ckft .ckft-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px;padding:28px 0 24px}
 footer.ckft li{margin:0 0 7px}
 footer.ckft .ckft-cols a{font-size:0.88rem}
 footer.ckft .ckft-h{margin-bottom:10px}
 footer.ckft .ckft-bottom{flex-direction:column;justify-content:center;text-align:center}
 footer.ckft .ckft-social{flex-direction:column;gap:2px}
}
/* The student page is for students, so no booking button there. */
body:has(#page-student.active) footer.ckft .ckft-cta{display:none}
@media (prefers-reduced-motion:reduce){footer.ckft .ckft-cta,footer.ckft .ck-social a{transition:none}footer.ckft .ckft-cta:hover,footer.ckft .ck-social a:hover{transform:none}}
@media print{footer.ckft{display:none !important}}
