/* V1.6 reference-led internal templates. Source WordPress text is not rewritten. */
:root{--cf16-blue:#1b6095;--cf16-blue-dark:#114c7e;--cf16-orange:#f58216;--cf16-ink:#1d3b53}
.cf16-reference-heading{background:#eef2f4!important;border-bottom:1px solid #e1e9ed;padding:21px 0 22px!important}
.cf16-reference-heading h1{font:700 clamp(27px,3vw,38px)/1.17 Montserrat,Arial,sans-serif;color:#263d50;letter-spacing:-.02em;margin:0}
.cf16-breadcrumb{background:#fff!important;border-bottom:1px solid #e8eff3;margin:0!important;padding:13px 0!important}
.cf16-breadcrumb .container{display:flex;align-items:center;gap:11px;font-size:13px;flex-wrap:wrap}
.cf16-breadcrumb a{color:#185d91;text-underline-offset:3px}
.cf16-page-hero{background:#e8f4fc;border-bottom:1px solid #d9e8f1;overflow:hidden}
.cf16-page-hero-grid{min-height:355px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:stretch;gap:32px}
.cf16-page-hero-text{padding:49px 18px 46px 0;align-self:center;position:relative;z-index:2}
.cf16-page-hero-text h1{font:700 clamp(29px,3.6vw,49px)/1.15 Montserrat,Arial,sans-serif;color:#165687;letter-spacing:-.029em;margin:0 0 18px;max-width:620px;overflow-wrap:break-word}
.cf16-page-hero-text .cf15-kicker{font-size:12px;margin-bottom:17px}
.cf16-page-description{font:400 clamp(15px,1.32vw,17px)/1.65 'Open Sans',Arial,sans-serif;color:#29475d;max-width:610px;margin:0 0 22px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cf16-page-hero-links{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.cf16-page-hero-links .button{padding:12px 21px;border-radius:2px;font-size:13px}
.cf16-page-hero-visual{margin:0;position:relative;min-height:355px;margin-right:min(0px,calc((1200px - 100vw)/2));overflow:hidden}
.cf16-page-hero-visual:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:42px;z-index:1;background:linear-gradient(90deg,#e8f4fc,transparent);pointer-events:none}
.cf16-page-hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;transition:transform .85s cubic-bezier(.22,.61,.36,1)}
.cf16-page-hero:hover .cf16-page-hero-visual img{transform:scale(1.035)}
.cf16-page-hero-course-detail .cf16-page-hero-visual img{object-position:center}
.cf16-reading-layout{padding:48px 0 70px!important}
.cf16-reading-layout .cf15-reading-grid{grid-template-columns:minmax(0,1fr) minmax(240px,285px);gap:58px;align-items:start}
.cf16-reading-layout .cf16-article{font-size:16px;line-height:1.8;max-width:790px}
.cf16-reading-layout .cf16-article h2{font:700 clamp(22px,2vw,26px)/1.3 Montserrat,Arial,sans-serif;color:#18588e;letter-spacing:-.015em;margin:40px 0 14px;padding-bottom:13px;position:relative;border-bottom:1px solid #d9e7f0}
.cf16-reading-layout .cf16-article h2:first-child{margin-top:0}
.cf16-reading-layout .cf16-article h2:after{content:"";position:absolute;bottom:-2px;left:0;width:45px;height:3px;background:var(--cf16-orange)}
.cf16-reading-layout .cf16-article h3{font:700 clamp(18px,1.7vw,21px)/1.38 Montserrat,Arial,sans-serif;color:#195786;margin:30px 0 11px}
.cf16-reading-layout .cf16-article :is(p,li){font-size:16px;line-height:1.78;color:#30495b}
.cf16-reading-layout .cf16-article p{margin:0 0 17px}
.cf16-reading-layout .cf16-article ul,.cf16-reading-layout .cf16-article ol{margin:0 0 23px;padding-left:23px}
.cf16-reading-layout .cf16-article li{padding-left:4px;margin-bottom:7px}
.cf16-reading-layout .cf16-article ul li::marker{color:#f58216}
.cf16-reading-layout .cf16-article a{color:#145d97;text-decoration-thickness:1px;text-underline-offset:3px}
.cf16-reading-layout .cf16-article a:hover{color:#a95104}
.cf16-reading-layout .cf16-article img{max-width:100%;height:auto;object-fit:contain}
.cf16-reading-layout .cf16-article img.alignleft,.cf16-reading-layout .cf16-article img.alignright{float:none;max-width:100%;display:block;margin:18px 0}
.cf16-reading-layout .cf16-article img.cf16-image-missing{display:none!important}
.cf16-reading-layout .cf16-article :is(table,figure){max-width:100%}
.cf16-reading-layout .cf16-article table{display:block;overflow-x:auto}
.cf16-reading-layout .cf16-article blockquote{background:#eef7fd;border-left:4px solid #f58216;padding:24px;margin:27px 0;color:#274d68}
.cf16-reading-layout .cf15-related{position:sticky;top:22px;background:#f0f7fb;border:0;border-top:3px solid #f58216;padding:23px 20px}
.cf16-reading-layout .cf15-related h2{font:700 19px Montserrat,Arial,sans-serif;margin-bottom:15px;color:#144f80}
.cf16-reading-layout .cf15-related a{min-height:42px}
.cf16-article-index{margin-bottom:18px;padding:0 0 15px;border-bottom:1px solid #cedfec}
.cf16-article-index h3{font-size:14px!important;text-transform:uppercase;letter-spacing:.07em;color:#406b8b!important;margin:0 0 10px!important}
.cf16-article-index a{display:block;padding:8px 0!important;color:#165687;text-decoration:none!important;line-height:1.4;font-weight:600;font-size:13px!important}
.cf16-article-index a:hover{text-decoration:underline!important}
.cf16-article-index a.is-current{border-left:3px solid #f58216;padding-left:10px!important;background:#deedf8}
.cf16-reading-layout .cf15-context-cta{background:#e7f4fc;border-left:4px solid var(--cf16-orange);border-top:0;display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:34px;padding:24px}
.cf16-reading-layout .cf15-context-cta strong{color:#154e7d}
.cf16-reading-layout .cf15-context-cta .button{flex:none}
.cf16-reading-layout .cf15-related-contact{padding-top:17px}
.cf16-reading-layout .cf15-related-contact a{overflow-wrap:anywhere}
/* Course finding and venue cards: visual rhythm and purposeful interaction matching TheBuilt. */
.cf15-directory-content .cf15-course-directory>a,.cf15-all-course-list>a,.cf15-venue-card{transition:box-shadow .22s ease,transform .22s ease,border-color .22s ease;will-change:auto}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.cf15-directory-content .cf15-course-directory>a:hover,.cf15-all-course-list>a:hover,.cf15-venue-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #14548718}.cf15-course-category:hover img{transform:scale(1.04)}.cf15-photo-card:hover img{transform:scale(1.045)}}
.cf15-directory-content .cf15-course-directory>a:focus-visible,.cf15-venue-card:focus-within{outline:2px solid var(--cf16-orange);outline-offset:2px}
.cf15-course-category{overflow:hidden}.cf15-course-category img,.cf15-photo-card img{transition:transform .5s ease}
.cf16-reading-layout .cf-source-content>img:first-child:not([class]){max-height:350px;width:auto}
/* Use TheBuilt's slide and image reveal approach without hiding content when JavaScript fails. */
@media(prefers-reduced-motion:no-preference){.cf16-page-hero-text .cf15-kicker,.cf16-page-hero-text h1,.cf16-page-hero-text .cf16-page-description,.cf16-page-hero-links{animation:cf16-rise .65s both}.cf16-page-hero-text h1{animation-delay:.08s}.cf16-page-hero-text .cf16-page-description{animation-delay:.16s}.cf16-page-hero-links{animation-delay:.25s}.cf16-page-hero-visual{animation:cf16-picture .9s both}@keyframes cf16-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes cf16-picture{from{opacity:.45;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}}
@media(max-width:1050px){.cf16-page-hero-grid{grid-template-columns:1fr .8fr}.cf16-reading-layout .cf15-reading-grid{gap:25px;grid-template-columns:minmax(0,1fr) 220px}}
@media(max-width:900px){.cf16-reading-layout .cf15-reading-grid{grid-template-columns:1fr}.cf16-reading-layout .cf15-related{position:static;display:block}.cf16-article-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px}.cf16-article-index h3{grid-column:1/-1}}
@media(max-width:650px){.cf16-reference-heading{padding:18px 0!important}.cf16-reference-heading h1{font-size:27px}.cf16-page-hero-grid{display:flex;flex-direction:column;min-height:0;gap:0}.cf16-page-hero-text{padding:30px 0 25px}.cf16-page-hero-text h1{font-size:clamp(28px,7.2vw,36px);line-height:1.2;margin-bottom:12px}.cf16-page-description{font-size:15px;line-height:1.6;margin-bottom:15px;-webkit-line-clamp:4}.cf16-page-hero-links .button{min-height:45px;display:inline-flex;align-items:center;justify-content:center;padding:11px 17px}.cf16-page-hero-visual{min-height:195px;height:195px;margin:0 -16px}.cf16-page-hero-visual:before{display:none}.cf16-page-hero-visual img{object-position:center 39%}.cf16-reading-layout{padding:28px 0 47px!important}.cf16-reading-layout .cf16-article :is(p,li){font-size:16px}.cf16-reading-layout .cf16-article h2{font-size:23px;margin-top:32px}.cf16-reading-layout .cf16-article h3{font-size:19px}.cf16-reading-layout .cf15-context-cta{display:block;padding:19px}.cf16-reading-layout .cf15-context-cta .button{display:flex;width:100%;justify-content:center;margin-top:15px}.cf16-article-index{grid-template-columns:1fr}.cf16-breadcrumb .container{gap:7px}.cf16-breadcrumb span{font-size:12px}.cf16-reading-layout .cf16-article img{display:block;float:none!important;margin:16px 0!important;max-width:100%}}
@media(prefers-reduced-motion:reduce){.cf16-page-hero *, .cf15-photo-card img{animation:none!important;transition:none!important}}

/* Remove AI-style leading dashes from eyebrow headers across the entire site. */
.cf15-kicker:before,.cf15-kicker::before{display:none!important;content:none!important}
.cf15-kicker{gap:0!important;letter-spacing:.035em!important}
.cf15-directory-intro .cf15-kicker:before,.cf-ref-page-heading .cf15-kicker:before{display:none!important}

.cf16-empty-media{display:none!important}
.cf16-week-toggle{border:1px solid #d5e6f0;border-left:3px solid #f58216;margin:10px 0;background:#f6fafc}
.cf16-week-toggle summary{padding:13px 16px;font:700 15px Montserrat,Arial,sans-serif;color:#145788;cursor:pointer;list-style-position:inside}
.cf16-week-toggle summary:hover{background:#e8f4fc}
.cf16-week-toggle :is(ul,ol){padding:5px 16px 13px 35px!important;margin:0!important}
@media(max-width:650px){.cf16-reading-layout .cf15-related{display:none!important}}
