/* Shared public footer: reserve room for complete contact details. */
:is(body.reference-public,.ref-shell) .footer-1 .footer-widget-wrapper{display:grid;grid-template-columns:minmax(250px,1.3fr) minmax(130px,.6fr) minmax(155px,.7fr) minmax(305px,1.2fr);gap:32px}
:is(body.reference-public,.ref-shell) .footer-1 .footer-widget-wrapper>.footer-widget{width:100%;max-width:none;min-width:0;margin:0;grid-column:auto}
:is(body.reference-public,.ref-shell) .footer-1 .footer-contact .footer-info{font-size:16px}
:is(body.reference-public,.ref-shell) .footer-1 .footer-contact a.footer-info{display:block;width:max-content;max-width:100%;white-space:nowrap;overflow-wrap:normal}
:is(body.reference-public,.ref-shell) .cc-contact-label{font-weight:600}
:is(body.reference-public,.ref-shell) .footer-1 .tj-copyright-content-area{display:flex;justify-content:center;align-items:center;gap:12px 24px;text-align:center;flex-wrap:wrap;padding-inline:64px}
:is(body.reference-public,.ref-shell) .footer-1 .tj-copyright-text{text-align:center}
@media(max-width:1199px){
 :is(body.reference-public,.ref-shell) .footer-1 .footer-widget-wrapper{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px}
}
@media(max-width:767px){
 :is(body.reference-public,.ref-shell) .footer-1 .footer-widget-wrapper{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
 :is(body.reference-public,.ref-shell) .footer-1 .footer-widget-wrapper>:is(.footer-widget-subscribe,.footer-widget-contact){grid-column:1/-1}
 :is(body.reference-public,.ref-shell) .footer-1 .tj-copyright-content-area{gap:8px}
}
@media(max-width:359px){:is(body.reference-public,.ref-shell) .footer-1 .footer-contact .footer-info{font-size:14px}}
/* Keep the timeline rail and numbered markers anchored during card reveals. */
@keyframes cc-teaching-card-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
 .reference-public .cc-teaching-timeline.cc-timeline-enter>[role=listitem] .mrnha-point{animation:cc-teaching-card-enter .5s ease-out both}
 .reference-public .cc-teaching-timeline.cc-timeline-enter>[role=listitem]:nth-child(2) .mrnha-point{animation-delay:.12s}
 .reference-public .cc-teaching-timeline.cc-timeline-enter>[role=listitem]:nth-child(3) .mrnha-point{animation-delay:.24s}
}
/* Compact filters retain full labels at desktop widths. */
@media(min-width:992px){
 .reference-public .cc-practice-catalog>div:first-child{width:280px;flex:0 0 280px}
 .reference-public .cc-practice-catalog>div:nth-child(2){width:calc(100% - 280px);flex:1 1 0;min-width:0}
 .reference-public .cc-practice-catalog .tj-filter-sidebar{padding:18px}
 .reference-public .cc-practice-catalog .filter-sidebar-top{gap:8px}
 .reference-public .cc-practice-catalog .filter-sidebar-top :is(.filter-title,.tj-reset){white-space:nowrap;font-size:14px;gap:6px}
 .reference-public .cc-practice-catalog .filter-check-item label{white-space:nowrap;gap:8px}
 .reference-public .cc-practice-catalog .filter-check-item{gap:8px;font-size:14px}
 .reference-public .cc-practice-catalog .tj-filter-btn-area{gap:8px}
 .reference-public .cc-practice-catalog .tj-filter-btn-area :is(.tj-btn-primary,.tj-btn-primary-border){padding:11px 16px;white-space:nowrap}
}
/* List view uses its own spacing instead of multi-line grid-card reservations. */
:is(body.reference-public,.ref-shell) .tj-course-wrapper.list-view-active .tj-course-item:not(.banner-feature-course) :is(.title,.course-meta){min-height:0}
:is(body.reference-public,.ref-shell) .tj-course-wrapper.list-view-active .tj-course-item .course-meta{margin:10px 0 0;padding:0;gap:6px 12px}
:is(body.reference-public,.ref-shell) .tj-course-wrapper.list-view-active .tj-course-item .tj-course-price-wrap{margin:12px 0;padding-top:12px}
@media(min-width:768px){
 :is(body.reference-public,.ref-shell) .tj-course-wrapper.list-view-active .tj-course-item{flex-wrap:nowrap;align-items:stretch}
 :is(body.reference-public,.ref-shell) .tj-course-wrapper.list-view-active .tj-course-item .tj-course-img{width:32%;max-width:310px;flex:0 0 32%;aspect-ratio:auto;min-height:210px}
 :is(body.reference-public,.ref-shell) .tj-course-wrapper.list-view-active .tj-course-item .tj-course-img>a{display:block;height:100%}
 :is(body.reference-public,.ref-shell) .tj-course-wrapper.list-view-active .tj-course-item .tj-course-img img{width:100%;height:100%;object-fit:cover}
 :is(body.reference-public,.ref-shell) .tj-course-wrapper.list-view-active .tj-course-item .tj-course-content{min-width:0;padding:0 0 0 22px;flex:1 1 0}
}
@media(max-width:767px){
 :is(body.reference-public,.ref-shell) .tj-course-wrapper.list-view-active .tj-course-item{flex-direction:column}
 :is(body.reference-public,.ref-shell) .tj-course-wrapper.list-view-active .tj-course-item .tj-course-content{width:100%}
}
/* Documentary albums use existing white-redacted originals. */
.reference-public .cc-results-evidence{margin-top:28px}
.reference-public .cc-results-evidence>h3{font-size:22px;margin:0 0 18px}
.reference-public .cc-results-galleries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.reference-public .cc-results-gallery{display:flex;align-items:center;gap:16px;border:1px solid #dce6f3;border-radius:16px;padding:16px;background:#fff}
.reference-public .cc-results-gallery>img{flex:0 0 76px;width:76px;height:100px;object-fit:contain;background:#f4f7fc;border-radius:8px}
.reference-public .cc-results-gallery>div{min-width:0}
.reference-public .cc-results-gallery h4{font-size:17px;margin:0 0 12px;line-height:1.4}
.reference-public .cc-results-gallery .cc-evidence-button{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px 8px;padding:8px 10px;border:1px solid #b6ccea;border-radius:8px;font-size:13px;font-weight:600;color:#01468c;line-height:1.45}
.reference-public .cc-results-gallery .cc-evidence-button:hover{background:#edf4ff}
.reference-public .cc-results-gallery [hidden]{display:none}
@media(max-width:991px){.reference-public .cc-results-galleries{grid-template-columns:1fr}.reference-public .cc-results-gallery>img{height:80px}}
/* Four contact rows fit alongside the consultation form. */
.reference-public .tj-contact-section .tj-contact-area{max-width:none}
.reference-public .tj-contact-section .tj-contact-area .sec-heading{margin-bottom:20px}
.reference-public .tj-contact-section .tj-contact-area .sec-title{font-size:clamp(26px,2.3vw,34px);line-height:1.25;margin:12px 0 10px}
.reference-public .tj-contact-section .tj-contact-area .sec-heading .desc{margin:0}
.reference-public .tj-contact-section .contact-item-wrap{display:grid;gap:12px}
.reference-public .tj-contact-section .contact-item.style-2{padding:14px 18px;margin:0;gap:14px;flex-wrap:nowrap;align-items:center}
.reference-public .tj-contact-section .contact-item.style-2 .contact-icon{width:44px;height:44px;margin:0;font-size:21px}
.reference-public .tj-contact-section .contact-item.style-2 .contact-content{margin:0;min-width:0}
.reference-public .tj-contact-section .contact-item.style-2 .contact-title{margin:0 0 5px;font-size:15px;line-height:1.3}
.reference-public .tj-contact-section .contact-item.style-2 p{margin:0 0 4px;font-size:15px;line-height:1.45}
.reference-public .tj-contact-section .contact-item.style-2 :is(.contact-link,.cc-public-email,.tj-text-btn){font-size:15px;line-height:1.45}
@media(min-width:992px){
 .reference-public .tj-contact-section .contact-form{height:100%}
 .reference-public .tj-contact-section .tj-contact-area{height:100%;display:flex;flex-direction:column}
 .reference-public .tj-contact-section .contact-item-wrap{flex:1;grid-template-rows:repeat(4,minmax(0,1fr))}
}
@media(max-width:575px){.reference-public .tj-contact-section .contact-item.style-2{padding:14px;gap:10px}}

@media(max-width:767px){:is(body.reference-public,.ref-shell) .footer-1 .tj-copyright-content-area{padding-inline:16px}}
