
/* Site brand overrides */
/* OHSCORP palette, sampled from the original lion logo: ink #100C28, gold gradient #B87828 -> #F4CC6C.
   Legacy --site-blue/--site-yellow names are kept because existing rules reference them. */
:root{
  --oc-black:#100C28;--oc-black-2:#0A0819;--oc-gold:#C8923A;--oc-gold-light:#F4CC6C;--oc-gold-dark:#B87828;
  --oc-gold-text:#8A5A1E; /* gold for small text on white (AA 4.5:1); logo gold fails at body sizes */
  --oc-surface:#F7F6F3;--oc-border:#E4E1DA;--oc-muted:#5B5870;
  --oc-font-heading:Montserrat,Inter,Arial,sans-serif;--oc-font-body:Inter,Arial,sans-serif;
  --site-blue:var(--oc-gold-dark);--site-yellow:#E0B054;--site-dark:var(--oc-black);--site-black:#07060F;--site-white:#ffffff;
}
body{font-family:var(--oc-font-body);}
h1,h2,h3,h4,h5,h6,.main-btn,.nav-menu>li>a,.footer-title,.section-title .title{font-family:var(--oc-font-heading);letter-spacing:-.01em;}
/* Buttons: black primary; gold uses black text so labels stay readable (6.8:1). */
.main-btn{background-color:var(--oc-black);border-color:var(--oc-black);color:#fff;}
.main-btn:hover,.main-btn.main-btn-2{background-color:var(--oc-gold);border-color:var(--oc-gold);color:var(--oc-black)!important;}
.main-btn.main-btn-2:hover{background-color:var(--oc-black);border-color:var(--oc-black);color:#fff!important;}
/* The logo has dark lettering, so it always sits on a light plate when placed on dark sections. */
.footer-area .footer-about img,.footer-area .footer-logo img,.site-on-dark-logo{background:#fff;padding:10px 14px;border-radius:8px;}
:focus-visible{outline:2px solid var(--oc-gold);outline-offset:2px;}

/* Site-wide desktop content width: one shared source of truth for every Bootstrap .container. */
@media (min-width:1400px){
  .container{max-width:1500px;}
}
body{color:#30343a;}
a:hover{color:var(--site-blue);}
.header-top{background:var(--site-dark);}
.header-top .header-meta li a,.header-link a{color:#fff;}
.header-link a:hover,.header-top .header-meta li a:hover{color:var(--site-yellow);}
.header-logo img{width:126px!important;height:auto!important;max-height:92px;object-fit:contain;}
.nav-menu > li > a.active,.nav-menu > li:hover > a,.nav-dropdown > li > a:hover{color:var(--site-blue)!important;}
.about-content .line,.section-title .line{background:var(--site-yellow)!important;}
.about-title span,.section-title .title span{color:var(--site-blue)!important;}
.courses-category li a.active,.courses-category li a:hover{background:var(--site-blue)!important;color:#111!important;}
.courses-price,.courses-meta li i,.features-icon i,.footer-link li a:hover{color:var(--site-blue)!important;}
.footer-area{background:var(--site-dark)!important;}
.footer-title:after{background:var(--site-yellow)!important;}
.newsletter-area{background:var(--site-blue)!important;}
.slider-content-3 .title{text-shadow:0 2px 10px rgba(0,0,0,.55);}
.site-kicker{display:inline-block;color:var(--site-yellow);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;}
.site-highlight{color:var(--site-blue);}
.site-policy{width:100%;max-width:none;margin:0;font-size:16px;line-height:1.8;}
.site-policy h3{margin-top:28px;margin-bottom:10px;}
.site-policy ul{padding-left:22px;list-style:disc;}
.site-cart-table img{width:90px;height:70px;object-fit:cover;border-radius:4px;}
.site-box{background:#fff;border:1px solid #eceff1;padding:28px;border-radius:6px;box-shadow:0 8px 28px rgba(0,0,0,.05);}
.site-summary-row{display:flex;justify-content:space-between;border-bottom:1px solid #eceff1;padding:12px 0;gap:20px;}
.site-summary-row.total{font-weight:700;font-size:18px;border-bottom:0;}
@media(max-width:991px){.header-logo img{width:105px!important;}.site-cart-table{font-size:14px;}}

/* Site placeholder handling: each placeholder keeps the original template image ratio. */
.site-placeholder{display:block;object-fit:cover;object-position:center;}
.bg_cover{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;}

/* Image safety: content blocks control display size so replacement images cannot stretch layouts. */
.single-courses-2 .courses-image a, .single-courses .courses-image a, .single-blog .blog-image a, .single-library .library-image a, .single-teacher .teacher-image a, .courses-sidebar-banner a{display:block;width:100%;overflow:hidden;}
.single-courses-2 .courses-image img, .single-courses .courses-image img{display:block;width:100%!important;aspect-ratio:270/170;object-fit:cover;object-position:center;}
.single-blog .blog-image img{display:block;width:100%!important;aspect-ratio:370/250;object-fit:cover;object-position:center;}
.single-library .library-image img{display:block;width:100%!important;aspect-ratio:271/281;object-fit:cover;object-position:center;}
.single-teacher .teacher-image img{display:block;width:100%!important;aspect-ratio:266/359;object-fit:cover;object-position:center;}
.campus-image .single-campus img{display:block;width:100%!important;aspect-ratio:521/392;object-fit:cover;object-position:center;}
.features-image-2 img{display:block;width:100%!important;height:auto;object-fit:cover;object-position:center;}
.courses-details-content>img{display:block;width:100%!important;height:auto;aspect-ratio:845/533;object-fit:cover;object-position:center;}
.courses-sidebar-banner img{display:block;width:100%!important;aspect-ratio:270/310;object-fit:cover;object-position:center;}
.site-cart-table img.site-placeholder{width:90px!important;height:70px!important;max-width:none!important;aspect-ratio:auto!important;object-fit:cover;flex:0 0 90px;}

/* Site unified placeholder system v2 */
/* One source placeholder is reused everywhere. The layout owns the dimensions, never the source image. */
.site-placeholder{
  display:block;
  max-width:100%;
  object-fit:cover;
  object-position:center;
}

/* Hero and inner-page banners keep their template-defined section height. */
.slider-area-3 .single-slider{
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* Course grids: all cards stay the same size no matter what image is inserted later. */
.single-courses-2 .courses-image,
.single-courses .courses-image{width:100%;overflow:hidden;}
.single-courses-2 .courses-image a,
.single-courses .courses-image a{display:block;width:100%;}
.single-courses-2 .courses-image img,
.single-courses .courses-image img{
  display:block;
  width:100%!important;
  height:auto!important;
  aspect-ratio:270/170!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Sidebar/list course thumbnails. */
.courses-list .courses-image,
.single-courses-list .courses-image{overflow:hidden;}
.courses-list .courses-image img,
.single-courses-list .courses-image img{
  display:block;width:100%!important;height:auto!important;object-fit:cover!important;object-position:center!important;
}

/* Home feature portrait block. */
.features-image-2{overflow:hidden;}
.features-image-2 img{
  display:block;width:100%!important;height:auto!important;aspect-ratio:342/524!important;object-fit:cover!important;object-position:center!important;
}

/* Campus images. */
.campus-image .single-campus{overflow:hidden;}
.campus-image .single-campus img{
  display:block;width:100%!important;height:auto!important;object-fit:cover!important;object-position:center!important;
}

/* Library/product-style cards. */
.single-library .library-image{overflow:hidden;}
.single-library .library-image a{display:block;width:100%;}
.single-library .library-image img{
  display:block;width:100%!important;height:auto!important;aspect-ratio:271/281!important;object-fit:cover!important;object-position:center!important;
}

/* Course detail main image and sidebar banner. */
.courses-details-content>img{
  display:block;width:100%!important;height:auto!important;aspect-ratio:845/533!important;object-fit:cover!important;object-position:center!important;
}
.courses-sidebar-banner{overflow:hidden;}
.courses-sidebar-banner img{
  display:block;width:100%!important;height:auto!important;aspect-ratio:270/310!important;object-fit:cover!important;object-position:center!important;
}

/* Teacher/testimonial images keep their intended boxes without influencing layout. */
.single-teacher .teacher-image{overflow:hidden;}
.single-teacher .teacher-image img{
  display:block;width:100%!important;height:auto!important;aspect-ratio:266/359!important;object-fit:cover!important;object-position:center!important;
}
.testimonial-image img,
.testimonials-image img,
.single-testimonial img{
  max-width:100%;object-fit:cover;object-position:center;
}

/* Cart image is deliberately small and cannot widen the row. */
.site-cart-table img.site-placeholder{
  width:90px!important;height:70px!important;max-width:90px!important;aspect-ratio:auto!important;object-fit:cover!important;flex:0 0 90px;
}

/* General safeguard for any content placeholder that has explicit HTML width/height attributes. */
img.site-placeholder[width][height]{object-fit:cover!important;object-position:center!important;}

/* Final placeholder containment checks */
.testimonials-image .single-testimonial-image{overflow:hidden;}
.testimonials-image .single-testimonial-image img{display:block;max-width:100%!important;height:auto!important;object-fit:cover!important;object-position:center!important;}
.single-blog .blog-image{overflow:hidden;}
.single-blog .blog-image img{display:block;width:100%!important;height:auto!important;object-fit:cover!important;object-position:center!important;}
.courses-list .courses-image img,.single-courses-list .courses-image img{max-width:100%!important;height:auto!important;}

/* Site top message bar: one centered value statement, replacing the old contact links. */
/* Reset the template's inherited 15px bottom padding so the bar has no empty strip. */
.header-top.site-top-message-bar{
  padding:0!important;
}
.site-top-message-bar .header-top-wrapper{
  justify-content:center!important;
  align-items:center;
  min-height:38px;
}
.site-top-message{
  margin:0;
  padding:8px 15px;
  color:#fff;
  font-size:14px;
  line-height:1.4;
  font-weight:500;
  letter-spacing:.15px;
  text-align:center;
}
@media (max-width:575px){
  .site-top-message{
    font-size:12px;
    padding:7px 10px;
  }
}

/* Site course card alignment + persistent actions */
/* Grid cards use a fixed internal content rhythm so longer titles do not move the divider/action row. */
.courses-wrapper .courses-col{
  display:flex;
}
.courses-wrapper .courses-col > .single-courses-2:not(.courses-list),
.courses-wrapper .courses-col > .single-courses{
  width:100%;
}
.single-courses-2:not(.courses-list){
  display:flex;
  flex-direction:column;
}
.single-courses-2:not(.courses-list) .courses-content{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-height:200px;
}
.single-courses-2:not(.courses-list) .courses-content .courses-title{
  margin-bottom:0;
}
.single-courses-2:not(.courses-list) .courses-content .courses-link{
  margin-top:auto;
  opacity:1!important;
  visibility:visible!important;
}
/* The template originally swaps the action row for hidden metadata on hover. Site keeps the actions visible instead. */
.single-courses-2:not(.courses-list) .courses-content .duration-rating,
.single-courses-2:not(.courses-list):hover .courses-content .duration-rating{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none;
}
.single-courses-2:not(.courses-list):hover .courses-link,
.single-courses-2:not(.courses-list):focus-within .courses-link{
  opacity:1!important;
  visibility:visible!important;
}
.single-courses-2:not(.courses-list) .courses-link .apply,
.single-courses-2:not(.courses-list) .courses-link .more{
  opacity:1!important;
  visibility:visible!important;
}
/* Text-only course cards use the same bottom-aligned divider/action row. */
.single-courses{
  display:flex;
  flex-direction:column;
  min-height:230px;
}
.single-courses .courses-link{
  margin-top:auto;
}
@media only screen and (min-width:992px) and (max-width:1199px){
  .single-courses-2:not(.courses-list) .courses-content{min-height:180px;}
  .single-courses{min-height:215px;}
}
@media (max-width:767px){
  .courses-wrapper .courses-col{display:block;}
  .single-courses-2:not(.courses-list) .courses-content{min-height:190px;}
  .single-courses{min-height:210px;}
}

/* Site course detail tabs: brand blue/yellow treatment. */
.courses-details-tab .nav li a{
  background-color:#B87828;
  color:#fff;
  transition:background-color .25s ease,color .25s ease;
}
.courses-details-tab .nav li a:hover,
.courses-details-tab .nav li a:focus{
  background-color:#4EAEE3;
  color:#fff;
}
.courses-details-tab .nav li a.active,
.courses-details-tab .nav li a.active:hover,
.courses-details-tab .nav li a.active:focus{
  background-color:#E0B054;
  color:#151515;
}

/* Site text course cards: align Study / Access and action rows across each grid. */
.single-courses .courses-title{
  min-height:58px;
  display:flex;
  align-items:flex-start;
}
.single-courses .duration-fee{
  min-height:62px;
  display:flex;
  align-items:flex-start;
}
.single-courses .duration-fee .duration,
.single-courses .duration-fee .fee{
  margin-top:0;
}
@media (max-width:767px){
  .single-courses .courses-title{min-height:0;}
  .single-courses .duration-fee{min-height:0;}
}

/* Site diamond image stable state
   Preserve the template's original rotated rounded frame, dimensions,
   positioning and accent border. The image stays at 100% scale with no
   extra transform so the frame geometry cannot be overridden or broken. */
.about-image .single-image.image-1{width:290px;height:290px;}
.about-image .single-image.image-2{width:225px;height:225px;}
.about-image .single-image.image-3{width:190px;height:190px;}
.about-image .single-image.image-4{width:140px;height:140px;}

/* SITE-branded diamond accent palette
   Keep the stable placeholder/image handling, but override the inherited
   template accent colours with a controlled Site set so the collage feels
   branded on both Home and About Us. */
.about-image .single-image .site-diamond-image{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:30px;
  background:#c3ccd3;
  z-index:1;
}
.about-image .single-image .site-diamond-image img{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}

/* Override template accent blocks with Site colours */
.about-image .single-image.image-1::before{background-color:#100C28;}
.about-image .single-image.image-2::before{background-color:#B87828;}
.about-image .single-image.image-3::before{background-color:#E0B054;}
.about-image .single-image.image-4::before{background-color:#8CCFF0;}

/* Site rebuilt training focus section */
.site-training-focus-area{
  padding:80px 0;
  background:#fff;
}
.site-focus-grid{margin-top:25px;}
.site-focus-grid>[class*="col-"]{display:flex;}
.site-focus-card{
  width:100%;
  display:flex;
  flex-direction:column;
  padding:34px 30px 30px;
  margin-top:30px;
  border:1px solid #e6ebef;
  background:#fff;
  box-shadow:0 12px 32px rgba(16,12,40,.07);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.site-focus-card:hover{
  transform:translateY(-5px);
  border-color:#B87828;
  box-shadow:0 16px 38px rgba(16,12,40,.11);
}
.site-focus-icon{
  width:62px;height:62px;
  display:flex;align-items:center;justify-content:center;
  background:#E0B054;
  color:#100C28;
  font-size:25px;
  margin-bottom:24px;
}
.site-focus-card h3{
  color:#100C28;
  font-size:23px;
  line-height:1.3;
  margin:0 0 15px;
}
.site-focus-card p{
  color:#2E2A47;
  line-height:1.75;
  margin:0 0 24px;
}
.site-card-link{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  color:#100C28;
  font-weight:700;
  border-bottom:2px solid #E0B054;
  padding-bottom:4px;
}
.site-card-link:hover{color:#B87828;}

/* Site rebuilt student reviews */
.site-reviews-area{
  padding:90px 0;
  background:#f7f9fb;
  overflow:hidden;
}
.site-reviews-intro{padding-right:30px;}
.site-reviews-intro .title{
  color:#100C28;
  font-size:42px;
  line-height:1.15;
  margin-bottom:18px;
}
.site-reviews-intro .line{
  display:block;
  width:90px;
  height:2px;
  background:#E0B054;
  margin-bottom:24px;
}
.site-reviews-intro p{color:#2E2A47;line-height:1.75;margin:0;}
.site-reviews-slider{margin:0 -12px;padding-bottom:38px;}
.site-reviews-slider .slick-track{display:flex;}
.site-reviews-slider .slick-slide{height:auto;padding:0 12px;}
.site-reviews-slider .slick-slide>div{height:100%;}
.site-review-card{
  height:100%;
  min-height:285px;
  position:relative;
  display:flex!important;
  flex-direction:column;
  background:#fff;
  border:1px solid #dde4ea;
  border-top:4px solid #B87828;
  padding:34px 32px 30px;
}
.site-review-quote{
  color:#E0B054;
  font-size:32px;
  margin-bottom:22px;
}
.site-review-text{
  color:#2E2A47;
  font-size:17px;
  line-height:1.7;
  margin:0 0 30px;
}
.site-review-meta{margin-top:auto;display:flex;flex-direction:column;gap:4px;}
.site-review-meta strong{color:#100C28;font-size:16px;}
.site-review-meta span{color:#637383;font-size:14px;}
.site-reviews-slider .slick-arrow{
  position:absolute;
  bottom:-12px;
  top:auto;
  z-index:5;
  width:42px;height:42px;
  border:0;
  background:#E0B054;
  color:#100C28;
  font-size:0;
  transition:.2s ease;
}
.site-reviews-slider .slick-arrow:hover{background:#B87828;color:#fff;}
.site-reviews-slider .slick-prev{right:62px;left:auto;}
.site-reviews-slider .slick-next{right:12px;}
.site-reviews-slider .slick-prev:before,
.site-reviews-slider .slick-next:before{
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  font-size:15px;
}
.site-reviews-slider .slick-prev:before{content:"\f053";}
.site-reviews-slider .slick-next:before{content:"\f054";}
.site-reviews-slider .slick-dots{bottom:-3px;text-align:left;padding-left:12px;}
.site-reviews-slider .slick-dots li button:before{color:#B87828;}
.site-reviews-slider .slick-dots li.slick-active button:before{color:#E0B054;}
@media(max-width:991px){
  .site-reviews-intro{padding-right:0;margin-bottom:40px;}
  .site-reviews-intro .title{font-size:36px;}
}
@media(max-width:767px){
  .site-training-focus-area,.site-reviews-area{padding:65px 0;}
  .site-focus-card{padding:28px 24px 26px;}
  .site-reviews-intro .title{font-size:32px;}
  .site-review-card{min-height:250px;padding:28px 24px;}
}

/* Site training focus: centered section heading and no inherited template title layout. */
.site-training-focus-area .site-focus-heading{
  max-width:760px;
  margin:0 auto 12px;
  padding:0 20px;
}
.site-training-focus-area .site-focus-heading h2{
  margin:0 0 14px;
  color:#100C28;
  font-size:42px;
  line-height:1.18;
}
.site-training-focus-area .site-focus-heading p{
  margin:0 auto;
  max-width:700px;
  color:#2E2A47;
  line-height:1.75;
}

/* Site review slider pagination: clean dots, never visible numbers. */
.site-reviews-slider{
  position:relative;
  padding-bottom:64px;
}
.site-reviews-slider .slick-dots{
  position:absolute;
  left:12px;
  bottom:0;
  width:auto;
  margin:0;
  padding:0;
  display:flex!important;
  align-items:center;
  gap:9px;
  list-style:none;
}
.site-reviews-slider .slick-dots li{
  width:11px;
  height:11px;
  margin:0;
  padding:0;
}
.site-reviews-slider .slick-dots li button{
  display:block;
  width:11px;
  height:11px;
  min-width:0;
  padding:0;
  border:0;
  border-radius:50%;
  background:#c7d2dc;
  color:transparent!important;
  font-size:0!important;
  line-height:0;
  text-indent:-9999px;
  overflow:hidden;
  cursor:pointer;
}
.site-reviews-slider .slick-dots li button:before,
.site-reviews-slider .slick-dots li button:after{
  content:none!important;
  display:none!important;
}
.site-reviews-slider .slick-dots li.slick-active button{
  background:#E0B054;
}
.site-reviews-slider .slick-dots li button:hover,
.site-reviews-slider .slick-dots li button:focus{
  background:#B87828;
  outline:none;
}
.site-reviews-slider .slick-prev,
.site-reviews-slider .slick-next{
  bottom:0;
}

/* Site reviews: centered dot navigation, autoplay/drag handled by Slick. */
.site-reviews-slider{
  padding-bottom:52px;
}
.site-reviews-slider .slick-dots{
  left:50%;
  right:auto;
  bottom:0;
  width:auto;
  transform:translateX(-50%);
  justify-content:center;
  padding:0;
}
.site-reviews-slider .slick-prev,
.site-reviews-slider .slick-next{
  display:none!important;
}

/* Site site-wide CTA: full-width image background with a solid 50% overlay. */
.site-course-cta{
  position:relative;
  isolation:isolate;
  width:100%;
  padding:96px 0;
  background-color:#100C28;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  overflow:hidden;
}
.site-course-cta::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:rgba(16,12,40,.50);
}
.site-course-cta .container{
  position:relative;
  z-index:1;
}
.site-course-cta-inner{
  max-width:880px;
  margin:0 auto;
  padding:0 24px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.site-course-cta-inner h2{
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.18);
}
.site-course-cta-inner p{
  color:#fff;
  text-shadow:0 1px 6px rgba(0,0,0,.16);
}
@media(max-width:767px){
  .site-course-cta{padding:72px 0;}
  .site-course-cta-inner{padding:0 20px;}
}

/* Site testimonial controls: one centered clickable dot per testimonial. */
.site-reviews-slider{padding-bottom:0;}
.site-review-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:22px;
}
.site-review-dot{
  width:11px;
  height:11px;
  min-width:11px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#c7d2dc;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.site-review-dot.is-active{background:#E0B054;transform:scale(1.08);}
.site-review-dot:hover,
.site-review-dot:focus{background:#B87828;outline:none;}


/* ============================================================
   Site BUTTON SYSTEM - SINGLE SOURCE OF TRUTH
   Standard: yellow/dark -> blue/white on hover/focus.
   Only the secondary hero CTA intentionally uses the inverse.
   Keep this block after all template and Site component styles.
   ============================================================ */
.main-btn,
.main-btn.main-btn-2,
a.main-btn,
button.main-btn,
input.main-btn,
input[type="submit"].main-btn{
  background:#E0B054!important;
  border-color:#E0B054!important;
  color:#100C28!important;
}
.main-btn:hover,
.main-btn:focus,
.main-btn:active,
.main-btn.main-btn-2:hover,
.main-btn.main-btn-2:focus,
.main-btn.main-btn-2:active,
a.main-btn:hover,
a.main-btn:focus,
button.main-btn:hover,
button.main-btn:focus,
input.main-btn:hover,
input.main-btn:focus,
input[type="submit"].main-btn:hover,
input[type="submit"].main-btn:focus{
  background:#B87828!important;
  border-color:#B87828!important;
  color:#fff!important;
}



/* Site HERO SECONDARY CTA - final scoped exception.
   This rule is intentionally last in the stylesheet. */
.slider-03 .slider-btn a.main-btn.site-hero-secondary,
.slider-area .slider-btn a.main-btn.site-hero-secondary,
.site-home-video-hero a.main-btn.site-hero-secondary {
  background: #B87828 !important;
  background-color: #B87828 !important;
  border-color: #B87828 !important;
  color: #ffffff !important;
}
.slider-03 .slider-btn a.main-btn.site-hero-secondary:hover,
.slider-03 .slider-btn a.main-btn.site-hero-secondary:focus,
.slider-03 .slider-btn a.main-btn.site-hero-secondary:active,
.slider-area .slider-btn a.main-btn.site-hero-secondary:hover,
.slider-area .slider-btn a.main-btn.site-hero-secondary:focus,
.slider-area .slider-btn a.main-btn.site-hero-secondary:active,
.site-home-video-hero a.main-btn.site-hero-secondary:hover,
.site-home-video-hero a.main-btn.site-hero-secondary:focus,
.site-home-video-hero a.main-btn.site-hero-secondary:active {
  background: #E0B054 !important;
  background-color: #E0B054 !important;
  border-color: #E0B054 !important;
  color: #100C28 !important;
}

/* Site feature labels: keep the six benefits visually balanced on Home and About. */
.features-area-2 .features-items{
  gap:34px;
}
.features-area-2 .features-items .features-items-wrapper{
  width:46%;
}
.features-area-2 .features-items .features-items-wrapper .single-features-item{
  max-width:none;
  min-height:164px;
}
.features-area-2 .features-items .features-items-wrapper .single-features-item .item-content p{
  min-height:60px;
  font-size:22px;
  line-height:30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.features-area-2 .features-items .features-items-wrapper .single-features-item .item-content p span{
  display:block;
  white-space:nowrap;
}
@media only screen and (min-width:992px) and (max-width:1199px){
  .features-area-2 .features-items{gap:20px;}
  .features-area-2 .features-items .features-items-wrapper{width:48%;}
  .features-area-2 .features-items .features-items-wrapper .single-features-item .item-content p{
    font-size:19px;
    line-height:27px;
    min-height:54px;
  }
}
@media (max-width:991px){
  .features-area-2 .features-items .features-items-wrapper .single-features-item .item-content p span{
    white-space:normal;
  }
}
@media (max-width:767px){
  .features-area-2 .features-items{gap:14px;}
  .features-area-2 .features-items .features-items-wrapper{width:50%;}
  .features-area-2 .features-items .features-items-wrapper .single-features-item{min-height:128px;}
  .features-area-2 .features-items .features-items-wrapper .single-features-item .item-content p{
    min-height:44px;
    font-size:14px;
    line-height:22px;
  }
}


/* Site featured courses section */
.site-featured-courses{
  background:#F3F4F5;
  padding:80px 0;
}
.site-featured-courses .site-featured-courses-heading{
  margin:0 auto 25px;
}
.site-featured-courses .site-featured-courses-heading .title{
  margin:0;
}
.site-featured-courses .site-featured-courses-heading p{
  max-width:760px;
  margin:14px auto 0;
}
.site-featured-courses .courses-wrapper{
  margin-top:20px;
}
.site-featured-courses .site-featured-courses-cta{
  margin-top:42px;
}
@media (max-width:767px){
  .site-featured-courses{padding:60px 0;}
  .site-featured-courses .site-featured-courses-cta{margin-top:32px;}
}

/* Site Home about benefits: scoped check-list layout only */
.home-page .about-content .site-about-benefits{
  list-style:none;
  margin:22px 0 0;
  padding-left:0;
}
.home-page .about-content .site-about-benefits li{
  position:relative;
  display:block;
  margin:0 0 10px;
  padding-left:30px;
}
.home-page .about-content .site-about-benefits li:last-child{
  margin-bottom:0;
}
.home-page .about-content .site-about-benefits li::before{
  content:"\2713";
  position:absolute;
  left:0;
  top:0;
  color:#B87828;
  font-weight:700;
  line-height:inherit;
}
.home-page .about-content .site-about-benefits + .main-btn{
  margin-top:34px;
}
@media (max-width:767px){
  .home-page .about-content .site-about-benefits{margin-top:20px;}
  .home-page .about-content .site-about-benefits li{padding-left:28px;}
}

/* Site Home: featured-course heading cleanup */

.site-featured-courses .site-featured-courses-heading{
  display:block;
  text-align:center;
}
.site-featured-courses .site-featured-courses-heading .title{
  padding-right:0;
  padding-bottom:0;
  display:block;
  max-width:900px;
  margin:0 auto;
}
.site-featured-courses .site-featured-courses-heading .title::before{
  display:none!important;
  content:none!important;
}
.site-featured-courses .site-featured-courses-heading p{
  padding-left:0;
  max-width:760px;
  margin:16px auto 0;
  text-align:center;
}

@media (max-width:767px){
  .site-featured-courses .site-featured-courses-heading .title{padding-bottom:0;}
}


/* Home online-training section: full-width split background, content stays in site container. */
.site-online-training-area{
  position:relative;
  margin-top:80px;
  padding-top:0;
  overflow:hidden;
  background:#F1F1F1;
}
.site-online-training-area::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:40%;
  background:#100C28;
  z-index:0;
}
.site-online-training-area .container{position:relative;z-index:1;}
.site-online-training-area .campus-visit-wrapper::before,
.site-online-training-area .campus-visit-wrapper::after{display:none;}
.site-online-training-area .campus-image-col,
.site-online-training-area .campus-content-col{background:transparent;}
.site-online-training-area .campus-content .campus-title{max-width:420px;}

/* Online Training alignment
   Background remains edge-to-edge. The actual image/text content follows the
   same native Bootstrap .container boundaries as the sections above/below. */
.site-online-training-area > .container{
  position:relative;
  z-index:1;
}
.site-online-training-area .campus-visit-wrapper{
  width:100%;
  max-width:100%;
}
@media (min-width:992px){
  /* Remove the original template's inset padding so the image begins exactly
     at the container's left edge and the content column ends at its right edge. */
  .site-online-training-area .campus-visit-wrapper .campus-image-col{
    width:50%;
    padding:90px 0;
  }
  .site-online-training-area .campus-visit-wrapper .campus-content-col{
    width:50%;
    padding:90px 0;
    display:flex;
    align-items:center;
  }
  .site-online-training-area .campus-content{
    max-width:560px;
    margin-left:60px;
    margin-right:auto;
    padding:0;
    text-align:left;
  }
}

/* Student review sections use a clean white background. */
.site-reviews-area{background:#fff;}

@media(max-width:991px){
  .site-online-training-area{margin-top:55px;background:#F1F1F1;}
  .site-online-training-area::before{display:none;}
  .site-online-training-area .campus-image-col{background:#100C28;}
  .site-online-training-area .campus-content-col{background:#F1F1F1;}
}

/* About Us: Online Training image sizing and spacing.
   Keep the original layout, but let the slider fill the available height of
   the navy image column. The image crops with object-fit: cover rather than
   stretching, so the top and bottom gaps stay small and balanced. */
.site-about-online{
  padding:90px 0;
}
@media (min-width:992px){
  .site-about-online .campus-visit-wrapper .campus-content-col{
    display:flex;
    align-items:center;
  }
  .site-about-online .campus-content{
    width:100%;
    max-width:650px;
  }
  .site-about-online .campus-visit-wrapper .campus-image-col{
    display:flex;
    flex-direction:column;
    align-self:stretch;
    padding-top:18px;
    padding-right:22px;
    padding-bottom:18px;
    padding-left:0;
  }
  .site-about-online .campus-image{
    flex:1 1 auto;
    min-height:0;
    height:auto!important;
  }
  .site-about-online .campus-image .slick-list,
  .site-about-online .campus-image .slick-track,
  .site-about-online .campus-image .slick-slide,
  .site-about-online .campus-image .slick-slide > div,
  .site-about-online .campus-image .single-campus{
    height:100%!important;
  }
  .site-about-online .campus-image .single-campus{
    overflow:hidden;
  }
  .site-about-online .campus-image .single-campus img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}
@media only screen and (min-width:768px) and (max-width:991px){
  .site-about-online{padding:65px 0;}
  .site-about-online .campus-visit-wrapper .campus-image-col{
    padding-top:24px;
    padding-bottom:24px;
  }
}
@media (max-width:767px){
  .site-about-online{padding:50px 0;}
}

/* About Us stats: one source of truth.
   Full-width band, same navy as the Online Training image block, no image or
   overlay, and reduced internal top spacing. */
.about-page .site-about-stats,
.site-about-stats{
  width:100%;
  padding-top:0;
  background:#100C28;
}
.site-about-stats .counter-wrapper-2{
  width:100%;
  padding:46px 0;
  background:#100C28;
  background-image:none!important;
}
.site-about-stats .counter-wrapper-2::before{
  display:none!important;
  content:none!important;
}
.site-about-stats .counter-wrapper-2 .container{
  position:relative;
  z-index:1;
}
@media only screen and (min-width:768px) and (max-width:991px){
  .site-about-stats{padding-top:0;}
  .site-about-stats .counter-wrapper-2{padding:38px 0;}
}
@media (max-width:767px){
  .site-about-stats{padding-top:0;}
  .site-about-stats .counter-wrapper-2{padding:31px 0;}
}


/* About Us: Mission / Vision / Promise */
.site-mvp-area{
  padding:36px 0;
  background:#ffffff;
}
.about-page .about-area{
  padding:70px 0;
}
.site-mvp-grid>[class*="col-"]{display:flex;}
.site-mvp-card{
  width:100%;
  min-height:315px;
  margin-top:0;
  padding:34px 30px 32px;
  text-align:center;
  background:#ffffff;
  border:2px solid #B87828;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.site-mvp-card:hover{
  transform:translateY(-4px);
  border-color:#E0B054;
  box-shadow:0 14px 30px rgba(16,12,40,.09);
}
.site-mvp-icon{
  width:64px;
  height:64px;
  margin-bottom:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#E0B054;
  color:#100C28;
  border-radius:50%;
  font-size:27px;
}
.site-mvp-card h3{
  margin:0 0 16px;
  color:#100C28;
  font-size:30px;
  line-height:1.2;
}
.site-mvp-card p{
  margin:0;
  color:#2E2A47;
  line-height:1.75;
}

/* About Us: six-benefit section on light grey background */
.about-page .features-area-2{
  background:#F3F4F5;
  padding-top:75px;
  padding-bottom:75px;
}
.about-page .features-area-2 .features-image-2{background:#ffffff;}

@media (max-width:991px){
  .about-page .about-area{padding:55px 0;}
  .site-mvp-area{padding:30px 0;}
  .site-mvp-card{min-height:0;}
}
@media (max-width:767px){
  .about-page .about-area{padding:45px 0;}
  .site-mvp-area{padding:28px 0;}
  .site-mvp-card{padding:28px 22px 26px;}
  .about-page .features-area-2{padding-top:55px;padding-bottom:55px;}
}

/* About Us training benefits: one section-level CTA beneath the benefit cards. */
.site-training-focus-area .site-focus-cta{
  margin-top:38px;
}
@media (max-width:767px){
  .site-training-focus-area .site-focus-cta{margin-top:28px;}
}

/* Site FAQ accordion refresh */
.faq-area .site-faq-heading{
  text-align:center;
  max-width:980px;
  margin:0 auto;
}
.faq-area .site-faq-heading .title{
  text-align:center;
}
.faq-area .site-faq-heading .line{
  display:block;
  margin:24px auto 0;
}
.faq-area .site-faq-heading p{
  max-width:900px;
  margin:30px auto 0;
  text-align:center;
}

.faq-area .faq-wrapper{
  max-width:1100px;
  margin:0 auto;
  padding-top:42px;
}
.faq-area .faq-wrapper .accordion .site-faq-item{
  position:relative;
  padding:0;
  margin:0;
  border:0;
  border-bottom:1px solid #e3e7eb;
  background:transparent;
  border-radius:0;
}
.faq-area .faq-wrapper .accordion .site-faq-item:first-child{
  border-top:1px solid #e3e7eb;
}
.faq-area .faq-wrapper .accordion .site-faq-item .card-header{
  padding:0;
  border:0;
  background:transparent;
}
.faq-area .faq-wrapper .accordion .card-header a.site-faq-question{
  position:relative;
  display:block;
  width:100%;
  padding:24px 54px 24px 0;
  color:#B87828;
  font-size:18px;
  font-weight:600;
  line-height:1.45;
  text-decoration:none;
}
.faq-area .faq-wrapper .accordion .card-header a.site-faq-question.collapsed{
  color:#100C28;
}
.faq-area .faq-wrapper .accordion .card-header a.site-faq-question::after{
  content:"−";
  position:absolute;
  top:50%;
  right:6px;
  width:32px;
  height:32px;
  border-radius:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  background:#E0B054;
  color:#100C28;
  font-size:23px;
  font-weight:500;
  line-height:1;
  transition:background-color .2s ease,color .2s ease,transform .2s ease;
}
.faq-area .faq-wrapper .accordion .card-header a.site-faq-question.collapsed::after{
  content:"+";
}
.faq-area .faq-wrapper .accordion .card-header a.site-faq-question:hover::after,
.faq-area .faq-wrapper .accordion .card-header a.site-faq-question:focus::after{
  background:#B87828;
  color:#fff;
}
.faq-area .faq-wrapper .accordion .site-faq-item .card-body{
  padding:0 54px 24px 0;
  margin:0;
  color:#2E2A47;
  font-size:16px;
  line-height:1.8;
}
.faq-area .faq-wrapper .accordion .site-faq-item .card-body p{
  margin:0;
  color:#2E2A47;
  font-size:16px;
  line-height:1.8;
  font-weight:400;
}
@media (max-width:767px){
  .faq-area .site-faq-heading p{margin-top:22px;}
  .faq-area .faq-wrapper{padding-top:28px;}
  .faq-area .faq-wrapper .accordion .card-header a.site-faq-question{
    padding:20px 46px 20px 0;
    font-size:16px;
  }
  .faq-area .faq-wrapper .accordion .card-header a.site-faq-question::after{
    right:0;
    width:30px;
    height:30px;
    font-size:21px;
  }
  .faq-area .faq-wrapper .accordion .site-faq-item .card-body,
  .faq-area .faq-wrapper .accordion .site-faq-item .card-body p{
    padding-right:0;
    font-size:15px;
    line-height:1.7;
  }
  .faq-area .faq-wrapper .accordion .site-faq-item .card-body{padding-bottom:20px;}
}


/* Site contact page - custom rebuilt section */
.site-contact-section{
  padding:95px 0;
  background:#fff;
}
.site-contact-row{row-gap:40px;}
.site-contact-intro{
  height:100%;
  padding:28px 55px 28px 0;
  display:flex;
  flex-direction:column;
}
.site-contact-eyebrow{
  display:block;
  margin-bottom:22px;
  color:#B87828;
  font-size:14px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
}
.site-contact-intro h2,
.site-contact-form-card h2{
  color:#100C28;
  font-size:42px;
  line-height:1.15;
  font-weight:700;
  margin:0;
}
.site-contact-lead{
  max-width:590px;
  margin:28px 0 34px;
  color:#4D4966;
  font-size:17px;
  line-height:1.7;
}
.site-contact-details{
  display:grid;
  gap:22px;
}
.site-contact-detail{margin:0;}
.site-contact-link{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:18px;
  align-items:center;
  color:inherit;
  text-decoration:none;
}
.site-contact-icon{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 58px;
  background:#B87828;
  color:#fff;
  font-size:23px;
  border-radius:3px;
  transition:background-color .2s ease,color .2s ease;
}
.site-contact-link:hover .site-contact-icon,
.site-contact-link:focus .site-contact-icon{
  background:#E0B054;
  color:#100C28;
}
.site-contact-label{
  display:block;
  margin-bottom:3px;
  color:#100C28;
  font-size:13px;
  font-weight:700;
  letter-spacing:.6px;
  text-transform:uppercase;
}
.site-contact-detail p{
  margin:0;
  color:#2E2A47;
  font-size:16px;
  line-height:1.55;
}
.site-contact-link:hover p,.site-contact-link:focus p{color:#B87828;}
.site-contact-link:focus{outline:2px solid #B87828;outline-offset:4px;}
.site-contact-social{
  margin-top:auto;
  padding-top:34px;
  border-top:1px solid #dfe5ea;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.site-contact-social>span{
  margin-right:10px;
  color:#100C28;
  font-size:18px;
  font-weight:600;
}
.site-contact-social a{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #B87828;
  color:#100C28;
  background:#fff;
}
.site-contact-social a:hover{
  background:#B87828;
  color:#fff;
}
.site-contact-form-card{
  height:100%;
  padding:38px 40px 42px;
  border:1px solid #B87828;
  box-shadow:0 10px 30px rgba(16,12,40,.08);
  background:#fff;
}
.site-contact-form-card h2{margin-bottom:28px;}
.site-form-field{margin-bottom:24px;}
.site-form-field label,
.site-enquiry-options legend{
  display:block;
  width:auto;
  margin:0 0 8px;
  color:#100C28;
  font-size:15px;
  font-weight:600;
}
.site-form-field label span,
.site-enquiry-options legend span{color:#B87828;}
.site-form-field input,
.site-form-field textarea{
  width:100%;
  padding:12px 0;
  border:0;
  border-bottom:1px solid #d7dde3;
  border-radius:0;
  background:transparent;
  color:#2E2A47;
  font-size:15px;
  outline:none;
  transition:border-color .2s ease;
}
.site-form-field input:focus,
.site-form-field textarea:focus{border-color:#B87828;}
.site-form-field textarea{
  min-height:100px;
  resize:vertical;
}
.site-enquiry-options{
  margin:4px 0 26px;
  padding:0;
  border:0;
}
.site-enquiry-options legend{margin-bottom:14px;}
.site-enquiry-options label{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-bottom:12px;
  color:#4D4966;
  font-size:14px;
  line-height:1.45;
  cursor:pointer;
}
.site-enquiry-options input[type="checkbox"]{
  appearance:none;
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-top:1px;
  border:1px solid #b9c5cf;
  border-radius:3px;
  background:#fff;
  position:relative;
}
.site-enquiry-options input[type="checkbox"]:checked{
  border-color:#B87828;
  background:#B87828;
}
.site-enquiry-options input[type="checkbox"]:checked::after{
  content:"✓";
  position:absolute;
  inset:-2px 0 0;
  color:#fff;
  font-size:13px;
  font-weight:800;
  line-height:18px;
  text-align:center;
}
.site-contact-submit{
  width:100%;
  margin-top:2px;
}
@media (max-width:991px){
  .site-contact-section{padding:75px 0;}
  .site-contact-intro{padding-right:0;}
  .site-contact-social{margin-top:32px;}
}
@media (max-width:767px){
  .site-contact-section{padding:60px 0;}
  .site-contact-intro h2,
  .site-contact-form-card h2{font-size:32px;}
  .site-contact-lead{font-size:16px;}
  .site-contact-form-card{padding:28px 22px 30px;}
  .site-contact-link{grid-template-columns:52px 1fr;gap:14px;}
  .site-contact-icon{width:52px;height:52px;flex-basis:52px;}
}

/* Contact page company and department information */
.site-company-contact-area{background:#f7f9fb;}
.site-company-information-grid{
  width:100%;
  margin:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 36px;
}
.site-company-information-grid>div{
  padding-bottom:14px;
  border-bottom:1px solid #e1e7ec;
}
.site-company-information-grid dt{
  margin-bottom:5px;
  color:#100C28;
  font-size:14px;
  font-weight:700;
}
.site-company-information-grid dd{margin:0;color:#2E2A47;line-height:1.6;}
.site-company-information-address{grid-column:1/-1;}
.site-department-heading{margin-top:72px!important;}
.site-department-card p{margin-bottom:20px;font-weight:600;}
.site-company-contact-list{margin:auto 0 0;padding:0;list-style:none;}
.site-company-contact-list li{margin-top:8px;color:#4D4966;line-height:1.55;}
.site-company-contact-list a{color:#100C28;text-decoration:underline;text-decoration-color:#B87828;text-underline-offset:3px;}
.site-company-contact-list a:hover,.site-company-contact-list a:focus{color:#238bc3;}
@media (max-width:767px){
  .site-company-information-grid{grid-template-columns:1fr;gap:18px;}
  .site-company-information-address{grid-column:auto;}
  .site-department-heading{margin-top:52px!important;}
}

/* ================================================================
   Site floating side cart + course purchase actions
   Front-end interaction only. Real pricing/session/checkout data will
   connect to the back-end cart when that phase is built.
   ================================================================ */
.site-card-add-wrap{
  margin-top:14px;
}
.site-card-add-to-cart{
  width:100%;
  min-height:44px;
  border:2px solid #111;
  box-sizing:border-box;
  background:#E0B054;
  color:#100C28;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease;
}
.site-card-add-to-cart:hover,
.site-card-add-to-cart:focus{
  border-color:#111;
  background:#B87828;
  color:#fff;
  outline:none;
}
.site-detail-add-to-cart{
  width:100%;
  min-height:44px;
  border:0;
  box-sizing:border-box;
  background:#E0B054;
  color:#100C28;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease;
}
.site-detail-add-to-cart:hover,
.site-detail-add-to-cart:focus{
  background:#B87828;
  color:#fff;
  outline:none;
}
.site-detail-cart-action{
  margin-top:18px;
}

/* Course price + purchase-panel behaviour. */
.site-course-price{
  display:inline-flex;
  align-items:center;
  color:#fff;
  font-weight:700!important;
  letter-spacing:.03em!important;
  cursor:default;
}
.site-course-purchase-panel{
  background:#F3F4F5;
  padding:26px 24px 24px;
}
.site-course-purchase-panel .courses-features-items{
  padding-top:15px;
}
.site-course-purchase-panel .courses-features-items li:last-child{
  border-bottom:0;
}
.site-detail-price-row{
  margin-top:0;
  padding-top:16px!important;
  border-top:2px solid #B87828!important;
  border-bottom:0!important;
  font-size:16px;
}
.site-detail-price-row strong{
  color:#100C28;
  font-size:18px;
  font-weight:800;
}
@media (min-width:992px){
  .courses-sidebar{
    position:sticky;
    top:120px;
    z-index:4;
    align-self:flex-start;
  }
  .site-course-purchase-panel{position:static;top:auto;}
}
@media (max-width:991px){
  .courses-sidebar{position:static;top:auto;}
  .site-course-purchase-panel{position:static;top:auto;}
}
.site-bottom-cart-action{
  margin-top:36px;
  text-align:center;
}
.site-bottom-cart-action .site-detail-add-to-cart{
  width:auto;
  min-width:190px;
  padding:0 30px;
}

/* Site floating quick actions — one positioning system for back-to-top, WhatsApp and cart. */
.site-floating-actions{
  position:fixed;
  right:28px;
  bottom:28px;
  z-index:9996;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.site-floating-actions .back-to-top,
.site-floating-whatsapp,
.site-floating-actions .site-floating-cart{
  position:relative;
  right:auto;
  bottom:auto;
  flex:0 0 58px;
  width:58px;
  height:58px;
  margin:0;
  border-radius:50%;
}
.site-floating-actions .back-to-top{
  line-height:58px;
  z-index:auto;
  background:#B87828;
  color:#100C28;
  box-shadow:0 10px 28px rgba(16,12,40,.22);
}
.site-floating-actions .back-to-top:hover,
.site-floating-actions .back-to-top:focus{
  background:#E0B054;
  color:#100C28;
}
.site-floating-whatsapp{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:transparent;
  box-shadow:0 10px 28px rgba(16,12,40,.18);
  transition:transform .25s ease;
}
.site-floating-whatsapp img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.site-floating-whatsapp:hover,
.site-floating-whatsapp:focus{
  transform:translateY(-2px);
  outline:none;
}
@media (max-width:575px){
  .site-floating-actions{right:18px;bottom:18px;gap:10px;}
  .site-floating-actions .back-to-top,
  .site-floating-whatsapp,
  .site-floating-actions .site-floating-cart{
    flex-basis:54px;
    width:54px;
    height:54px;
  }
  .site-floating-actions .back-to-top{line-height:54px;}
}

.site-floating-cart{
  position:relative;
  width:58px;
  height:58px;
  border:0;
  border-radius:50%;
  background:#E0B054;
  color:#100C28;
  box-shadow:0 10px 28px rgba(16,12,40,.22);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:21px;
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease,transform .25s ease;
}
.site-floating-cart:hover,
.site-floating-cart:focus{
  background:#B87828;
  color:#fff;
  transform:translateY(-2px);
  outline:none;
}
.site-cart-count{
  position:absolute;
  top:-5px;
  right:-5px;
  min-width:24px;
  height:24px;
  padding:0 6px;
  border-radius:12px;
  background:#100C28;
  color:#fff;
  border:2px solid #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  line-height:1;
  font-weight:700;
}
.site-cart-count.is-empty{opacity:.8;}

.site-cart-overlay{
  position:fixed;
  inset:0;
  z-index:9997;
  background:rgba(16,12,40,.5);
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;
}
.site-cart-overlay.is-open{
  opacity:1;
  visibility:visible;
}
.site-side-cart{
  position:fixed;
  top:0;
  right:0;
  z-index:9998;
  width:min(420px,100%);
  height:100vh;
  background:#fff;
  box-shadow:-14px 0 40px rgba(16,12,40,.18);
  transform:translateX(102%);
  transition:transform .32s ease;
  display:flex;
  flex-direction:column;
}
.site-side-cart.is-open{transform:translateX(0);}
.site-cart-open{overflow:hidden;}
.site-side-cart-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:26px 28px 22px;
  border-bottom:1px solid #e4e9ed;
}
.site-side-cart-eyebrow{
  display:block;
  color:#B87828;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:3px;
}
.site-side-cart-header h3{
  margin:0;
  color:#100C28;
  font-size:28px;
}
.site-side-cart-close{
  width:42px;
  height:42px;
  border:0;
  background:#E0B054;
  color:#100C28;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background-color .25s ease,color .25s ease;
}
.site-side-cart-close:hover,
.site-side-cart-close:focus{
  background:#B87828;
  color:#fff;
  outline:none;
}
.site-side-cart-body{
  flex:1;
  overflow-y:auto;
  padding:22px 28px;
}
.site-side-cart-empty{
  padding:28px 0;
  color:#536779;
  text-align:center;
}
.site-side-cart-item{
  display:grid;
  grid-template-columns:54px 1fr 34px;
  gap:14px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid #e4e9ed;
}
.site-side-cart-thumb{
  width:54px;
  height:54px;
  background:#F3F4F5;
  color:#100C28;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
}
.site-side-cart-item-copy strong{
  display:block;
  color:#100C28;
  line-height:1.35;
  margin-bottom:4px;
}
.site-side-cart-item-copy span{
  display:block;
  color:#6b7d8c;
  font-size:13px;
}
.site-side-cart-remove{
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  color:#100C28;
  cursor:pointer;
}
.site-side-cart-remove:hover,
.site-side-cart-remove:focus{color:#B87828;outline:none;}
.site-side-cart-footer{
  padding:22px 28px 28px;
  border-top:1px solid #e4e9ed;
  background:#f8f9fa;
}
.site-side-cart-note{
  margin:0 0 16px;
  color:#536779;
  font-size:13px;
  line-height:1.55;
}
.site-side-cart-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.site-side-cart-link,
.site-side-cart-checkout{
  min-height:48px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.site-side-cart-link{
  border:1px solid #B87828;
  color:#100C28;
  font-weight:700;
  transition:background-color .25s ease,color .25s ease;
}
.site-side-cart-link:hover,
.site-side-cart-link:focus{
  background:#B87828;
  color:#fff;
}
.site-side-cart-checkout{
  width:100%;
  padding:0 14px!important;
}

@media (max-width:767px){
  .site-floating-cart{width:54px;height:54px;}
  .site-side-cart-header,.site-side-cart-body,.site-side-cart-footer{padding-left:20px;padding-right:20px;}
  .site-side-cart-actions{grid-template-columns:1fr;}
}

/* Site cart / checkout section spacing: one symmetric source of truth. */
.site-commerce-section{
  padding:90px 0;
}
.site-checkout-account-notice{
  margin:0 0 22px;
  padding:16px 18px;
  border:1px solid #d7e3eb;
  border-left:4px solid var(--site-blue);
  background:#f7fafc;
  color:#30343a;
}
.site-checkout-account-notice strong{color:#100C28;}
.site-checkout-account-notice p{margin:5px 0 0;}
.site-checkout-account-notice a{font-weight:700;color:#100C28;text-decoration:underline;}
.site-checkout-account-notice a:hover{color:var(--site-blue);}
.site-checkout-field-note{display:block;margin-top:6px;color:#6c7882;line-height:1.45;}
.site-payfast-graphic{
  margin-top:22px;
  text-align:center;
}
.site-payfast-graphic img{
  display:block;
  width:100%;
  max-width:520px;
  height:auto;
  margin:0 auto;
}
@media (max-width:991px){
  .site-commerce-section{padding:70px 0;}
}
@media (max-width:767px){
  .site-commerce-section{padding:55px 0;}
}

/* Site footer branding + payment reassurance. */
.site-footer-contact-list li{margin-bottom:10px;}
.site-footer-contact-list li:last-child{margin-bottom:0;}
.site-footer-contact-link{display:flex;align-items:flex-start;gap:10px;color:#fff!important;line-height:1.55;text-decoration:none;}
.site-footer-contact-icon{flex:0 0 22px;width:22px;color:#B87828;text-align:center;transition:color .2s ease;}
.site-footer-contact-link:hover,.site-footer-contact-link:focus{color:#B87828!important;}
.site-footer-contact-link:hover .site-footer-contact-icon,.site-footer-contact-link:focus .site-footer-contact-icon{color:#E0B054;}
.site-footer-contact-link:focus{outline:2px solid #B87828;outline-offset:3px;}
.site-footer-brand-logo{
  margin-bottom:16px;
}
.site-footer-brand-logo a{
  display:inline-block;
}
.site-footer-brand-logo img{
  display:block;
  width:110px;
  height:auto;
}
.site-footer-payment{
  padding-top:20px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:0 1 360px;
}
.site-footer-payment img{
  display:block;
  width:100%;
  max-width:340px;
  height:auto;
}
.footer-copyright .copyright p .site-credit-link{
  color:#100C28;
  font-weight:700;
}
.footer-copyright .copyright p .site-credit-link:hover,
.footer-copyright .copyright p .site-credit-link:focus{
  color:#B87828;
}
@media (max-width:767px){
  .site-footer-brand-logo{
    text-align:center;
  }
  .site-footer-brand-logo img{
    margin:0 auto;
  }
  .site-footer-payment{
    width:100%;
    flex-basis:100%;
    justify-content:center;
  }
  .site-footer-payment img{
    max-width:300px;
  }
}

/* Desktop header: equal outer columns keep the navigation aligned to the true page centre. */
@media (min-width:992px){
  .navigation .site-header-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    margin-left:-15px;
    margin-right:-15px;
  }
  .navigation .site-header-layout > .site-header-logo-col,
  .navigation .site-header-layout > .site-header-nav-col,
  .navigation .site-header-layout > .site-header-actions-col{
    width:auto;
    max-width:none;
    flex:none;
  }
  .navigation .site-header-nav-col{
    justify-self:center;
  }
  .navigation .site-header-actions-col{
    justify-self:stretch;
  }
  .navigation .site-header-actions{
    justify-content:flex-end;
  }
}

/* =========================================================
   Site Header Actions: search + account
   Replaces the full search field and keeps account access
   visible in both the normal and sticky navigation states.
   ========================================================= */
.site-header-actions{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-height:44px;
}
.site-header-action{
  width:42px;
  height:42px;
  min-width:42px;
  flex:0 0 42px;
  border:1px solid #dce3e8;
  background:#fff;
  color:#100C28;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  border-radius:50%;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.site-header-action:hover,
.site-header-action:focus,
.site-header-action[aria-expanded="true"]{
  background:#B87828;
  border-color:#B87828;
  color:#fff;
  outline:none;
}
/* Desktop account actions: paired Site brand buttons. */
.site-auth-buttons{display:flex;align-items:center;gap:8px;}
.site-auth-btn{min-width:88px;height:42px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:0;color:#100C28;font-size:14px;font-weight:700;line-height:1;text-transform:none;transition:background .2s ease,border-color .2s ease,color .2s ease;}
.site-auth-login{background:#B87828;border-color:#B87828;color:#fff;}
.site-auth-register{background:#E0B054;border-color:#E0B054;}
.site-auth-login:hover,.site-auth-login:focus{background:#E0B054;border-color:#E0B054;color:#100C28;outline:none;}
.site-auth-register:hover,.site-auth-register:focus{background:#B87828;border-color:#B87828;color:#fff;outline:none;}
.site-account-mobile{display:none;}
.site-account-wrap{position:relative;}
.site-account-menu{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  width:190px;
  background:#fff;
  border:1px solid #e2e7eb;
  box-shadow:0 12px 30px rgba(16,12,40,.14);
  z-index:1200;
  padding:8px 0;
}
.site-account-menu[hidden],
.site-search-panel[hidden]{display:none!important;}
.site-account-menu a{
  display:flex;
  align-items:center;
  gap:11px;
  padding:11px 16px;
  color:#100C28;
  font-weight:600;
}
.site-account-menu a i{width:18px;color:#B87828;}
.site-account-menu a:hover,
.site-account-menu a:focus{
  background:#f3f4f5;
  color:#100C28;
}
.site-search-panel{
  position:absolute;
  top:calc(100% + 16px);
  right:0;
  width:min(440px,calc(100vw - 30px));
  background:#fff;
  border-top:3px solid #B87828;
  box-shadow:0 18px 42px rgba(16,12,40,.17);
  z-index:1199;
  padding:20px;
}
.site-search-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:13px;
}
.site-search-panel-head label{
  margin:0;
  color:#100C28;
  font-size:19px;
  font-weight:700;
}
.site-search-close{
  border:0;
  background:transparent;
  color:#100C28;
  cursor:pointer;
  padding:4px;
  font-size:17px;
}
.site-search-input-wrap{
  position:relative;
  display:flex;
  align-items:center;
  border:1px solid #d9e0e5;
  background:#fff;
}
.site-search-input-wrap>i{
  position:absolute;
  left:14px;
  color:#B87828;
  pointer-events:none;
}
.site-search-input-wrap input{
  width:100%;
  height:46px;
  border:0;
  padding:0 15px 0 40px;
  color:#100C28;
  background:transparent;
  outline:none;
}
.site-search-results{
  max-height:290px;
  overflow:auto;
  margin-top:10px;
}
.site-search-hint,
.site-search-empty{
  margin:0;
  padding:11px 4px;
  color:#5c6b78;
  font-size:14px;
}
.site-search-result{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 6px;
  border-bottom:1px solid #edf0f2;
  color:#100C28;
  font-weight:600;
}
.site-search-result i{color:#B87828;font-size:12px;}
.site-search-result:hover,
.site-search-result:focus{color:#3ca9dd;}
.site-search-all{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  color:#100C28;
  font-weight:700;
  border-bottom:2px solid #E0B054;
  padding-bottom:3px;
}
.site-search-all:hover,
.site-search-all:focus{color:#3ca9dd;}

/* Keep header actions visible when the template switches to sticky navigation. */
.navigation.sticky .site-header-actions,
.header-area.sticky .site-header-actions,
.navigation.fixed .site-header-actions{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

/* The account links now live in the main navigation action menu; keep the top message centered. */
.header-top.site-top-message-bar .header-top-wrapper{justify-content:center!important;}

@media (max-width:991px){
  .site-auth-buttons{display:none;}
  .site-account-mobile{display:block;}
  .site-header-actions{
    position:absolute;
    right:70px;
    top:50%;
    transform:translateY(-50%);
    z-index:1050;
  }
  .site-header-action{width:38px;height:38px;min-width:38px;flex-basis:38px;}
  .site-search-panel{
    position:fixed;
    top:80px;
    right:15px;
    left:15px;
    width:auto;
  }
}
@media (max-width:575px){
  .site-header-actions{right:58px;gap:6px;}
  .site-header-action{width:36px;height:36px;min-width:36px;flex-basis:36px;font-size:15px;}
  .site-search-panel{top:72px;padding:16px;}
}




/* Site inner-page hero — standalone system.
   The template header is absolutely positioned, so inner pages reserve the
   measured header height with --site-header-height. The value is set by
   site-inner-hero-offset.js and has responsive CSS fallbacks before JS runs. */
:root{--site-header-height:147px;}
.site-inner-hero{
  position:relative;
  margin-top:var(--site-header-height);
  min-height:300px;
  display:flex;
  align-items:center;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  overflow:hidden;
}
.site-inner-hero__overlay{
  position:absolute;
  inset:0;
  background:rgba(7,13,18,.45);
  pointer-events:none;
}
.site-inner-hero__container{
  position:relative;
  z-index:1;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:300px;
}
.site-inner-hero__title{
  margin:0;
  color:#fff;
  text-align:center;
  font-size:64px;
  line-height:1.08;
  font-weight:700;
  text-shadow:0 2px 10px rgba(0,0,0,.4);
}
@media only screen and (min-width:768px) and (max-width:991px){
  :root{--site-header-height:126px;}
  .site-inner-hero,
  .site-inner-hero__container{min-height:240px;}
  .site-inner-hero__title{font-size:50px;}
}
@media (max-width:767px){
  :root{--site-header-height:108px;}
  .site-inner-hero,
  .site-inner-hero__container{min-height:190px;}
  .site-inner-hero__title{font-size:32px;}
}
@media only screen and (min-width:576px) and (max-width:767px){
  .site-inner-hero,
  .site-inner-hero__container{min-height:210px;}
}


/* Site real-image hero readability: presentation only; source files remain unedited. */
.slider-area .single-slider{position:relative;isolation:isolate;}
.slider-area .single-slider::before{content:"";position:absolute;inset:0;background:rgba(16,12,40,.38);z-index:-1;}
.slider-area .single-slider .container{position:relative;z-index:1;}

/* ============================================================
   Site SPACING AUDIT - BUTTONS + LOGIN/REGISTER
   Component-level spacing only; avoids global .main-btn margins.
   ============================================================ */
.campus-content > .main-btn{
  margin-top:30px;
}
.site-course-cta-inner p{
  margin-top:18px;
  margin-bottom:30px;
}
@media (max-width:767px){
  .campus-content > .main-btn{margin-top:24px;}
  .site-course-cta-inner p{margin-top:14px;margin-bottom:24px;}
}

/* ============================================================
   Site CONTACT MODAL
   Standalone component: all selectors are namespaced to avoid
   altering the existing Contact page form or global form styles.
   ============================================================ */
body.site-modal-open{overflow:hidden;}
.site-contact-modal{
  position:fixed;
  inset:0;
  z-index:10050;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
}
.site-contact-modal.is-open{display:flex;}
.site-contact-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,24,40,.78);
  backdrop-filter:blur(3px);
}
.site-contact-modal__dialog{
  position:relative;
  z-index:1;
  width:min(1080px,100%);
  max-height:calc(100vh - 56px);
  overflow:auto;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
  outline:0;
}
.site-contact-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:3;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#E0B054;
  color:#100C28;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.site-contact-modal__close:hover,
.site-contact-modal__close:focus{background:#B87828;color:#fff;transform:scale(1.04);}
.site-contact-modal__grid{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);}
.site-contact-modal__info{
  background:#100C28;
  color:#fff;
  padding:48px 42px;
}
.site-contact-modal__logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 13px;
  margin-bottom:28px;
  background:#fff;
}
.site-contact-modal__logo img{display:block;width:110px;height:auto;}
.site-contact-modal__eyebrow{
  display:block;
  margin-bottom:9px;
  color:#E0B054;
  font-size:13px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.site-contact-modal__info h2{margin:0 0 15px;color:#fff;font-size:34px;line-height:1.15;}
.site-contact-modal__info > p{margin:0;color:rgba(255,255,255,.84);line-height:1.7;}
.site-contact-modal__details{list-style:none;margin:30px 0 0;padding:0;}
.site-contact-modal__details li{margin-bottom:18px;}
.site-contact-modal__details li:last-child{margin-bottom:0;}
.site-contact-modal__detail-link{display:flex;gap:14px;align-items:flex-start;color:#fff;text-decoration:none;word-break:break-word;}
.site-contact-modal__detail-icon{
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#E0B054;
  color:#100C28;
}
.site-contact-modal__detail-link > span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0;color:rgba(255,255,255,.86);line-height:1.5;}
.site-contact-modal__details strong{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.04em;}
.site-contact-modal__detail-link:hover > span:last-child,.site-contact-modal__detail-link:focus > span:last-child{color:#E0B054;}
.site-contact-modal__detail-link:focus{outline:2px solid #E0B054;outline-offset:4px;}
.site-contact-modal__form-wrap{padding:48px 46px 42px;background:#fff;}
.site-contact-modal__form-wrap h3{margin:0 48px 26px 0;color:#100C28;font-size:30px;line-height:1.2;}
.site-contact-modal__fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.site-contact-modal__field--full{grid-column:1/-1;}
.site-contact-modal__field label{display:block;margin-bottom:7px;color:#100C28;font-weight:600;font-size:14px;}
.site-contact-modal__field label span{color:#d24141;}
 .site-contact-modal__enquiry-options{margin:0;padding:0;border:0;}
.site-contact-modal__enquiry-options legend{margin:0 0 9px;color:#100C28;font-weight:600;font-size:14px;}
.site-contact-modal__enquiry-options legend span{color:#d24141;}
.site-contact-modal__option-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px;}
.site-contact-modal__option-grid label{display:flex;align-items:flex-start;gap:9px;margin:0;color:#4D4966;font-size:13px;line-height:1.4;cursor:pointer;}
.site-contact-modal__option-grid label span{color:inherit;}
.site-contact-modal__option-grid input[type="checkbox"]{appearance:none;width:18px;height:18px;min-width:18px;flex:0 0 18px;margin:1px 0 0;padding:0;border:1px solid #b9c5cf;border-radius:3px;background:#fff;position:relative;box-shadow:none;}
.site-contact-modal__option-grid input[type="checkbox"]:checked{border-color:#B87828;background:#B87828;}
.site-contact-modal__option-grid input[type="checkbox"]:checked::after{content:"✓";position:absolute;inset:-2px 0 0;color:#fff;font-size:13px;font-weight:800;line-height:18px;text-align:center;}
.site-contact-modal__option-grid input[type="checkbox"]:focus{border-color:#B87828;background:#fff;box-shadow:0 0 0 3px rgba(184,120,40,.16);}
.site-contact-modal__option-grid input[type="checkbox"]:checked:focus{background:#B87828;}
@media (max-width:575px){.site-contact-modal__option-grid{grid-template-columns:1fr;}}
.site-contact-modal__field input,
.site-contact-modal__field select,
.site-contact-modal__field textarea{
  width:100%;
  border:1px solid #d9e0e6;
  border-radius:0;
  background:#f7f8f9;
  color:#333;
  font:inherit;
  padding:12px 14px;
  outline:0;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.site-contact-modal__field input,
.site-contact-modal__field select{height:48px;}
.site-contact-modal__field textarea{min-height:118px;resize:vertical;}
.site-contact-modal__field input:focus,
.site-contact-modal__field select:focus,
.site-contact-modal__field textarea:focus{border-color:#B87828;background:#fff;box-shadow:0 0 0 3px rgba(184,120,40,.16);}
.site-contact-modal__message{min-height:24px;margin:16px 0 6px;font-size:14px;line-height:1.5;}
.site-contact-modal__message.success{color:#24723d;}
.site-contact-modal__message.error{color:#b52e2e;}
.site-contact-modal__submit{margin-top:4px;}
@media (max-width:991px){
  .site-contact-modal{padding:20px;}
  .site-contact-modal__dialog{max-height:calc(100vh - 40px);}
  .site-contact-modal__grid{grid-template-columns:1fr;}
  .site-contact-modal__info{padding:38px 34px;}
  .site-contact-modal__form-wrap{padding:38px 34px;}
}
@media (max-width:575px){
  .site-contact-modal{padding:10px;align-items:flex-start;}
  .site-contact-modal__dialog{max-height:calc(100vh - 20px);}
  .site-contact-modal__close{top:12px;right:12px;width:38px;height:38px;}
  .site-contact-modal__info,.site-contact-modal__form-wrap{padding:30px 22px;}
  .site-contact-modal__logo{margin-bottom:22px;}
  .site-contact-modal__info h2{font-size:28px;}
  .site-contact-modal__form-wrap h3{font-size:25px;margin-right:38px;}
  .site-contact-modal__fields{grid-template-columns:1fr;gap:14px;}
  .site-contact-modal__field--full{grid-column:auto;}
}

/* Phase 14: dynamic policy and banking content */
.site-policy--dynamic .site-policy-content > :first-child{margin-top:0;}
.site-policy--dynamic .site-policy-content h2,.site-policy--dynamic .site-policy-content h3,.site-policy--dynamic .site-policy-content h4{color:#100C28;margin-top:26px;margin-bottom:10px;}
.site-policy--dynamic .site-policy-content p,.site-policy--dynamic .site-policy-content li{line-height:1.75;}
.site-policy--dynamic .site-policy-content ul,.site-policy--dynamic .site-policy-content ol{padding-left:24px;margin-bottom:18px;}
.site-policy-updated{margin-top:28px;padding-top:18px;border-top:1px solid #e2e8f0;color:#64748b;font-size:14px;}
.site-policy-document{margin-top:28px;padding:22px;border:1px solid #dbe3eb;border-left:4px solid #B87828;border-radius:10px;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.site-policy-document h3{margin:0 0 6px;color:#100C28;}
.site-policy-document p{margin:0;}
@media(max-width:767px){.site-policy-document{align-items:flex-start;flex-direction:column;}}


/* WEB-08: Site homepage Bible verse */
.home-page .site-home-verse{background:#F7F9FB;padding:30px 0;border-bottom:1px solid #E5EBF0;}
.home-page .site-home-verse__inner{max-width:960px;margin:0 auto;}
.home-page .site-home-verse__reference{display:block;color:#0B5F94;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;line-height:1.4;}
.home-page .site-home-verse__accent{display:block;width:46px;height:3px;margin:11px auto 13px;background:#E0B054;border-radius:999px;}
.home-page .site-home-verse p{margin:0;color:#100C28;font-size:22px;line-height:1.5;font-weight:600;}
@media(max-width:767px){.home-page .site-home-verse{padding:24px 0}.home-page .site-home-verse p{font-size:18px;line-height:1.55}.home-page .site-home-verse__reference{font-size:12px}}


/* WEB-07B: cart coupon application */
.site-cart-coupon{margin-top:18px;padding-top:18px;border-top:1px solid #eceff1}
.site-cart-coupon__form{margin:0}
.site-cart-coupon__form label{display:block;margin-bottom:8px;font-weight:700;color:#100C28}
.site-cart-coupon__controls{display:flex;gap:8px;align-items:stretch}
.site-cart-coupon__controls input{min-width:0;flex:1;height:46px;padding:10px 12px;border:1px solid #ccd6df;background:#fff;color:#172033;font-size:15px}
.site-cart-coupon__controls input:focus{border-color:#100C28;outline:2px solid rgba(16,12,40,.1);outline-offset:0}
.site-cart-coupon__controls .main-btn{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:46px;margin:0;padding:0 16px}
.site-cart-coupon__applied{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#f5f8fb;border:1px solid #d8e1e9}
.site-cart-coupon__applied span{display:block;font-size:12px;color:#667085}
.site-cart-coupon__applied strong{display:block;margin-top:2px;color:#100C28;letter-spacing:.02em}
.site-coupon-remove{padding:0;border:0;background:transparent;color:#a52a2a;font-weight:700;text-decoration:underline;cursor:pointer}
.site-coupon-remove:hover,.site-coupon-remove:focus-visible{color:#100C28;outline:none}
.site-cart-coupon__notice{padding:12px 14px;background:#f7f8fa;border:1px solid #d8e1e9;color:#4d5b6a;font-size:14px;line-height:1.5}
.site-coupon-discount-row{color:#146c43}
@media(max-width:575px){.site-cart-coupon__controls{flex-direction:column}.site-cart-coupon__controls .main-btn{width:100%}.site-cart-coupon__applied{align-items:flex-start}}


/* WEB-07C UI refinement: checkout coupon control */
.site-checkout-coupon{margin-top:22px;padding-top:20px}
.site-checkout-coupon .site-cart-coupon__form label{margin-bottom:9px}
.site-checkout-coupon .site-cart-coupon__controls{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:10px;width:100%;align-items:stretch}
.site-checkout-coupon .site-cart-coupon__controls input{width:100%;min-width:0;height:48px;border-radius:6px;box-sizing:border-box}
.site-checkout-coupon .site-cart-coupon__controls .main-btn{width:100%;min-width:0;height:48px;padding:0 18px}
@media(max-width:575px){.site-checkout-coupon .site-cart-coupon__controls{grid-template-columns:1fr}.site-checkout-coupon .site-cart-coupon__controls .main-btn{width:100%}}

/* Site Google Reviews: isolated from the legacy Student Reviews component. */
.site-google-reviews-area{
  padding:90px 0;
  background:#fff;
  overflow:hidden;
}
.site-google-reviews-area[hidden]{display:none!important;}
.site-google-reviews-heading{
  max-width:850px;
  margin:0 auto 42px;
}
.site-google-reviews-heading .title{
  color:#100C28;
  font-size:42px;
  line-height:1.15;
  margin:0 0 18px;
}
.site-google-reviews-heading p{
  color:#2E2A47;
  font-size:16px;
  line-height:1.75;
  margin:0;
}
.site-google-reviews-widget{
  width:100%;
  min-height:120px;
}
.site-google-reviews-actions{
  margin-top:38px;
}
.site-google-reviews-actions .main-btn{
  margin:0;
}
@media(max-width:991px){
  .site-google-reviews-heading .title{font-size:36px;}
}
@media(max-width:767px){
  .site-google-reviews-area{padding:65px 0;}
  .site-google-reviews-heading{margin-bottom:32px;}
  .site-google-reviews-heading .title{font-size:32px;}
  .site-google-reviews-heading p{font-size:15px;}
  .site-google-reviews-actions{margin-top:30px;}
}
/* Phase 2 refinement: checkout Student Portal sign-in modal */
.site-checkout-login-modal{display:none;position:fixed;inset:0;z-index:10050;align-items:center;justify-content:center;padding:24px;}
.site-checkout-login-modal.is-open{display:flex;}
.site-checkout-login-modal__backdrop{position:absolute;inset:0;background:rgba(3,34,57,.72);}
.site-checkout-login-modal__dialog{position:relative;z-index:1;width:min(500px,100%);background:#fff;border:1px solid #d7e1e8;border-radius:0;padding:34px;box-shadow:0 24px 70px rgba(0,0,0,.24);}
.site-checkout-login-modal__dialog h3{margin:0 40px 10px 0;color:#100C28;font-size:28px;line-height:1.2;}
.site-checkout-login-modal__dialog>p{margin:0 0 22px;color:#5f7080;line-height:1.6;}
.site-checkout-login-modal__close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid #d7e1e8;background:#fff;color:#100C28;font-size:28px;line-height:32px;cursor:pointer;}
.site-checkout-login-modal__close:hover,.site-checkout-login-modal__close:focus{background:#B87828;color:#fff;border-color:#B87828;}
.site-checkout-login-modal__field{margin-bottom:16px;}
.site-checkout-login-modal__field label{display:block;margin-bottom:7px;color:#100C28;font-weight:700;}
.site-checkout-login-modal__field input{width:100%;border:1px solid #ccd6de;border-radius:0;padding:12px 13px;font:inherit;background:#fff;}
.site-checkout-login-modal__field input:focus{border-color:#B87828;outline:2px solid rgba(184,120,40,.18);outline-offset:0;}
.site-checkout-login-modal__message{min-height:22px;margin:-2px 0 12px;color:#5f7080;font-size:14px;}
.site-checkout-login-modal__message.is-error{color:#b42318;}
.site-checkout-login-modal__links{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:16px;font-size:14px;}
.site-checkout-login-modal__links a{color:#100C28;text-decoration:underline;}
@media(max-width:600px){.site-checkout-login-modal{padding:16px}.site-checkout-login-modal__dialog{padding:28px 20px}.site-checkout-login-modal__dialog h3{font-size:24px}.site-checkout-login-modal__links{display:grid;gap:8px}}


/* Site direct Google Places reviews: separate from Trustindex. */
.site-google-api-reviews-area{padding:85px 0;background:#fff;overflow:hidden;scroll-margin-top:110px;}
.site-google-api-reviews-area[hidden]{display:none!important;}
.site-google-api-reviews-heading{max-width:850px;margin:0 auto 22px;}
.site-google-api-reviews-heading .title{color:#100C28;font-size:42px;line-height:1.15;margin:0 0 18px;}
.site-google-api-reviews-heading p{color:#2E2A47;font-size:16px;line-height:1.75;margin:0;}
.site-google-api-summary{display:flex;align-items:center;justify-content:center;gap:12px 18px;flex-wrap:wrap;margin:0 auto 32px;color:#2E2A47;}
.site-google-api-summary[hidden]{display:none!important;}
.site-google-api-summary__rating{display:flex;align-items:center;gap:10px;}
.site-google-api-summary__rating strong{font-size:27px;line-height:1;color:#100C28;}
.site-google-api-summary__stars{color:var(--site-yellow);font-size:19px;letter-spacing:1px;white-space:nowrap;}
.site-google-api-summary__count{font-size:14px;}
.site-google-api-summary__source{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#5e5e5e;white-space:nowrap;}
.site-google-api-summary__source a{color:#100C28;text-decoration:underline;text-underline-offset:2px;}
.site-google-api-summary__source a:hover,.site-google-api-summary__source a:focus{color:var(--site-blue);outline:none;}
.site-google-api-reviews-slider{position:relative;margin:0;}
.site-google-api-reviews-slider .slick-list{margin:0 -12px;padding-top:5px;padding-bottom:5px;}
.site-google-api-reviews-slider .slick-track{display:flex!important;align-items:flex-start;}
.site-google-api-reviews-slider .slick-slide{height:auto!important;margin:0 12px;display:flex!important;box-sizing:border-box;align-items:flex-start;}
.site-google-api-reviews-slider .slick-slide>div{width:100%;display:flex;align-items:flex-start;}
.site-google-api-review-card{position:relative;box-sizing:border-box;height:380px;min-height:380px;width:100%;background:#fff;border:2px solid var(--site-blue);border-radius:0;padding:28px;display:flex!important;flex-direction:column;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;}
.site-google-api-review-card:hover{border-color:var(--site-yellow);box-shadow:0 12px 30px rgba(16,12,40,.10);transform:translateY(-3px);}
.site-google-api-review-card.is-expanded{height:auto;min-height:380px;}
.site-google-api-review__author{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.site-google-api-review__avatar{width:48px;height:48px;flex:0 0 48px;border-radius:50%;overflow:hidden;background:#eef4f8;display:flex;align-items:center;justify-content:center;text-decoration:none;}
.site-google-api-review__avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.site-google-api-review__initials{font-size:18px;font-weight:800;color:#100C28;}
.site-google-api-review__author-meta{min-width:0;display:flex;flex-direction:column;gap:3px;}
.site-google-api-review__name{color:#100C28;font-size:16px;font-weight:800;line-height:1.3;text-decoration:none;overflow-wrap:anywhere;}
a.site-google-api-review__name:hover{color:var(--site-blue);}
.site-google-api-review__time{font-size:13px;color:#6b7785;line-height:1.35;}
.site-google-api-review__rating{margin-bottom:14px;}
.site-google-api-review__stars{color:var(--site-yellow);font-size:18px;letter-spacing:1px;}
.site-google-api-review__text-wrap{flex:1;display:flex;flex-direction:column;min-height:0;}
.site-google-api-review__text{margin:0;color:#2E2A47;font-size:15px;line-height:1.75;height:8.75em;max-height:8.75em;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;}
.site-google-api-review__control{flex:0 0 24px;height:24px;display:flex;align-items:flex-end;margin-top:8px;}
.site-google-api-review-card.is-expanded .site-google-api-review__text-wrap{flex:0 0 auto;min-height:0;}
.site-google-api-review-card.is-expanded .site-google-api-review__text{display:block;height:auto;max-height:none;overflow:visible;-webkit-line-clamp:unset;}
.site-google-api-review__more{margin:0;padding:0;border:0;background:transparent;color:#100C28;font-weight:800;font-size:13px;line-height:20px;text-decoration:underline;cursor:pointer;}
.site-google-api-review__more[hidden]{display:none!important;}
.site-google-api-review-card.is-expanded .site-google-api-review__control{margin-top:10px;}
.site-google-api-review__more:hover,.site-google-api-review__more:focus{color:var(--site-blue);outline:none;}
.site-google-api-review__source{margin-top:auto;padding-top:18px;border-top:1px solid #e6edf2;}
.site-google-api-review-card.is-expanded .site-google-api-review__source{margin-top:20px;}
.site-google-api-review__source-link{font-size:13px;font-weight:700;color:#5e5e5e;text-decoration:none;white-space:nowrap;}
a.site-google-api-review__source-link:hover{color:#100C28;text-decoration:underline;}
.site-google-api-slider-arrow{position:absolute;top:50%;z-index:5;width:42px;height:42px;margin-top:-21px;border:2px solid var(--site-blue);border-radius:0;background:#fff;color:#100C28;display:flex!important;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease;}
.site-google-api-slider-arrow:hover,.site-google-api-slider-arrow:focus{background:var(--site-yellow);border-color:var(--site-yellow);color:#100C28;outline:none;}
.site-google-api-slider-arrow--prev{left:-54px;}
.site-google-api-slider-arrow--next{right:-54px;}
.site-google-api-reviews-ordering-note{margin:18px 0 0;text-align:center;color:#6b7785;font-size:12px;line-height:1.5;}
.site-google-api-reviews-actions{margin-top:28px;}
.site-google-api-reviews-actions .main-btn{margin:0;}
@media(max-width:1199px){.site-google-api-slider-arrow--prev{left:0}.site-google-api-slider-arrow--next{right:0}.site-google-api-reviews-slider{padding:0 34px}.site-google-api-reviews-heading .title{font-size:36px;}}
@media(max-width:767px){.site-google-api-reviews-area{padding:65px 0}.site-google-api-reviews-heading{margin-bottom:20px}.site-google-api-reviews-heading .title{font-size:32px}.site-google-api-reviews-heading p{font-size:15px}.site-google-api-summary{margin-bottom:26px}.site-google-api-summary__rating strong{font-size:24px}.site-google-api-summary__stars{font-size:17px}.site-google-api-review-card{height:350px;min-height:350px;padding:22px}.site-google-api-review-card.is-expanded{height:auto;min-height:350px}.site-google-api-reviews-slider{padding:0 28px;margin:0}.site-google-api-reviews-slider .slick-list{margin:0;padding-top:5px;padding-bottom:5px}.site-google-api-reviews-slider .slick-slide{margin:0}.site-google-api-slider-arrow{width:38px;height:38px;margin-top:-19px}.site-google-api-reviews-actions{margin-top:30px}.site-google-api-summary__source{white-space:normal;justify-content:center;}}

/* Site Loox Reviews - CSV powered testimonial section */
.site-loox-reviews-area{padding:85px 0;background:#F9F9F9;overflow:hidden;}
.site-loox-reviews-area[hidden]{display:none!important;}
.site-loox-reviews-heading{max-width:850px;margin:0 auto 22px;}
.site-loox-reviews-heading .title{color:#100C28;font-size:42px;line-height:1.15;margin:0 0 18px;}
.site-loox-reviews-heading p{color:#2E2A47;font-size:16px;line-height:1.75;margin:0;}
.site-loox-summary{display:flex;align-items:center;justify-content:center;gap:12px 18px;flex-wrap:wrap;margin:0 auto 32px;color:#2E2A47;}
.site-loox-summary__rating{display:flex;align-items:center;gap:10px;}
.site-loox-summary__rating strong{font-size:27px;line-height:1;color:#100C28;}
.site-loox-summary__stars{color:var(--site-yellow);font-size:19px;letter-spacing:1px;white-space:nowrap;}
.site-loox-summary__count{font-size:14px;}
.site-loox-summary__source{font-size:13px;font-weight:700;color:#6b7785;white-space:nowrap;}
.site-loox-reviews-slider{position:relative;margin:0;}
.site-loox-reviews-slider .slick-list{margin:0 -12px;padding-top:5px;padding-bottom:5px;}
.site-loox-reviews-slider .slick-track{display:flex!important;align-items:flex-start;}
.site-loox-reviews-slider .slick-slide{height:auto!important;margin:0 12px;display:flex!important;box-sizing:border-box;align-items:flex-start;}
.site-loox-reviews-slider .slick-slide>div{width:100%;display:flex;align-items:flex-start;}
.site-loox-review-card{position:relative;box-sizing:border-box;height:330px;min-height:330px;width:100%;background:#fff;border:2px solid var(--site-blue);padding:40px 28px 28px;display:flex!important;flex-direction:column;transition:box-shadow .2s ease,transform .2s ease;}
.site-loox-review-card:hover{border-color:var(--site-yellow);box-shadow:0 12px 30px rgba(16,12,40,.10);transform:translateY(-3px);}
.site-loox-review-card.is-expanded{height:auto;min-height:330px;}
.site-loox-review__top{display:flex;align-items:flex-start;justify-content:flex-start;gap:18px;margin-bottom:14px;min-height:24px;}
.site-loox-review__stars{color:var(--site-yellow);font-size:18px;letter-spacing:1px;white-space:nowrap;line-height:1.2;}
.site-loox-review__quote{position:absolute;top:31px;right:28px;font-family:Georgia,'Times New Roman',serif;color:#c99616;font-size:52px;line-height:1;font-weight:400;}
.site-loox-review__text-wrap{flex:1;display:flex;flex-direction:column;min-height:126px;}
.site-loox-review__text{margin:0;color:#2E2A47;font-size:15px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;}
.site-loox-review-card.is-expanded .site-loox-review__text-wrap{flex:0 0 auto;min-height:0;}
.site-loox-review-card.is-expanded .site-loox-review__text{display:block;overflow:visible;-webkit-line-clamp:unset;}
.site-loox-review__more{align-self:flex-start;margin:10px 0 0;padding:0;border:0;background:transparent;color:#100C28;font-weight:800;font-size:13px;text-decoration:underline;cursor:pointer;}
.site-loox-review__more:hover,.site-loox-review__more:focus{color:var(--site-blue);outline:none;}
.site-loox-review__meta{margin-top:auto;padding-top:18px;border-top:1px solid #e6edf2;}
.site-loox-review-card.is-expanded .site-loox-review__meta{margin-top:20px;}
.site-loox-review__person{display:flex;align-items:center;gap:12px;min-width:0;}
.site-loox-review__avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;object-fit:cover;background:#eef4f8;}
.site-loox-review__name{display:block;color:#100C28;font-size:15px;font-weight:800;line-height:1.35;overflow-wrap:anywhere;}
.site-loox-review__sub{display:block;margin-top:3px;color:#6b7785;font-size:12px;line-height:1.4;}
.site-loox-slider-arrow{position:absolute;top:50%;z-index:5;width:42px;height:42px;margin-top:-21px;border:2px solid var(--site-blue);background:#fff;color:#100C28;display:flex!important;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease;}
.site-loox-slider-arrow:hover,.site-loox-slider-arrow:focus{background:var(--site-yellow);border-color:var(--site-yellow);color:#100C28;outline:none;}
.site-loox-slider-arrow--prev{left:-54px;}
.site-loox-slider-arrow--next{right:-54px;}
.site-loox-reviews-actions{margin-top:36px;}
.site-loox-reviews-actions .main-btn{margin:0;}
@media (max-width:1199px){.site-loox-slider-arrow--prev{left:0}.site-loox-slider-arrow--next{right:0}.site-loox-reviews-slider{padding:0 34px}.site-loox-reviews-heading .title{font-size:36px;}}
@media (max-width:767px){.site-loox-reviews-area{padding:65px 0}.site-loox-reviews-heading{margin-bottom:20px}.site-loox-reviews-heading .title{font-size:32px}.site-loox-reviews-heading p{font-size:15px}.site-loox-summary{margin-bottom:26px}.site-loox-summary__rating strong{font-size:24px}.site-loox-summary__stars{font-size:17px}.site-loox-review-card{height:300px;min-height:300px;padding:34px 22px 22px}.site-loox-review-card.is-expanded{height:auto;min-height:300px}.site-loox-review__quote{top:25px;right:22px;font-size:46px}.site-loox-review__text-wrap{min-height:0}.site-loox-reviews-slider{padding:0 28px;margin:0}.site-loox-reviews-slider .slick-list{margin:0 -8px;padding-top:5px;padding-bottom:5px}.site-loox-reviews-slider .slick-slide{margin:0 8px}.site-loox-slider-arrow{width:38px;height:38px;margin-top:-19px}.site-loox-reviews-actions{margin-top:30px}}

/* OHSCORP: memberships replace the cart, and footers use the brand black rather than the template background image. */
.site-floating-cart{display:none!important}
.footer-area{background-color:var(--oc-black)!important;background-image:none!important}
