.elementor-kit-6{--e-global-color-primary:#182451;--e-global-color-secondary:#CF0032;--e-global-color-text:#232838;--e-global-color-accent:#DD0035;--e-global-color-f8f1ee1:#FFFFFF;--e-global-color-d81179c:#FFFFFF24;--e-global-color-aae7cc1:#00000000;--e-global-color-078b99e:#101936;--e-global-color-aa64a27:#C99A3D;--e-global-color-50dfbe6:#C4C4C4;--e-global-color-863f549:#CF00320F;--e-global-color-8837834:#F6F8FC;--e-global-color-65ae530:#EDEFF5;--e-global-typography-primary-font-family:"Newsreader";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Public Sans";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Public Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Public Sans";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1366px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:95%;}.e-con{--container-max-width:95%;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:95%;}.e-con{--container-max-width:95%;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:95%;}.e-con{--container-max-width:95%;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}/* Start custom CSS *//* === OAL brand typography and polish (site-wide) === */
body{font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.elementor :is(p,a,li,span,label,input,select,textarea,button,h3,h4,h5,h6,summary,td,th,div):where(:not([class*="eicon"],[class*="fa-"],[class*="swiper-"],.star-rating,.star-rating *)){font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif!important}
.elementor :is(h1,h2),.elementor :is(h1,h2) :is(span,a,strong,em,b,i),h1.oal-page-title{font-family:"Newsreader",Georgia,"Times New Roman",serif!important;letter-spacing:-.01em}
/* small label-style headings stay sans */
.elementor .elementor-element-f784020 h2.elementor-heading-title,.elementor .elementor-element-a4f0d15 h2.elementor-heading-title{font-family:"Public Sans",system-ui,sans-serif!important;letter-spacing:.02em}
h1,h2,h3{text-wrap:balance}
::selection{background:#182451;color:#fff}
:focus-visible{outline:2px solid #CF0032;outline-offset:2px}
/* testimonials: no dead space under the quote mark */
.elementor-element-0347aee .elementor-heading-title,.elementor-element-64e2e71 .elementor-heading-title,.elementor-element-5dc09f0 .elementor-heading-title{line-height:.55!important;height:38px;display:block}
.elementor-element-bc8b0c6,.elementor-element-41d7876,.elementor-element-3b999ee{justify-content:flex-start!important}
/* course cards: full image, brand colours, plain-English buttons */
.oalshop-card-img-wrap{height:auto!important;aspect-ratio:16/9;display:block}
.oalshop-card-img-wrap img{width:100%;height:100%!important;object-fit:cover}
.oalshop-card-cta{background:#182451!important;border-color:#182451!important;text-transform:none!important;letter-spacing:0!important;font-size:15px!important}
.oalshop-card-cta:hover{background:#CF0032!important;border-color:#CF0032!important}
.oalshop-card-cta svg,.uc_more_btn svg{display:none!important}
.oalshop-card-cat{font-size:12px!important}
.oalshop-card-title{font-size:17px!important;line-height:1.35!important}
.oalshop-price-now{color:#182451!important}
.oalshop-filter-wrap{accent-color:#182451}

/* === OAL shared components (keeps every page consistent) === */
.elementor h2.elementor-heading-title{color:#182451}
.elementor .elementor-button{border-radius:6px;font-weight:600}
.oalshop-card-cta{border-radius:6px!important}
.oalshop-card{border-radius:8px!important}
.elementor .elementor-divider__text{font-family:"Public Sans",system-ui,sans-serif!important;font-size:14px!important;font-weight:600!important;letter-spacing:.04em;color:#8A6A1F!important}
.elementor .elementor-divider-separator{--divider-color:#C99A3D}
/* no orphaned words or lopsided line breaks on small screens */
p,li,.elementor-icon-box-description,.elementor-image-box-description,.oalshop-card-title{text-wrap:pretty}
h1,h2,h3,.elementor-heading-title,.elementor-icon-box-title,.elementor-image-box-title{text-wrap:balance}
.elementor-heading-title,.elementor-button-text{overflow-wrap:break-word}

/* === OAL inner page headers and policy pages === */
.oal-lp-closing{background:#182451!important;background-image:none!important}
h1.oal-page-title{position:relative;display:flex;align-items:center;box-sizing:border-box;width:100%!important;max-width:none!important;min-height:220px;margin:0 0 40px!important;padding:56px 40% 56px max(24px,calc((100% - 1280px)/2))!important;background:#182451;color:#fff!important;font-size:clamp(32px,4vw,50px)!important;font-weight:500!important;line-height:1.1;overflow:hidden}
h1.oal-page-title::before{content:"Policies";position:absolute;left:max(24px,calc((100% - 1280px)/2));top:34px;padding-bottom:8px;border-bottom:1px solid #C99A3D;font-family:"Public Sans",system-ui,sans-serif;font-size:14px;font-weight:600;letter-spacing:.04em;color:#E9D7AE}
h1.oal-page-title::after{content:"";position:absolute;right:0;top:0;bottom:0;width:36%;border-left:1.5px solid #C99A3D;background:#101936 url(/wp-content/uploads/2026/10/oal-learners-in-class.jpg) center/cover no-repeat}
@media (max-width:767px){h1.oal-page-title{min-height:0;margin-bottom:24px!important;padding:64px 18px 36px!important}h1.oal-page-title::before{left:18px;top:26px}h1.oal-page-title::after{display:none}}

/* no decorative gradients, glow blobs or button shine */
html body .oal-lp-closing{background:#182451!important;background-image:none!important}
html body .oal-lp-closing::before{display:none!important}
.elementor .elementor-button::before{background-image:none!important}
.elementor .elementor-divider__text{white-space:nowrap}
h1.oal-page-title{margin-bottom:0!important}
h1.oal-page-title + .elementor > .e-con:first-child{padding-top:0!important}
h1.oal-page-title + .elementor > .e-con:first-child > .e-con-inner{padding-top:48px!important;padding-bottom:56px!important}

/* === OAL motion system: one easing, one duration, one distance, one stagger (80ms) ===
   Change the three values on :root to retune every animation on the site. */
:root{--oal-ease:cubic-bezier(.2,.7,.2,1);--oal-dur:.7s;--oal-rise:22px}
@keyframes oalIn{from{opacity:0;transform:translateY(var(--oal-rise))}to{opacity:1;transform:none}}
@keyframes oalFade{from{opacity:0}to{opacity:1}}
/* 1. Page load: the first section's blocks rise in sequence */
h1.oal-page-title{animation:oalFade var(--oal-dur) var(--oal-ease) both}
:is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"],[data-elementor-type="product"],[data-elementor-type="product-archive"]) > .e-con:first-child:not(.oal-hero) > .e-con-inner > .elementor-element,
:is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"],[data-elementor-type="product"],[data-elementor-type="product-archive"]) > .e-con:first-child:not(.oal-hero):not(:has(> .e-con-inner)) > .elementor-element{animation:oalIn var(--oal-dur) var(--oal-ease) both}
:is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"],[data-elementor-type="product"],[data-elementor-type="product-archive"]) > .e-con:first-child:not(.oal-hero) > .e-con-inner > .elementor-element:nth-child(2),:is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"],[data-elementor-type="product"],[data-elementor-type="product-archive"]) > .e-con:first-child:not(.oal-hero) > .elementor-element:nth-child(2){animation-delay:.08s}
:is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"],[data-elementor-type="product"],[data-elementor-type="product-archive"]) > .e-con:first-child:not(.oal-hero) > .e-con-inner > .elementor-element:nth-child(3),:is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"],[data-elementor-type="product"],[data-elementor-type="product-archive"]) > .e-con:first-child:not(.oal-hero) > .elementor-element:nth-child(3){animation-delay:.16s}
:is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"],[data-elementor-type="product"],[data-elementor-type="product-archive"]) > .e-con:first-child:not(.oal-hero) > .e-con-inner > .elementor-element:nth-child(4),:is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"],[data-elementor-type="product"],[data-elementor-type="product-archive"]) > .e-con:first-child:not(.oal-hero) > .elementor-element:nth-child(4){animation-delay:.24s}
:is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"],[data-elementor-type="product"],[data-elementor-type="product-archive"]) > .e-con:first-child:not(.oal-hero) > .e-con-inner > .elementor-element:nth-child(n+5),:is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"],[data-elementor-type="product"],[data-elementor-type="product-archive"]) > .e-con:first-child:not(.oal-hero) > .elementor-element:nth-child(n+5){animation-delay:.32s}
/* 2. On scroll: every later block rises as it enters the screen. Rows marked .oal-stagger cascade item by item. */
@supports (animation-timeline:view()){
:is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"],[data-elementor-type="product"],[data-elementor-type="product-archive"]) > .e-con:not(:first-child):not(.oal-stagger) > .e-con-inner > .elementor-element:not(.oal-stagger),
:is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"],[data-elementor-type="product"],[data-elementor-type="product-archive"]) > .e-con:not(:first-child):not(.oal-stagger):not(:has(> .e-con-inner)) > .elementor-element:not(.oal-stagger),
.oal-stagger > .e-con-inner > .elementor-element,
.oal-stagger > .elementor-element{animation:oalIn linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
.oal-stagger > .e-con-inner > .elementor-element:nth-child(2),.oal-stagger > .elementor-element:nth-child(2){animation-range:entry 6% entry 51%}
.oal-stagger > .e-con-inner > .elementor-element:nth-child(3),.oal-stagger > .elementor-element:nth-child(3){animation-range:entry 12% entry 57%}
.oal-stagger > .e-con-inner > .elementor-element:nth-child(4),.oal-stagger > .elementor-element:nth-child(4){animation-range:entry 18% entry 63%}
.oal-stagger > .e-con-inner > .elementor-element:nth-child(5),.oal-stagger > .elementor-element:nth-child(5){animation-range:entry 24% entry 69%}
.oal-stagger > .e-con-inner > .elementor-element:nth-child(n+6),.oal-stagger > .elementor-element:nth-child(n+6){animation-range:entry 30% entry 75%}
}
/* 3. Hover and focus: one speed everywhere */
.elementor a,.elementor .elementor-button,.oalshop-card,.oalshop-card-cta,.oalshop-pill,.oal-lp-nav a{transition-duration:.2s!important;transition-timing-function:ease-out!important}
.oal-tile .elementor-image-box-img img,.oalshop-card-img-wrap img{transition:transform .6s var(--oal-ease)!important}
.oalshop-card:hover .oalshop-card-img-wrap img{transform:scale(1.06)}
/* 4. Visitors who ask for less motion get none */
@media (prefers-reduced-motion:reduce){.elementor *,.elementor *::before,.elementor *::after,h1.oal-page-title{animation:none!important;transition:none!important}}/* End custom CSS */