/* Final global visual normalization. Loaded after page CSS to keep the
   shared header, sections, cards and controls coherent across modules. */
:root{--cj-header-h:72px}
html,body{width:100%;min-width:320px;overflow-x:hidden}
body{background:var(--cj-background);color:var(--cj-text)}
.cj-page{padding-block:0;overflow:clip}
/* .cj-page has no padding (the home hero sits under the header), so pages whose
   first child is a bare container were glued to the header and the footer. */
.cj-page>.container,.cj-page>.container-wide,.cj-page>.container-narrow{padding-block:clamp(2rem,5vw,3.5rem) clamp(3rem,7vw,5rem)}
/* CMS pages (About, policies): comfortable reading measure and rhythm. */
.cj-cms-page{max-width:880px}
.cj-cms-page>h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1.05;margin:.35rem 0 1.25rem}
.cj-cms-page h2{margin:2rem 0 .75rem}
.cj-cms-page ul,.cj-cms-page ol{padding-left:1.25rem;display:grid;gap:.4rem;margin:.5rem 0 1rem}
.cj-cms-page p{line-height:1.7;margin:0 0 1rem}
.container,.container-wide,.container-narrow{width:100%;margin-inline:auto}
section{width:100%;position:relative}
section>.container,section>.container-wide,section>.container-narrow{position:relative;z-index:1}
h1,h2,h3,h4,h5,p{overflow-wrap:anywhere}
button,input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--cj-primary);outline-offset:3px}
.btn{line-height:1.2;text-decoration:none;white-space:normal}
.btn-outline{background:transparent;color:var(--cj-primary);border:1px solid var(--cj-primary)}
.btn-outline:hover{background:var(--cj-primary-soft);color:var(--cj-primary-active)}
.hh{isolation:isolate}
.hh-solid{background:var(--cj-white);color:var(--cj-text)}
.hh-solid .hh-link,.hh-solid .hh-iconbtn,.hh-solid .hh-burger{color:var(--cj-text)}
.hh-transparent{background:transparent}
.hh-logo img{display:block;object-fit:contain}
.hh-nav,.hh-actions{min-width:0}
.hh-link{line-height:1.2}
.hh-drop,.hh-acct,.hh-minicart{z-index:var(--z-sheet)}
.hh-mnav{z-index:var(--z-sheet)}
.cj-footer{position:relative;z-index:2}
.card,.cj-card,.course-card,.product-card,.event-card,.testimonial-card{overflow:hidden}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
@media(max-width:767px){
  .cj-page{padding-bottom:env(safe-area-inset-bottom)}
  .cj-btnrow{gap:.65rem}
  .cj-btnrow .btn{max-width:100%}
  .hh{height:var(--cj-header-h)}
}
@media(min-width:1024px){.hh-login,.hh-cta,.hh-acctbtn{display:inline-flex}}
@media(min-width:1280px){.hh-nav{display:block}.hh-burger{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
