/* ==========================================================================
   JL Mindset Performance : design layer
   A like-for-like port of the 2021 XTRA/WPBakery site, measured from the live
   pages at 1440px (2 October 2026). Elementor holds structure and copy only.

   1  Tokens + fonts          6  Service grid          11 Mental health courses
   2  Base + Elementor adapter 7  Method               12 Contact + form
   3  Header + nav            8  Meet me              13 Mistermind, legal, plain
   4  Hero + curve            9  Latest posts / cards  14 Single post
   5  Intro, copy, gallery,   10 Testimonials, NLP     15 Footer
      buttons, bands                                   16 Responsive
   ========================================================================== */

/* 1 ------------------------------------------------------------ tokens */
@font-face{font-family:"Source Serif Pro";src:url(fonts/source-serif-pro-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif Pro";src:url(fonts/source-serif-pro-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Source Serif Pro";src:url(fonts/source-serif-pro-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif Pro";src:url(fonts/source-serif-pro-700i.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Source Serif Pro";src:url(fonts/source-serif-pro-900.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}

:root{
	--jl-red:#b01824;
	--jl-red-30:rgba(176,24,36,.3);
	--jl-red-20:rgba(176,24,36,.2);
	--jl-red-70:rgba(176,24,36,.7);
	--jl-ink:#555;
	--jl-grey:#808080;
	--jl-black:#0c0c0c;
	--jl-panel:#f4f4f4;
	--jl-cream:#fef8ec;
	--jl-navy:#1d2540;
	--jl-row:1200px;
	--jl-font:"Source Serif Pro",Georgia,"Times New Roman",serif;
}

/* 2 ------------------------------------------------------------ base + adapter */
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--jl-ink);font-family:var(--jl-font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
p{font-size:17px;line-height:1.6;margin:0 0 15px}
h1,h2,h3,h4,h5,h6{font-family:var(--jl-font);color:var(--jl-red);margin:0;line-height:1.4}
a{color:var(--jl-red);text-decoration:none;transition:color .2s,background-color .2s}
a:hover{color:var(--jl-black)}
img{max-width:100%;height:auto}
::selection{background:var(--jl-red);color:#fff}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.jl-skip{position:absolute;left:-9999px;top:8px;z-index:1000;background:#fff;color:var(--jl-red);padding:10px 16px}
.jl-skip:focus{left:8px}
:focus-visible{outline:2px solid var(--jl-red);outline-offset:2px}

/* Elementor adapter: kill Hello/Elementor spacing and colour so the classes below rule. */
.elementor .e-con{--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0;--gap:0;--row-gap:0;--column-gap:0;--width:100%}
.elementor .e-con.e-flex{--flex-wrap:nowrap}
.elementor-widget:not(:last-child){margin-block-end:0}
.elementor .elementor-widget{color:inherit;font-family:inherit;font-size:inherit}
.elementor .elementor-widget-heading .elementor-heading-title{font-family:var(--jl-font);color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}
.elementor .elementor-widget-heading .elementor-heading-title a{color:inherit}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-widget-image img{display:block}
button:hover,button:focus,[type=button]:hover,[type=submit]:hover{background-color:inherit;color:inherit}
.site-main,.page-header{display:none}

/* Shared shell */
.jl-wrap,.e-con.jl-wrap{max-width:var(--jl-row);margin-left:auto!important;margin-right:auto!important;width:calc(100% - 40px)}

/* 3 ------------------------------------------------------------ header */
.jl-header{position:relative;z-index:50}
.jl-has-hero .jl-header{position:absolute;top:0;left:0;right:0}
.jl-no-hero .jl-header{border-bottom:1px solid #eee;height:265px;margin-bottom:0}
.admin-bar.jl-has-hero .jl-header{top:32px}
.jl-header__row{max-width:var(--jl-row);margin:0 auto;display:flex;align-items:flex-start;justify-content:space-between;padding-top:30px;width:calc(100% - 40px)}
.jl-logo{display:block;flex:0 0 auto;line-height:0}
.jl-logo img{width:200px;height:auto;display:block}
.jl-header__right{display:flex;align-items:center;gap:20px;padding-top:25px}
.jl-menu,.jl-menu ul{list-style:none;margin:0;padding:0}
.jl-menu{display:flex;align-items:center}
.jl-menu>li{position:relative;display:flex;align-items:center}
.jl-menu>li>a{display:block;font-size:16px;line-height:40px;height:40px;padding:0 10px;color:var(--jl-red)}
.jl-menu>li.menu-item-has-children>a{padding-right:2px}
.jl-menu>li>a:hover,.jl-menu>li.current-menu-item>a,.jl-menu>li.current-menu-ancestor>a,.jl-menu>li.current-menu-parent>a,.jl-menu>li.current_page_item>a,.jl-menu>li:hover>a{color:#000}
.jl-sub-toggle{background:none!important;border:0;padding:0 10px 0 4px;height:40px;color:var(--jl-red)!important;cursor:pointer;font-size:12px;line-height:40px}
.jl-menu>li:hover>.jl-sub-toggle,.jl-menu>li.current-menu-ancestor>.jl-sub-toggle{color:#000!important}
.jl-menu .sub-menu{position:absolute;top:100%;left:0;min-width:320px;background:var(--jl-red);z-index:60;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s}
.jl-menu>li:hover>.sub-menu,.jl-menu>li:focus-within>.sub-menu,.jl-menu>li.is-open>.sub-menu{opacity:1;visibility:visible;transform:none}
.jl-menu .sub-menu a{display:block;color:#fff;font-size:16px;line-height:40px;padding:0 20px;white-space:nowrap}
.jl-menu .sub-menu a:hover,.jl-menu .sub-menu a:focus{background:#000;color:#fff}
.jl-social{list-style:none;margin:0;padding:0;display:flex}
.jl-social a{display:flex;align-items:center;justify-content:center;background:var(--jl-red);color:#fff;font-size:18px;line-height:1}
.jl-social a:hover{color:#fff;background:var(--jl-red)}
.jl-social--header a{width:36px;height:36px;margin:6px}
.jl-burger{display:none}

/* 4 ------------------------------------------------------------ hero + curve */
.e-con.jl-hero{position:relative;display:block;height:750px;overflow:hidden;background:#fff}
.jl-hero .elementor-widget-image,.jl-hero .elementor-widget-image-carousel{height:100%}
.jl-hero__img img,.jl-hero__slider img,.jl-hero__slider .swiper-slide-image{width:100%;height:750px;object-fit:cover;object-position:center top;display:block}
.jl-hero__slider .elementor-image-carousel-wrapper,.jl-hero__slider .swiper,.jl-hero__slider .swiper-wrapper,.jl-hero__slider .swiper-slide{height:750px}
.elementor .e-con.jl-hero::after,.elementor .e-con.jl-curve::after{content:"";position:absolute;top:auto;left:0;right:0;bottom:-1px;width:auto;opacity:1;mix-blend-mode:normal;border-radius:0;height:120px;z-index:3;pointer-events:none;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 172' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M-3,164.5s401.468-108,802.951-108c401.519,0,803.049,108,803.049,108v203H-3v-203Z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat}
/* the thin red line that drops through the curve into the next section */
.elementor .e-con.jl-curve::before{content:"";position:absolute;top:auto;right:auto;left:50%;bottom:25px;opacity:1;mix-blend-mode:normal;border-radius:0;width:2px;height:80px;margin-left:-1px;z-index:4;background:linear-gradient(0deg,var(--jl-red),#fff)}

/* 5 ------------------------------------------------------------ intro, copy, gallery, buttons, bands */
.e-con.jl-intro{display:block;text-align:center;padding:0 20px;margin-top:0}
.jl-has-hero .e-con.jl-intro{margin-top:0}
.jl-eyebrow,.jl-eyebrow p{font-size:24px;color:var(--jl-grey);margin:0;line-height:1.6}
.jl-intro .jl-eyebrow p{padding-bottom:15px;margin:0}
.jl-title,.jl-title .elementor-heading-title{font-size:38px!important;font-weight:700!important;color:var(--jl-red)!important;line-height:1.4!important}
.e-con.jl-copy{display:block;text-align:center;margin:40px auto 0;max-width:var(--jl-row);width:calc(100% - 40px)}
.e-con.jl-copy--narrow{max-width:585px}
/* every copy block on live is set in 20px spans (the theme's 17px <p> is overridden inline) */
.jl-copy p,.jl-contact__text p,.jl-nlplist__after p{font-size:20px;line-height:32px;margin-bottom:30px}
.jl-copy p:last-child,.jl-nlplist__after p:last-child{margin-bottom:0}
.e-con.jl-copy + .e-con.jl-copy{margin-top:20px}
.e-con.jl-gallery{display:grid!important;gap:20px;max-width:var(--jl-row);width:calc(100% - 40px);margin:30px auto 25px}
.e-con.jl-gallery--4{grid-template-columns:repeat(4,1fr)}
.e-con.jl-gallery--3{grid-template-columns:repeat(3,1fr)}
.jl-gallery__img img{width:100%;aspect-ratio:400/461;object-fit:cover}
.jl-gallery__img a{display:block}
.elementor .e-con.jl-btnrow{display:flex;flex-direction:row;justify-content:center;align-items:center;margin:30px 0}
.jl-btn,.jl-btn a.elementor-button,a.jl-btn{display:inline-block;background:var(--jl-red)!important;color:#fff!important;font-family:var(--jl-font);font-weight:700;font-size:20px;line-height:32px;padding:7px 18px 7px 22px;border:0;border-radius:0;text-decoration:none;transition:background-color .2s}
.elementor-widget.jl-btn{background:none!important;padding:0!important;line-height:0}
.jl-btn a.elementor-button:hover,a.jl-btn:hover,.jl-btn a.elementor-button:focus{background:var(--jl-black)!important;color:#fff!important}
.jl-btn--lg a.elementor-button{padding:9px 18px 9px 25px}
.jl-btn--sm a.elementor-button,a.jl-btn--sm{font-size:15px;line-height:24px;padding:9px 20px 7px}
a.jl-btn--xs{font-size:15px;line-height:24px;padding:5px 18px;border:1px solid rgba(176,24,36,.4)}
a.jl-btn--xs:hover{border-color:var(--jl-red)}
.elementor-button .elementor-button-text{font-weight:inherit}
.e-con.jl-band{display:block;background:var(--jl-red);text-align:center;margin-top:50px;padding:32px 20px 37px}
.jl-band__title,.jl-band__title .elementor-heading-title{color:#fff!important;font-size:34px!important;font-weight:700!important;line-height:48px!important}
.e-con.jl-band--cta{padding:32px 20px 43px}
.jl-band--cta .jl-band__title .elementor-heading-title{font-size:30px!important}
.jl-band--cta .jl-band__title a:hover{color:rgba(255,255,255,.51)!important}
.jl-btnrow + .jl-band{margin-top:50px}

/* 6 ------------------------------------------------------------ service grid */
.jl-navy{background:var(--jl-navy) var(--jl-tex,none) center/cover no-repeat}
.e-con.jl-services{display:block;position:relative;padding:120px 20px 220px}
.e-con.jl-services:not(.jl-curve){padding-bottom:130px}
.jl-svc-grid{max-width:1230px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr}
.jl-svc-col{display:flex;flex-direction:column}
.jl-svc{display:grid;grid-template-columns:1fr 1fr;min-height:409px;background:#fff}
.jl-svc__img{background:#8a96a3 center/cover no-repeat}
.jl-svc--img-right .jl-svc__img{order:2}
.jl-svc__body{padding:50px 40px 30px;background:#fff}
.jl-svc__title{font-size:20px;line-height:28px;font-weight:700;color:var(--jl-red);min-height:84px;margin:0}
.jl-svc__rule{display:block;width:60px;height:3px;background:var(--jl-red-30);margin:12px 0 19px}
.jl-svc__text{font-size:17px;line-height:25px;margin:0;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.jl-svc .jl-btn--xs{margin-top:20px}

/* 7 ------------------------------------------------------------ method */
.e-con.jl-method{display:block;padding:0 20px 110px}
.jl-method__head{text-align:center}
.jl-method__head .jl-eyebrow{font-size:17px;margin:0;padding-bottom:15px}
.jl-method__title{font-size:28px;font-weight:900;line-height:39px}
.jl-steps{list-style:none;margin:20px auto 0;padding:0;max-width:1230px;display:grid;grid-template-columns:repeat(3,1fr);position:relative}
.jl-steps::before{content:"";position:absolute;left:16.66%;right:16.66%;top:75px;height:1px;background:var(--jl-red-30)}
.jl-step{padding:0 15px;position:relative;text-align:center}
.jl-step__num{position:relative;display:block;height:150px}
.jl-step__num::after{content:"";position:absolute;left:50%;top:109px;bottom:0;width:1px;background:var(--jl-red-30)}
.jl-step__num span{position:absolute;left:50%;top:41px;width:48px;height:48px;margin-left:-24px;background:var(--jl-red);color:#fff;transform:rotate(45deg);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;z-index:1}
.jl-step__num span{font-size:0}
.jl-step__num span::before{content:counter(jl-step);counter-increment:jl-step;display:block;transform:rotate(-45deg);font-size:22px;font-weight:700;line-height:1}
.jl-steps{counter-reset:jl-step}
.jl-step__box{display:flex;flex-direction:column;align-items:center;min-height:261px;padding:20px 35px 35px;color:#fff;
	background:linear-gradient(180deg,rgba(176,24,36,.2),rgba(0,0,0,.2)),var(--jl-tex,none) center/cover,#2b2a3c}
.jl-step__box i{font-size:42px;line-height:84px;margin-top:10px;color:#fff}
.jl-step__label{font-size:20px;font-weight:700;line-height:28px;color:#fff;margin-top:30px}

/* 8 ------------------------------------------------------------ meet me */
.e-con.jl-meet{display:flex;flex-direction:column;align-items:center;position:relative;padding:100px 20px 230px;text-align:center}
.jl-meet__title .elementor-heading-title{font-size:28px!important;font-weight:900!important;color:#fff!important;line-height:39px!important;margin-bottom:60px}
.jl-meet__img img{width:387px;height:387px;object-fit:cover}
.jl-meet__name .elementor-heading-title{color:#fff!important;font-size:32px!important;font-weight:700!important;line-height:1.4!important;margin:20px 0 60px}
.jl-meet__img a:hover img{opacity:.85}

/* 9 ------------------------------------------------------------ latest posts + cards */
.e-con.jl-latest{display:block;padding:0 20px;margin-top:-20px;position:relative;z-index:5}
.jl-latest__title .elementor-heading-title{text-align:center;font-size:28px!important;font-weight:900!important;color:var(--jl-red)!important;line-height:39px!important;margin-bottom:80px}
.jl-cards{max-width:1230px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:start}
.jl-card{background:var(--jl-panel)}
.jl-card__img{display:block;line-height:0}
.jl-card__img img{width:100%;aspect-ratio:1/1;object-fit:cover}
.jl-card__body{padding:30px}
.jl-card__title{font-size:20px;line-height:28px;font-weight:700;color:var(--jl-ink);margin:0 0 10px}
.jl-card__title a{color:inherit}
.jl-card__title a:hover{color:var(--jl-red)}
.jl-card__text{font-size:17px;line-height:27.2px}
.jl-btn--card,a.jl-btn--card{font-size:14px;font-weight:400;line-height:18px;padding:14px 20px 17px;margin-top:15px;border:1px solid var(--jl-red)}
.jl-latest + .jl-band--cta{margin-top:180px}

/* 10 ----------------------------------------------------------- testimonials, NLP list */
.e-con.jl-testimonials{display:block;position:relative;padding:50px 20px 220px;background:#182037 var(--jl-speech,none) center/cover no-repeat}
.jl-quotes{max-width:1200px}
.e-con.jl-quote{display:block}
.jl-quote__name .elementor-heading-title{color:#fff!important;font-size:17px!important;font-weight:700!important;line-height:27px!important;padding:20px 20px 12px}
.e-con.jl-quote .jl-quote__body{background:rgba(255,255,255,.72);color:#222;padding:30px;font-size:17px}
.jl-quote__body p{font-size:17px;line-height:27px;margin:0 0 12px}
.e-con.jl-nlplist{display:block;padding:70px 20px 60px;margin-top:30px;text-align:center}
.jl-cream{background:var(--jl-cream)}
.jl-nlplist__title .elementor-heading-title{font-size:28px!important;font-weight:900!important;line-height:39px!important;color:var(--jl-red)!important;margin-bottom:40px}
.e-con.jl-nlplist__cols{display:grid!important;grid-template-columns:repeat(3,1fr);gap:30px;text-align:left;max-width:1030px}
.jl-ticks .elementor-icon-list-items{list-style:none;margin:0;padding:0}
.jl-ticks .elementor-icon-list-item{display:flex!important;align-items:center;gap:14px;padding:0 0 20px 10px!important;margin:0!important}
.jl-ticks .elementor-icon-list-text{font-weight:700;color:#333!important;font-size:17px!important;line-height:30px;padding:0!important}
.jl-ticks .elementor-icon-list-icon{color:#333;font-size:16px;width:auto}
.jl-ticks .elementor-icon-list-icon svg{width:16px!important;height:16px!important;fill:#333}
.jl-ticks .elementor-icon-list-icon i{font-size:16px!important;color:#333!important}
.jl-nlplist__after{margin-top:20px}
.jl-nlplist .jl-btnrow{margin:20px 0 0}

/* 11 ----------------------------------------------------------- mental health courses */
.e-con.jl-courses{display:block;padding:100px 20px 100px;margin-top:40px}
.jl-courses__title .elementor-heading-title{text-align:center;font-size:28px!important;font-weight:900!important;line-height:39px!important;color:var(--jl-red)!important;margin-bottom:30px}
.e-con.jl-courses__grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:20px 20px;max-width:1230px;align-items:start}
.e-con.jl-course{display:block;background:#fff;padding:0 0 30px;box-shadow:0 0 0 1px rgba(0,0,0,.02)}
.jl-course__img img{width:100%;aspect-ratio:800/613;object-fit:cover}
.jl-course__title .elementor-heading-title{font-size:17px!important;font-weight:700!important;line-height:24px!important;color:var(--jl-red)!important;padding:20px 20px 0}
.jl-course__title + .jl-course__title .elementor-heading-title{padding-top:12px}
.jl-course__text{padding:12px 20px 0;font-size:16px}
.jl-course__text p{font-size:16px;line-height:26px;margin-bottom:12px}
.jl-course .jl-btn{padding:10px 20px 0!important}
.e-con.jl-courses__faa{display:flex;flex-direction:column;align-items:center;text-align:center;border-top:1px dotted var(--jl-red);margin:40px -20px 0;padding-top:100px;max-width:none}
.jl-courses__note p{font-size:17px;color:#444;margin:30px 0 20px}

/* 12 ----------------------------------------------------------- contact + form */
.e-con.jl-contact{display:block;text-align:center;padding:50px 20px 20px;max-width:760px;margin:0 auto}
.jl-contact__title .elementor-heading-title{font-size:26px!important;font-weight:700!important;color:var(--jl-red)!important;line-height:40px!important;padding-bottom:10px}
.jl-contact__text p{margin:0 0 15px}
.jl-contact__text a{color:#000}
.jl-contact__form{text-align:left;margin-top:15px}
.jl-form .ff-el-group{margin-bottom:10px}
.jl-form .ff-el-input--label label,.jl-form label{font-size:17px;font-weight:400;color:var(--jl-ink);line-height:27px}
.jl-form .ff-el-is-required.asterisk-right label:after{content:""!important}
.jl-form input[type=text],.jl-form input[type=email],.jl-form input[type=tel],.jl-form textarea,.jl-form .ff-el-form-control{width:100%;border:2px solid var(--jl-red-20)!important;border-radius:0!important;padding:12px!important;font-family:var(--jl-font);font-size:17px;color:#444;background:#fff;box-shadow:none!important;min-height:50px}
.jl-form textarea{min-height:160px;line-height:1.6}
.jl-form input:focus,.jl-form textarea:focus{border-color:var(--jl-red)!important;outline:0}
.jl-form .ff-btn-submit,.jl-form button[type=submit]{background:var(--jl-red)!important;color:#fff!important;border:0!important;border-radius:0!important;font-family:var(--jl-font);font-size:14px!important;font-weight:400!important;padding:12px 20px!important;line-height:18px;margin-top:15px}
.jl-form .ff-btn-submit:hover{background:var(--jl-black)!important}
.jl-form fieldset{border:0;padding:0;margin:0;min-width:0}
.jl-form legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.jl-form .ff-message-success{border:1px solid var(--jl-red-30);padding:20px;font-size:17px}
.jl-form-missing{border:2px dashed var(--jl-red-30);padding:20px}

/* 13 ----------------------------------------------------------- mistermind, legal, plain */
.e-con.jl-mm{display:block;padding:20px 0 100px}
.jl-mm__title .elementor-heading-title{text-align:center;font-size:38px!important;font-weight:700!important;line-height:53px!important;color:var(--jl-red)!important;padding-bottom:10px}
.jl-mm__sub .elementor-heading-title{text-align:center;font-size:34px!important;font-weight:700!important;line-height:48px!important;margin:30px 0 30px;color:var(--jl-red)!important}
.jl-mm__lead{text-align:center}
.e-con.jl-mm__row{display:grid!important;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px;align-items:start}
.jl-mm__img img{width:100%;height:auto}
.jl-mm__invest-title .elementor-heading-title{text-align:center;font-size:34px!important;font-weight:700!important;line-height:48px!important;color:var(--jl-red)!important;margin-bottom:10px}
.e-con.jl-mm__invest{display:block}
.e-con.jl-mm__book{display:block;margin-top:35px}
.jl-btn--book{display:block!important;width:100%}
.jl-btn--book a.elementor-button{display:block;width:100%;text-align:center;font-size:16px;font-weight:400;line-height:24px;padding:12px;color:#fff!important;
	background:linear-gradient(90deg,#fe786c,#fe786c 60%,#fd8a76)!important;border-radius:3px}
.jl-btn--book a.elementor-button:hover{background:#e8604f!important}
.e-con.jl-legal{display:block;max-width:var(--jl-row);width:calc(100% - 40px);margin:0 auto;padding:40px 0 90px}
.jl-legal__title .elementor-heading-title{font-size:26px!important;font-weight:700!important;line-height:36px!important;color:var(--jl-red)!important;padding-bottom:20px;border-bottom:1px solid #eee;margin-bottom:20px}
.jl-legal__body h2,.jl-legal__body h3,.jl-legal__body h4,.jl-legal__body h5{font-size:18px;line-height:25px;font-weight:700;color:var(--jl-red);margin:0 0 10px;padding:30px 0 15px;border-top:1px solid #eee}
.jl-legal__body h2:first-child,.jl-legal__body h3:first-child,.jl-legal__body h4:first-child,.jl-legal__body h5:first-child{border-top:0;padding-top:0}
.jl-legal__body p{font-size:17px;margin:0 0 30px}
.jl-legal__body,.jl-entry,.jl-quote__body{overflow-wrap:anywhere}
.jl-plain{max-width:var(--jl-row);width:calc(100% - 40px);margin:0 auto;padding:40px 0 100px}
.jl-plain__title{font-size:38px;font-weight:700;color:var(--jl-red);margin-bottom:60px}
.jl-blog .jl-plain__title{margin-bottom:50px}
.jl-cards--archive{max-width:none}
.nav-links{display:flex;gap:10px;justify-content:center;margin-top:50px}
.nav-links .page-numbers{display:inline-block;min-width:40px;text-align:center;padding:6px 10px;border:2px solid var(--jl-red-20);color:rgba(176,24,36,.6)}
.nav-links .page-numbers.current,.nav-links a.page-numbers:hover{background:var(--jl-red);border-color:var(--jl-red);color:#fff}

/* 14 ----------------------------------------------------------- single post */
.jl-single{padding-top:40px}
.jl-single__title{font-size:30px;font-weight:400;color:var(--jl-red);line-height:1.4;margin-bottom:20px}
.jl-single__date{font-size:13px;color:var(--jl-ink);margin:0 0 25px}
.jl-single__date i{margin-right:4px}
.jl-single__img{margin:0 0 25px}
.jl-single__img img{width:100%;height:auto;display:block}
.jl-entry{font-size:16px}
.jl-entry p{font-size:16px;line-height:1.7;margin:0 0 25px}
.jl-entry h2{font-size:34px;font-weight:700;margin:35px 0 15px}
.jl-entry h3{font-size:28px;font-weight:700;margin:30px 0 12px}
.jl-entry h4{font-size:22px;font-weight:700;margin:25px 0 12px}
.jl-entry ul,.jl-entry ol{margin:0 0 25px;padding-left:40px;font-size:15px}
.jl-entry li{margin-bottom:4px}
.jl-entry a{color:#000;font-weight:700}
.jl-entry a:hover{color:var(--jl-red)}
.jl-entry table{border-collapse:collapse;width:100%;margin:0 0 25px}
.jl-entry td,.jl-entry th{border:1px solid #ddd;padding:8px 10px;font-size:15px;text-align:left}
.jl-share{display:flex;justify-content:center;gap:4px;border:2px solid var(--jl-red-20);padding:12px;margin:50px 0 30px}
.jl-share a{display:flex;align-items:center;justify-content:center;width:44px;height:36px;color:rgba(176,24,36,.6);font-size:16px}
.jl-share a:hover{color:var(--jl-red)}
.jl-postnav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-top:10px}
.jl-postnav a{color:#000;display:flex;align-items:center;gap:14px}
.jl-postnav small{display:block;font-size:12px;color:var(--jl-ink)}
.jl-postnav strong{font-size:15px}
.jl-postnav__next{justify-content:flex-end;text-align:right}
.jl-postnav__icon{display:flex;width:50px;height:50px;border-radius:50%;background:#f4f4f4;align-items:center;justify-content:center}
.jl-postnav__all{font-size:22px;color:#999!important}

/* 15 ----------------------------------------------------------- footer */
.jl-footer{background:#fff;border-top:1px solid #f2f2f2}
.jl-footer__main{max-width:var(--jl-row);width:calc(100% - 40px);margin:0 auto;display:grid;grid-template-columns:416px 1fr;padding:40px 0 50px}
.jl-footer__contact{padding:10px 20px 0}
.jl-footer__logo img{width:155px;height:auto;display:block}
.jl-footer__phone{display:inline-block;font-size:20px;font-weight:700;color:var(--jl-red-70);margin:26px 0 22px}
.jl-footer__phone:hover{color:var(--jl-red)}
.jl-social--footer a{width:40px;height:40px;margin:0 10px 0 0}
.jl-footer__logos{padding-right:20px}
.jl-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:228px repeat(4,99px);column-gap:30px;row-gap:10px;align-items:center}
.jl-logos__item{line-height:0}
.jl-logos__item img{width:99px;height:110px;object-fit:contain}
.jl-logos__item--wide img{width:228px;height:127px}
.jl-logos--clients{grid-template-columns:228px repeat(4,99px)}
.jl-logos--clients .jl-logos__item:nth-child(6){grid-column:1;grid-row:2}
.jl-footer__rule{border:0;border-top:1px solid #e5e5e5;margin:20px 0 10px;max-width:744px}
.jl-footer__heading{font-size:20px;font-weight:700;color:var(--jl-red);margin:0 0 15px}
.jl-footer__bar{background:var(--jl-panel)}
.jl-footer__bar-row{max-width:var(--jl-row);width:calc(100% - 40px);margin:0 auto;display:flex;justify-content:space-between;align-items:center;min-height:68px;gap:20px}
.jl-footer__copy{font-size:13px;margin:0;color:var(--jl-ink)}
.jl-footer__legal{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.jl-footer__legal li{font-size:13px;line-height:20px;padding:0 10px;border-left:1px solid #bbb}
.jl-footer__legal li:first-child{border-left:0}
.jl-footer__legal li:last-child{padding-right:0}
.jl-footer__legal a,.jl-footer__legal .mm-credit{color:#000;opacity:1}
.jl-footer__legal a:hover{color:var(--jl-red)}

/* 16 ----------------------------------------------------------- responsive (XTRA: 1024 / 768 / 480) */
@media (max-width:1240px){
	.jl-logos,.jl-logos--clients{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:16px}
	.jl-logos__item--wide img{width:100%;height:auto}
	.jl-logos__item img{width:100%;height:auto;max-height:110px}
}
@media (max-width:1024px){
	.jl-header__row{padding-top:20px}
	.jl-logo img{width:150px}
	.jl-no-hero .jl-header{height:auto;padding-bottom:20px}
	.jl-burger{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-top:10px;background:none!important;border:0;cursor:pointer;padding:0}
	.jl-burger__bars,.jl-burger__bars::before,.jl-burger__bars::after{display:block;width:18px;height:2px;background:var(--jl-red);position:relative;content:"";transition:transform .2s}
	.jl-burger__bars::before{position:absolute;top:-6px;left:0;width:18px}
	.jl-burger__bars::after{position:absolute;top:6px;left:4px;width:14px}
	.jl-nav-open .jl-burger__bars{background:transparent}
	.jl-nav-open .jl-burger__bars::before{transform:translateY(6px) rotate(45deg)}
	.jl-nav-open .jl-burger__bars::after{transform:translateY(-6px) rotate(-45deg);left:0;width:18px}
	.jl-header__right{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 20px;box-shadow:0 10px 20px rgba(0,0,0,.08)}
	.jl-nav-open .jl-header__right{display:flex}
	.jl-header{background:#fff}
	.jl-has-hero .jl-header{position:relative;top:auto}
	.jl-menu{flex-direction:column;align-items:stretch}
	.jl-menu>li{flex-wrap:wrap;border-bottom:1px solid #f0f0f0}
	.jl-menu>li>a{flex:1}
	.jl-menu .sub-menu{position:static;min-width:0;width:100%;display:none;opacity:1;visibility:visible;transform:none}
	.jl-menu>li.is-open>.sub-menu{display:block}
	.jl-menu>li:hover>.sub-menu{display:none}
	.jl-menu>li.is-open:hover>.sub-menu{display:block}
	.jl-menu .sub-menu a{white-space:normal;line-height:1.4;padding:10px 20px}
	.jl-sub-toggle{width:44px;height:44px;padding:0}
	.jl-social--header{padding-top:14px}
	.e-con.jl-hero,.jl-hero__img img,.jl-hero__slider img,.jl-hero__slider .swiper-slide-image,.jl-hero__slider .elementor-image-carousel-wrapper,.jl-hero__slider .swiper,.jl-hero__slider .swiper-wrapper,.jl-hero__slider .swiper-slide{height:auto;aspect-ratio:1440/750}
	.jl-svc__body{padding:30px 25px}
	.jl-svc__title{min-height:0}
	.jl-footer__main{grid-template-columns:1fr;gap:30px}
}
@media (max-width:768px){
	.jl-title .elementor-heading-title,.jl-title{font-size:30px!important}
	.jl-eyebrow,.jl-eyebrow p{font-size:20px}
	.jl-band__title .elementor-heading-title,.jl-band--cta .jl-band__title .elementor-heading-title{font-size:28px!important;line-height:38px!important}
	.e-con.jl-band{padding:24px 20px 26px}
	.jl-svc-grid{grid-template-columns:1fr}
	.jl-svc{min-height:380px}
	.jl-svc,.jl-svc--img-right{grid-template-columns:1fr 1fr}
	.jl-svc__title{font-size:16px;line-height:22px}
	.jl-svc__text{font-size:15px;line-height:22px}
	.e-con.jl-services{padding:60px 0 150px}
	.e-con.jl-gallery--4,.e-con.jl-gallery--3{grid-template-columns:repeat(2,1fr)}
	.jl-steps{grid-template-columns:1fr;gap:20px}
	.jl-steps::before,.jl-step__num{display:none}
	.jl-step__box{min-height:200px}
	.jl-cards{grid-template-columns:1fr}
	.e-con.jl-courses__grid{grid-template-columns:1fr}
	.e-con.jl-nlplist__cols{grid-template-columns:1fr;gap:0}
	.e-con.jl-mm__row{grid-template-columns:1fr}
	.jl-meet__img img{width:220px;height:220px}
	.jl-footer__bar-row{flex-direction:column;justify-content:center;padding:15px 0;text-align:center}
	.jl-footer__legal{flex-wrap:wrap;justify-content:center}
	.jl-footer__contact{text-align:center;padding:0}
	.jl-footer__logo img{margin:0 auto}
	.jl-social--footer{justify-content:center}
	.jl-social--footer a{margin:0 5px}
	.jl-logos,.jl-logos--clients{grid-template-columns:1fr;justify-items:center;row-gap:20px}
	.jl-logos--clients .jl-logos__item:nth-child(6){grid-column:auto;grid-row:auto}
	.jl-logos__item img{width:99px;max-height:110px}
	.jl-logos__item--wide img{width:228px;max-width:100%}
	.jl-footer__logos{padding:0;text-align:center}
	.jl-footer__rule{margin:20px auto}
	.jl-postnav{grid-template-columns:1fr 1fr}
	.jl-postnav__all{display:none}
}
@media (max-width:480px){
	.jl-logo img{width:90px}
	.elementor .e-con.jl-hero::after,.elementor .e-con.jl-curve::after{height:70px}
	.elementor .e-con.jl-curve::before{bottom:10px;height:60px}
	.jl-svc__body{padding:20px 15px}
	.jl-copy p,.jl-contact__text p{font-size:17px;line-height:27px;margin-bottom:20px}
	.jl-single__title{font-size:24px}
	.jl-entry h2{font-size:26px}
	.jl-entry h3{font-size:22px}
}
/* 17 ----------------------------------------------------------- route pages (October 2026)
   For you, For sport, For organisations and the pages under them. Same tokens, type and red as the
   2021 design; new pieces only where the old site had nothing to reuse. Built by build/sections.py. */
.e-con.jl-sec{display:block;padding:70px 20px 0}
.e-con.jl-sec--cream{background:var(--jl-panel);padding:70px 20px 75px;margin-top:70px}
.e-con.jl-sec--cream + .e-con.jl-sec--cream{margin-top:0;padding-top:0}
.e-con.jl-sec__wrap{display:block}
.jl-sec + .e-con.jl-method{padding-top:80px}
.jl-sechead .elementor-heading-title{text-align:center;font-size:28px!important;font-weight:900!important;line-height:39px!important;color:var(--jl-red)!important}
.jl-seclead{max-width:760px;margin:12px auto 0}
.jl-seclead p{text-align:center;font-size:20px;line-height:32px}
/* outcome grid */
.e-con.jl-points{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 30px;margin-top:45px}
.e-con.jl-points--2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;margin-left:auto;margin-right:auto}
.e-con.jl-point{display:block;border-top:3px solid var(--jl-red-30);padding-top:22px}
.jl-point__title .elementor-heading-title{font-size:21px!important;font-weight:700!important;line-height:29px!important;color:var(--jl-red)!important;margin-bottom:10px}
.jl-point__text p{font-size:17px;line-height:28px;margin-bottom:12px}
/* linked cards */
.e-con.jl-tiles{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:45px}
.e-con.jl-tiles--2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;margin-left:auto;margin-right:auto}
.e-con.jl-tiles--1{grid-template-columns:minmax(0,560px);justify-content:center}
.e-con.jl-tile{display:flex!important;flex-direction:column;background:var(--jl-panel);padding:32px 30px 30px}
.jl-sec--cream .e-con.jl-tile{background:#fff}
.jl-tile__title .elementor-heading-title{font-size:21px!important;font-weight:700!important;line-height:29px!important;color:var(--jl-red)!important}
.jl-tile__title a:hover{color:var(--jl-black)!important}
.jl-tile__who p{font-size:15px;line-height:22px;color:var(--jl-grey);font-style:italic;margin:6px 0 0}
.jl-tile__text{margin-top:12px}
.jl-tile__text p{font-size:17px;line-height:27px;margin-bottom:10px}
.e-con.jl-tile .elementor-widget-button{margin-top:auto;padding-top:14px}
/* reading block */
.jl-prose{max-width:800px;margin:22px auto 0;text-align:left}
.jl-prose p{font-size:19px;line-height:31px;margin:0 0 20px}
.jl-prose a{color:var(--jl-red);text-decoration:underline;text-underline-offset:3px}
.jl-prose a:hover{color:var(--jl-black)}
.jl-prose ul{list-style:none;margin:0 0 20px;padding:0}
.jl-prose li{position:relative;padding-left:30px;margin:0 0 14px;font-size:19px;line-height:31px}
.jl-prose li::before{content:"";position:absolute;left:4px;top:12px;width:8px;height:8px;background:var(--jl-red);transform:rotate(45deg)}
.jl-prose strong{color:#333}
/* buttons in a row */
.elementor .e-con.jl-btnrow{gap:15px;flex-wrap:wrap}
.jl-btn.jl-btn--ghost a.elementor-button{background:#fff!important;color:var(--jl-red)!important;box-shadow:inset 0 0 0 2px var(--jl-red)}
.jl-btn.jl-btn--ghost a.elementor-button:hover,.jl-btn.jl-btn--ghost a.elementor-button:focus{background:var(--jl-red)!important;color:#fff!important}
/* short quote band */
.e-con.jl-testimonials--short{padding:60px 20px 70px;margin-top:70px}
.e-con.jl-testimonials--short.jl-curve{padding-bottom:200px}
.e-con.jl-quotes--2,.e-con.jl-quotes--3{display:grid!important;gap:20px}
.e-con.jl-quotes--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.e-con.jl-quotes--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.e-con.jl-quotes--1{max-width:760px}
.jl-testimonials--short .jl-quote__body p{font-size:19px;line-height:30px;font-style:italic}
/* questions */
.jl-faq{max-width:860px;margin:10px auto 0;text-align:left}
.jl-faq details{border-bottom:1px solid #e5e5e5}
.jl-faq summary{list-style:none;cursor:pointer;position:relative;padding:22px 48px 22px 0;font-size:21px;font-weight:700;line-height:30px;color:var(--jl-red)}
.jl-faq summary::-webkit-details-marker{display:none}
.jl-faq summary::after{content:"+";position:absolute;right:6px;top:18px;font-size:30px;font-weight:400;line-height:30px}
.jl-faq details[open] summary::after{content:"\2212"}
.jl-faq summary:hover{color:var(--jl-black)}
.jl-faq__a{padding:0 0 22px}
.jl-faq__a p{font-size:18px;line-height:30px;margin:0 0 12px}
.jl-faq__a a{color:var(--jl-red);text-decoration:underline;text-underline-offset:3px}
/* photo beside text (Meet John, What happens in the session). Plain photos: no frame, tilt or caption. */
.e-con.jl-split{display:grid!important;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:60px;align-items:center;max-width:1100px}
.e-con.jl-split--right{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.jl-split--right .e-con.jl-split__media{order:2}
.e-con.jl-split__media,.e-con.jl-split__body{display:block}
.jl-split__img img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center}
.e-con.jl-split--narrow{grid-template-columns:minmax(0,360px) minmax(0,1fr);max-width:1000px}
.e-con.jl-split--narrow.jl-split--right{grid-template-columns:minmax(0,1fr) minmax(0,360px)}
.jl-split--narrow .jl-split__img img{aspect-ratio:400/461}
.jl-split .jl-sechead .elementor-heading-title{text-align:left}
.jl-prose--split{margin:18px 0 0;max-width:none}
/* photo cards */
.e-con>.elementor-widget.jl-tile__img,.jl-tile__img{width:calc(100% + 60px)!important;max-width:none!important;margin:-32px -30px 24px!important;line-height:0}
.jl-tile__img a{display:block}
.jl-tile__img img{width:100%!important;max-width:none!important;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.jl-tile__img a:hover img{opacity:.9}
/* Google reviews (Trustindex), shown only once the shortcode is set in Settings > JL site */
.e-con.jl-reviews-row{display:block}
.jl-reviews{max-width:var(--jl-row);width:calc(100% - 40px);margin:0 auto;padding:70px 0 0}
.jl-reviews__title{text-align:center;font-size:28px;font-weight:900;line-height:39px;color:var(--jl-red);margin:0 0 30px}
/* the 4-up photo row as on the coaching pages */
.jl-sec + .e-con.jl-gallery{margin-top:50px}
@media (max-width:1024px){
	.e-con.jl-split,.e-con.jl-split--right{gap:40px}
}
@media (max-width:768px){
	.e-con.jl-split,.e-con.jl-split--right,.e-con.jl-split--narrow,.e-con.jl-split--narrow.jl-split--right{grid-template-columns:minmax(0,1fr);gap:28px}
	.jl-split--narrow .jl-split__img img{aspect-ratio:4/3}
	.jl-split--right .e-con.jl-split__media{order:0}
	.jl-split__img img{aspect-ratio:4/3}
	.e-con>.elementor-widget.jl-tile__img,.jl-tile__img{width:calc(100% + 44px)!important;margin:-26px -22px 20px!important}
	.jl-reviews{padding-top:50px}
}
/* enquiry form */
.jl-form select,.jl-form .ff-el-form-control{appearance:auto}
@media (max-width:1024px){
	.e-con.jl-points,.e-con.jl-tiles,.e-con.jl-quotes--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:768px){
	.e-con.jl-sec{padding-top:50px}
	.e-con.jl-sec--cream{padding:50px 20px 55px;margin-top:50px}
	.e-con.jl-points,.e-con.jl-points--2,.e-con.jl-tiles,.e-con.jl-tiles--2,.e-con.jl-quotes--2,.e-con.jl-quotes--3{grid-template-columns:minmax(0,1fr)}
	.e-con.jl-points{gap:30px}
	.jl-prose p,.jl-prose li{font-size:17px;line-height:28px}
	.jl-seclead p{font-size:18px;line-height:29px}
	.jl-faq summary{font-size:18px;line-height:26px;padding:18px 40px 18px 0}
	.jl-faq summary::after{top:14px}
	.e-con.jl-tile{padding:26px 22px}
}
/* 18 ----------------------------------------------------------- mega menu (October 2026)
   Top items with the class jl-mega open a white panel: column headings in red, links beneath, and a photo
   card last. Other dropdowns keep the 2021 red flyout. Below 1024px the panels become accordions. */
@media (min-width:1025px){
	.jl-menu{position:relative}
	.jl-menu>li.jl-mega{position:static}
	/* Only the panel you are on can be hovered. Without this a panel that is still fading out (0.2s), and
	   sits on top of the next one, catches the pointer and reopens: you move into "For you" and get "For sport". */
	.jl-menu>li.jl-mega>.sub-menu{pointer-events:none}
	.jl-menu>li.jl-mega:hover>.sub-menu,.jl-menu>li.jl-mega:focus-within>.sub-menu,.jl-menu>li.jl-mega.is-open>.sub-menu{pointer-events:auto;z-index:62}
	/* With the script running, it decides which panel is open (short open/close delays, one panel at a time). */
	.jl-js .jl-menu>li.jl-mega:hover>.sub-menu,.jl-js .jl-menu>li.jl-mega:focus-within>.sub-menu{opacity:0;visibility:hidden;transform:translateY(6px);pointer-events:none}
	.jl-js .jl-menu>li.jl-mega.is-hover>.sub-menu,.jl-js .jl-menu>li.jl-mega.is-open>.sub-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto;z-index:62}
	.jl-js .jl-menu>li.jl-mega.is-hover>a,.jl-js .jl-menu>li.jl-mega.is-hover>.jl-sub-toggle{color:#000!important}
	.jl-menu>li.jl-mega>.sub-menu{left:auto;right:0;top:100%;width:min(1080px,calc(100vw - 40px));min-width:0;background:#fff;
		border-top:3px solid var(--jl-red);box-shadow:0 22px 44px rgba(12,12,12,.16);padding:34px 36px 36px;display:flex;gap:36px;align-items:flex-start}
	.jl-menu .jl-mega>.sub-menu>li{flex:1 1 0;min-width:0}
	.jl-menu .jl-mega>.sub-menu>li:not(.jl-mega__feature)>a{display:block;background:none;color:var(--jl-red);font-weight:700;font-size:17px;line-height:1.35;white-space:normal;
		padding:0 0 12px;margin:0 0 8px;border-bottom:1px solid var(--jl-red-20)}
	.jl-menu .jl-mega>.sub-menu>li:not(.jl-mega__feature)>a:hover,.jl-menu .jl-mega>.sub-menu>li:not(.jl-mega__feature)>a:focus{background:none;color:var(--jl-black)}
	.jl-menu .jl-mega .sub-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;background:none;min-width:0;width:auto;padding:0;box-shadow:none;display:block}
	.jl-menu .jl-mega .sub-menu .sub-menu a{display:block;background:none;color:#333;font-size:15.5px;line-height:1.4;white-space:normal;padding:7px 0}
	.jl-menu .jl-mega .sub-menu .sub-menu a:hover,.jl-menu .jl-mega .sub-menu .sub-menu a:focus{background:none;color:var(--jl-red)}
	.jl-menu .jl-mega .sub-menu li.current-menu-item>a{color:var(--jl-red)}
	.jl-menu .jl-mega__feature{flex:0 0 250px!important}
	.jl-menu a.jl-mega__card{display:block;padding:0;background:var(--jl-panel);color:var(--jl-ink);white-space:normal;line-height:1.4}
	.jl-menu a.jl-mega__card:hover,.jl-menu a.jl-mega__card:focus{background:var(--jl-panel);color:var(--jl-ink)}
	.jl-mega__img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
	.jl-mega__heading{display:block;font-size:18px;font-weight:700;color:var(--jl-red);padding:16px 18px 4px}
	.jl-mega__text{display:block;font-size:15px;line-height:1.45;padding:0 18px}
	.jl-mega__cta{display:inline-block;margin:14px 18px 18px;background:var(--jl-red);color:#fff;font-weight:700;font-size:14px;line-height:20px;padding:9px 16px}
	.jl-mega__card:hover .jl-mega__cta{background:var(--jl-black)}
}
@media (max-width:1024px){
	.jl-menu>li.jl-mega>.sub-menu{background:#fff;padding:4px 0 12px}
	.jl-menu .jl-mega>.sub-menu>li:not(.jl-mega__feature)>a{color:var(--jl-red);font-weight:700;font-size:16px;padding:12px 20px 6px;background:none}
	.jl-menu .jl-mega .sub-menu .sub-menu{display:block;background:none;padding:0 0 6px}
	.jl-menu .jl-mega .sub-menu .sub-menu a{color:#333;font-size:15px;padding:8px 20px 8px 32px;background:none}
	.jl-menu .jl-mega .sub-menu a:hover,.jl-menu .jl-mega .sub-menu a:focus{background:var(--jl-panel);color:var(--jl-red)}
	.jl-menu .jl-mega__feature{display:none}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.jl-header,.jl-footer,.jl-share,.jl-postnav{display:none}}
/* 19 ----------------------------------------------------------- 13 October 2026: calls to action and forms
   Method button, the closing banner ([jl_cta], also under every post and on the blog), blog cards without
   excerpts, and the enquiry block: John beside a six-field form on a grey panel, choices as buttons. */
.jl-method__cta{text-align:center;margin:50px 0 0}
.e-con.jl-ctaband,.jl-ctaband{display:block;background:var(--jl-red);padding:60px 20px 66px;margin-top:90px;text-align:center}
.jl-latest + .e-con.jl-ctaband{margin-top:120px}
.jl-ctaband--post{margin-top:70px}
.jl-cta{max-width:840px;margin:0 auto}
.jl-cta__title{color:#fff;font-size:32px;font-weight:700;line-height:42px;margin:0 0 12px}
.jl-cta__line{color:#fff;font-size:20px;line-height:30px;margin:0 0 30px}
.jl-cta__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 30px;margin:0}
a.jl-btn.jl-btn--light{background:#fff!important;color:var(--jl-red)!important}
a.jl-btn.jl-btn--light:hover,a.jl-btn.jl-btn--light:focus{background:var(--jl-black)!important;color:#fff!important}
.jl-cta__call{color:#fff;font-size:18px;line-height:28px}
.jl-cta__call a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.jl-cta__call a:hover{color:rgba(255,255,255,.75)}
/* blog cards: title and button only, buttons lined up along the row */
.jl-cards{align-items:stretch}
.jl-card{display:flex;flex-direction:column}
.jl-card__body{flex:1;display:flex;flex-direction:column}
.jl-card__title{margin-bottom:22px}
a.jl-btn--card{margin-top:auto;align-self:flex-start}
/* enquiry block */
.e-con.jl-enquire{display:block;padding:90px 20px 100px;scroll-margin-top:30px}
.e-con.jl-enquire__grid{display:grid!important;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:60px;align-items:start}
.e-con.jl-enquire__aside{display:block}
.jl-enquire__img img{width:100%;aspect-ratio:4/5;object-fit:cover;max-height:440px}
.jl-enquire__title .elementor-heading-title{font-size:28px!important;font-weight:700!important;line-height:38px!important;color:var(--jl-red)!important;margin:28px 0 12px}
.jl-enquire__text p{font-size:18px;line-height:29px;margin:0 0 18px}
.jl-enquire__call{font-size:17px!important;line-height:28px!important;color:var(--jl-ink)}
.jl-enquire__call a{color:var(--jl-red);font-weight:700;white-space:nowrap}
.jl-form .ff_submit_btn_wrapper{margin-bottom:0}
.jl-enquire__call a:hover{color:var(--jl-black)}
.e-con.jl-enquire__panel{display:block;background:var(--jl-panel);padding:40px 40px 44px}
.jl-sec--cream + .e-con.jl-enquire .e-con.jl-enquire__panel{background:#fff}
.jl-enquire__panel .jl-contact__form{margin:0}
/* every JL form: clearer labels, choices as buttons, a proper button */
.jl-form .ff-el-input--label label,.jl-form label{font-size:16px;font-weight:700;color:#333;line-height:24px;margin-bottom:6px}
.jl-form .ff-el-group{margin-bottom:22px}
.jl-form,.jl-form *{box-sizing:border-box}
.jl-form input[type=text],.jl-form input[type=email],.jl-form input[type=tel],.jl-form textarea,.jl-form .ff-el-form-control{border-width:1px!important;border-color:#cfcfd4!important;min-height:52px}
.jl-form textarea{min-height:120px}
.jl-form input:focus,.jl-form textarea:focus{border-color:var(--jl-red)!important;box-shadow:0 0 0 3px var(--jl-red-20)!important}
.jl-enquire__panel .jl-form fieldset{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px}
.jl-enquire__panel .jl-form fieldset>*{grid-column:1/-1}
.jl-enquire__panel .jl-form fieldset>.jl-ff-half{grid-column:auto}
.jl-form .ff-el-form-check{display:inline-block;margin:0 8px 10px 0;padding:0}
.jl-form .ff-el-form-check-label{display:block;margin:0;cursor:pointer;font-weight:400}
.jl-form .ff-el-form-check-input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.jl-form .ff-el-form-check-label span{display:inline-block;background:#fff;border:1px solid #cfcfd4;padding:10px 16px;font-size:16px;line-height:22px;color:var(--jl-ink);transition:border-color .15s,background-color .15s,color .15s}
.jl-form .ff-el-form-check-label:hover span{border-color:var(--jl-red);color:var(--jl-red)}
.jl-form .ff-el-form-check-input:checked+span{background:var(--jl-red);border-color:var(--jl-red);color:#fff}
.jl-form .ff-el-form-check-input:focus-visible+span{outline:2px solid var(--jl-navy);outline-offset:2px}
.jl-form .jl-ff-preset{display:none!important}
.jl-form .ff-btn-submit,.jl-form button[type=submit]{font-size:18px!important;font-weight:700!important;line-height:26px;padding:13px 30px!important;margin-top:4px}
.jl-enquire__panel .jl-form .ff-btn-submit{width:100%;font-size:20px!important;padding:15px 30px!important}
.jl-form .ff-el-is-error .ff-el-form-control,.jl-form .ff-el-is-error input{border-color:var(--jl-red)!important}
.jl-form .error.text-danger{color:var(--jl-red);font-size:15px;margin-top:4px}
@media (max-width:1024px){
	.e-con.jl-enquire__grid{gap:40px}
	.e-con.jl-enquire__panel{padding:32px 28px 36px}
}
@media (max-width:768px){
	.e-con.jl-ctaband,.jl-ctaband{padding:44px 20px 50px;margin-top:60px}
	.jl-latest + .e-con.jl-ctaband{margin-top:80px}
	.jl-cta__title{font-size:26px;line-height:35px}
	.jl-cta__line{font-size:18px;line-height:28px;margin-bottom:24px}
	.e-con.jl-enquire{padding:56px 20px 64px}
	.e-con.jl-enquire__grid{grid-template-columns:minmax(0,1fr);gap:28px}
	.jl-enquire__img img{aspect-ratio:3/2;max-height:260px;object-position:50% 30%}
	.jl-enquire__title .elementor-heading-title{font-size:24px!important;line-height:32px!important;margin-top:22px}
	.e-con.jl-enquire__panel{padding:26px 20px 30px;margin:0 -20px}
	.jl-enquire__panel .jl-form fieldset{grid-template-columns:minmax(0,1fr)}
	.jl-enquire__panel .jl-form fieldset>.jl-ff-half{grid-column:1/-1}
}
/* 18 ----------------------------------------------------------- three-route strip (16 October 2026)
   [jl_routes]: replaces the six-service grid on the homepage and the 2021 pages. The same navy band, white
   boxes, red title, rule and small outlined button as the old grid, so the 2021 pages keep their look. */
.jl-route-grid{max-width:1230px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.jl-route{display:flex;flex-direction:column;background:#fff}
.jl-route__img{display:block;aspect-ratio:4/3;background:#8a96a3 center/cover no-repeat}
.jl-route__img:hover{opacity:.92}
.jl-route__body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:40px}
.jl-route__title{font-size:26px;line-height:34px;font-weight:700;color:var(--jl-red);margin:0}
.jl-route__title a{color:inherit;text-decoration:none}
.jl-route__title a:hover,.jl-route__title a:focus{color:var(--jl-black)}
.jl-route .jl-svc__rule{margin:12px 0 19px}
.jl-route__text{font-size:17px;line-height:27px;margin:0 0 24px}
.jl-route .jl-btn--xs{margin-top:auto}
@media (max-width:1024px){
	.jl-route-grid{gap:20px}
	.jl-route__body{padding:30px 25px 32px}
	.jl-route__title{font-size:22px;line-height:30px}
}
@media (max-width:768px){
	.jl-route-grid{grid-template-columns:minmax(0,1fr);max-width:560px;padding:0 20px;gap:20px}
	.jl-route__img{aspect-ratio:16/9}
}
/* homepage: the call-to-action row between Meet John and the blog strip */
.e-con.jl-sec + .e-con.jl-btnrow{margin-top:45px}
.e-con.jl-btnrow + .e-con.jl-latest{margin-top:80px}
@media (max-width:768px){.e-con.jl-btnrow + .e-con.jl-latest{margin-top:60px}}
/* 20 ----------------------------------------------------------- page review fixes (18 October 2026) */
/* Blog strip: the -20px pull-up is for a navy band above; after a light section it overlapped the text */
.e-con.jl-copy + .e-con.jl-latest,.e-con.jl-reviews-row + .e-con.jl-latest,.e-con.jl-sec + .e-con.jl-latest{margin-top:70px}
/* Reading width: prose and the 2021 page copy capped at 800px; the 2021 copy reads left-aligned */
.e-con>.elementor-widget.jl-prose:not(.jl-prose--split),.jl-prose:not(.jl-prose--split){max-width:800px!important;margin-left:auto!important;margin-right:auto!important}
.e-con.jl-copy--full{max-width:800px;text-align:left}
/* The 2021 cream panels match the pale grey used everywhere else */
.jl-cream{background:var(--jl-panel)}
.jl-cream .e-con.jl-course,.jl-cream .jl-course{background:#fff}
/* Course cards in two columns: four cards, no card on its own */
.e-con.jl-courses__grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px;margin-left:auto;margin-right:auto}
/* Card grids: a short last row is centred instead of left on its own */
.e-con.jl-tiles{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:center!important;align-items:stretch}
.e-con.jl-tiles>.e-con.jl-tile{flex:0 0 calc((100% - 40px)/3);width:calc((100% - 40px)/3)!important;max-width:calc((100% - 40px)/3)}
.e-con.jl-tiles--2>.e-con.jl-tile{flex-basis:calc((100% - 20px)/2);width:calc((100% - 20px)/2)!important;max-width:calc((100% - 20px)/2)}
.e-con.jl-tiles--1>.e-con.jl-tile{flex-basis:100%;width:100%!important;max-width:560px}
/* Workshop facts row */
.e-con.jl-facts{display:block;max-width:900px;width:calc(100% - 40px);margin:34px auto 0}
.jl-facts__list dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid var(--jl-red-30);border-bottom:1px solid var(--jl-red-30)}
.jl-facts__list dl>div{padding:16px 20px;text-align:center}
.jl-facts__list dl>div+div{border-left:1px solid var(--jl-red-30)}
.jl-facts__list dt{font-size:15px;line-height:22px;color:var(--jl-grey);margin:0 0 4px}
.jl-facts__list dd{margin:0;font-size:17px;line-height:25px;color:var(--jl-ink)}
.e-con.jl-facts + .e-con.jl-btnrow{margin-top:34px}
/* Contact page on the enquiry layout */
.e-con.jl-enquire--contact{padding-top:60px}
.jl-enquire--contact .jl-enquire__text p a{color:var(--jl-red)}
/* Blog: intro, topic filter, route panel, narrower article */
.jl-blog__intro{font-size:19px;line-height:30px;max-width:760px;margin:-30px 0 22px}
.jl-topics ul{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 40px;padding:0;list-style:none}
.jl-topics a{display:inline-block;padding:8px 16px;border:1px solid #cfcfd4;color:var(--jl-ink);font-size:16px;line-height:22px;text-decoration:none;background:#fff}
.jl-topics a:hover,.jl-topics a:focus{border-color:var(--jl-red);color:var(--jl-red)}
.jl-topics a[aria-current]{background:var(--jl-red);border-color:var(--jl-red);color:#fff}
.jl-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.jl-plain.jl-single{max-width:760px}
.jl-single__img img{aspect-ratio:16/9;object-fit:cover;max-height:430px}
.jl-postroute{margin:40px 0 10px;padding:28px 30px 30px;background:var(--jl-panel)}
.jl-postroute__title{font-size:22px;line-height:30px;font-weight:700;color:var(--jl-red);margin:0 0 8px}
.jl-postroute p{font-size:17px;line-height:27px;margin:0 0 18px}
@media (max-width:1024px){
	.e-con.jl-tiles>.e-con.jl-tile{flex-basis:calc((100% - 20px)/2);width:calc((100% - 20px)/2)!important;max-width:calc((100% - 20px)/2)}
}
@media (max-width:768px){
	.e-con.jl-tiles>.e-con.jl-tile,.e-con.jl-tiles--2>.e-con.jl-tile{flex-basis:100%;width:100%!important;max-width:100%}
	.jl-tile__img img{aspect-ratio:16/9}
	.e-con.jl-gallery--4{display:none!important}
	.e-con.jl-courses__grid{grid-template-columns:1fr}
	.jl-facts__list dl{grid-template-columns:1fr}
	.jl-facts__list dl>div{padding:12px 10px}
	.jl-facts__list dl>div+div{border-left:0;border-top:1px solid var(--jl-red-30)}
	.e-con.jl-enquire--contact{padding-top:36px}
	.jl-blog__intro{margin-top:-20px;font-size:17px;line-height:27px}
	.jl-postroute{padding:22px 20px 24px}
	/* Footer logos: a wrapping, centred row instead of one logo per line */
	.jl-logos,.jl-logos--clients{display:flex!important;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 18px}
	.jl-logos__item img{width:84px;height:72px;max-height:72px}
	.jl-logos__item--wide img{width:170px;height:72px;max-width:none}
}
