/*
Theme Name: Judi Butler Therapy Design System
Description: Custom child theme and design system for the Judi Butler Therapy website.
Author: Total Results Ltd
Template: enfold
Version: 2.1
*/

/* 01. DESIGN TOKENS */
:root {
  --jbt-cream:#fff6eb; --jbt-paper:#fffaf3; --jbt-white:#fff;
  --jbt-ink:#202020; --jbt-ink-soft:#34302d; --jbt-text:#5f554d; --jbt-muted:#766a61;
  --jbt-yellow:#f5bd48; --jbt-coral:#ff735f; --jbt-pink:#f47b91; --jbt-orange:#ff944d;
  --jbt-sage:#aebfa5; --jbt-blue:#91aeda; --jbt-lavender:#b9afd9;
  --jbt-border:rgba(32,32,32,.13); --jbt-border-light:rgba(32,32,32,.08);
  --jbt-footer-border:rgba(255,255,255,.14);
  --jbt-shadow-sm:0 10px 28px rgba(32,32,32,.06);
  --jbt-shadow-md:0 18px 48px rgba(32,32,32,.09);
  --jbt-shadow-lg:0 28px 72px rgba(32,32,32,.12);
  --jbt-radius-xs:10px; --jbt-radius-sm:16px; --jbt-radius-md:24px;
  --jbt-radius-lg:32px; --jbt-radius-pill:999px;
  --jbt-space-1:8px; --jbt-space-2:12px; --jbt-space-3:16px; --jbt-space-4:24px;
  --jbt-space-5:32px; --jbt-space-6:40px; --jbt-space-7:48px; --jbt-space-8:64px;
  --jbt-space-9:80px; --jbt-space-10:96px;
  --jbt-content-width:1180px; --jbt-reading-width:820px; --jbt-narrow-width:680px;
  --jbt-font-heading:Georgia,"Times New Roman",serif;
  --jbt-font-body:Arial,Helvetica,sans-serif;
  --jbt-transition:.22s ease;
}

/* 02. BASE AND RESET */
html{scroll-behavior:smooth}
body{background:var(--jbt-cream);color:var(--jbt-text)}
.jbt-page,.jbt-page *,.jbt-footer,.jbt-footer *{box-sizing:border-box}
.jbt-page{overflow-x:hidden;background:var(--jbt-cream);color:var(--jbt-text);font-family:var(--jbt-font-body)}
.jbt-page img,.jbt-footer img{display:block;max-width:100%;height:auto}
.jbt-page figure,.jbt-page blockquote,.jbt-footer figure{margin:0}
.jbt-page ul,.jbt-page ol{margin-top:0}
.jbt-page a,.jbt-footer a{transition:color var(--jbt-transition),background-color var(--jbt-transition),border-color var(--jbt-transition),box-shadow var(--jbt-transition),opacity var(--jbt-transition),transform var(--jbt-transition)}

/* 03. TYPOGRAPHY */
.jbt-page h1,.jbt-page h2,.jbt-page h3,.jbt-page h4,.jbt-footer h2,.jbt-footer h3,.jbt-footer h4{margin:0 0 20px;color:var(--jbt-ink);font-family:var(--jbt-font-heading);font-weight:500;line-height:1.14;text-transform:none}
.jbt-page h1{max-width:920px;font-size:clamp(42px,5.1vw,66px);letter-spacing:-.032em}
.jbt-page h2{font-size:clamp(34px,4vw,50px);letter-spacing:-.024em}
.jbt-page h3{font-size:clamp(25px,2.5vw,31px);letter-spacing:-.015em}
.jbt-page h4{font-size:22px}
.jbt-page p,.jbt-page li{color:var(--jbt-text);font-family:var(--jbt-font-body);font-size:18px;line-height:1.72}
.jbt-page p{margin:0 0 20px}.jbt-page li+li{margin-top:8px}
.jbt-eyebrow{margin:0 0 18px;color:var(--jbt-ink);font-size:13px;font-weight:800;letter-spacing:.18em;line-height:1.4;text-transform:uppercase}
.jbt-lead{max-width:760px;color:var(--jbt-text);font-size:20px!important;line-height:1.65!important}
.jbt-small{font-size:15px!important;line-height:1.6!important}.jbt-text-center{text-align:center}
.jbt-rule{width:74px;height:4px;margin:26px 0;border-radius:var(--jbt-radius-pill);background:var(--jbt-yellow)}
.jbt-center .jbt-rule,.jbt-text-center .jbt-rule{margin-right:auto;margin-left:auto}

/* 04. GLOBAL LAYOUT */
.jbt-shell{width:min(calc(100% - 48px),var(--jbt-content-width));margin-right:auto;margin-left:auto}
.jbt-shell--narrow{max-width:var(--jbt-narrow-width)}.jbt-reading{max-width:var(--jbt-reading-width)}
.jbt-narrow{max-width:var(--jbt-narrow-width)}.jbt-center{max-width:var(--jbt-reading-width);margin:0 auto 48px;text-align:center}
.jbt-section{position:relative;padding:var(--jbt-space-10) 0}
.jbt-section--paper{background:var(--jbt-paper)}.jbt-section--white{background:var(--jbt-white)}
.jbt-section--soft{background:linear-gradient(135deg,rgba(255,148,77,.13),rgba(255,246,235,.9))}
.jbt-section--sage{background:#edf3ee}.jbt-section--blue{background:#eef3fa}.jbt-section--lavender{background:#f1eef8}.jbt-section--pink{background:#fff0f4}
.jbt-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:68px;align-items:center}
.jbt-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.jbt-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.jbt-stack{display:grid;gap:var(--jbt-space-4)}.jbt-stack--small{gap:var(--jbt-space-3)}.jbt-stack--large{gap:var(--jbt-space-8)}
.jbt-align-start{align-items:start}.jbt-align-center{align-items:center}

/* 05. UTILITIES */
.jbt-mt-0{margin-top:0!important}.jbt-mb-0{margin-bottom:0!important}.jbt-mb-16{margin-bottom:16px!important}.jbt-mb-24{margin-bottom:24px!important}.jbt-mb-40{margin-bottom:40px!important}
.jbt-hidden{display:none!important}.jbt-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}

/* 06. BUTTONS AND LINKS */
.jbt-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px}
.jbt-button{display:inline-flex!important;min-height:52px;align-items:center;justify-content:center;padding:14px 28px;border:1px solid var(--jbt-ink)!important;border-radius:var(--jbt-radius-pill);background:var(--jbt-ink)!important;color:#fff!important;font-size:13px;font-weight:800;letter-spacing:.055em;line-height:1.2;text-align:center;text-decoration:none!important}
.jbt-button:hover,.jbt-button:focus-visible{transform:translateY(-2px);background:#000!important;color:#fff!important;box-shadow:var(--jbt-shadow-sm)}
.jbt-button--secondary{background:transparent!important;color:var(--jbt-ink)!important}.jbt-button--secondary:hover,.jbt-button--secondary:focus-visible{background:var(--jbt-ink)!important;color:#fff!important}
.jbt-button--light{border-color:#fff!important;background:#fff!important;color:var(--jbt-ink)!important}
.jbt-text-link{display:inline-flex;align-items:center;color:var(--jbt-ink)!important;font-size:13px;font-weight:800;letter-spacing:.075em;text-decoration:none!important}.jbt-text-link::after{content:"→";margin-left:8px}.jbt-text-link:hover{transform:translateX(3px)}

/* 07. ENFOLD AND WPBAKERY COMPATIBILITY */
#top .jbt-page .container,#top .jbt-footer .container{width:auto;max-width:none;padding:0}
#top .jbt-page .content,#top .jbt-page .sidebar{padding-top:0;padding-bottom:0}
#top .jbt-page .avia_textblock,#top .jbt-page .avia_codeblock{margin:0}
#top .jbt-page a:hover,#top .jbt-footer a:hover{text-decoration:none}
#top .jbt-footer .jbt-button{color:#fff!important}#top .jbt-footer .jbt-button--light{color:var(--jbt-ink)!important}
#top .jbt-page .jbt-button,#top .jbt-footer .jbt-button{line-height:1.2}

/* 08. HERO COMPONENTS */
.jbt-hero{min-height:610px;display:flex;align-items:center;background:radial-gradient(circle at 93% 12%,rgba(245,189,72,.38) 0 10%,transparent 10.5%),radial-gradient(circle at 5% 90%,rgba(244,123,145,.18) 0 17%,transparent 17.5%),linear-gradient(120deg,transparent 0 18%,rgba(255,148,77,.12) 18% 29%,transparent 29%),var(--jbt-cream)}
.jbt-hero__grid,.jbt-sessions-hero__grid{display:grid;grid-template-columns:1.06fr .94fr;gap:58px;align-items:center}
.jbt-hero__copy p{max-width:710px}.jbt-hero__visual{position:relative;min-height:500px}
.jbt-portrait-arch{position:absolute;inset:4% 5% 0 10%;overflow:hidden;border-radius:220px 220px 28px 28px;background:linear-gradient(145deg,#fff,rgba(174,191,165,.42));box-shadow:var(--jbt-shadow-md)}
.jbt-portrait-arch img{width:100%;height:100%;object-fit:cover;object-position:center top}
.jbt-floating-note{position:absolute;bottom:32px;left:0;z-index:2;max-width:310px;padding:26px;border-radius:20px;background:rgba(255,250,243,.97);box-shadow:var(--jbt-shadow-md)}
.jbt-floating-note p{margin:0;color:var(--jbt-ink);font-family:var(--jbt-font-heading);font-size:23px;line-height:1.35}
.jbt-sessions-hero{min-height:620px;display:flex;align-items:center;background:radial-gradient(circle at 92% 13%,rgba(245,189,72,.4) 0 11%,transparent 11.5%),radial-gradient(circle at 9% 88%,rgba(244,123,145,.18) 0 18%,transparent 18.5%),linear-gradient(122deg,transparent 0 18%,rgba(145,174,218,.13) 18% 31%,transparent 31%),var(--jbt-cream)}
.jbt-sessions-hero__grid{grid-template-columns:1.08fr .92fr;gap:64px}
.jbt-sessions-hero__panel{position:relative;min-height:430px;overflow:hidden;border-radius:180px 180px 28px 28px;background:radial-gradient(circle at 75% 22%,rgba(255,255,255,.82) 0 19%,transparent 19.5%),linear-gradient(145deg,rgba(174,191,165,.65),rgba(255,250,243,.96));box-shadow:var(--jbt-shadow-md)}
.jbt-sessions-hero__panel::before,.jbt-sessions-hero__panel::after{content:"";position:absolute;border-radius:50%;border:20px solid rgba(255,255,255,.58)}
.jbt-sessions-hero__panel::before{width:190px;height:190px;top:48px;right:46px}.jbt-sessions-hero__panel::after{width:270px;height:270px;left:-90px;bottom:-95px;border-color:rgba(255,115,95,.24)}
.jbt-sessions-hero__note{position:absolute;z-index:2;right:34px;bottom:38px;left:34px;padding:30px;border-radius:22px;background:rgba(255,250,243,.94);box-shadow:var(--jbt-shadow-sm)}
.jbt-sessions-hero__note p{margin:0;color:var(--jbt-ink);font-family:var(--jbt-font-heading);font-size:25px;line-height:1.42}

/* 09. EDITORIAL LAYOUTS */
.jbt-editorial-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:74px;align-items:start}.jbt-editorial-copy{max-width:720px}

/* 10. QUOTES AND SIGNATURE STATEMENTS */
.jbt-quote{position:relative;padding:52px;border-radius:26px;background:var(--jbt-paper);box-shadow:var(--jbt-shadow-md)}
.jbt-quote::before{content:"“";position:absolute;top:8px;left:22px;color:rgba(244,123,145,.34);font-family:var(--jbt-font-heading);font-size:100px;line-height:1}
.jbt-quote p{position:relative;margin:0;color:var(--jbt-ink);font-family:var(--jbt-font-heading);font-size:clamp(27px,3.1vw,40px);line-height:1.3}
.jbt-pullquote{position:relative;padding-left:24px;border-left:6px solid var(--jbt-sage)}.jbt-pullquote p{margin:0;color:var(--jbt-ink-soft);font-family:var(--jbt-font-heading);font-size:clamp(22px,2.1vw,30px);line-height:1.5}
.jbt-statement{max-width:760px;margin:0 auto 70px;text-align:center}.jbt-statement__intro{margin-bottom:18px;color:#666;font-size:1.2rem}.jbt-statement__question{margin-bottom:28px;color:#6d7b67;font-family:var(--jbt-font-heading);font-size:2.15rem;font-style:italic}.jbt-statement__answer{margin:0 0 24px;color:#2f2a25;font-family:var(--jbt-font-heading);font-size:3.2rem;font-weight:700;letter-spacing:.04em;line-height:1;text-transform:uppercase}.jbt-statement__closing{max-width:620px;margin:0 auto;color:#555;font-size:1.05rem;line-height:1.8}
.jbt-quote-section{padding-bottom:36px}.jbt-about-intro{padding-top:52px}

/* 11. CARDS AND REASSURANCE */
.jbt-card,.jbt-reassurance{border:1px solid var(--jbt-border-light);border-radius:var(--jbt-radius-md);background:var(--jbt-white);box-shadow:var(--jbt-shadow-sm)}
.jbt-card{padding:32px}.jbt-reassurance{min-height:220px;padding:32px 28px}.jbt-reassurance__mark{width:44px;height:44px;margin-bottom:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#edf3ee;color:var(--jbt-ink);font-size:20px;font-weight:800}.jbt-reassurance p:last-child{margin-bottom:0}

/* 12. JOURNEY AND PROCESS */
.jbt-journey{position:relative;display:grid;gap:26px;margin-top:54px}.jbt-journey::before{content:"";position:absolute;top:30px;bottom:30px;left:38px;width:2px;background:linear-gradient(var(--jbt-yellow),var(--jbt-sage),var(--jbt-blue),var(--jbt-pink))}
.jbt-journey__step{position:relative;display:grid;grid-template-columns:78px 1fr;gap:28px;align-items:start;padding:28px 30px 28px 0;border-radius:var(--jbt-radius-md);background:rgba(255,255,255,.78);box-shadow:var(--jbt-shadow-sm)}
.jbt-journey__number{position:relative;z-index:2;width:58px;height:58px;margin-left:9px;display:flex;align-items:center;justify-content:center;border:5px solid var(--jbt-paper);border-radius:50%;background:var(--jbt-ink);color:#fff;font-size:14px;font-weight:800;letter-spacing:.08em}
.jbt-journey__step:nth-child(1) .jbt-journey__number{background:#c48c1c}.jbt-journey__step:nth-child(2) .jbt-journey__number{background:#708168}.jbt-journey__step:nth-child(3) .jbt-journey__number{background:#637fa8}.jbt-journey__step:nth-child(4) .jbt-journey__number{background:#b95470}.jbt-journey__content p:last-child{margin-bottom:0}

/* 13. TESTIMONIALS */
.jbt-testimonials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:46px}.jbt-testimonial{position:relative;min-height:280px;padding:40px 34px 32px;border-radius:var(--jbt-radius-md);background:var(--jbt-paper);box-shadow:var(--jbt-shadow-sm)}.jbt-testimonial::before{content:"“";position:absolute;top:8px;left:22px;color:rgba(244,123,145,.32);font-family:var(--jbt-font-heading);font-size:78px;line-height:1}.jbt-testimonial blockquote{position:relative;margin:0}.jbt-testimonial p{color:var(--jbt-ink-soft);font-family:var(--jbt-font-heading);font-size:24px;line-height:1.5}.jbt-testimonial cite{display:block;margin-top:24px;color:var(--jbt-muted);font-size:13px;font-style:normal;font-weight:800;letter-spacing:.12em;text-transform:uppercase}

/* 14. FAQ ACCORDION */
.jbt-faq{display:grid;gap:14px;margin-top:44px}.jbt-faq details{border:1px solid var(--jbt-border-light);border-radius:18px;background:var(--jbt-white);box-shadow:var(--jbt-shadow-sm)}.jbt-faq summary{position:relative;padding:24px 62px 24px 26px;color:var(--jbt-ink);font-family:var(--jbt-font-heading);font-size:22px;line-height:1.35;cursor:pointer;list-style:none}.jbt-faq summary::-webkit-details-marker{display:none}.jbt-faq summary::after{content:"+";position:absolute;top:50%;right:24px;transform:translateY(-50%);color:var(--jbt-coral);font-family:var(--jbt-font-body);font-size:28px;font-weight:400}.jbt-faq details[open] summary::after{content:"−"}.jbt-faq__answer{max-width:900px;padding:0 26px 24px}.jbt-faq__answer p:last-child{margin-bottom:0}

/* 15. FINAL CTA */
.jbt-cta{overflow:hidden;margin-top:30px;border-radius:var(--jbt-radius-lg);background:radial-gradient(circle at 88% 12%,rgba(245,189,72,.22) 0 11%,transparent 11.5%),linear-gradient(135deg,#202020,#37312d);color:#fff;box-shadow:var(--jbt-shadow-lg)}
.jbt-cta__inner{max-width:760px;padding:60px}.jbt-cta .jbt-eyebrow,#top .jbt-cta .jbt-eyebrow{color:#fff!important}.jbt-cta h2,.jbt-cta h2 a,#top .jbt-cta h2{max-width:520px;margin-bottom:24px;color:#fff!important;font-family:var(--jbt-font-heading);font-size:clamp(40px,4vw,56px);font-weight:500;line-height:1.1}.jbt-cta p,#top .jbt-cta p{max-width:620px;margin-bottom:34px;color:rgba(255,255,255,.88)!important}.jbt-cta .jbt-button{border-color:#fff!important;background:#fff!important;color:var(--jbt-ink)!important}.jbt-cta .jbt-button:hover{border-color:var(--jbt-yellow)!important;background:var(--jbt-yellow)!important}

/* 16. CHECK LISTS */
.jbt-check-list{display:grid;gap:16px;margin:28px 0 0}.jbt-check{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start}.jbt-check>span:first-child{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#edf3ee;color:var(--jbt-ink);font-weight:800}

/* =========================================================
   PROFESSIONAL MEMBERSHIP LOGOS
   ========================================================= */

.jbt-footer-logos{

    display:flex;
    flex-wrap:wrap;
    gap:24px;
    align-items:center;

    margin-top:28px;

}

.jbt-footer-logo{

    display:flex;
    align-items:center;
    justify-content:center;

    width:170px;
    height:110px;

    padding:16px;

    background:#ffffff;

    border-radius:18px;

    box-shadow:0 10px 28px rgba(0,0,0,.08);

}

.jbt-footer-logo img{

    display:block;

    max-width:100%;
    max-height:100%;

    width:auto;
    height:auto;

}

/* 18. ACCESSIBILITY */
.jbt-page a:focus-visible,.jbt-page button:focus-visible,.jbt-page summary:focus-visible,.jbt-footer a:focus-visible{outline:3px solid var(--jbt-yellow);outline-offset:4px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.jbt-page *,.jbt-footer *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* 19. RESPONSIVE BREAKPOINTS */
@media (max-width:980px){.jbt-hero__grid,.jbt-sessions-hero__grid,.jbt-editorial-grid,.jbt-grid-2{grid-template-columns:1fr}.jbt-hero,.jbt-sessions-hero{min-height:auto}.jbt-sessions-hero__panel{min-height:360px}.jbt-grid-4,.jbt-testimonials{grid-template-columns:repeat(2,minmax(0,1fr))}.jbt-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.jbt-section{padding:76px 0}}
@media (max-width:680px){.jbt-shell,.jbt-footer__grid{width:min(calc(100% - 30px),var(--jbt-content-width))}.jbt-section{padding:62px 0}.jbt-hero__grid,.jbt-sessions-hero__grid{gap:40px}.jbt-hero__visual{min-height:440px}.jbt-portrait-arch{inset:7% 0 0 7%}.jbt-floating-note{bottom:20px}.jbt-sessions-hero__panel{min-height:310px}.jbt-sessions-hero__note{right:20px;bottom:22px;left:20px;padding:24px}.jbt-sessions-hero__note p{font-size:21px}.jbt-grid-3,.jbt-grid-4,.jbt-testimonials,.jbt-footer__grid{grid-template-columns:1fr}.jbt-journey__step{grid-template-columns:64px 1fr;gap:18px;padding-right:20px}.jbt-journey::before{left:31px}.jbt-journey__number{width:50px;height:50px;margin-left:6px}.jbt-statement__question{font-size:1.65rem}.jbt-statement__answer{font-size:2.55rem}.jbt-cta__inner{padding:48px 28px}.jbt-actions{flex-direction:column;align-items:stretch}.jbt-button{width:100%}}

/* 20. PRINT */
@media print{.jbt-page{background:#fff}.jbt-button,.jbt-actions,.jbt-footer{display:none!important}.jbt-section{padding:24px 0}.jbt-card,.jbt-reassurance,.jbt-testimonial,.jbt-faq details,.jbt-cta{box-shadow:none}}

/* =========================================================
   21. SEMANTIC SURFACE TOKENS
   ========================================================= */

:root {
  --jbt-surface-page: var(--jbt-cream);
  --jbt-surface-paper: var(--jbt-paper);
  --jbt-surface-clean: var(--jbt-white);
  --jbt-surface-warm: #fff3e2;
  --jbt-surface-sage: #edf3ee;
  --jbt-surface-blue: #eef3fa;
  --jbt-surface-blush: #fff0f4;
  --jbt-surface-lavender: #f1eef8;

  --jbt-accent-warm: #c48c1c;
  --jbt-accent-sage: #708168;
  --jbt-accent-blue: #637fa8;
  --jbt-accent-blush: #b95470;

  --jbt-text-primary: var(--jbt-ink);
  --jbt-text-secondary: var(--jbt-text);
  --jbt-text-muted: var(--jbt-muted);
}


/* =========================================================
   22. ENFOLD HARDENING LAYER

   Purpose:
   - Prevent Enfold colour and typography inheritance.
   - Preserve the JBT design system inside .jbt-page/.jbt-footer.
   - Use !important only where Enfold commonly overrides colour.
   ========================================================= */

#top .jbt-page,
#top .jbt-page .main_color,
#top .jbt-page .alternate_color,
#top .jbt-page .avia-section,
#top .jbt-page .avia_textblock,
#top .jbt-page .avia_codeblock {
  color: var(--jbt-text-secondary);
  font-family: var(--jbt-font-body);
}

#top .jbt-page h1,
#top .jbt-page h2,
#top .jbt-page h3,
#top .jbt-page h4,
#top .jbt-page h5,
#top .jbt-page h6 {
  color: var(--jbt-text-primary) !important;
  font-family: var(--jbt-font-heading) !important;
  text-transform: none !important;
}

#top .jbt-page p,
#top .jbt-page li,
#top .jbt-page dd,
#top .jbt-page dt,
#top .jbt-page blockquote,
#top .jbt-page address {
  color: var(--jbt-text-secondary);
  font-family: var(--jbt-font-body);
}

#top .jbt-page .jbt-eyebrow {
  color: var(--jbt-text-primary) !important;
  font-family: var(--jbt-font-body) !important;
}

#top .jbt-page .jbt-lead {
  color: var(--jbt-text-secondary) !important;
}

#top .jbt-page .jbt-testimonial p,
#top .jbt-page .jbt-pullquote p,
#top .jbt-page .jbt-quote p,
#top .jbt-page .jbt-sessions-hero__note p,
#top .jbt-page .jbt-floating-note p {
  color: var(--jbt-text-primary) !important;
  font-family: var(--jbt-font-heading) !important;
}

#top .jbt-page .jbt-testimonial cite {
  color: var(--jbt-text-muted) !important;
}

#top .jbt-page .jbt-faq summary {
  color: var(--jbt-text-primary) !important;
  font-family: var(--jbt-font-heading) !important;
}

#top .jbt-page .jbt-faq__answer p {
  color: var(--jbt-text-secondary) !important;
}

#top .jbt-page .jbt-section--paper {
  background: var(--jbt-surface-paper) !important;
}

#top .jbt-page .jbt-section--white {
  background: var(--jbt-surface-clean) !important;
}

#top .jbt-page .jbt-section--sage {
  background: var(--jbt-surface-sage) !important;
}

#top .jbt-page .jbt-section--blue {
  background: var(--jbt-surface-blue) !important;
}

#top .jbt-page .jbt-section--pink {
  background: var(--jbt-surface-blush) !important;
}

#top .jbt-page .jbt-section--lavender {
  background: var(--jbt-surface-lavender) !important;
}

/* Dark CTA must remain light regardless of Enfold colour sets. */
#top .jbt-page .jbt-cta,
#top .jbt-page .jbt-cta h2,
#top .jbt-page .jbt-cta h3,
#top .jbt-page .jbt-cta p,
#top .jbt-page .jbt-cta .jbt-eyebrow {
  color: #ffffff !important;
}

#top .jbt-page .jbt-cta .jbt-button {
  color: var(--jbt-ink) !important;
}

/* Footer hardening */
#top .jbt-footer,
#top .jbt-footer p,
#top .jbt-footer li,
#top .jbt-footer address,
#top .jbt-footer span {
  color: rgba(255, 255, 255, 0.78) !important;
}

#top .jbt-footer h2,
#top .jbt-footer h3,
#top .jbt-footer h4,
#top .jbt-footer h5,
#top .jbt-footer h6 {
  color: #ffffff !important;
  font-family: var(--jbt-font-heading) !important;
}

#top .jbt-footer a {
  color: rgba(255, 255, 255, 0.88) !important;
}

#top .jbt-footer a:hover,
#top .jbt-footer a:focus-visible {
  color: #ffffff !important;
}


/* =========================================================
   23. REUSABLE COLOUR VARIANTS
   ========================================================= */

.jbt-card--warm,
.jbt-reassurance--warm,
.jbt-testimonial--warm {
  background: var(--jbt-surface-warm);
}

.jbt-card--sage,
.jbt-reassurance--sage,
.jbt-testimonial--sage {
  background: var(--jbt-surface-sage);
}

.jbt-card--blue,
.jbt-reassurance--blue,
.jbt-testimonial--blue {
  background: var(--jbt-surface-blue);
}

.jbt-card--blush,
.jbt-reassurance--blush,
.jbt-testimonial--blush {
  background: var(--jbt-surface-blush);
}

.jbt-card--lavender,
.jbt-reassurance--lavender,
.jbt-testimonial--lavender {
  background: var(--jbt-surface-lavender);
}

.jbt-card--outlined {
  background: transparent;
  box-shadow: none;
}

.jbt-card--raised {
  box-shadow: var(--jbt-shadow-md);
}


/* =========================================================
   24. SESSIONS PAGE COLOUR RHYTHM

   Applies automatically to the existing Sessions markup.
   No HTML changes are required.
   ========================================================= */

/* Journey: a subtle four-stage progression */
.jbt-journey__step:nth-child(1) {
  background: var(--jbt-surface-warm);
  border-left: 5px solid rgba(196, 140, 28, 0.44);
}

.jbt-journey__step:nth-child(2) {
  background: var(--jbt-surface-sage);
  border-left: 5px solid rgba(112, 129, 104, 0.42);
}

.jbt-journey__step:nth-child(3) {
  background: var(--jbt-surface-blue);
  border-left: 5px solid rgba(99, 127, 168, 0.40);
}

.jbt-journey__step:nth-child(4) {
  background: var(--jbt-surface-blush);
  border-left: 5px solid rgba(185, 84, 112, 0.36);
}

/* Reassurance cards: colour-coded without becoming decorative */
.jbt-grid-4 > .jbt-reassurance:nth-child(1) {
  background: var(--jbt-surface-warm);
}

.jbt-grid-4 > .jbt-reassurance:nth-child(2) {
  background: var(--jbt-surface-sage);
}

.jbt-grid-4 > .jbt-reassurance:nth-child(3) {
  background: var(--jbt-surface-blue);
}

.jbt-grid-4 > .jbt-reassurance:nth-child(4) {
  background: var(--jbt-surface-blush);
}

.jbt-grid-4 > .jbt-reassurance:nth-child(1) .jbt-reassurance__mark {
  background: rgba(245, 189, 72, 0.22);
}

.jbt-grid-4 > .jbt-reassurance:nth-child(2) .jbt-reassurance__mark {
  background: rgba(174, 191, 165, 0.30);
}

.jbt-grid-4 > .jbt-reassurance:nth-child(3) .jbt-reassurance__mark {
  background: rgba(145, 174, 218, 0.28);
}

.jbt-grid-4 > .jbt-reassurance:nth-child(4) .jbt-reassurance__mark {
  background: rgba(244, 123, 145, 0.22);
}

/* Testimonials: restrained geometric accents and tonal variation */
.jbt-testimonial {
  overflow: hidden;
}

.jbt-testimonial:nth-child(1) {
  background: var(--jbt-surface-warm);
}

.jbt-testimonial:nth-child(2) {
  background: var(--jbt-surface-sage);
}

.jbt-testimonial:nth-child(3) {
  background: var(--jbt-surface-blue);
}

.jbt-testimonial::after {
  content: "";
  position: absolute;
  right: -42px;
  bottom: -42px;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  pointer-events: none;
}

.jbt-testimonial:nth-child(1)::after {
  background: rgba(245, 189, 72, 0.19);
}

.jbt-testimonial:nth-child(2)::after {
  background: rgba(174, 191, 165, 0.28);
}

.jbt-testimonial:nth-child(3)::after {
  background: rgba(145, 174, 218, 0.24);
}

/* FAQ: alternating surfaces make a long list easier to scan */
.jbt-faq details:nth-child(odd) {
  background: var(--jbt-surface-clean);
}

.jbt-faq details:nth-child(even) {
  background: var(--jbt-surface-paper);
}

.jbt-faq details[open] {
  border-color: rgba(255, 115, 95, 0.30);
  box-shadow: var(--jbt-shadow-md);
}


/* =========================================================
   25. SPACING AND RHYTHM VARIANTS
   ========================================================= */

.jbt-section--compact {
  padding-top: var(--jbt-space-7);
  padding-bottom: var(--jbt-space-7);
}

.jbt-section--relaxed {
  padding-top: calc(var(--jbt-space-10) + 16px);
  padding-bottom: calc(var(--jbt-space-10) + 16px);
}

.jbt-stack--xs {
  gap: var(--jbt-space-2);
}

.jbt-stack--medium {
  gap: var(--jbt-space-6);
}

.jbt-stack--xl {
  gap: var(--jbt-space-10);
}


/* =========================================================
   26. COMPONENT VARIANTS
   ========================================================= */

.jbt-journey--compact {
  gap: 18px;
}

.jbt-journey--compact .jbt-journey__step {
  padding-top: 22px;
  padding-bottom: 22px;
}

.jbt-testimonial--feature {
  grid-column: span 2;
  min-height: 320px;
}

.jbt-cta--light {
  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(245, 189, 72, 0.24) 0 11%,
      transparent 11.5%
    ),
    var(--jbt-surface-paper);
  color: var(--jbt-text-primary);
}

#top .jbt-page .jbt-cta--light h2,
#top .jbt-page .jbt-cta--light h3,
#top .jbt-page .jbt-cta--light p,
#top .jbt-page .jbt-cta--light .jbt-eyebrow {
  color: var(--jbt-text-primary) !important;
}

.jbt-cta--light .jbt-button {
  border-color: var(--jbt-ink) !important;
  background: var(--jbt-ink) !important;
  color: #ffffff !important;
}

/* ==========================================================
   LIGHT OUTLINE BUTTON
   ========================================================== */

.jbt-button--outline-light {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 14px 28px;

    border: 2px solid rgba(255,255,255,.75);
    border-radius: 999px;

    background: transparent;

    color: #ffffff !important;

    font-weight: 600;
    text-decoration: none !important;

    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .2s ease;
}

.jbt-button--outline-light:hover {
    background: rgba(255,255,255,.12);
    border-color: #ffffff;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.jbt-button--outline-light:visited {
    color: #ffffff !important;
}
/* =========================================================
   27. RESPONSIVE REFINEMENTS FOR V2.1
   ========================================================= */

@media (max-width: 980px) {
  .jbt-testimonial--feature {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .jbt-journey__step {
    border-left-width: 4px;
  }

  .jbt-section--compact {
    padding-top: var(--jbt-space-6);
    padding-bottom: var(--jbt-space-6);
  }

  .jbt-section--relaxed {
    padding-top: var(--jbt-space-9);
    padding-bottom: var(--jbt-space-9);
  }
}
.jbt-cta a.jbt-text-link,
.jbt-cta a.jbt-text-link:visited {
    color: #ffffff !important;
    border-bottom: 2px solid rgba(255,255,255,.7);
    text-decoration: none;
    font-weight: 600;
}

.jbt-cta a.jbt-text-link:hover {
    color: #ffffff !important;
    border-bottom-color: #ffffff;
}
/* =========================================================
   28. FOOTER COMPONENT V4.0
   Judi Butler Design System
   Append this entire section to the END of style.css
   ========================================================= */

#top .jbt-footer{
  background:var(--jbt-ink);
  color:rgba(255,255,255,.82);
  margin:0;
  padding:0;
  border-top:1px solid rgba(255,255,255,.08);
}

#top .jbt-footer,
#top .jbt-footer *{
  box-sizing:border-box;
}

#top .jbt-footer .jbt-shell{
  width:min(calc(100% - 48px),var(--jbt-content-width));
  margin:0 auto;
}

#top .jbt-footer a{
  color:#fff!important;
  text-decoration:none;
}

#top .jbt-footer a:hover{
  color:var(--jbt-yellow)!important;
}

#top .jbt-footer p{
  margin:0;
  color:rgba(255,255,255,.78)!important;
  line-height:1.8;
}

#top .jbt-footer h2,
#top .jbt-footer h3{
  margin:0 0 var(--jbt-space-4);
  color:#fff!important;
  font-family:var(--jbt-font-heading)!important;
}

.jbt-footer__hero{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:var(--jbt-space-9);
  padding:var(--jbt-space-10) 0;
  border-bottom:1px solid var(--jbt-footer-border);
}

.jbt-footer__intro p{
  max-width:620px;
  margin-bottom:var(--jbt-space-6);
}

.jbt-footer__info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--jbt-space-7);
}

.jbt-footer__links{
  display:grid;
  gap:12px;
}

.jbt-footer__links a{
  opacity:.9;
}

.jbt-footer__trust{
  padding:var(--jbt-space-9) 0;
  text-align:center;
  border-bottom:1px solid var(--jbt-footer-border);
}

.jbt-footer__trust-copy{
  max-width:760px;
  margin:0 auto var(--jbt-space-7);
}

.jbt-footer__logos{
  display:flex;
  justify-content:center;
  align-items:stretch;
  gap:var(--jbt-space-5);
  flex-wrap:wrap;
}

.jbt-footer__logo{
  display:flex;
  justify-content:center;
  align-items:center;
  width:190px;
  height:120px;
  padding:20px;
  background:#fff;
  border-radius:var(--jbt-radius-sm);
  overflow:hidden;
  box-shadow:var(--jbt-shadow-md);
  transition:transform var(--jbt-transition), box-shadow var(--jbt-transition);
}

.jbt-footer__logo:hover{
  transform:translateY(-4px);
  box-shadow:var(--jbt-shadow-lg);
}

.jbt-footer__logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.jbt-footer__socket{
  padding:var(--jbt-space-5) 0;
  background:#171717;
}

.jbt-footer__socket .jbt-shell{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:var(--jbt-space-4);
  flex-wrap:wrap;
}

.jbt-footer__socket nav{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.jbt-footer__socket p{
  font-size:15px;
}

@media (max-width:980px){

  .jbt-footer__hero{
    grid-template-columns:1fr;
    gap:var(--jbt-space-8);
  }

  .jbt-footer__info{
    grid-template-columns:1fr 1fr;
  }

}

@media (max-width:680px){

  .jbt-footer__hero,
  .jbt-footer__trust{
    padding:var(--jbt-space-8) 0;
  }

  .jbt-footer__info{
    grid-template-columns:1fr;
    gap:var(--jbt-space-6);
  }

  .jbt-footer__socket .jbt-shell{
    flex-direction:column;
    text-align:center;
  }

  .jbt-footer__socket nav{
    justify-content:center;
  }

  .jbt-footer__logo{
    width:170px;
    height:110px;
  }

  .jbt-footer .jbt-button{
    width:100%;
  }

}
/* ==========================================================
   JUDI BUTLER — ORIGINAL APPROVED DESIGN RESET
   Version 1.2
   Replace the existing Original Approved Design Reset section.
   ========================================================== */

.jbo-page{
 --jbo-cream:#fff7ee;--jbo-paper:#fffaf5;--jbo-ink:#202020;
 --jbo-coral:#f47470;--jbo-pink:#ef758c;--jbo-orange:#ff9561;--jbo-gold:#f7b93b;
 --jbo-shadow:0 18px 45px rgba(32,32,32,.08);
 width:min(100%,1180px);margin:0 auto;padding:0;overflow:hidden;
 background:var(--jbo-cream);color:var(--jbo-ink);font-family:Arial,Helvetica,sans-serif;
}
.jbo-page,.jbo-page *{box-sizing:border-box}
.jbo-page h1,.jbo-page h2,.jbo-page h3,.jbo-page blockquote{
 margin-top:0;color:var(--jbo-ink);font-family:Georgia,"Times New Roman",serif;
 font-weight:400;text-transform:none;letter-spacing:-.02em;
}
.jbo-page p,.jbo-page li,.jbo-page a{font-size:16px;line-height:1.65}
.jbo-page a{color:inherit;text-decoration:none}

/* Enfold supplies the live header/footer; prevent duplicates inside page HTML. */
.jbo-page>.jbo-header,.jbo-page>.jbo-footer{display:none!important}

/* BUTTONS */
.jbo-page .jbo-btn{
 display:inline-flex;align-items:center;justify-content:center;min-height:48px;
 padding:12px 27px;border:1px solid var(--jbo-ink);border-radius:999px;
 font-size:13px;line-height:1.2;font-weight:700;letter-spacing:.035em;text-transform:uppercase;
 transition:transform .18s ease;
}
.jbo-page .jbo-btn:hover{transform:translateY(-2px)}
.jbo-page .jbo-btn--dark{background:var(--jbo-ink);color:#fff!important}
.jbo-page .jbo-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}

/* HERO */
.jbo-page .jbo-hero{
 position:relative;display:grid;grid-template-columns:53% 47%;min-height:650px;
 padding:72px 0 0 58px;overflow:hidden;isolation:isolate;
 background:linear-gradient(135deg,rgba(244,116,112,.10) 0 31%,transparent 31%),var(--jbo-cream);
}
.jbo-page .jbo-hero>div:first-child{
 position:relative;z-index:4;align-self:start;padding:0 20px 60px 0;
}
#top .jbo-page .jbo-hero h1{
 max-width:650px;margin:0;font-size:clamp(48px,5.1vw,68px)!important;
 line-height:.99!important;overflow-wrap:normal;word-break:normal;
}
.jbo-page .jbo-rule{width:88px;height:3px;margin:30px 0 22px;background:var(--jbo-gold)}
.jbo-page .jbo-hero .jbo-lead{max-width:560px;margin:0 0 24px;font-size:18px;line-height:1.55}
.jbo-page .jbo-hero p:not(.jbo-lead){max-width:620px;margin:0 0 7px}

.jbo-page .jbo-portrait{position:relative;z-index:3;align-self:stretch;min-width:0}
.jbo-page .jbo-portrait:before{
 content:"";position:absolute;z-index:-2;width:760px;height:760px;top:-250px;left:-95px;
 border-radius:50%;
 background:repeating-conic-gradient(from -12deg,
 var(--jbo-coral) 0deg 13deg,var(--jbo-cream) 13deg 25deg,
 var(--jbo-orange) 25deg 38deg,var(--jbo-cream) 38deg 51deg,
 var(--jbo-gold) 51deg 63deg,var(--jbo-cream) 63deg 76deg);
}
.jbo-page .jbo-portrait:after{
 content:"";position:absolute;z-index:-1;right:-160px;bottom:-190px;width:560px;height:360px;
 border-radius:50%;background:var(--jbo-coral);transform:rotate(-8deg);
}
#top .jbo-page .jbo-portrait img{
 position:absolute!important;z-index:2;right:12px;bottom:0;display:block!important;
 width:auto!important;max-width:none!important;height:535px!important;margin:0!important;
 object-fit:contain;object-position:bottom right;border:0!important;border-radius:0!important;
 box-shadow:none!important;opacity:1;visibility:visible;
}

/* GEOMETRIC CONTENT BANDS */
.jbo-page .jbo-band{
 position:relative;overflow:hidden;padding:52px 58px;
 background:
 linear-gradient(54deg,transparent 0 16%,rgba(247,185,59,.92) 16% 30%,transparent 30%),
 linear-gradient(126deg,transparent 0 53%,rgba(255,149,97,.82) 53% 72%,transparent 72%),
 linear-gradient(72deg,transparent 0 68%,rgba(244,116,112,.82) 68% 83%,transparent 83%),#fff0e5;
}
.jbo-page .jbo-band__grid{
 position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
 gap:54px;align-items:center;
}
.jbo-page .jbo-band h2{margin-bottom:22px;font-size:38px;line-height:1.08}
.jbo-page .jbo-list{margin:0;padding:0;list-style:none}
.jbo-page .jbo-list li{position:relative;margin:8px 0;padding-left:30px}
.jbo-page .jbo-list li:before{content:"✓";position:absolute;left:0;top:0;font-weight:700}
.jbo-page .jbo-quote{
 margin:0;padding:34px 38px;border-radius:16px;background:rgba(255,250,245,.95);
 box-shadow:var(--jbo-shadow);font-size:26px;line-height:1.2;
}
.jbo-page .jbo-quote:before{
 content:"“";display:block;height:34px;color:var(--jbo-coral);font-size:64px;line-height:.8;font-weight:700;
}
.jbo-page .jbo-quote cite{
 display:block;margin-top:18px;font-family:Arial,Helvetica,sans-serif;font-size:12px;
 font-style:normal;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}

/* HOW I CAN HELP */
.jbo-page .jbo-section{position:relative;padding:48px 48px 58px;overflow:hidden}
.jbo-page .jbo-services{
 background:
 linear-gradient(145deg,transparent 0 72%,rgba(239,117,140,.82) 72% 100%),
 linear-gradient(35deg,rgba(247,185,59,.50) 0 12%,transparent 12% 100%),var(--jbo-cream);
}
.jbo-page .jbo-section--centre{position:relative;z-index:2;text-align:center}
.jbo-page .jbo-section--centre h2{display:inline-block;margin-bottom:36px;font-size:38px;line-height:1.1}
.jbo-page .jbo-section--centre h2:after{
 content:"";display:block;width:54px;height:2px;margin:10px auto 0;background:var(--jbo-orange);
}
.jbo-page .jbo-service-grid{
 position:relative;z-index:2;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;
}
.jbo-page .jbo-service-card{
 grid-column:span 2;display:flex;min-height:235px;padding:28px 25px;flex-direction:column;
 align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.72);
 border-radius:16px;background:rgba(255,250,245,.93);box-shadow:0 12px 32px rgba(32,32,32,.05);
 text-align:center;
}
.jbo-page .jbo-service-card:nth-child(4){grid-column:2/span 2}
.jbo-page .jbo-service-card:nth-child(5){grid-column:4/span 2}
.jbo-page .jbo-service-card:before{
 content:"";display:block;width:58px;height:58px;margin-bottom:20px;border-radius:50%;
 background:radial-gradient(circle at center,transparent 0 26%,rgba(255,255,255,.92) 27% 29%,transparent 30%),var(--jbo-coral);
}
.jbo-page .jbo-service-card:nth-child(2):before,.jbo-page .jbo-service-card:nth-child(5):before{
 background:radial-gradient(circle at center,transparent 0 26%,rgba(255,255,255,.92) 27% 29%,transparent 30%),var(--jbo-orange);
}
.jbo-page .jbo-service-card:nth-child(3):before,.jbo-page .jbo-service-card:nth-child(4):before{
 background:radial-gradient(circle at center,transparent 0 26%,rgba(255,255,255,.92) 27% 29%,transparent 30%),var(--jbo-gold);
}
.jbo-page .jbo-service-card h3{
 margin:0 0 12px;font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.3;
 font-weight:700;letter-spacing:0;
}
.jbo-page .jbo-service-card p{margin:0 0 17px;font-size:14px;line-height:1.5}
.jbo-page .jbo-service-card a{margin-top:auto;font-size:12px;font-weight:700;letter-spacing:.04em}

/* SECOND STATEMENT BAND */
.jbo-page .jbo-services+.jbo-band{
 background:
 linear-gradient(28deg,rgba(247,185,59,.88) 0 17%,transparent 17%),
 linear-gradient(145deg,transparent 0 56%,rgba(244,116,112,.82) 56% 74%,transparent 74%),
 linear-gradient(58deg,transparent 0 64%,rgba(255,149,97,.78) 64% 82%,transparent 82%),#fff0e5;
}
.jbo-page .jbo-copy{padding-right:10px}
.jbo-page .jbo-copy p{margin:0;font-size:17px;line-height:1.75}

/* FINAL CTA */
.jbo-page .jbo-cta{
 position:relative;overflow:hidden;padding:48px 58px;
 background:
 linear-gradient(135deg,rgba(244,116,112,.95) 0 48%,transparent 48%),
 linear-gradient(45deg,transparent 0 62%,rgba(239,117,140,.92) 62%),#ff9b7a;
}
.jbo-page .jbo-cta__grid{
 position:relative;z-index:2;display:grid;grid-template-columns:1.35fr .65fr;gap:48px;align-items:center;
}
.jbo-page .jbo-cta h2{margin-bottom:10px;font-size:38px;line-height:1.1}
.jbo-page .jbo-cta p{max-width:650px;margin:0}
.jbo-page .jbo-cta .jbo-actions{justify-content:flex-end;margin:0}

/* ENFOLD HARDENING */
#top .jbo-page .jbo-hero,#top .jbo-page .jbo-band,#top .jbo-page .jbo-section,#top .jbo-page .jbo-cta{
 max-width:none;border:0;
}
#top .jbo-page h1,#top .jbo-page h2,#top .jbo-page h3,#top .jbo-page p,#top .jbo-page blockquote{float:none}

/* TABLET */
@media(max-width:989px){
 .jbo-page .jbo-hero{grid-template-columns:56% 44%;min-height:590px;padding:56px 0 0 38px}
 #top .jbo-page .jbo-hero h1{font-size:clamp(42px,6vw,56px)!important}
 .jbo-page .jbo-portrait:before{width:620px;height:620px;top:-175px;left:-80px}
 #top .jbo-page .jbo-portrait img{right:-15px;height:455px!important}
 .jbo-page .jbo-band,.jbo-page .jbo-cta{padding-left:38px;padding-right:38px}
 .jbo-page .jbo-band__grid{grid-template-columns:1fr 1fr;gap:30px}
 .jbo-page .jbo-service-grid{grid-template-columns:repeat(2,1fr)}
 .jbo-page .jbo-service-card,.jbo-page .jbo-service-card:nth-child(4),.jbo-page .jbo-service-card:nth-child(5){grid-column:auto}
 .jbo-page .jbo-service-card:last-child{grid-column:1/-1;width:calc(50% - 9px);justify-self:center}
}

/* MOBILE */
@media(max-width:767px){
 .jbo-page{width:100%}
 .jbo-page .jbo-hero{display:flex;min-height:0;padding:42px 24px 0;flex-direction:column}
 .jbo-page .jbo-hero>div:first-child{padding:0}
 #top .jbo-page .jbo-hero h1{max-width:100%;font-size:clamp(39px,11vw,52px)!important;line-height:1.01!important}
 .jbo-page .jbo-rule{margin:23px 0 18px}
 .jbo-page .jbo-hero .jbo-lead{font-size:17px}
 .jbo-page .jbo-portrait{min-height:440px;margin:12px -24px 0}
 .jbo-page .jbo-portrait:before{width:600px;height:600px;top:-65px;left:22%}
 .jbo-page .jbo-portrait:after{right:-190px;bottom:-220px}
 #top .jbo-page .jbo-portrait img{right:5%;height:405px!important}
 .jbo-page .jbo-band,.jbo-page .jbo-section,.jbo-page .jbo-cta{padding:42px 24px}
 .jbo-page .jbo-band__grid,.jbo-page .jbo-cta__grid{grid-template-columns:1fr;gap:28px}
 .jbo-page .jbo-band h2,.jbo-page .jbo-section--centre h2,.jbo-page .jbo-cta h2{font-size:33px}
 .jbo-page .jbo-quote{padding:28px;font-size:23px}
 .jbo-page .jbo-service-grid{grid-template-columns:1fr}
 .jbo-page .jbo-service-card,.jbo-page .jbo-service-card:nth-child(4),.jbo-page .jbo-service-card:nth-child(5),.jbo-page .jbo-service-card:last-child{
  grid-column:auto;width:100%;
 }
 .jbo-page .jbo-cta .jbo-actions{justify-content:flex-start}
}
@media(max-width:420px){
 #top .jbo-page .jbo-hero h1{font-size:38px!important}
 .jbo-page .jbo-portrait{min-height:380px}
 #top .jbo-page .jbo-portrait img{right:-4%;height:350px!important}
 .jbo-page .jbo-portrait:before{left:5%;top:-45px}
 .jbo-page .jbo-btn{width:100%}
}
/* ==========================================================
   JBO — ENFOLD HEADER CLEARANCE
   Keeps Original Design pages below the live Enfold header
   ========================================================== */

#top .jbo-page {
    position: relative;
    clear: both;
}

#top .jbo-page .jbo-hero {
    padding-top: 72px !important;
}

/* Prevent Enfold header overlap on desktop */
@media only screen and (min-width: 990px) {
    #top .jbo-page {
        margin-top: 0 !important;
    }

    #top .jbo-page .jbo-hero {
        min-height: 650px;
    }
}
/* ==========================================================
   JBO HERO — FINAL VERTICAL POSITION FIX
   ========================================================== */

#top .jbo-page .jbo-hero > div:first-child {
    padding-top: 70px !important;
    margin-top: 0 !important;
    transform: none !important;
}

#top .jbo-page .jbo-hero h1 {
    margin-top: 0 !important;
    position: relative !important;
    top: auto !important;
    transform: none !important;
}
/* ==========================================================
   ABOUT PAGE — ENFOLD LAYOUT OVERRIDE
   Must remain at end of stylesheet
   ========================================================== */

#top .jbo-about-page .jbo-about-hero {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 52% 48% !important;
    width: 100% !important;
    min-height: 650px !important;
    overflow: hidden !important;
    background: #fff6eb !important;
}

#top .jbo-about-page .jbo-about-hero__copy {
    position: relative !important;
    z-index: 3 !important;
    padding: 90px 55px 80px 50px !important;
}

#top .jbo-about-page .jbo-about-hero__visual {
    display: block !important;
    position: relative !important;
    min-height: 650px !important;
    overflow: hidden !important;
    background: #fff1e6 !important;
}

#top .jbo-about-page .jbo-about-rays {
    display: block !important;
    position: absolute !important;
    width: 620px !important;
    height: 620px !important;
    top: -90px !important;
    right: -130px !important;
    border-radius: 50% !important;

    background: conic-gradient(
        from 5deg,
        #f76f6b 0deg 14deg,
        transparent 14deg 28deg,
        #ff935f 28deg 43deg,
        transparent 43deg 58deg,
        #f9b632 58deg 73deg,
        transparent 73deg 90deg,
        #f76f6b 90deg 108deg,
        transparent 108deg 126deg,
        #ff935f 126deg 145deg,
        transparent 145deg 163deg,
        #f9b632 163deg 181deg,
        transparent 181deg 200deg,
        #f76f6b 200deg 220deg,
        transparent 220deg 239deg,
        #ff935f 239deg 258deg,
        transparent 258deg 278deg,
        #f9b632 278deg 298deg,
        transparent 298deg 318deg,
        #f76f6b 318deg 338deg,
        transparent 338deg 360deg
    ) !important;
}

#top .jbo-about-page .jbo-about-portrait {
    display: block !important;
    position: absolute !important;
    z-index: 2 !important;
    right: 20px !important;
    bottom: 0 !important;
    width: auto !important;
    height: auto !important;
    max-width: 92% !important;
    max-height: 570px !important;
    margin: 0 !important;
}

#top .jbo-about-page .jbo-about-hero h1 {
    display: block !important;
    max-width: 650px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: "Times New Roman", serif !important;
    font-size: clamp(52px, 5vw, 78px) !important;
    line-height: .94 !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    color: #202020 !important;
}

#top .jbo-about-page .jbo-about-story {
    clear: both !important;
    display: grid !important;
    grid-template-columns: 40% 60% !important;
    gap: 65px !important;
    padding: 95px 50px !important;
}


/* Tablet/mobile — restore single-column layout */

@media (max-width: 900px) {

    #top .jbo-about-page .jbo-about-hero {
        grid-template-columns: 1fr !important;
    }

    #top .jbo-about-page .jbo-about-hero__copy {
        padding: 65px 32px 45px !important;
    }

    #top .jbo-about-page .jbo-about-hero__visual {
        min-height: 500px !important;
    }

    #top .jbo-about-page .jbo-about-story {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding: 70px 32px !important;
    }
}
/* ==========================================================
   ABOUT PAGE — MIDDLE SECTION REFINEMENT
   Flexible layout for Judi's future approved content
   ========================================================== */

/* Give the main About content a deliberate editorial rhythm */
.jbo-about-content {
    padding-top: 72px;
    padding-bottom: 72px;
}

/* My Approach section */
.jbo-about-approach {
    display: grid;
    grid-template-columns: minmax(280px, 0.8fr) minmax(420px, 1.2fr);
    gap: 72px;
    align-items: start;
    padding: 64px 42px;
}

.jbo-about-approach > * {
    min-width: 0;
}

.jbo-about-approach h2 {
    max-width: 520px;
    margin-top: 18px;
    margin-bottom: 0;
}

.jbo-about-approach .jbo-copy {
    max-width: 650px;
    font-size: 17px;
    line-height: 1.75;
}

/* Keep future paragraphs comfortably separated */
.jbo-about-approach .jbo-copy p {
    margin: 0 0 1.25em;
}

.jbo-about-approach .jbo-copy p:last-child {
    margin-bottom: 0;
}


/* ----------------------------------------------------------
   PERSONAL STATEMENT / QUOTATION
   ---------------------------------------------------------- */

.jbo-about-quote {
    margin: 0 0 72px;
}

.jbo-about-quote .jbo-quote {
    max-width: none;
    padding: 38px 42px;
    border-left-width: 6px;
}

.jbo-about-quote .jbo-quote cite {
    display: block;
    margin-top: 18px;
}


/* ----------------------------------------------------------
   STORY / EXPERIENCE SECTION
   Turns the three future content areas into a proper
   editorial grid rather than a loose list.
   ---------------------------------------------------------- */

.jbo-about-story {
    padding-top: 24px;
    padding-bottom: 72px;
}

.jbo-about-story > h2 {
    max-width: 900px;
    margin-bottom: 22px;
}

.jbo-about-story-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 42px;
    border-top: 1px solid rgba(32,32,32,.16);
    border-bottom: 1px solid rgba(32,32,32,.16);
}

.jbo-about-story-item {
    position: relative;
    padding: 36px 34px 42px;
    min-height: 250px;
}

.jbo-about-story-item + .jbo-about-story-item {
    border-left: 1px solid rgba(32,32,32,.16);
}

/* 01 / 02 / 03 */
.jbo-about-story-item .jbo-number {
    display: block;
    margin-bottom: 24px;
    color: #719b2e;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .14em;
}

.jbo-about-story-item h3 {
    margin: 0 0 18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(25px, 2vw, 32px);
    font-weight: 400;
    line-height: 1.08;
}

.jbo-about-story-item p {
    margin: 0 0 1em;
    font-size: 16px;
    line-height: 1.7;
}

.jbo-about-story-item p:last-child {
    margin-bottom: 0;
}


/* ----------------------------------------------------------
   TABLET
   ---------------------------------------------------------- */

@media (max-width: 900px) {

    .jbo-about-approach {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 52px 28px;
    }

    .jbo-about-story-grid {
        grid-template-columns: 1fr;
    }

    .jbo-about-story-item {
        min-height: 0;
        padding: 32px 28px;
    }

    .jbo-about-story-item + .jbo-about-story-item {
        border-left: 0;
        border-top: 1px solid rgba(32,32,32,.16);
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 600px) {

    .jbo-about-content {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .jbo-about-approach {
        padding: 42px 22px;
    }

    .jbo-about-quote {
        margin-bottom: 48px;
    }

    .jbo-about-quote .jbo-quote {
        padding: 30px 26px;
    }

    .jbo-about-story {
        padding-bottom: 48px;
    }
}

/* ==========================================================
   29. HYPNOTHERAPY PAGE — CONSOLIDATED
   Clean replacement for all previous .jb-hyp-* rules.
   Uses Judi's approved page markup and avoids selector collisions.
   ========================================================== */

/* ----------------------------------------------------------
   PAGE BASE
   ---------------------------------------------------------- */

.jb-hypnotherapy-page {
    max-width: 1030px;
    margin: 0 auto;
    overflow: hidden;
    background: #fff9f1;
    color: #17212b;
}

.jb-hypnotherapy-page,
.jb-hypnotherapy-page *,
.jb-hypnotherapy-page *::before,
.jb-hypnotherapy-page *::after {
    box-sizing: border-box;
}

.jb-hypnotherapy-page h1,
.jb-hypnotherapy-page h2,
.jb-hypnotherapy-page h3,
.jb-hypnotherapy-page blockquote {
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    text-transform: none;
}

.jb-hypnotherapy-page p {
    color: #343434;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.7;
}

.jb-hypnotherapy-page .jb-eyebrow {
    margin: 0 0 18px;
    color: #769457;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.4;
    text-transform: uppercase;
}

.jb-hypnotherapy-page .jb-heading-rule {
    width: 76px;
    height: 3px;
    margin: 25px 0;
    background: #f6b62f;
}

.jb-hypnotherapy-page .jb-heading-rule.centred {
    margin-right: auto;
    margin-left: auto;
}


/* ==========================================================
   HERO
   ========================================================== */

.jb-hyp-hero {
    position: relative;
    display: grid;
    grid-template-columns: 52% 48%;
    min-height: 520px;
    margin: 30px auto 0;
    overflow: hidden;
    background: #fff8ef;
}

.jb-hyp-hero-copy {
    position: relative;
    z-index: 5;
    padding: 85px 20px 55px 50px;
}

.jb-hyp-hero h1 {
    margin: 0 0 26px;
    max-width: 620px;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(44px, 3.35vw, 54px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -1.8px;
}

.jb-hyp-hero h1 span {
    display: block;
    white-space: nowrap;
}

.jb-hyp-hero-intro {
    max-width: 480px;
    margin: 0;
    font-size: 18px;
    line-height: 1.65;
}

.jb-hyp-hero-copy::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: -50px;
    bottom: -10px;
    width: 320px;
    height: 330px;
    background: #ffd8cf;
    clip-path: polygon(0 18%, 100% 48%, 63% 100%, 0 78%);
    opacity: .9;
}


/* Right-hand visual */

.jb-hyp-hero-art {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    background: #fff3e8;
}


/* Rays */

.jb-hyp-rays {
    position: absolute;
    z-index: 1;
    top: 47%;
    left: 88%;
    width: 1px;
    height: 1px;
}

.jb-hyp-rays .ray {
    position: absolute;
    top: 0;
    left: 0;
    width: 430px;
    height: 70px;
    opacity: .92;
    transform-origin: 0 50%;
    clip-path: polygon(0 43%, 100% 0, 100% 100%, 0 57%);
}

.jb-hyp-rays .ray-1 { background:#f36f6c; transform:rotate(-162deg); }
.jb-hyp-rays .ray-2 { background:#ff9868; transform:rotate(-128deg); }
.jb-hyp-rays .ray-3 { background:#f8b733; transform:rotate(-94deg); }
.jb-hyp-rays .ray-4 { background:#f36f6c; transform:rotate(-57deg); }
.jb-hyp-rays .ray-5 { background:#ff9567; transform:rotate(-20deg); }
.jb-hyp-rays .ray-6 { background:#f8b733; transform:rotate(17deg); }
.jb-hyp-rays .ray-7 { background:#ef7183; transform:rotate(53deg); }
.jb-hyp-rays .ray-8 { background:#ff9868; transform:rotate(91deg); }

/* Ninth span remains harmless if present in existing HTML. */
.jb-hyp-rays .ray-9 {
    display: none;
}


/* Judi portrait */

.jb-hyp-judi {
    position: absolute;
    z-index: 3;
    right: 10px;
    bottom: 0;
    display: block;
    width: auto;
    height: 430px;
    max-width: none;
    margin: 0;
    object-fit: contain;
    object-position: bottom right;
}


/* Hero reassurance card — deliberately separate from
   .jb-hyp-reassurance used lower down the page. */

.jb-hyp-hero-statement {
    position: absolute;
    z-index: 6;
    top: 42px;
    left: 32px;
    width: 300px;
    padding: 24px 28px 26px;
    border-radius: 14px;
    background: rgba(255,252,247,.97);
    box-shadow: 0 12px 30px rgba(40,34,26,.10);
}

.jb-hyp-hero-statement p {
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    line-height: 1.35;
}

.jb-quote-mark {
    display: block;
    height: 25px;
    margin: 0 0 5px;
    color: #f36f6d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 42px;
    line-height: 1;
}


/* ==========================================================
   WHAT IS HYPNOSIS?
   ========================================================== */

.jb-hyp-definition {
    position: relative;
    display: grid;
    grid-template-columns: minmax(300px, .88fr) minmax(0, 1.12fr);
    gap: 62px;
    align-items: start;
    padding: 82px 50px 88px;
    overflow: hidden;
    background: #fffdf9;
}

.jb-hyp-definition::after {
    content: "";
    position: absolute;
    right: -115px;
    bottom: -145px;
    width: 285px;
    height: 285px;
    border-radius: 50%;
    background: rgba(248,183,51,.09);
    pointer-events: none;
}

.jb-hyp-definition-heading,
.jb-hyp-definition-copy {
    position: relative;
    z-index: 2;
}

.jb-hyp-definition-heading {
    padding-top: 3px;
}

.jb-hyp-definition-heading h2 {
    max-width: 430px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(39px, 3.4vw, 46px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -1.2px;
}

.jb-hyp-definition-copy {
    max-width: 590px;
    padding-top: 4px;
}

.jb-hyp-definition-copy p {
    margin: 0 0 22px;
    font-size: 17px;
    line-height: 1.75;
}

.jb-hyp-definition-copy p:first-child {
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    line-height: 1.55;
}

.jb-hyp-definition-copy blockquote {
    position: relative;
    margin: 34px 0 0;
    padding: 27px 30px 28px 34px;
    border-left: 5px solid #f6b62f;
    border-radius: 0 14px 14px 0;
    background: #fff3e2;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1.3;
    box-shadow: 0 10px 26px rgba(40,34,26,.035);
}


/* ==========================================================
   SESSION PROCESS
   ========================================================== */

.jb-hyp-process {
    position: relative;
    padding: 90px 50px 96px;
    overflow: hidden;
    background: #fff9f1;
}

.jb-hyp-process::before {
    content: "";
    position: absolute;
    top: -125px;
    right: -145px;
    width: 310px;
    height: 310px;
    border-radius: 50%;
    background: rgba(248,183,47,.10);
    pointer-events: none;
}

.jb-section-intro {
    position: relative;
    z-index: 2;
    max-width: 780px;
    margin: 0 auto 52px;
    text-align: center;
}

.jb-section-intro h2 {
    margin: 16px 0 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 45px;
    font-weight: 400;
    line-height: 1.05;
}

.jb-process-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 20px;
}

.jb-process-card {
    position: relative;
    display: grid;
    grid-template-columns: 54px minmax(0,1fr);
    gap: 24px;
    align-items: start;
    min-height: 220px;
    padding: 34px 34px 36px;
    overflow: hidden;
    border: 1px solid rgba(23,33,43,.05);
    border-radius: 14px;
    box-shadow: 0 10px 26px rgba(40,34,26,.035);
}

.jb-process-card::after {
    content: "";
    position: absolute;
    right: -34px;
    bottom: -52px;
    width: 125px;
    height: 125px;
    border-radius: 50%;
    background: rgba(255,255,255,.32);
    pointer-events: none;
}

.jb-process-coral { background:#fde5df; }
.jb-process-orange { background:#fff0df; }
.jb-process-mustard { background:#fff3d7; }
.jb-process-green { background:#eaf0e8; }

.jb-process-number,
.jb-summary-number {
    position: relative;
    z-index: 2;
    display: flex;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f66e6d;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
}

.jb-process-card:nth-child(2) .jb-process-number { background:#ff9361; }
.jb-process-card:nth-child(3) .jb-process-number { background:#e6a820; }
.jb-process-card:nth-child(4) .jb-process-number { background:#769457; }

.jb-process-content {
    position: relative;
    z-index: 2;
    min-width: 0;
}

.jb-process-content h3 {
    margin: 4px 0 16px;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.08;
}

.jb-process-content p {
    max-width: 420px;
    margin: 0;
    font-size: 16px;
    line-height: 1.65;
}


/* ==========================================================
   LARGE REASSURANCE FEATURE
   ========================================================== */

.jb-hyp-reassurance {
    position: relative;
    min-height: 460px;
    padding: 85px 70px;
    overflow: hidden;
    background: #f4d1c5;
}

.jb-reassurance-art .shape {
    position: absolute;
    display: block;
}

.jb-reassurance-art .shape-a {
    top: -190px;
    right: -180px;
    width: 480px;
    height: 480px;
    background: #f66e6d;
    transform: rotate(45deg);
}

.jb-reassurance-art .shape-b {
    bottom: -220px;
    left: -260px;
    width: 400px;
    height: 400px;
    background: #ff9361;
    transform: rotate(45deg);
}

.jb-reassurance-art .shape-c {
    right: 130px;
    bottom: -170px;
    width: 230px;
    height: 230px;
    background: #f8b72f;
    transform: rotate(45deg);
}

.jb-reassurance-card {
    position: relative;
    z-index: 2;
    max-width: 680px;
    padding: 45px 50px;
    border-left: 6px solid #769457;
    border-radius: 15px;
    background: rgba(255,249,241,.97);
}

.jb-reassurance-card h2 {
    margin: 17px 0 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 45px;
    font-weight: 400;
    line-height: 1;
}

.jb-reassurance-card p {
    margin-bottom: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    line-height: 1.45;
}


/* ==========================================================
   SUMMARY
   ========================================================== */

.jb-hyp-summary {
    padding: 90px 50px;
    background: #fffdf9;
}

.jb-summary-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
}

.jb-summary-card {
    min-height: 245px;
    padding: 32px;
    border: 1px solid rgba(17,24,32,.08);
    background: #fff9f1;
}

.jb-summary-card:nth-child(2) { background:#edf3ea; }
.jb-summary-card:nth-child(3) { background:#fff0e7; }

.jb-summary-card:nth-child(2) .jb-summary-number { background:#769457; }
.jb-summary-card:nth-child(3) .jb-summary-number { background:#ff9361; }

.jb-summary-card h3 {
    margin: 25px 0 10px;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    font-weight: 400;
}

.jb-summary-card p {
    margin: 0;
}


/* ==========================================================
   CTA
   ========================================================== */

.jb-hyp-cta {
    position: relative;
    display: grid;
    grid-template-columns: 65% 35%;
    min-height: 260px;
    padding: 50px;
    overflow: hidden;
    align-items: center;
    background: #f66e6d;
}

.jb-hyp-cta::before {
    content: "";
    position: absolute;
    top: 30px;
    left: 43%;
    width: 330px;
    height: 330px;
    background: #ff9361;
    transform: rotate(45deg);
}

.jb-hyp-cta::after {
    content: "";
    position: absolute;
    top: -80px;
    right: -170px;
    width: 360px;
    height: 360px;
    background: #ed7590;
    transform: rotate(45deg);
}

.jb-hyp-cta-copy,
.jb-hyp-cta-action {
    position: relative;
    z-index: 2;
}

.jb-hyp-cta h2 {
    margin: 14px 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
}

.jb-hyp-cta p {
    margin: 0;
}

.jb-hyp-cta-action {
    text-align: center;
}

.jb-button-dark {
    display: inline-block;
    padding: 17px 30px;
    border-radius: 30px;
    background: #1d1d1d;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .5px;
    text-decoration: none !important;
}


/* ==========================================================
   RESPONSIVE — HYPNOTHERAPY
   ========================================================== */

@media (max-width: 900px) {

    .jb-hyp-hero,
    .jb-hyp-definition {
        grid-template-columns: 1fr;
    }

    .jb-hyp-hero-copy {
        padding: 60px 38px 48px;
    }

    .jb-hyp-hero h1 {
        font-size: clamp(43px,7vw,54px);
    }

    .jb-hyp-hero-art {
        min-height: 500px;
    }

    .jb-hyp-rays {
        top: 40%;
        left: 82%;
    }

    .jb-hyp-judi {
        right: 4%;
        height: 440px;
    }

    .jb-hyp-definition {
        gap: 32px;
        padding: 70px 38px 76px;
    }

    .jb-hyp-definition-heading h2 {
        max-width: none;
    }

    .jb-hyp-process {
        padding: 70px 32px 76px;
    }

    .jb-process-grid,
    .jb-summary-grid {
        grid-template-columns: 1fr;
    }

    .jb-process-card {
        min-height: 0;
    }

    .jb-hyp-cta {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .jb-hyp-cta-action {
        text-align: left;
    }
}

@media (max-width: 600px) {

    .jb-hyp-hero {
        margin-top: 18px;
    }

    .jb-hyp-hero-copy {
        padding: 48px 25px 42px;
    }

    .jb-hyp-hero h1 {
        font-size: 39px;
        letter-spacing: -1.2px;
    }

    .jb-hyp-hero h1 span {
        white-space: normal;
    }

    .jb-hyp-hero-intro {
        font-size: 17px;
    }

    .jb-hyp-hero-art {
        min-height: 500px;
    }

    .jb-hyp-rays {
        top: 35%;
        left: 74%;
    }

    .jb-hyp-rays .ray {
        width: 330px;
        height: 58px;
    }

    .jb-hyp-judi {
        right: -2%;
        height: 390px;
    }

    .jb-hyp-hero-statement {
        top: 24px;
        left: 20px;
        width: min(270px,calc(100% - 40px));
        padding: 20px 22px 22px;
    }

    .jb-hyp-hero-statement p {
        font-size: 18px;
    }

    .jb-hyp-definition {
        padding: 58px 25px 64px;
    }

    .jb-hyp-definition-heading h2,
    .jb-section-intro h2,
    .jb-reassurance-card h2,
    .jb-hyp-cta h2 {
        font-size: 36px;
    }

    .jb-hyp-definition-copy p:first-child {
        font-size: 19px;
    }

    .jb-hyp-definition-copy blockquote {
        padding: 24px 24px 25px 27px;
        font-size: 23px;
    }

    .jb-hyp-process {
        padding: 58px 24px 64px;
    }

    .jb-section-intro {
        margin-bottom: 38px;
    }

    .jb-process-card {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 28px 26px 30px;
    }

    .jb-process-content h3 {
        font-size: 25px;
    }

    .jb-hyp-reassurance {
        padding: 55px 25px;
    }

    .jb-reassurance-card {
        padding: 35px 28px;
    }

    .jb-hyp-summary {
        padding: 65px 25px;
    }

    .jb-hyp-cta {
        padding: 45px 25px;
    }
}
/* ==========================================================
   HERO REASSURANCE CARD — FINAL POSITIONING
   ========================================================== */

.jb-hyp-hero-statement {
    position: absolute;
    top: 20px;
    right: 18px;
    left: auto;
    width: 190px;
    padding: 18px 20px 20px;
    box-sizing: border-box;
    z-index: 4;
}

.jb-hyp-hero-statement p {
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
}
/* ==========================================================
   OVERCOMING ANXIETY — HERO
   ========================================================== */

.jb-anxiety-page {
    max-width: 1030px;
    margin: 0 auto;
    overflow: hidden;
    background: #fff9f1;
    color: #17212b;
}

.jb-anxiety-page,
.jb-anxiety-page *,
.jb-anxiety-page *::before,
.jb-anxiety-page *::after {
    box-sizing: border-box;
}

.jb-anxiety-hero {
    display: grid;
    grid-template-columns: 55% 45%;
    min-height: 510px;
    margin-top: 30px;
    overflow: hidden;
    background: #fff8ef;
}


/* COPY */

.jb-anxiety-hero__copy {
    position: relative;
    z-index: 2;
    padding: 82px 45px 65px 50px;
}

.jb-anxiety-hero__copy .jb-eyebrow {
    margin-bottom: 18px;
    color: #769457;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.jb-anxiety-hero h1 {
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(52px, 4.6vw, 68px);
    font-weight: 400;
    line-height: .94;
    letter-spacing: -2px;
}

.jb-anxiety-hero h1 span {
    display: block;
}

.jb-anxiety-hero .jb-heading-rule {
    width: 76px;
    height: 3px;
    margin: 29px 0 25px;
    background: #f6b62f;
}

.jb-anxiety-hero__statement {
    max-width: 460px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    line-height: 1.45;
}


/* ABSTRACT VISUAL */

.jb-anxiety-hero__visual {
    position: relative;
    min-height: 510px;
    overflow: hidden;
    background: #fff3e8;
}

.jb-anxiety-shape {
    position: absolute;
    display: block;
}

/* energetic / overlapping */

.jb-anxiety-shape.shape-1 {
    top: -65px;
    right: -85px;
    width: 285px;
    height: 285px;
    background: #f66e6d;
    transform: rotate(31deg);
}

.jb-anxiety-shape.shape-2 {
    top: 90px;
    right: 125px;
    width: 205px;
    height: 72px;
    background: #ff9361;
    transform: rotate(-23deg);
}

.jb-anxiety-shape.shape-3 {
    top: 195px;
    right: -30px;
    width: 260px;
    height: 82px;
    background: #f8b72f;
    transform: rotate(18deg);
}

.jb-anxiety-shape.shape-4 {
    top: 245px;
    left: 38px;
    width: 145px;
    height: 145px;
    border-radius: 50%;
    background: #ed7590;
}

/* increasingly ordered */

.jb-anxiety-shape.shape-5 {
    right: 78px;
    bottom: 112px;
    width: 180px;
    height: 52px;
    background: #769457;
    transform: rotate(-6deg);
}

.jb-anxiety-shape.shape-6 {
    right: 55px;
    bottom: 50px;
    width: 215px;
    height: 42px;
    background: #f8b72f;
}

.jb-anxiety-shape.shape-7 {
    right: 55px;
    bottom: 0;
    width: 215px;
    height: 34px;
    background: #f66e6d;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .jb-anxiety-hero {
        grid-template-columns: 1fr;
    }

    .jb-anxiety-hero__visual {
        min-height: 390px;
    }
}

@media (max-width: 600px) {

    .jb-anxiety-hero {
        margin-top: 18px;
    }

    .jb-anxiety-hero__copy {
        padding: 50px 25px 48px;
    }

    .jb-anxiety-hero h1 {
        font-size: 46px;
    }

    .jb-anxiety-hero__statement {
        font-size: 20px;
    }

    .jb-anxiety-hero__visual {
        min-height: 330px;
    }
}
/* ==========================================================
   OVERCOMING ANXIETY — THOUGHT PATTERN
   ========================================================== */

.jb-anxiety-pattern {
    display: grid;
    grid-template-columns: 58% 42%;
    min-height: 500px;
    background: #fffdf8;
}


/* COPY */

.jb-anxiety-pattern__copy {
    padding: 85px 55px 80px 50px;
}

.jb-anxiety-pattern__copy .jb-eyebrow {
    margin-bottom: 18px;
    color: #769457;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.jb-anxiety-pattern h2 {
    max-width: 550px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -1px;
}

.jb-anxiety-pattern .jb-heading-rule {
    width: 70px;
    height: 3px;
    margin: 28px 0 27px;
    background: #f6b62f;
}

.jb-anxiety-pattern__copy p {
    max-width: 520px;
    margin: 0;
    color: #17212b;
    font-size: 18px;
    line-height: 1.7;
}


/* VISUAL PATTERN */

.jb-anxiety-pattern__visual {
    position: relative;
    min-height: 500px;
    overflow: hidden;
    background: #fff3e8;
}

.jb-pattern-line {
    position: absolute;
    top: 75px;
    bottom: 75px;
    left: 50%;
    width: 3px;
    background: #f6b62f;
    transform: translateX(-50%);
}

.jb-pattern-shape {
    position: absolute;
    left: 50%;
    z-index: 2;
    display: block;
    transform: translateX(-50%);
}

.jb-pattern-shape.pattern-1 {
    top: 58px;
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: #f66e6d;
}

.jb-pattern-shape.pattern-2 {
    top: 165px;
    width: 105px;
    height: 68px;
    background: #ff9361;
    transform: translateX(-50%) rotate(8deg);
}

.jb-pattern-shape.pattern-3 {
    top: 275px;
    width: 128px;
    height: 74px;
    background: #ed7590;
    transform: translateX(-50%) rotate(-7deg);
}

.jb-pattern-shape.pattern-4 {
    top: 390px;
    width: 155px;
    height: 62px;
    background: #769457;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .jb-anxiety-pattern {
        grid-template-columns: 1fr;
    }

    .jb-anxiety-pattern__visual {
        min-height: 390px;
    }

    .jb-pattern-line {
        top: 50px;
        bottom: 50px;
    }

    .jb-pattern-shape.pattern-1 {
        top: 35px;
    }

    .jb-pattern-shape.pattern-2 {
        top: 125px;
    }

    .jb-pattern-shape.pattern-3 {
        top: 220px;
    }

    .jb-pattern-shape.pattern-4 {
        top: 315px;
    }
}

@media (max-width: 600px) {

    .jb-anxiety-pattern__copy {
        padding: 60px 25px;
    }

    .jb-anxiety-pattern h2 {
        font-size: 34px;
    }

    .jb-anxiety-pattern__copy p {
        font-size: 17px;
    }
}
/* ==========================================================
   OVERCOMING ANXIETY — PHYSICAL RESPONSE
   ========================================================== */

.jb-anxiety-response {
    position: relative;
    min-height: 560px;
    padding: 85px 70px;
    overflow: hidden;
    background: #f47b78;
}

.jb-anxiety-response__panel {
    position: relative;
    z-index: 3;
    max-width: 690px;
    padding: 50px 55px 52px;
    background: rgba(255, 249, 241, 0.97);
    border-radius: 16px;
    box-shadow: 0 18px 38px rgba(40, 34, 26, 0.08);
}

.jb-anxiety-response__panel .jb-eyebrow {
    margin-bottom: 18px;
    color: #769457;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.jb-anxiety-response h2 {
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 4vw, 56px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -1.4px;
}

.jb-anxiety-response .jb-heading-rule {
    width: 74px;
    height: 3px;
    margin: 28px 0 25px;
    background: #f6b62f;
}

.jb-anxiety-response p {
    max-width: 560px;
    margin: 0;
    color: #17212b;
    font-size: 18px;
    line-height: 1.7;
}


/* DECORATIVE SHAPES */

.jb-anxiety-response__shapes .shape {
    position: absolute;
    display: block;
}

.jb-anxiety-response__shapes .shape-a {
    top: -130px;
    right: -120px;
    width: 360px;
    height: 360px;
    background: #ed7590;
    transform: rotate(42deg);
}

.jb-anxiety-response__shapes .shape-b {
    top: 120px;
    right: 90px;
    width: 260px;
    height: 90px;
    background: #ff9361;
    transform: rotate(-18deg);
}

.jb-anxiety-response__shapes .shape-c {
    left: -120px;
    bottom: -150px;
    width: 340px;
    height: 340px;
    background: #f8b72f;
    transform: rotate(42deg);
}

.jb-anxiety-response__shapes .shape-d {
    right: 85px;
    bottom: 55px;
    width: 190px;
    height: 70px;
    background: #769457;
    transform: rotate(-7deg);
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .jb-anxiety-response {
        padding: 70px 40px;
    }

    .jb-anxiety-response__panel {
        max-width: 620px;
    }
}

@media (max-width: 600px) {

    .jb-anxiety-response {
        min-height: 0;
        padding: 55px 25px;
    }

    .jb-anxiety-response__panel {
        padding: 38px 28px 40px;
    }

    .jb-anxiety-response h2 {
        font-size: 36px;
    }

    .jb-anxiety-response p {
        font-size: 17px;
    }

    .jb-anxiety-response__shapes .shape-b,
    .jb-anxiety-response__shapes .shape-d {
        display: none;
    }
}
/* ==========================================================
   OVERCOMING ANXIETY — POSITIVE DIRECTION
   ========================================================== */

.jb-anxiety-positive {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    min-height: 540px;
    background: #fffaf3;
}

.jb-anxiety-positive__statement {
    padding: 90px 55px 85px 70px;
}

.jb-anxiety-positive__statement .jb-eyebrow {
    margin-bottom: 22px;
    color: #769457;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.jb-anxiety-positive__statement h2 {
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 3.5vw, 52px);
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -1.2px;
}

.jb-anxiety-positive__statement .jb-heading-rule {
    width: 74px;
    height: 3px;
    margin-top: 30px;
    background: #f6b62f;
}


/* RIGHT SIDE */

.jb-anxiety-positive__copy {
    position: relative;
    overflow: hidden;
    padding: 95px 60px 70px;
    background: #fdf0e7;
}

.jb-anxiety-positive__copy p {
    position: relative;
    z-index: 3;
    max-width: 410px;
    margin: 0;
    color: #17212b;
    font-size: 19px;
    line-height: 1.75;
}


/* GEOMETRIC PROGRESSION MOTIF */

.jb-anxiety-positive__motif {
    position: absolute;
    right: 45px;
    bottom: 40px;
    width: 260px;
    height: 220px;
}

.jb-positive-line {
    position: absolute;
    left: 50%;
    top: 10px;
    width: 2px;
    height: 190px;
    background: #f6b62f;
    transform: translateX(-50%);
}

.jb-positive-shape {
    position: absolute;
    z-index: 2;
    left: 50%;
    display: block;
    transform: translateX(-50%);
}

.jb-positive-shape--1 {
    top: 0;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #f46f70;
}

.jb-positive-shape--2 {
    top: 62px;
    width: 100px;
    height: 46px;
    background: #ff9361;
    transform: translateX(-50%) rotate(6deg);
}

.jb-positive-shape--3 {
    top: 120px;
    width: 122px;
    height: 48px;
    background: #ed7590;
    transform: translateX(-50%) rotate(-5deg);
}

.jb-positive-shape--4 {
    top: 178px;
    width: 145px;
    height: 48px;
    background: #769457;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .jb-anxiety-positive {
        grid-template-columns: 1fr;
    }

    .jb-anxiety-positive__statement {
        padding: 70px 45px 65px;
    }

    .jb-anxiety-positive__copy {
        min-height: 390px;
        padding: 65px 45px;
    }

    .jb-anxiety-positive__copy p {
        max-width: 520px;
    }
}


@media (max-width: 600px) {

    .jb-anxiety-positive__statement {
        padding: 55px 25px 50px;
    }

    .jb-anxiety-positive__statement h2 {
        font-size: 36px;
    }

    .jb-anxiety-positive__copy {
        min-height: 420px;
        padding: 50px 25px;
    }

    .jb-anxiety-positive__copy p {
        font-size: 17px;
        line-height: 1.7;
    }

    .jb-anxiety-positive__motif {
        right: 50%;
        bottom: 25px;
        width: 230px;
        height: 210px;
        transform: translateX(50%);
    }
}
/* ==========================================================
   CONFIDENCE — HERO
   ========================================================== */

.jb-confidence-page {
    max-width: 1030px;
    margin: 0 auto;
    overflow: hidden;
    background: #fff9f1;
    color: #17212b;
}

.jb-confidence-page,
.jb-confidence-page *,
.jb-confidence-page *::before,
.jb-confidence-page *::after {
    box-sizing: border-box;
}

.jb-confidence-hero {
    display: grid;
    grid-template-columns: 58% 42%;
    min-height: 520px;
    margin-top: 30px;
    overflow: hidden;
    background: #fff8ef;
}


/* COPY */

.jb-confidence-hero__copy {
    position: relative;
    z-index: 2;
    padding: 82px 42px 65px 50px;
}

.jb-confidence-hero__copy .jb-eyebrow {
    margin-bottom: 20px;
    color: #769457;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.jb-confidence-hero h1 {
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 3.45vw, 52px);
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -1.4px;
}

.jb-confidence-hero h1 span {
    display: block;
    white-space: nowrap;
}

.jb-confidence-hero .jb-heading-rule {
    width: 76px;
    height: 3px;
    margin: 30px 0 25px;
    background: #f6b62f;
}

.jb-confidence-hero__intro {
    max-width: 470px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    line-height: 1.45;
}


/* VISUAL — BUILDING UPWARDS */

.jb-confidence-hero__visual {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    background: #fff3e8;
}

.jb-confidence-build {
    position: absolute;
    inset: 0;
}

.jb-confidence-shape {
    position: absolute;
    display: block;
}


/* broad stable base */

.jb-confidence-shape.shape-1 {
    left: 65px;
    bottom: 42px;
    width: 290px;
    height: 62px;
    background: #769457;
}


/* second layer */

.jb-confidence-shape.shape-2 {
    left: 93px;
    bottom: 118px;
    width: 235px;
    height: 68px;
    background: #f8b72f;
}


/* third layer */

.jb-confidence-shape.shape-3 {
    left: 118px;
    bottom: 200px;
    width: 185px;
    height: 82px;
    background: #ff9361;
}


/* upper block */

.jb-confidence-shape.shape-4 {
    left: 145px;
    bottom: 296px;
    width: 135px;
    height: 92px;
    background: #f66e6d;
}


/* final top form */

.jb-confidence-shape.shape-5 {
    left: 173px;
    bottom: 402px;
    width: 78px;
    height: 78px;
    border-radius: 50%;
    background: #ed7590;
}


/* subtle background accent */

.jb-confidence-hero__visual::after {
    content: "";
    position: absolute;
    right: -95px;
    top: -95px;
    width: 260px;
    height: 260px;
    background: rgba(246, 110, 109, 0.12);
    transform: rotate(45deg);
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .jb-confidence-hero {
        grid-template-columns: 1fr;
    }

    .jb-confidence-hero__visual {
        min-height: 430px;
    }

    .jb-confidence-build {
        width: 420px;
        left: 50%;
        transform: translateX(-50%);
    }
}

@media (max-width: 600px) {

    .jb-confidence-hero {
        margin-top: 18px;
    }

    .jb-confidence-hero__copy {
        padding: 50px 25px 48px;
    }

    .jb-confidence-hero h1 {
        font-size: 37px;
    }

    .jb-confidence-hero h1 span {
        white-space: normal;
    }

    .jb-confidence-hero__intro {
        font-size: 20px;
    }

    .jb-confidence-hero__visual {
        min-height: 360px;
    }

    .jb-confidence-build {
        width: 340px;
        transform: translateX(-50%) scale(.82);
        transform-origin: center bottom;
    }
}
/* ==========================================================
   CONFIDENCE — FEELING AWKWARD
   ========================================================== */

.jb-confidence-awkward {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    min-height: 540px;
    background: #fffaf3;
}


/* LEFT — HEADING */

.jb-confidence-awkward__heading {
    padding: 90px 45px 80px 50px;
}

.jb-confidence-awkward__heading .jb-eyebrow {
    margin-bottom: 22px;
    color: #769457;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.jb-confidence-awkward__heading h2 {
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(37px, 3.15vw, 48px);
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -1.2px;
}

.jb-confidence-awkward__heading .jb-heading-rule {
    width: 74px;
    height: 3px;
    margin-top: 30px;
    background: #f6b62f;
}


/* RIGHT — COPY AND ART */

.jb-confidence-awkward__content {
    position: relative;
    min-height: 540px;
    padding: 90px 55px 60px;
    overflow: hidden;
    background: #fdf0e7;
}

.jb-confidence-awkward__content p {
    position: relative;
    z-index: 4;
    max-width: 360px;
    margin: 0;
    color: #17212b;
    font-size: 19px;
    line-height: 1.7;
}


/* ==========================================================
   DELIBERATELY SLIGHTLY UNBALANCED GEOMETRY
   ========================================================== */

.jb-confidence-awkward__art {
    position: absolute;
    right: 38px;
    bottom: 35px;
    width: 300px;
    height: 275px;
}

.jb-awkward-line {
    position: absolute;
    left: 50%;
    top: 5px;
    width: 2px;
    height: 240px;
    background: #f6b62f;
    transform: translateX(-50%) rotate(3deg);
    transform-origin: bottom center;
}

.jb-awkward-shape {
    position: absolute;
    z-index: 2;
    display: block;
}


/* circle slightly displaced */

.jb-awkward-shape--1 {
    top: 0;
    left: 126px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #ed7590;
}


/* coral block leaning one way */

.jb-awkward-shape--2 {
    top: 72px;
    left: 83px;
    width: 118px;
    height: 52px;
    background: #f66e6d;
    transform: rotate(-8deg);
}


/* orange block leaning the other */

.jb-awkward-shape--3 {
    top: 142px;
    left: 118px;
    width: 132px;
    height: 54px;
    background: #ff9361;
    transform: rotate(7deg);
}


/* stable green base */

.jb-awkward-shape--4 {
    top: 218px;
    left: 76px;
    width: 180px;
    height: 54px;
    background: #769457;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .jb-confidence-awkward {
        grid-template-columns: 1fr;
    }

    .jb-confidence-awkward__heading {
        padding: 70px 45px 60px;
    }

    .jb-confidence-awkward__content {
        min-height: 440px;
        padding: 60px 45px;
    }

    .jb-confidence-awkward__content p {
        max-width: 520px;
    }
}


@media (max-width: 600px) {

    .jb-confidence-awkward__heading {
        padding: 55px 25px 50px;
    }

    .jb-confidence-awkward__heading h2 {
        font-size: 35px;
    }

    .jb-confidence-awkward__content {
        min-height: 430px;
        padding: 48px 25px;
    }

   .jb-confidence-awkward__content p {
    position: relative;
    z-index: 4;
    max-width: 370px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1.32;
    letter-spacing: -0.3px;
}
	.jb-confidence-awkward__content p::before {
    content: "";
    display: block;
    width: 52px;
    height: 3px;
    margin-bottom: 22px;
    background: #f6b62f;
}

    .jb-confidence-awkward__art {
        right: 50%;
        bottom: 25px;
        width: 290px;
        transform: translateX(50%) scale(.9);
        transform-origin: center bottom;
    }
}
/* ==========================================================
   CONFIDENCE — SECTION 2 RIGHT-HAND STATEMENT
   ========================================================== */

.jb-confidence-awkward__content > p {
    position: relative;
    z-index: 4;
    max-width: 360px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
    line-height: 1.35;
    letter-spacing: -0.2px;
}

.jb-confidence-awkward__content > p::before {
    content: "";
    display: block;
    width: 52px;
    height: 3px;
    margin: 0 0 20px;
    background: #f6b62f;
}
/* ==========================================================
   CONFIDENCE — SECTION 3 / NEGATIVE THOUGHT PATTERN
   ========================================================== */

.jb-confidence-pattern {
    position: relative;
    min-height: 610px;
    padding: 70px 60px;
    overflow: hidden;
    background: #f46c6d;
}

.jb-confidence-pattern__card {
    position: relative;
    z-index: 3;
    width: 64%;
    max-width: 650px;
    padding: 58px 55px 60px;
    background: #fff8ef;
    border-radius: 16px;
}

.jb-confidence-pattern__card h2 {
    margin: 20px 0 28px;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 43px;
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -1px;
}

.jb-confidence-pattern__card p {
    max-width: 530px;
    margin: 28px 0 0;
    color: #17212b;
    font-size: 18px;
    line-height: 1.65;
}


/* DECORATIVE SHAPES */

.jb-confidence-pattern__shape {
    position: absolute;
    z-index: 1;
}

.jb-confidence-pattern__shape--pink {
    width: 260px;
    height: 260px;
    top: -65px;
    right: -35px;
    background: #e96c8d;
    transform: rotate(45deg);
}

.jb-confidence-pattern__shape--orange {
    width: 240px;
    height: 75px;
    top: 230px;
    right: 45px;
    background: #ff8c5a;
    transform: rotate(-14deg);
}

.jb-confidence-pattern__shape--green {
    width: 180px;
    height: 65px;
    right: 100px;
    bottom: 70px;
    background: #7d9b5b;
    transform: rotate(8deg);
}


/* TABLET */

@media (max-width: 900px) {

    .jb-confidence-pattern {
        min-height: auto;
        padding: 60px 40px 300px;
    }

    .jb-confidence-pattern__card {
        width: 100%;
        max-width: none;
    }
}


/* MOBILE */

@media (max-width: 600px) {

    .jb-confidence-pattern {
        padding: 45px 25px 230px;
    }

    .jb-confidence-pattern__card {
        padding: 40px 28px 44px;
    }

    .jb-confidence-pattern__card h2 {
        font-size: 34px;
        letter-spacing: -0.5px;
    }

    .jb-confidence-pattern__card p {
        font-size: 17px;
    }

    .jb-confidence-pattern__shape--pink {
        width: 180px;
        height: 180px;
        top: auto;
        right: -40px;
        bottom: 20px;
    }

    .jb-confidence-pattern__shape--orange {
        width: 160px;
        height: 55px;
        top: auto;
        right: 90px;
        bottom: 125px;
    }

    .jb-confidence-pattern__shape--green {
        width: 130px;
        height: 48px;
        right: 35px;
        bottom: 65px;
    }
}
/* ==========================================================
   CONFIDENCE — FINAL SECTION / SELF-BELIEF
   ========================================================== */

.jb-confidence-belief {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    min-height: 590px;
    background: #fffaf3;
}

.jb-confidence-belief__left,
.jb-confidence-belief__right {
    position: relative;
    overflow: hidden;
}

.jb-confidence-belief__left {
    padding: 75px 55px 60px;
}

.jb-confidence-belief__right {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 75px 55px;
    background: #fbece3;
}

.jb-confidence-belief__left h2 {
    position: relative;
    z-index: 3;
    margin: 20px 0 28px;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 42px;
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -1px;
}

.jb-confidence-belief__right p {
    position: relative;
    z-index: 3;
    max-width: 420px;
    margin: 0 0 32px;
    color: #17212b;
    font-size: 18px;
    line-height: 1.65;
}

.jb-confidence-belief__statement {
    position: relative;
    z-index: 3;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 49px;
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -1.2px;
}


/* GEOMETRIC ART */

.jb-confidence-belief__art {
    position: absolute;
    right: 35px;
    bottom: 25px;
    width: 185px;
    height: 220px;
}

.jb-belief-circle,
.jb-belief-block {
    position: absolute;
    display: block;
}

.jb-belief-circle {
    width: 52px;
    height: 52px;
    top: 0;
    left: 66px;
    border-radius: 50%;
    background: #e96c8d;
}

.jb-belief-block--1 {
    width: 105px;
    height: 48px;
    top: 62px;
    left: 42px;
    background: #ff8c5a;
    transform: rotate(-5deg);
}

.jb-belief-block--2 {
    width: 135px;
    height: 50px;
    top: 120px;
    left: 25px;
    background: #f6b62f;
    transform: rotate(3deg);
}

.jb-belief-block--3 {
    width: 170px;
    height: 52px;
    bottom: 0;
    left: 7px;
    background: #7d9b5b;
}


/* TABLET */

@media (max-width: 900px) {

    .jb-confidence-belief {
        grid-template-columns: 1fr;
    }

    .jb-confidence-belief__left {
        min-height: 550px;
    }

    .jb-confidence-belief__right {
        min-height: 430px;
    }
}
/* ==========================================================
   CONFIDENCE — FINAL SECTION RIGHT-HAND STATEMENT
   ========================================================== */

.jb-confidence-belief__right p {
    position: relative;
    z-index: 4;
    max-width: 370px;
    margin: 0 0 32px;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 27px !important;
    line-height: 1.32 !important;
    letter-spacing: -0.3px;
}

.jb-confidence-belief__right p::before {
    content: "";
    display: block;
    width: 52px;
    height: 3px;
    margin: 0 0 22px;
    background: #f6b62f;
}


/* MOBILE */

@media (max-width: 600px) {

    .jb-confidence-belief__left,
    .jb-confidence-belief__right {
        padding: 50px 25px;
    }

    .jb-confidence-belief__left {
        min-height: 570px;
    }

    .jb-confidence-belief__right {
        min-height: auto;
    }

    .jb-confidence-belief__left h2 {
        font-size: 34px;
        letter-spacing: -0.5px;
    }

  
    .jb-confidence-belief__statement {
        font-size: 40px;
        letter-spacing: -0.7px;
    }

    .jb-confidence-belief__art {
        right: 25px;
        bottom: 30px;
        transform: scale(0.85);
        transform-origin: bottom right;
    }
}
/* ==========================================================
   RELATIONSHIPS — HERO
   ========================================================== */

.jb-relationships-page {
    max-width: 1030px;
    margin: 0 auto;
    overflow: hidden;
    background: #fff9f1;
    color: #17212b;
}

.jb-relationships-page,
.jb-relationships-page *,
.jb-relationships-page *::before,
.jb-relationships-page *::after {
    box-sizing: border-box;
}

.jb-relationships-hero {
    display: grid;
    grid-template-columns: 58% 42%;
    min-height: 520px;
    margin-top: 30px;
    overflow: hidden;
    background: #fff8ef;
}


/* COPY */

.jb-relationships-hero__copy {
    position: relative;
    z-index: 2;
    padding: 82px 40px 65px 50px;
}

.jb-relationships-hero__copy .jb-eyebrow {
    margin-bottom: 20px;
    color: #769457;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.jb-relationships-hero h1 {
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(39px, 3.35vw, 51px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -1.3px;
}

.jb-relationships-hero h1 span {
    display: block;
    white-space: nowrap;
}

.jb-relationships-hero .jb-heading-rule {
    width: 76px;
    height: 3px;
    margin: 30px 0 25px;
    background: #f6b62f;
}

.jb-relationships-hero__intro {
    max-width: 480px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    line-height: 1.45;
}


/* VISUAL */

.jb-relationships-hero__visual {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    background: #fff3e8;
}

.jb-relationships-links {
    position: absolute;
    inset: 0;
}

.jb-rel-shape {
    position: absolute;
    display: block;
}


/* connected / overlapping forms */

.jb-rel-shape.shape-1 {
    width: 180px;
    height: 180px;
    top: 65px;
    left: 55px;
    border-radius: 50%;
    background: #ed7590;
}

.jb-rel-shape.shape-2 {
    width: 205px;
    height: 85px;
    top: 135px;
    left: 165px;
    background: #ff9361;
    transform: rotate(-12deg);
}

.jb-rel-shape.shape-3 {
    width: 175px;
    height: 175px;
    top: 225px;
    left: 120px;
    background: #f66e6d;
    transform: rotate(45deg);
}

.jb-rel-shape.shape-4 {
    width: 220px;
    height: 70px;
    bottom: 70px;
    left: 55px;
    background: #769457;
    transform: rotate(4deg);
}

.jb-rel-shape.shape-5 {
    width: 145px;
    height: 62px;
    bottom: 38px;
    right: 24px;
    background: #f8b72f;
    transform: rotate(-7deg);
}


/* subtle background accent */

.jb-relationships-hero__visual::after {
    content: "";
    position: absolute;
    right: -95px;
    top: -95px;
    width: 260px;
    height: 260px;
    background: rgba(246, 110, 109, 0.10);
    transform: rotate(45deg);
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .jb-relationships-hero {
        grid-template-columns: 1fr;
    }

    .jb-relationships-hero__visual {
        min-height: 420px;
    }
}

@media (max-width: 600px) {

    .jb-relationships-hero {
        margin-top: 18px;
    }

    .jb-relationships-hero__copy {
        padding: 50px 25px 48px;
    }

    .jb-relationships-hero h1 {
        font-size: 36px;
    }

    .jb-relationships-hero h1 span {
        white-space: normal;
    }

    .jb-relationships-hero__intro {
        font-size: 20px;
    }

    .jb-relationships-hero__visual {
        min-height: 350px;
    }

    .jb-relationships-links {
        transform: scale(.82);
        transform-origin: top left;
    }
}
/* ==========================================================
   RELATIONSHIPS — HERO ART POSITION REFINEMENT
   Keep headline area clear
   ========================================================== */

.jb-relationships-hero__visual {
    overflow: hidden;
}

.jb-relationships-links {
    left: 90px;
    right: -90px;
}

/* Pink circle */
.jb-rel-shape.shape-1 {
    width: 150px;
    height: 150px;
    top: 65px;
    left: 115px;
}

/* Orange bar */
.jb-rel-shape.shape-2 {
    width: 170px;
    height: 72px;
    top: 125px;
    left: 230px;
}

/* Coral diamond */
.jb-rel-shape.shape-3 {
    width: 165px;
    height: 165px;
    top: 220px;
    left: 165px;
}

/* Green bar */
.jb-rel-shape.shape-4 {
    width: 200px;
    height: 66px;
    bottom: 65px;
    left: 115px;
}

/* Gold bar */
.jb-rel-shape.shape-5 {
    width: 135px;
    height: 60px;
    bottom: 32px;
    right: 10px;
}
/* ==========================================================
   RELATIONSHIPS HERO — FINAL HEADLINE CLEARANCE
   ========================================================== */

.jb-relationships-page .jb-rel-shape.shape-1 {
    left: 245px !important;
}

.jb-relationships-page .jb-rel-shape.shape-2 {
    left: 330px !important;
}

.jb-relationships-page .jb-rel-shape.shape-3 {
    left: 270px !important;
}

.jb-relationships-page .jb-rel-shape.shape-4 {
    left: 155px !important;
}

.jb-relationships-page .jb-rel-shape.shape-5 {
    right: -25px !important;
}
/* ==========================================================
   RELATIONSHIPS — SECTION 2
   THE CHALLENGE OF BEING HAPPY TOGETHER
   ========================================================== */

.jb-relationships-challenge {
    position: relative;
    display: grid;
    grid-template-columns: 54% 46%;
    max-width: 1200px;
    min-height: 570px;
    margin: 0 auto;
    overflow: hidden;
    background: #fbf7ef;
}


/* LEFT PANEL
   ---------------------------------------------------------- */

.jb-relationships-challenge__left {
    position: relative;
    z-index: 2;
    padding: 82px 58px 72px;
    background: #fbf7ef;
}

.jb-relationships-challenge__left .jb-eyebrow {
    margin-bottom: 25px;
    color: #789957;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 2px;
}

.jb-relationships-challenge__left h2 {
    max-width: 590px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 48px;
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -1px;
}

.jb-relationships-challenge__left .jb-heading-rule {
    width: 64px;
    height: 3px;
    margin-top: 32px;
    background: #f6b62f;
}


/* RIGHT PANEL
   ---------------------------------------------------------- */

.jb-relationships-challenge__right {
    position: relative;
    min-height: 570px;
    padding: 82px 55px;
    overflow: hidden;
    background: #fcece2;
}

.jb-relationships-challenge__right > p {
    position: relative;
    z-index: 5;
    max-width: 370px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1.32;
    letter-spacing: -0.3px;
}

.jb-relationships-challenge__right > p::before {
    content: "";
    display: block;
    width: 52px;
    height: 3px;
    margin: 0 0 22px;
    background: #f6b62f;
}


/* ABSTRACT CONNECTION ART
   ---------------------------------------------------------- */

.jb-relationships-challenge__art {
    position: absolute;
    right: 38px;
    bottom: 35px;
    width: 330px;
    height: 260px;
}

.jb-rel-connect-line {
    position: absolute;
    left: 50%;
    top: 35px;
    width: 2px;
    height: 185px;
    background: #f6b62f;
    transform: translateX(-50%) rotate(12deg);
    transform-origin: center;
}

.jb-rel-connect-shape {
    position: absolute;
    display: block;
}


/* Pink circle — one individual */

.jb-rel-connect-shape--1 {
    left: 30px;
    top: 25px;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: #ea6b8c;
}


/* Coral block moving towards centre */

.jb-rel-connect-shape--2 {
    left: 74px;
    top: 105px;
    width: 126px;
    height: 58px;
    background: #f56868;
    transform: rotate(7deg);
}


/* Orange block approaching from opposite direction */

.jb-rel-connect-shape--3 {
    right: 24px;
    top: 78px;
    width: 120px;
    height: 56px;
    background: #ff8c5c;
    transform: rotate(-8deg);
}


/* Green foundation */

.jb-rel-connect-shape--4 {
    left: 100px;
    bottom: 12px;
    width: 172px;
    height: 54px;
    background: #7d9d5b;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .jb-relationships-challenge {
        grid-template-columns: 1fr;
    }

    .jb-relationships-challenge__left,
    .jb-relationships-challenge__right {
        padding: 65px 45px;
    }

    .jb-relationships-challenge__left h2 {
        font-size: 43px;
    }

    .jb-relationships-challenge__right {
        min-height: 480px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .jb-relationships-challenge__left,
    .jb-relationships-challenge__right {
        padding: 50px 25px;
    }

    .jb-relationships-challenge__left h2 {
        font-size: 34px;
        line-height: 1.1;
        letter-spacing: -0.5px;
    }

    .jb-relationships-challenge__right {
        min-height: 500px;
    }

    .jb-relationships-challenge__right > p {
        max-width: 320px;
        font-size: 24px;
    }

    .jb-relationships-challenge__art {
        right: 10px;
        bottom: 20px;
        transform: scale(0.82);
        transform-origin: bottom right;
    }
}
/* ==========================================================
   RELATIONSHIPS — SECTION 3
   DIFFERENT KINDS OF RELATIONSHIPS
   ========================================================== */

.jb-relationships-types {
    position: relative;
    min-height: 620px;
    padding: 72px 60px;
    overflow: hidden;
    background: #f46f70;
}

.jb-relationships-types__card {
    position: relative;
    z-index: 3;
    width: 68%;
    max-width: 700px;
    padding: 58px 58px 62px;
    background: #fff8ef;
    border-radius: 16px;
    box-shadow: 0 18px 38px rgba(40, 34, 26, 0.08);
}

.jb-relationships-types__card .jb-eyebrow {
    margin-bottom: 22px;
    color: #769457;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.jb-relationships-types__card h2 {
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 48px;
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -1.2px;
}

.jb-relationships-types__card .jb-heading-rule {
    width: 70px;
    height: 3px;
    margin: 28px 0 26px;
    background: #f6b62f;
}

.jb-relationships-types__body {
    max-width: 560px;
    margin: 0;
    color: #17212b;
    font-size: 18px;
    line-height: 1.7;
}

.jb-relationships-types__question {
    max-width: 560px;
    margin: 38px 0 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: -0.3px;
}

.jb-relationships-types__question::before {
    content: "";
    display: block;
    width: 52px;
    height: 3px;
    margin: 0 0 20px;
    background: #f6b62f;
}


/* DECORATIVE SHAPES */

.jb-relationships-types__shape {
    position: absolute;
    z-index: 1;
}

.jb-relationships-types__shape--pink {
    width: 260px;
    height: 260px;
    top: -70px;
    right: -40px;
    background: #e96c8d;
    transform: rotate(45deg);
}

.jb-relationships-types__shape--orange {
    width: 250px;
    height: 82px;
    top: 225px;
    right: 45px;
    background: #ff8c5a;
    transform: rotate(-13deg);
}

.jb-relationships-types__shape--green {
    width: 185px;
    height: 68px;
    right: 100px;
    bottom: 70px;
    background: #7d9b5b;
    transform: rotate(7deg);
}


/* TABLET */

@media (max-width: 900px) {

    .jb-relationships-types {
        min-height: auto;
        padding: 60px 40px 300px;
    }

    .jb-relationships-types__card {
        width: 100%;
        max-width: none;
    }
}


/* MOBILE */

@media (max-width: 600px) {

    .jb-relationships-types {
        padding: 45px 25px 230px;
    }

    .jb-relationships-types__card {
        padding: 40px 28px 44px;
    }

    .jb-relationships-types__card h2 {
        font-size: 35px;
        letter-spacing: -0.5px;
    }

    .jb-relationships-types__body {
        font-size: 17px;
    }

    .jb-relationships-types__question {
        font-size: 24px;
    }

    .jb-relationships-types__shape--pink {
        width: 180px;
        height: 180px;
        top: auto;
        right: -40px;
        bottom: 20px;
    }

    .jb-relationships-types__shape--orange {
        width: 160px;
        height: 55px;
        top: auto;
        right: 90px;
        bottom: 125px;
    }

    .jb-relationships-types__shape--green {
        width: 130px;
        height: 48px;
        right: 35px;
        bottom: 65px;
    }
}
/* ==========================================================
   RELATIONSHIPS — SECTION 4
   BE HAPPY ALREADY
   ========================================================== */

.jb-relationships-answer {
    position: relative;
    display: grid;
    grid-template-columns: 38% 62%;
    max-width: 1200px;
    min-height: 570px;
    margin: 0 auto;
    overflow: hidden;
    background: #fbf7ef;
}


/* LEFT — INTRODUCTION
   ---------------------------------------------------------- */

.jb-relationships-answer__intro {
    position: relative;
    z-index: 4;
    padding: 92px 48px 70px 58px;
    background: #fcece2;
}

.jb-relationships-answer__intro .jb-eyebrow {
    margin-bottom: 30px;
    color: #789957;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 2px;
}

.jb-relationships-answer__intro p {
    max-width: 330px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: -0.3px;
}

.jb-relationships-answer__intro .jb-heading-rule {
    width: 58px;
    height: 3px;
    margin-top: 30px;
    background: #f6b62f;
}


/* RIGHT — MAIN ANSWER
   ---------------------------------------------------------- */

.jb-relationships-answer__statement {
    position: relative;
    z-index: 3;
    padding: 78px 60px 70px 68px;
    background: #fbf7ef;
}

.jb-relationships-answer__statement h2 {
    position: relative;
    z-index: 5;
    max-width: 650px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 52px;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -1.2px;
}

.jb-relationships-answer__statement h2 span {
    display: block;
    margin-top: 8px;
    font-size: 64px;
    line-height: 1;
}


/* ABSTRACT ART
   ---------------------------------------------------------- */

.jb-relationships-answer__art {
    position: absolute;
    z-index: 2;
    right: 22px;
    bottom: 22px;
    width: 290px;
    height: 190px;
}

.jb-answer-shape {
    position: absolute;
    display: block;
}

.jb-answer-shape--1 {
    right: -25px;
    bottom: 5px;
    width: 205px;
    height: 58px;
    background: #7d9d5b;
    transform: rotate(-4deg);
}

.jb-answer-shape--2 {
    right: 115px;
    bottom: 76px;
    width: 145px;
    height: 54px;
    background: #ff8c5c;
    transform: rotate(8deg);
}

.jb-answer-shape--3 {
    right: 55px;
    bottom: 125px;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: #ea6b8c;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .jb-relationships-answer {
        grid-template-columns: 1fr;
    }

    .jb-relationships-answer__intro,
    .jb-relationships-answer__statement {
        padding: 65px 45px;
    }

    .jb-relationships-answer__intro p {
        max-width: 520px;
    }

    .jb-relationships-answer__statement {
        min-height: 530px;
    }

    .jb-relationships-answer__statement h2 {
        font-size: 47px;
    }

    .jb-relationships-answer__statement h2 span {
        font-size: 58px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .jb-relationships-answer__intro,
    .jb-relationships-answer__statement {
        padding: 50px 25px;
    }

    .jb-relationships-answer__intro p {
        font-size: 24px;
    }

    .jb-relationships-answer__statement {
        min-height: 500px;
    }

    .jb-relationships-answer__statement h2 {
        font-size: 35px;
        line-height: 1.08;
        letter-spacing: -0.5px;
    }

    .jb-relationships-answer__statement h2 span {
        margin-top: 7px;
        font-size: 43px;
    }

    .jb-relationships-answer__art {
        right: 5px;
        bottom: 15px;
        transform: scale(0.78);
        transform-origin: bottom right;
    }
}
/* ==========================================================
   RELATIONSHIPS — SECTION 4 ARTWORK FIX
   ========================================================== */

.jb-relationships-answer__statement {
    z-index: 1;
}

.jb-relationships-answer__art {
    z-index: 4;
}

.jb-relationships-answer__statement h2 {
    z-index: 5;
}
/* ==========================================================
   RELATIONSHIPS — SECTION 5
   HAPPINESS WITHIN
   ========================================================== */

.jb-relationships-happiness {
    position: relative;
    display: grid;
    grid-template-columns: 54% 46%;
    width: 100%;
    min-height: 620px;
    overflow: hidden;
}

.jb-relationships-happiness__left {
    position: relative;
    z-index: 2;
    padding: 78px 55px 70px;
    background: #fbf7ef;
}

.jb-relationships-happiness__right {
    position: relative;
    min-width: 0;
    padding: 78px 48px 70px;
    background: #f9e9df;
    overflow: hidden;
}

/* LEFT SIDE */

.jb-relationships-happiness__left .jb-eyebrow {
    margin-bottom: 28px;
    color: #78965b;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
}

.jb-relationships-happiness__left h2 {
    position: relative;
    z-index: 3;
    max-width: 560px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 46px;
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -1px;
}

.jb-relationships-happiness__left .jb-heading-rule {
    width: 64px;
    height: 3px;
    margin-top: 34px;
    background: #f6b62f;
}

/* RIGHT INTRO */

.jb-relationships-happiness__intro {
    position: relative;
    z-index: 4;
    max-width: 390px;
    margin: 0 0 45px;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    line-height: 1.36;
    letter-spacing: -0.2px;
}

.jb-relationships-happiness__intro::before {
    content: "";
    display: block;
    width: 52px;
    height: 3px;
    margin: 0 0 22px;
    background: #f6b62f;
}

/* FINAL STATEMENT */

.jb-relationships-happiness__statement {
    position: relative;
    z-index: 4;
    max-width: 470px;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    line-height: 1.08;
    letter-spacing: -0.7px;
}

/* ABSTRACT ART */

.jb-relationships-happiness__art {
    position: absolute;
    right: 30px;
    bottom: 22px;
    width: 210px;
    height: 160px;
    z-index: 1;
}

.jb-happiness-line {
    position: absolute;
    left: 105px;
    top: 15px;
    width: 2px;
    height: 125px;
    background: #f6b62f;
}

.jb-happiness-shape {
    position: absolute;
    display: block;
}

.jb-happiness-shape--1 {
    left: 27px;
    top: 8px;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #e96a8b;
}

.jb-happiness-shape--2 {
    right: 15px;
    top: 12px;
    width: 72px;
    height: 48px;
    background: #f66767;
    transform: rotate(5deg);
}

.jb-happiness-shape--3 {
    left: 18px;
    bottom: 20px;
    width: 76px;
    height: 48px;
    background: #ff8a5b;
    transform: rotate(-4deg);
}

.jb-happiness-shape--4 {
    right: 8px;
    bottom: 17px;
    width: 88px;
    height: 50px;
    background: #7d9b5b;
    transform: rotate(3deg);
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .jb-relationships-happiness {
        grid-template-columns: 1fr;
    }

    .jb-relationships-happiness__left,
    .jb-relationships-happiness__right {
        padding: 60px 40px;
    }

    .jb-relationships-happiness__left h2 {
        font-size: 42px;
    }

    .jb-relationships-happiness__right {
        min-height: 570px;
    }

    .jb-relationships-happiness__statement {
        font-size: 36px;
    }
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .jb-relationships-happiness__left,
    .jb-relationships-happiness__right {
        padding: 50px 25px;
    }

    .jb-relationships-happiness__left h2 {
        font-size: 34px;
        letter-spacing: -0.5px;
    }

    .jb-relationships-happiness__intro {
        max-width: 100%;
        font-size: 22px;
    }

    .jb-relationships-happiness__statement {
        max-width: 100%;
        padding-bottom: 170px;
        font-size: 31px;
        letter-spacing: -0.4px;
    }

    .jb-relationships-happiness__art {
        right: 20px;
        bottom: 20px;
        transform: scale(0.85);
        transform-origin: bottom right;
    }
}
/* ==========================================================
   WEIGHT LOSS — HERO
   ========================================================== */

.jb-weightloss-page {
    max-width: 1030px;
    margin: 0 auto;
    overflow: hidden;
    background: #fff9f1;
    color: #17212b;
}

.jb-weightloss-page,
.jb-weightloss-page *,
.jb-weightloss-page *::before,
.jb-weightloss-page *::after {
    box-sizing: border-box;
}

.jb-weightloss-hero {
    display: grid;
    grid-template-columns: 56% 44%;
    min-height: 520px;
    margin-top: 30px;
    overflow: hidden;
    background: #fff8ef;
}


/* COPY */

.jb-weightloss-hero__copy {
    position: relative;
    z-index: 3;
    padding: 80px 42px 65px 50px;
}

.jb-weightloss-hero__copy .jb-eyebrow {
    margin-bottom: 20px;
    color: #769457;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.jb-weightloss-hero h1 {
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 3.7vw, 56px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -1.4px;
}

.jb-weightloss-hero h1 span {
    display: block;
    white-space: nowrap;
}

.jb-weightloss-hero .jb-heading-rule {
    width: 76px;
    height: 3px;
    margin: 30px 0 0;
    background: #f6b62f;
}


/* ==========================================================
   WEIGHT LOSS — HERO VISUAL
   ========================================================== */

.jb-weightloss-hero__visual {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    background: #fff3e8;
}

.jb-weightloss-shape {
    position: absolute;
    display: block;
    z-index: 2;
}


/* broad stable base */

.jb-weightloss-shape--1 {
    left: 72px;
    bottom: 54px;
    width: 270px;
    height: 58px;
    background: #769457;
}


/* orange step */

.jb-weightloss-shape--2 {
    left: 120px;
    bottom: 138px;
    width: 200px;
    height: 64px;
    background: #ff9361;
    transform: rotate(-5deg);
}


/* coral step */

.jb-weightloss-shape--3 {
    left: 155px;
    bottom: 225px;
    width: 155px;
    height: 72px;
    background: #f66e6d;
    transform: rotate(5deg);
}


/* gold step */

.jb-weightloss-shape--4 {
    left: 190px;
    bottom: 320px;
    width: 110px;
    height: 72px;
    background: #f8b72f;
}


/* top circle */

.jb-weightloss-shape--5 {
    left: 216px;
    bottom: 414px;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: #ed7590;
}


/* subtle upper-right accent */

.jb-weightloss-hero__visual::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: -100px;
    right: -110px;
    width: 280px;
    height: 280px;
    background: rgba(246, 110, 109, 0.10);
    transform: rotate(45deg);
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .jb-weightloss-hero {
        grid-template-columns: 1fr;
    }

    .jb-weightloss-hero__visual {
        min-height: 420px;
    }

    .jb-weightloss-rise {
        width: 430px;
        left: 50%;
        transform: translateX(-50%);
    }
}

@media (max-width: 600px) {

    .jb-weightloss-hero {
        margin-top: 18px;
    }

    .jb-weightloss-hero__copy {
        padding: 50px 25px 48px;
    }

    .jb-weightloss-hero h1 {
        font-size: 38px;
    }

    .jb-weightloss-hero h1 span {
        white-space: normal;
    }

    .jb-weightloss-hero__visual {
        min-height: 350px;
    }

    .jb-weightloss-rise {
        width: 350px;
        transform: translateX(-50%) scale(.82);
        transform-origin: center bottom;
    }
}
/* ==========================================================
   WEIGHT LOSS — SECTION 2
   COMFORT EATING
   ========================================================== */

.jb-weightloss-comfort {
    position: relative;
    display: grid;
    grid-template-columns: 54% 46%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
}


/* LEFT PANEL */

.jb-weightloss-comfort__heading {
    position: relative;
    min-height: 560px;
    padding: 78px 50px 70px;
    box-sizing: border-box;
    background: #fffaf3;
}

.jb-weightloss-comfort__heading .jb-eyebrow {
    margin-bottom: 28px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.jb-weightloss-comfort__heading h2 {
    position: relative;
    z-index: 2;
    max-width: 570px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 50px;
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -1px;
}

.jb-weightloss-comfort__heading .jb-heading-rule {
    width: 64px;
    height: 3px;
    margin-top: 34px;
    background: #f6b62f;
}


/* RIGHT PANEL */

.jb-weightloss-comfort__content {
    position: relative;
    min-height: 560px;
    padding: 78px 54px 60px;
    box-sizing: border-box;
    overflow: hidden;
    background: #fff0e7;
}

.jb-weightloss-comfort__content > p {
    position: relative;
    z-index: 4;
    max-width: 390px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1.32;
    letter-spacing: -0.3px;
}

.jb-weightloss-comfort__content > p::before {
    content: "";
    display: block;
    width: 52px;
    height: 3px;
    margin: 0 0 22px;
    background: #f6b62f;
}


/* ABSTRACT ART */

.jb-weightloss-comfort__art {
    position: absolute;
    right: 42px;
    bottom: 42px;
    width: 300px;
    height: 245px;
}

.jb-comfort-line {
    position: absolute;
    left: 148px;
    bottom: 30px;
    width: 2px;
    height: 170px;
    background: #f6b62f;
    transform: rotate(7deg);
    transform-origin: bottom;
}

.jb-comfort-shape {
    position: absolute;
    display: block;
}

.jb-comfort-shape--1 {
    left: 112px;
    top: 4px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #ed7590;
}

.jb-comfort-shape--2 {
    left: 52px;
    top: 76px;
    width: 150px;
    height: 54px;
    background: #f66e6d;
    transform: rotate(6deg);
}

.jb-comfort-shape--3 {
    left: 120px;
    top: 140px;
    width: 150px;
    height: 54px;
    background: #ff9361;
    transform: rotate(-5deg);
}

.jb-comfort-shape--4 {
    left: 35px;
    bottom: 0;
    width: 225px;
    height: 48px;
    background: #769457;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .jb-weightloss-comfort {
        grid-template-columns: 1fr;
    }

    .jb-weightloss-comfort__heading,
    .jb-weightloss-comfort__content {
        min-height: 500px;
        padding: 60px 45px;
    }

    .jb-weightloss-comfort__heading h2 {
        font-size: 46px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .jb-weightloss-comfort__heading,
    .jb-weightloss-comfort__content {
        min-height: auto;
        padding: 50px 25px;
    }

    .jb-weightloss-comfort__heading h2 {
        font-size: 35px;
        line-height: 1.06;
        letter-spacing: -0.5px;
    }

    .jb-weightloss-comfort__content {
        min-height: 520px;
    }

    .jb-weightloss-comfort__content > p {
        max-width: 100%;
        font-size: 25px;
        line-height: 1.34;
    }

    .jb-weightloss-comfort__art {
        right: 15px;
        bottom: 25px;
        transform: scale(0.82);
        transform-origin: bottom right;
    }
}
/* ==========================================================
   WEIGHT LOSS — SECTION 3
   LISTEN TO YOUR BODY
   ========================================================== */

.jb-weightloss-listen {
    position: relative;
    max-width: 1200px;
    min-height: 650px;
    margin: 0 auto;
    padding: 70px 55px;
    box-sizing: border-box;
    overflow: hidden;
    background: #f66e6d;
}


/* CREAM CONTENT CARD */

.jb-weightloss-listen__card {
    position: relative;
    z-index: 3;
    width: 62%;
    min-height: 510px;
    padding: 55px 58px 52px;
    box-sizing: border-box;
    border-radius: 15px;
    background: #fffaf3;
}

.jb-weightloss-listen__card .jb-eyebrow {
    margin-bottom: 26px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.jb-weightloss-listen__card h2 {
    max-width: 620px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 47px;
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -0.8px;
}

.jb-weightloss-listen__card .jb-heading-rule {
    width: 64px;
    height: 3px;
    margin: 28px 0 25px;
    background: #f6b62f;
}

.jb-weightloss-listen__card p {
    max-width: 570px;
    margin: 0 0 28px;
    color: #17212b;
    font-size: 18px;
    line-height: 1.55;
}


/* SECONDARY STATEMENT */



/* ==========================================================
   ABSTRACT ART
   ========================================================== */

.jb-weightloss-listen__art {
    position: absolute;
    z-index: 1;
    top: 70px;
    right: 30px;
    width: 390px;
    height: 520px;
}

.jb-listen-shape {
    position: absolute;
    display: block;
}


/* large pink circle */

.jb-listen-shape--1 {
    top: 20px;
    right: -20px;
    width: 205px;
    height: 205px;
    border-radius: 50%;
    background: #e96d8e;
}


/* orange diagonal */

.jb-listen-shape--2 {
    top: 190px;
    right: 30px;
    width: 250px;
    height: 72px;
    background: #ff9361;
    transform: rotate(-10deg);
}


/* gold block */

.jb-listen-shape--3 {
    top: 310px;
    right: 125px;
    width: 135px;
    height: 78px;
    background: #f8b72f;
    transform: rotate(5deg);
}


/* green grounding block */

.jb-listen-shape--4 {
    right: -15px;
    bottom: 25px;
    width: 245px;
    height: 62px;
    background: #769457;
    transform: rotate(-4deg);
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .jb-weightloss-listen {
        padding: 55px 40px;
    }

    .jb-weightloss-listen__card {
        width: 76%;
    }

    .jb-weightloss-listen__card h2 {
        font-size: 42px;
    }

    .jb-weightloss-listen__art {
        right: -80px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .jb-weightloss-listen {
        min-height: 900px;
        padding: 35px 20px;
    }

    .jb-weightloss-listen__card {
        width: 100%;
        min-height: auto;
        padding: 42px 25px;
    }

    .jb-weightloss-listen__card h2 {
        font-size: 34px;
        line-height: 1.06;
        letter-spacing: -0.5px;
    }

    .jb-weightloss-listen__card p {
        font-size: 17px;
    }

   
    .jb-weightloss-listen__art {
        top: auto;
        right: -35px;
        bottom: 10px;
        transform: scale(0.75);
        transform-origin: bottom right;
    }
}
/* ==========================================================
   WEIGHT LOSS — FINAL SECTION
   FOOD IS DELICIOUS
   ========================================================== */

.jb-weightloss-final {
    position: relative;
    display: grid;
    grid-template-columns: 38% 62%;
    max-width: 1200px;
    min-height: 560px;
    margin: 0 auto;
    overflow: hidden;
}


/* LEFT PANEL */

.jb-weightloss-final__intro {
    position: relative;
    min-height: 560px;
    padding: 75px 55px;
    box-sizing: border-box;
    overflow: hidden;
    background: #fff0e7;
}

.jb-weightloss-final__intro .jb-eyebrow {
    position: relative;
    z-index: 3;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}


/* LEFT-HAND ABSTRACT MOTIF */

.jb-weightloss-final__motif {
    position: absolute;
    left: 55px;
    bottom: 80px;
    width: 260px;
    height: 250px;
}

.jb-weightloss-final__motif span {
    position: absolute;
    display: block;
}

.jb-weightloss-final__motif span:nth-child(1) {
    top: 10px;
    left: 20px;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #ed7590;
}

.jb-weightloss-final__motif span:nth-child(2) {
    top: 105px;
    left: 0;
    width: 190px;
    height: 60px;
    background: #ff9361;
    transform: rotate(6deg);
}

.jb-weightloss-final__motif span:nth-child(3) {
    bottom: 10px;
    left: 50px;
    width: 210px;
    height: 52px;
    background: #769457;
    transform: rotate(-4deg);
}


/* RIGHT PANEL */

.jb-weightloss-final__statement {
    position: relative;
    min-height: 560px;
    padding: 72px 55px 60px 65px;
    box-sizing: border-box;
    overflow: hidden;
    background: #fffaf3;
}

.jb-weightloss-final__statement h2 {
    position: relative;
    z-index: 4;
    max-width: 600px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 51px;
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -0.9px;
}

.jb-weightloss-final__statement h2 span {
    display: block;
    margin-top: 6px;
    font-size: 57px;
    line-height: 1.02;
}

.jb-weightloss-final__statement .jb-heading-rule {
    position: relative;
    z-index: 4;
    width: 64px;
    height: 3px;
    margin-top: 32px;
    background: #f6b62f;
}


/* RIGHT-HAND ART */

.jb-weightloss-final__art {
    position: absolute;
    right: -25px;
    bottom: 22px;
    width: 300px;
    height: 190px;
    z-index: 1;
}

.jb-final-shape {
    position: absolute;
    display: block;
}

.jb-final-shape--1 {
    right: 40px;
    top: 5px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #ed7590;
}

.jb-final-shape--2 {
    right: 90px;
    top: 70px;
    width: 135px;
    height: 48px;
    background: #f66e6d;
    transform: rotate(-6deg);
}

.jb-final-shape--3 {
    right: 5px;
    bottom: 8px;
    width: 145px;
    height: 48px;
    background: #f8b72f;
    transform: rotate(5deg);
}

.jb-final-shape--4 {
    right: 165px;
    bottom: 0;
    width: 125px;
    height: 45px;
    background: #769457;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .jb-weightloss-final {
        grid-template-columns: 1fr;
    }

    .jb-weightloss-final__intro {
        min-height: 360px;
        padding: 55px 45px;
    }

    .jb-weightloss-final__motif {
        bottom: 30px;
    }

    .jb-weightloss-final__statement {
        min-height: 560px;
        padding: 60px 45px;
    }

    .jb-weightloss-final__statement h2 {
        font-size: 47px;
    }

    .jb-weightloss-final__statement h2 span {
        font-size: 52px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .jb-weightloss-final__intro {
        min-height: 300px;
        padding: 45px 25px;
    }

    .jb-weightloss-final__motif {
        left: 25px;
        bottom: 20px;
        transform: scale(0.78);
        transform-origin: bottom left;
    }

    .jb-weightloss-final__statement {
        min-height: 540px;
        padding: 50px 25px;
    }

    .jb-weightloss-final__statement h2 {
        font-size: 35px;
        line-height: 1.06;
        letter-spacing: -0.5px;
    }

    .jb-weightloss-final__statement h2 span {
        font-size: 39px;
    }

    .jb-weightloss-final__art {
        right: -45px;
        bottom: 15px;
        transform: scale(0.78);
        transform-origin: bottom right;
    }
}
/* ==========================================================
   PROFESSIONAL DEVELOPMENT — SECTION 1
   CICERO / PERSUASION
   ========================================================== */

.jb-professional-hero {
    position: relative;
    display: grid;
    grid-template-columns: 56% 44%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
}


/* ==========================================================
   LEFT — QUOTATION
   ========================================================== */

.jb-professional-hero__content {
    position: relative;
    min-height: 620px;
    padding: 72px 50px 65px;
    box-sizing: border-box;
    background: #fffaf3;
}

.jb-professional-hero__content .jb-eyebrow {
    margin-bottom: 28px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.jb-professional-hero__content h1 {
    position: relative;
    z-index: 3;
    max-width: 650px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 48px;
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -0.9px;
}

.jb-professional-hero__content .jb-heading-rule {
    width: 64px;
    height: 3px;
    margin-top: 30px;
    background: #f6b62f;
}

.jb-professional-hero__credit {
    margin-top: 18px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}


/* ==========================================================
   RIGHT — VISUAL
   ========================================================== */

.jb-professional-hero__visual {
    position: relative;
    min-height: 620px;
    overflow: hidden;
    background: #fff0e7;
}


/* subtle corner accent */

.jb-professional-hero__visual::after {
    content: "";
    position: absolute;
    top: -105px;
    right: -100px;
    width: 285px;
    height: 285px;
    background: rgba(246, 110, 109, 0.10);
    transform: rotate(45deg);
}


/* ==========================================================
   COMMUNICATION / CONNECTION ART
   ========================================================== */

.jb-professional-connect {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 360px;
    height: 400px;
    transform: translate(-50%, -45%);
}

.jb-professional-line {
    position: absolute;
    z-index: 1;
    left: 178px;
    top: 65px;
    width: 2px;
    height: 270px;
    background: #f6b62f;
    transform: rotate(-7deg);
}

.jb-professional-shape {
    position: absolute;
    z-index: 2;
    display: block;
}


/* thought */

.jb-professional-shape.shape-1 {
    top: 15px;
    left: 145px;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: #ed7590;
}


/* communication */

.jb-professional-shape.shape-2 {
    top: 110px;
    left: 48px;
    width: 190px;
    height: 62px;
    background: #f66e6d;
    transform: rotate(5deg);
}


/* response */

.jb-professional-shape.shape-3 {
    top: 195px;
    left: 145px;
    width: 175px;
    height: 60px;
    background: #ff9361;
    transform: rotate(-6deg);
}


/* influence */

.jb-professional-shape.shape-4 {
    top: 278px;
    left: 75px;
    width: 135px;
    height: 58px;
    background: #f8b72f;
    transform: rotate(3deg);
}


/* grounding / agreement */

.jb-professional-shape.shape-5 {
    bottom: 0;
    left: 45px;
    width: 255px;
    height: 52px;
    background: #769457;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .jb-professional-hero {
        grid-template-columns: 1fr;
    }

    .jb-professional-hero__content,
    .jb-professional-hero__visual {
        min-height: 540px;
    }

    .jb-professional-hero__content {
        padding: 60px 45px;
    }

    .jb-professional-hero__content h1 {
        font-size: 45px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .jb-professional-hero__content {
        min-height: auto;
        padding: 50px 25px;
    }

    .jb-professional-hero__content h1 {
        font-size: 34px;
        line-height: 1.06;
        letter-spacing: -0.5px;
    }

    .jb-professional-hero__visual {
        min-height: 430px;
    }

    .jb-professional-connect {
        transform: translate(-50%, -48%) scale(0.82);
    }
}
/* ==========================================================
   PROFESSIONAL DEVELOPMENT — SECTION 2
   THE ART OF PERSUASION
   ========================================================== */

.jb-professional-persuasion {
    display: grid;
    grid-template-columns: 48% 52%;
    max-width: 1200px;
    min-height: 560px;
    margin: 0 auto;
    overflow: hidden;
}


/* LEFT PANEL */

.jb-professional-persuasion__left {
    position: relative;
    min-height: 560px;
    padding: 78px 52px 65px;
    box-sizing: border-box;
    overflow: hidden;
    background: #fffaf3;
}

.jb-professional-persuasion__left .jb-eyebrow {
    margin-bottom: 25px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.jb-professional-persuasion__left h2 {
    position: relative;
    z-index: 4;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 54px;
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -1px;
}

.jb-professional-persuasion__left .jb-heading-rule {
    position: relative;
    z-index: 4;
    width: 64px;
    height: 3px;
    margin-top: 30px;
    background: #f6b62f;
}


/* RIGHT PANEL */

.jb-professional-persuasion__right {
    position: relative;
    min-height: 560px;
    padding: 92px 58px 70px;
    box-sizing: border-box;
    background: #fff0e7;
}

.jb-professional-persuasion__right > p {
    position: relative;
    z-index: 4;
    max-width: 470px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1.4;
    letter-spacing: -0.3px;
}

.jb-professional-persuasion__right > p::before {
    content: "";
    display: block;
    width: 52px;
    height: 3px;
    margin: 0 0 24px;
    background: #f6b62f;
}


/* ABSTRACT COMMUNICATION ART */

.jb-professional-persuasion__art {
    position: absolute;
    left: 45px;
    bottom: 38px;
    width: 300px;
    height: 230px;
}

.jb-persuasion-line {
    position: absolute;
    left: 145px;
    top: 20px;
    width: 2px;
    height: 180px;
    background: #f6b62f;
    transform: rotate(5deg);
}

.jb-persuasion-shape {
    position: absolute;
    display: block;
}

.jb-persuasion-shape--1 {
    left: 112px;
    top: 0;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: #ed7590;
}

.jb-persuasion-shape--2 {
    left: 55px;
    top: 76px;
    width: 145px;
    height: 52px;
    background: #f66e6d;
    transform: rotate(-5deg);
}

.jb-persuasion-shape--3 {
    left: 125px;
    top: 138px;
    width: 145px;
    height: 52px;
    background: #ff9361;
    transform: rotate(5deg);
}

.jb-persuasion-shape--4 {
    left: 40px;
    bottom: 0;
    width: 225px;
    height: 48px;
    background: #769457;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .jb-professional-persuasion {
        grid-template-columns: 1fr;
    }

    .jb-professional-persuasion__left,
    .jb-professional-persuasion__right {
        min-height: 500px;
        padding: 60px 45px;
    }

    .jb-professional-persuasion__left h2 {
        font-size: 48px;
    }
}

@media (max-width: 600px) {

    .jb-professional-persuasion__left,
    .jb-professional-persuasion__right {
        padding: 50px 25px;
    }

    .jb-professional-persuasion__left {
        min-height: 500px;
    }

    .jb-professional-persuasion__right {
        min-height: auto;
    }

    .jb-professional-persuasion__left h2 {
        font-size: 36px;
    }

    .jb-professional-persuasion__right > p {
        font-size: 24px;
        line-height: 1.38;
    }

    .jb-professional-persuasion__art {
        left: 20px;
        bottom: 20px;
        transform: scale(.82);
        transform-origin: bottom left;
    }
}
/* ==========================================================
   PROFESSIONAL DEVELOPMENT — SECTION 3
   PERSUASION / INFLUENCE
   ========================================================== */

.jb-professional-influence {
    position: relative;
    display: grid;
    grid-template-columns: 55% 45%;
    max-width: 1200px;
    min-height: 620px;
    margin: 0 auto;
    overflow: hidden;
    background: #f66e6d;
}


/* ==========================================================
   LEFT CARD
   ========================================================== */

.jb-professional-influence__card {
    position: relative;
    z-index: 3;
    align-self: center;
    min-height: 490px;
    margin: 58px 0 58px 58px;
    padding: 58px 58px 50px;
    box-sizing: border-box;
    border-radius: 0 0 18px 18px;
    background: #fffaf3;
}

.jb-professional-influence__card .jb-eyebrow {
    margin-bottom: 25px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.jb-professional-influence__card h2 {
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 43px;
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -0.8px;
}

.jb-professional-influence__card .jb-heading-rule {
    width: 58px;
    height: 3px;
    margin: 27px 0 22px;
    background: #f6b62f;
}

.jb-professional-influence__card > p {
    max-width: 440px;
    margin: 0;
    color: #17212b;
    font-size: 18px;
    line-height: 1.55;
}


/* SKILL WORDS */

.jb-professional-influence__skills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 32px;
}

.jb-professional-influence__skills span {
    display: inline-block;
    padding: 9px 13px 8px;
    color: #17212b;
    border: 1px solid rgba(23, 33, 43, 0.18);
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 1.3px;
}


/* ==========================================================
   RIGHT CLOSING STATEMENT
   ========================================================== */

.jb-professional-influence__closing {
    position: relative;
    min-height: 620px;
    padding: 100px 48px 220px 50px;
    box-sizing: border-box;
}

.jb-professional-influence__closing > p {
    position: relative;
    z-index: 4;
    max-width: 390px;
    margin: 0 0 30px;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 25px !important;
    line-height: 1.36 !important;
    letter-spacing: -0.3px;
}

.jb-professional-influence__closing > p::before {
    content: "";
    display: block;
    width: 52px;
    height: 3px;
    margin: 0 0 22px;
    background: #f6b62f;
}

.jb-professional-influence__closing > h2 {
    position: relative;
    z-index: 4;
    max-width: 420px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 42px;
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -0.7px;
}


/* ==========================================================
   ABSTRACT ART
   ========================================================== */

.jb-professional-influence__art {
    position: absolute;
    right: 25px;
    bottom: 25px;
    width: 300px;
    height: 175px;
}

.jb-influence-line {
    position: absolute;
    left: 146px;
    top: 10px;
    width: 2px;
    height: 145px;
    background: #f6b62f;
    transform: rotate(4deg);
}

.jb-influence-shape {
    position: absolute;
    display: block;
}

.jb-influence-shape--1 {
    left: 117px;
    top: 0;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #ed7590;
}

.jb-influence-shape--2 {
    left: 38px;
    top: 70px;
    width: 145px;
    height: 48px;
    background: #ff9361;
    transform: rotate(5deg);
}

.jb-influence-shape--3 {
    right: 5px;
    top: 82px;
    width: 105px;
    height: 48px;
    background: #f8b72f;
    transform: rotate(-5deg);
}

.jb-influence-shape--4 {
    left: 76px;
    bottom: 0;
    width: 205px;
    height: 43px;
    background: #769457;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .jb-professional-influence {
        grid-template-columns: 1fr;
    }

    .jb-professional-influence__card {
        margin: 45px;
    }

    .jb-professional-influence__closing {
        min-height: 540px;
        padding: 70px 45px 220px;
    }
}


@media (max-width: 600px) {

    .jb-professional-influence__card {
        min-height: auto;
        margin: 25px;
        padding: 45px 25px;
    }

    .jb-professional-influence__card h2 {
        font-size: 34px;
    }

    .jb-professional-influence__closing {
        min-height: 540px;
        padding: 55px 25px 210px;
    }

    .jb-professional-influence__closing > p {
        font-size: 22px;
    }

    .jb-professional-influence__closing > h2 {
        font-size: 36px;
    }

    .jb-professional-influence__art {
        right: 10px;
        bottom: 20px;
        transform: scale(0.82);
        transform-origin: bottom right;
    }
}
/* =========================================================
   SESSIONS — SECTION 1
   COMPLETE REPLACEMENT CSS
   ========================================================= */


/* =========================================================
   MAIN HERO
   ========================================================= */

.jb-sessions-hero {
    display: grid;
    grid-template-columns: 62% 38%;
    width: 100%;
    max-width: 1040px;
    min-height: 620px;
    margin: 0 auto;
    background: #fffaf3;
    overflow: hidden;
}


/* =========================================================
   LEFT — CONTENT
   ========================================================= */

.jb-sessions-hero__content {
    position: relative;
    z-index: 4;
    padding: 72px 48px 68px;
    background: #fffaf3;
}

.jb-sessions-hero__content .jb-eyebrow {
    margin-bottom: 26px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.jb-sessions-hero__content h1 {
    margin: 0;
    max-width: 100%;
    color: #17202a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 46px;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -1.2px;
}

.jb-sessions-hero__content .jb-heading-rule {
    width: 56px;
    height: 2px;
    margin: 30px 0 24px;
    background: #f8b72f;
}

.jb-sessions-hero__subheading {
    max-width: 500px;
    margin: 0;
    color: #333;
    font-size: 22px;
    line-height: 1.45;
}


/* =========================================================
   RIGHT — PORTRAIT PANEL
   ========================================================= */

.jb-sessions-hero__visual {
    position: relative;
    min-height: 620px;
    overflow: hidden;
    background: #fcece3;
}


/* Subtle top-right corner device */

.jb-sessions-hero__visual::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: -95px;
    right: -95px;
    width: 230px;
    height: 230px;
    background: rgba(246, 110, 109, 0.10);
    transform: rotate(45deg);
}


/* =========================================================
   SUNBURST BEHIND JUDI
   ========================================================= */

.jb-sessions-sunburst {
    position: absolute;
    z-index: 1;
    left: 58%;
    bottom: 205px;
    width: 380px;
    height: 380px;
    transform: translateX(-50%) scale(1.08);
}


/* Central glow */

.jb-sessions-sunburst::after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    width: 145px;
    height: 145px;
    border-radius: 50%;
    background: #f8b72f;
    transform: translate(-50%, -50%);
}


/* Shared ray styling */

.jb-sessions-ray {
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 50%;
    width: 235px;
    height: 34px;
    transform-origin: 0 50%;
}


/* Individual rays */

.jb-sessions-ray--1 {
    background: #f66e6d;
    transform: rotate(-78deg);
}

.jb-sessions-ray--2 {
    background: #ff9361;
    transform: rotate(-38deg);
}

.jb-sessions-ray--3 {
    background: #f8b72f;
    transform: rotate(2deg);
}

.jb-sessions-ray--4 {
    background: #769457;
    transform: rotate(42deg);
}

.jb-sessions-ray--5 {
    background: #ed7590;
    transform: rotate(82deg);
}

.jb-sessions-ray--6 {
    background: #f66e6d;
    transform: rotate(122deg);
}


/* =========================================================
   JUDI PORTRAIT
   ========================================================= */

.jb-sessions-hero__judi {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 0;
    width: auto;
    height: 570px;
    max-width: none;
    transform: translateX(-50%);
    object-fit: contain;
    object-position: bottom center;
    display: block;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .jb-sessions-hero {
        grid-template-columns: 1fr 1fr;
        min-height: 560px;
    }

    .jb-sessions-hero__content {
        padding: 58px 38px;
    }

    .jb-sessions-hero__content h1 {
        font-size: 42px;
    }

    .jb-sessions-hero__subheading {
        font-size: 20px;
    }

    .jb-sessions-hero__visual {
        min-height: 560px;
    }

    .jb-sessions-hero__judi {
        height: 510px;
    }

    .jb-sessions-sunburst {
        bottom: 185px;
        transform: translateX(-50%) scale(0.88);
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .jb-sessions-hero {
        display: block;
        min-height: 0;
    }

    .jb-sessions-hero__content {
        padding: 46px 30px 42px;
    }

    .jb-sessions-hero__content h1 {
        font-size: 39px;
        line-height: 1.06;
        letter-spacing: -0.7px;
    }

    .jb-sessions-hero__subheading {
        font-size: 19px;
    }

    .jb-sessions-hero__visual {
        min-height: 480px;
    }

    .jb-sessions-hero__judi {
        height: 440px;
    }

    .jb-sessions-sunburst {
        bottom: 155px;
        transform: translateX(-50%) scale(0.72);
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .jb-sessions-hero__content {
        padding: 42px 24px 38px;
    }

    .jb-sessions-hero__content h1 {
        font-size: 34px;
    }

    .jb-sessions-hero__visual {
        min-height: 430px;
    }

    .jb-sessions-hero__judi {
        height: 400px;
    }

    .jb-sessions-sunburst {
        bottom: 135px;
        transform: translateX(-50%) scale(0.64);
    }
}
/* =========================================================
   SESSIONS — SECTION 2
   ========================================================= */

.jb-sessions-assessment {
    display: grid;
    grid-template-columns: 54% 46%;
    width: 100%;
    max-width: 1040px;
    min-height: 520px;
    margin: 0 auto;
    overflow: hidden;
    background: #fffaf3;
}


/* LEFT — MAIN STATEMENT */

.jb-sessions-assessment__statement {
    position: relative;
    min-height: 520px;
    padding: 64px 50px;
    overflow: hidden;
    background: #fffaf3;
}

.jb-sessions-assessment__statement .jb-eyebrow {
    margin-bottom: 28px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.jb-sessions-assessment__statement h2 {
    position: relative;
    z-index: 2;
    margin: 0;
    color: #17202a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 52px;
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -1.2px;
}

.jb-sessions-assessment__statement .jb-heading-rule {
    position: relative;
    z-index: 2;
    width: 56px;
    height: 2px;
    margin: 30px 0 0;
    background: #f8b72f;
}


/* LEFT — GEOMETRIC ART */

.jb-sessions-assessment__art {
    position: absolute;
    right: 35px;
    bottom: 42px;
    width: 240px;
    height: 145px;
}

.jb-assessment-shape {
    position: absolute;
    display: block;
}

.jb-assessment-shape--1 {
    left: 8px;
    bottom: 0;
    width: 220px;
    height: 42px;
    background: #769457;
}

.jb-assessment-shape--2 {
    left: 38px;
    bottom: 57px;
    width: 165px;
    height: 46px;
    background: #ff9361;
    transform: rotate(-4deg);
}

.jb-assessment-shape--3 {
    left: 82px;
    bottom: 112px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #ed7590;
}

.jb-assessment-shape--4 {
    left: 137px;
    bottom: 103px;
    width: 2px;
    height: 54px;
    background: #f8b72f;
    transform: rotate(7deg);
}


/* RIGHT — EXPLANATION */

.jb-sessions-assessment__copy {
    position: relative;
    min-height: 520px;
    padding: 66px 48px;
    background: #fcece3;
}

.jb-sessions-assessment__copy .jb-heading-rule {
    width: 48px;
    height: 2px;
    margin: 0 0 28px;
    background: #f8b72f;
}

.jb-sessions-assessment__copy p {
    max-width: 390px;
    margin: 0;
    color: #333;
    font-size: 22px;
    line-height: 1.45;
}

.jb-sessions-assessment__copy
.jb-sessions-assessment__emphasis {
    margin-top: 46px;
    color: #17202a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 36px;
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -0.5px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .jb-sessions-assessment {
        grid-template-columns: 1fr 1fr;
    }

    .jb-sessions-assessment__statement,
    .jb-sessions-assessment__copy {
        padding: 52px 38px;
    }

    .jb-sessions-assessment__statement h2 {
        font-size: 44px;
    }

    .jb-sessions-assessment__copy
    .jb-sessions-assessment__emphasis {
        font-size: 31px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .jb-sessions-assessment {
        display: block;
        min-height: 0;
    }

    .jb-sessions-assessment__statement {
        min-height: 480px;
        padding: 46px 30px;
    }

    .jb-sessions-assessment__statement h2 {
        font-size: 40px;
    }

    .jb-sessions-assessment__copy {
        min-height: 0;
        padding: 48px 30px 54px;
    }

    .jb-sessions-assessment__copy p {
        font-size: 19px;
    }

    .jb-sessions-assessment__copy
    .jb-sessions-assessment__emphasis {
        margin-top: 36px;
        font-size: 30px;
    }

    .jb-sessions-assessment__art {
        right: 25px;
        bottom: 32px;
        transform: scale(.85);
        transform-origin: right bottom;
    }
}
/* =========================================================
   SESSIONS — SECTION 3
   REFLECTION
   ========================================================= */

.jb-sessions-reflect {
    display: grid;
    grid-template-columns: 42% 58%;
    width: 100%;
    max-width: 1040px;
    min-height: 560px;
    margin: 0 auto;
    overflow: hidden;
}


/* LEFT — REFLECTION ART */

.jb-sessions-reflect__visual {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    background: #f66e6d;
}

.jb-sessions-reflect-art {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 300px;
    height: 330px;
    transform: translate(-50%, -50%);
}

.jb-reflect-shape {
    position: absolute;
    display: block;
}


/* small pause / thought */

.jb-reflect-shape--1 {
    top: 24px;
    left: 116px;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: #ed7590;
}


/* first thought */

.jb-reflect-shape--2 {
    top: 120px;
    left: 52px;
    width: 190px;
    height: 55px;
    background: #ff9361;
    transform: rotate(-4deg);
}


/* space / consideration */

.jb-reflect-shape--3 {
    top: 205px;
    left: 82px;
    width: 145px;
    height: 52px;
    background: #f8b72f;
    transform: rotate(3deg);
}


/* grounded decision */

.jb-reflect-shape--4 {
    left: 42px;
    bottom: 5px;
    width: 220px;
    height: 48px;
    background: #769457;
}


/* RIGHT — COPY */

.jb-sessions-reflect__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 70px 58px;
    background: #fffaf3;
}

.jb-sessions-reflect__content .jb-eyebrow {
    margin-bottom: 26px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.jb-sessions-reflect__content h2 {
    max-width: 540px;
    margin: 0;
    color: #17202a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 45px;
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -1px;
}

.jb-sessions-reflect__content .jb-heading-rule {
    width: 56px;
    height: 2px;
    margin: 30px 0 24px;
    background: #f8b72f;
}

.jb-sessions-reflect__content p {
    max-width: 470px;
    margin: 0;
    color: #333;
    font-size: 21px;
    line-height: 1.45;
}


/* TABLET */

@media (max-width: 900px) {

    .jb-sessions-reflect {
        grid-template-columns: 1fr 1fr;
    }

    .jb-sessions-reflect__content {
        padding: 58px 38px;
    }

    .jb-sessions-reflect__content h2 {
        font-size: 39px;
    }
}


/* MOBILE */

@media (max-width: 700px) {

    .jb-sessions-reflect {
        display: flex;
        flex-direction: column-reverse;
        min-height: 0;
    }

    .jb-sessions-reflect__content {
        padding: 48px 30px;
    }

    .jb-sessions-reflect__content h2 {
        font-size: 34px;
        line-height: 1.08;
    }

    .jb-sessions-reflect__content p {
        font-size: 19px;
    }

    .jb-sessions-reflect__visual {
        min-height: 400px;
    }

    .jb-sessions-reflect-art {
        transform: translate(-50%, -50%) scale(.88);
    }
}
/* =========================================================
   SESSIONS — FINAL SECTION
   INDIVIDUALLY PREPARED / RESULTS BASED
   ========================================================= */

.jb-sessions-final {
    display: grid;
    grid-template-columns: 52% 48%;
    width: 100%;
    max-width: 1040px;
    min-height: 580px;
    margin: 0 auto;
    overflow: hidden;
}


/* =========================================================
   LEFT — PREPARATION
   ========================================================= */

.jb-sessions-final__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 70px 58px;
    background: #fffaf3;
}

.jb-sessions-final__content .jb-eyebrow {
    margin-bottom: 26px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.jb-sessions-final__content h2 {
    max-width: 480px;
    margin: 0;
    color: #17202a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 47px;
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -1px;
}

.jb-sessions-final__content .jb-heading-rule {
    width: 56px;
    height: 2px;
    margin: 30px 0 24px;
    background: #f8b72f;
}

.jb-sessions-final__copy {
    max-width: 470px;
    margin: 0;
    color: #333;
    font-size: 20px;
    line-height: 1.55;
}


/* =========================================================
   RIGHT — RESULTS
   ========================================================= */

.jb-sessions-final__statement {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 580px;
    padding: 64px 52px;
    overflow: hidden;
    background: #769457;
}


/* RESULTS STATEMENT */

.jb-sessions-final__result {
    position: relative;
    z-index: 3;
}

.jb-sessions-final__result .jb-heading-rule {
    width: 56px;
    height: 2px;
    margin: 0 0 28px;
    background: #f8b72f;
}

.jb-sessions-final__result h2 {
    max-width: 390px;
    margin: 0;
    color: #fffaf3;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 52px;
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -1px;
}


/* =========================================================
   ABSTRACT RESULT ART
   ========================================================= */

.jb-sessions-final-art {
    position: absolute;
    z-index: 1;
    right: -25px;
    bottom: 22px;
    width: 250px;
    height: 230px;
    opacity: 0.72;
}

.jb-final-shape {
    position: absolute;
    display: block;
}


/* progression */

.jb-final-shape--1 {
    right: 15px;
    bottom: 18px;
    width: 175px;
    height: 48px;
    background: #f8b72f;
    transform: rotate(-4deg);
}

.jb-final-shape--2 {
    right: 52px;
    bottom: 90px;
    width: 135px;
    height: 48px;
    background: #ff9361;
    transform: rotate(5deg);
}

.jb-final-shape--3 {
    right: 92px;
    bottom: 157px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #ed7590;
}


/* SUBTLE CORNER DETAIL */

.jb-sessions-final__statement::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: -110px;
    right: -100px;
    width: 260px;
    height: 260px;
    background: rgba(255, 250, 243, 0.08);
    transform: rotate(45deg);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .jb-sessions-final {
        grid-template-columns: 1fr 1fr;
    }

    .jb-sessions-final__content {
        padding: 58px 38px;
    }

    .jb-sessions-final__statement {
        padding: 58px 38px;
    }

    .jb-sessions-final__content h2 {
        font-size: 40px;
    }

    .jb-sessions-final__result h2 {
        font-size: 45px;
    }

    .jb-sessions-final__copy {
        font-size: 19px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .jb-sessions-final {
        display: block;
        min-height: 0;
    }

    .jb-sessions-final__content {
        padding: 48px 30px;
    }

    .jb-sessions-final__content h2 {
        font-size: 35px;
        line-height: 1.08;
    }

    .jb-sessions-final__copy {
        font-size: 18px;
    }

    .jb-sessions-final__statement {
        min-height: 430px;
        padding: 52px 30px;
    }

    .jb-sessions-final__result h2 {
        font-size: 42px;
    }

    .jb-sessions-final-art {
        transform: scale(.82);
        transform-origin: bottom right;
    }
}
/* =========================================================
   BOOK AN APPOINTMENT — SECTION 1
   ========================================================= */

.jb-booking-hero {
    display: grid;
    grid-template-columns: 58% 42%;
    width: 100%;
    max-width: 1040px;
    min-height: 650px;
    margin: 0 auto;
    overflow: hidden;
    background: #fffaf3;
}


/* =========================================================
   LEFT — CONTENT
   ========================================================= */

.jb-booking-hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 68px 48px 64px;
    background: #fffaf3;
}

.jb-booking-hero__content .jb-eyebrow {
    margin-bottom: 26px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.jb-booking-hero__content h1 {
    max-width: 590px;
    margin: 0;
    color: #17202a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(43px, 4vw, 58px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -1.4px;
}

.jb-booking-hero__content .jb-heading-rule {
    width: 56px;
    height: 2px;
    margin: 30px 0 24px;
    background: #f8b72f;
}

.jb-booking-hero__lead {
    max-width: 500px;
    margin: 0 0 32px;
    color: #333;
    font-size: 20px;
    line-height: 1.5;
}


/* =========================================================
   BUTTON
   ========================================================= */

.jb-booking-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 48px;
    padding: 0 24px;
    border: 1px solid #769457;
    background: #769457;
    color: #fffaf3 !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 1.4px;
    text-decoration: none !important;
    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.jb-booking-button:hover {
    background: #627d49;
    color: #fffaf3 !important;
    transform: translateY(-2px);
}


/* =========================================================
   RIGHT — FIRST STEP VISUAL
   ========================================================= */

.jb-booking-hero__visual {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    background: #fcece3;
}

.jb-booking-first-step {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 340px;
    height: 430px;
    transform: translate(-50%, -48%);
}

.jb-booking-step {
    position: absolute;
    display: block;
}


/* stable starting point */

.jb-booking-step--1 {
    left: 24px;
    bottom: 18px;
    width: 250px;
    height: 55px;
    background: #769457;
}


/* first step */

.jb-booking-step--2 {
    left: 66px;
    bottom: 105px;
    width: 205px;
    height: 58px;
    background: #ff9361;
    transform: rotate(-4deg);
}


/* movement */

.jb-booking-step--3 {
    left: 110px;
    bottom: 195px;
    width: 160px;
    height: 60px;
    background: #f66e6d;
    transform: rotate(4deg);
}


/* progress */

.jb-booking-step--4 {
    left: 151px;
    bottom: 288px;
    width: 116px;
    height: 61px;
    background: #f8b72f;
}


/* destination / positive change */

.jb-booking-step--5 {
    left: 180px;
    bottom: 382px;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: #ed7590;
}


/* SUBTLE CORNER DETAIL */

.jb-booking-hero__visual::after {
    content: "";
    position: absolute;
    top: -105px;
    right: -100px;
    width: 280px;
    height: 280px;
    background: rgba(246, 110, 109, 0.10);
    transform: rotate(45deg);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .jb-booking-hero {
        grid-template-columns: 1fr 1fr;
    }

    .jb-booking-hero__content {
        padding: 58px 38px;
    }

    .jb-booking-hero__content h1 {
        font-size: 43px;
    }

    .jb-booking-hero__lead {
        font-size: 19px;
    }

    .jb-booking-first-step {
        transform: translate(-50%, -48%) scale(.88);
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .jb-booking-hero {
        display: block;
        min-height: 0;
    }

    .jb-booking-hero__content {
        padding: 48px 30px 52px;
    }

    .jb-booking-hero__content h1 {
        font-size: 38px;
        line-height: 1.06;
        letter-spacing: -.7px;
    }

    .jb-booking-hero__lead {
        font-size: 18px;
    }

    .jb-booking-hero__visual {
        min-height: 470px;
    }

    .jb-booking-first-step {
        transform: translate(-50%, -48%) scale(.88);
    }
}
/* =========================================================
   BOOK AN APPOINTMENT — SECTION 2
   REASSURANCE STRIP
   ========================================================= */

.jb-booking-reassurance {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
}


/* INDIVIDUAL PANELS */

.jb-booking-reassurance__item {
    position: relative;
    min-height: 310px;
    padding: 48px 40px 42px;
    overflow: hidden;
}


/* COLOURS */

.jb-booking-reassurance__item--green {
    background: #769457;
    color: #fffaf3;
}

.jb-booking-reassurance__item--coral {
    background: #f66e6d;
    color: #17202a;
}

.jb-booking-reassurance__item--gold {
    background: #f8b72f;
    color: #17202a;
}


/* NUMBER */

.jb-booking-reassurance__number {
    display: block;
    margin-bottom: 32px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    opacity: 0.75;
}


/* HEADINGS */

.jb-booking-reassurance__item h2 {
    margin: 0 0 24px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -0.5px;
    color: inherit;
}

/* Reduce the two shorter headings to balance all three cards */
.jb-booking-reassurance__item--coral h2,
.jb-booking-reassurance__item--gold h2 {
    font-size: 25px;
    line-height: 1.08;
}


/* SMALL GEOMETRIC DETAIL */

.jb-booking-reassurance__item::after {
    content: "";
    position: absolute;
    right: -30px;
    bottom: -30px;
    width: 100px;
    height: 100px;
    background: rgba(255,255,255,0.13);
    transform: rotate(45deg);
}


/* TABLET */

@media (max-width: 900px) {

    .jb-booking-reassurance__item {
        min-height: 290px;
        padding: 40px 30px;
    }

    .jb-booking-reassurance__item h2 {
        font-size: 27px;
    }

}


/* MOBILE */

@media (max-width: 700px) {

    .jb-booking-reassurance {
        grid-template-columns: 1fr;
    }

    .jb-booking-reassurance__item {
        min-height: 0;
        padding: 38px 30px 40px;
    }

    .jb-booking-reassurance__number {
        margin-bottom: 20px;
    }

    .jb-booking-reassurance__item h2 {
        margin-bottom: 16px;
        font-size: 29px;
    }

    .jb-booking-reassurance__item p {
        max-width: 420px;
    }

}
.jb-booking-reassurance__item--green h2 {
    font-size: 30px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.8px !important;
    white-space: nowrap !important;
}
/* =========================================================
   BOOK AN APPOINTMENT — SECTION 3
   FIRST APPOINTMENT
   ========================================================= */

.jb-booking-first {
    display: grid;
    grid-template-columns: 54% 46%;
    width: 100%;
    max-width: 1040px;
    min-height: 500px;
    margin: 0 auto;
    background: #fffaf3;
}


/* LEFT — HEADING */

.jb-booking-first__heading {
    padding: 72px 48px 66px;
    background: #fffaf3;
}

.jb-booking-first__heading .jb-eyebrow {
    margin-bottom: 28px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.jb-booking-first__heading h2 {
    max-width: 480px;
    margin: 0;
    color: #17202a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 46px;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -1px;
}

.jb-booking-first__heading .jb-heading-rule {
    width: 56px;
    height: 2px;
    margin-top: 30px;
    background: #f8b72f;
}


/* RIGHT — COPY */

.jb-booking-first__copy {
    position: relative;
    padding: 72px 48px 185px;
    overflow: hidden;
    background: #fcece3;
}

.jb-booking-first__copy::before {
    content: "";
    display: block;
    width: 48px;
    height: 2px;
    margin-bottom: 28px;
    background: #f8b72f;
}

.jb-booking-first__copy p {
    max-width: 430px;
    margin: 0 0 24px;
    color: #333;
    font-size: 20px;
    line-height: 1.5;
}

.jb-booking-first__copy p:last-of-type {
    margin-bottom: 0;
}


/* GEOMETRIC MOTIF */

.jb-booking-first__motif {
    position: absolute;
    right: 46px;
    bottom: 38px;
    width: 220px;
    height: 125px;
}

.jb-booking-first__circle {
    position: absolute;
    top: 0;
    right: 48px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #ed7590;
}

.jb-booking-first__block {
    position: absolute;
    display: block;
    height: 35px;
}

.jb-booking-first__block--coral {
    right: 14px;
    bottom: 55px;
    width: 128px;
    background: #f66e6d;
    transform: rotate(4deg);
}

.jb-booking-first__block--orange {
    left: 18px;
    bottom: 25px;
    width: 125px;
    background: #ff9361;
    transform: rotate(-3deg);
}

.jb-booking-first__block--green {
    right: 0;
    bottom: 0;
    width: 155px;
    background: #769457;
}


/* TABLET */

@media (max-width: 900px) {

    .jb-booking-first__heading,
    .jb-booking-first__copy {
        padding-left: 38px;
        padding-right: 38px;
    }

    .jb-booking-first__heading h2 {
        font-size: 40px;
    }

    .jb-booking-first__copy p {
        font-size: 19px;
    }
}


/* MOBILE */

@media (max-width: 700px) {

    .jb-booking-first {
        display: block;
        min-height: 0;
    }

    .jb-booking-first__heading {
        padding: 48px 30px;
    }

    .jb-booking-first__heading h2 {
        font-size: 36px;
        line-height: 1.07;
    }

    .jb-booking-first__copy {
        min-height: 430px;
        padding: 48px 30px 175px;
    }

    .jb-booking-first__copy p {
        font-size: 18px;
    }

    .jb-booking-first__motif {
        right: 28px;
        bottom: 32px;
        transform: scale(.85);
        transform-origin: bottom right;
    }
}
/* =========================================================
   BOOK AN APPOINTMENT — SECTION 4
   AMELIA BOOKING CALENDAR
   ========================================================= */

.jbt-booking-calendar {
    display: grid;
    grid-template-columns: 38% 62%;
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    background: #fffaf3;
}


/* LEFT INTRODUCTION */

.jbt-booking-calendar__intro {
    position: relative;
    padding: 72px 48px 68px;
    background: #fffaf3;
}

.jbt-booking-calendar__intro .jbt-eyebrow {
    margin: 0 0 26px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.jbt-booking-calendar__intro h2 {
    margin: 0;
    color: #17202a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 43px;
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -1px;
}

.jbt-booking-calendar__intro .jbt-heading-rule {
    width: 56px;
    height: 2px;
    margin: 30px 0 24px;
    background: #f8b72f;
}

.jbt-booking-calendar__intro > p:last-child {
    margin: 0;
    color: #333;
    font-size: 18px;
    line-height: 1.5;
}


/* RIGHT BOOKING PANEL */

.jbt-booking-calendar__panel {
    position: relative;
    min-width: 0;
    padding: 72px 50px 60px;
    overflow: hidden;
    background: #fcece3;
}


/* SMALL GEOMETRIC DETAIL */

.jbt-booking-calendar__marker {
    position: relative;
    width: 150px;
    height: 72px;
    margin: 0 0 36px auto;
}

.jbt-booking-marker__circle {
    position: absolute;
    top: 0;
    right: 78px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #ed7590;
}

.jbt-booking-marker__bar {
    position: absolute;
    display: block;
    height: 14px;
}

.jbt-booking-marker__bar--1 {
    top: 42px;
    right: 0;
    width: 94px;
    background: #f66e6d;
}

.jbt-booking-marker__bar--2 {
    top: 42px;
    right: 100px;
    width: 46px;
    background: #ff9361;
}

.jbt-booking-marker__bar--3 {
    top: 61px;
    right: 18px;
    width: 112px;
    background: #769457;
}


/* AMELIA CONTAINER */

.jbt-booking-calendar__widget {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 24px;
    background: #ffffff;
    box-sizing: border-box;
}


/* Prevent the booking plugin escaping its column */

.jbt-booking-calendar__widget,
.jbt-booking-calendar__widget * {
    box-sizing: border-box;
}

.jbt-booking-calendar__widget img {
    max-width: 100%;
}


/* TABLET */

@media (max-width: 900px) {

    .jbt-booking-calendar {
        grid-template-columns: 1fr;
    }

    .jbt-booking-calendar__intro {
        padding: 58px 42px 50px;
    }

    .jbt-booking-calendar__panel {
        padding: 52px 42px;
    }

    .jbt-booking-calendar__intro h2 {
        font-size: 40px;
    }
}


/* MOBILE */

@media (max-width: 600px) {

    .jbt-booking-calendar__intro {
        padding: 46px 25px 40px;
    }

    .jbt-booking-calendar__intro h2 {
        font-size: 34px;
        line-height: 1.07;
    }

    .jbt-booking-calendar__panel {
        padding: 40px 20px;
    }

    .jbt-booking-calendar__marker {
        margin-bottom: 28px;
    }

    .jbt-booking-calendar__widget {
        padding: 12px;
    }
}
/* =========================================================
   BOOK AN APPOINTMENT — SECTION 4
   AMELIA BOOKING CALENDAR
   ========================================================= */

.jb-booking-section {
    width: 100%;
    background: #ffffff;
}

.jb-booking-grid {
    display: grid;
    grid-template-columns: 32% 68%;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}


/* =========================================================
   LEFT INTRODUCTION
   ========================================================= */

.jb-booking-intro {
    position: relative;
    z-index: 2;
    padding: 76px 42px 70px 48px;
    background: #fffaf3;
}

.jb-booking-intro .jb-eyebrow {
    margin: 0 0 28px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 2px;
}

.jb-booking-intro h2 {
    margin: 0;
    color: #17202a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 43px;
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -1px;
}

.jb-booking-intro .jb-heading-rule {
    width: 56px;
    height: 2px;
    margin: 30px 0 25px;
    background: #f8b72f;
}

.jb-booking-intro p {
    margin: 0;
    color: #333333;
    font-size: 18px;
    line-height: 1.55;
}


/* =========================================================
   RIGHT BOOKING PANEL
   ========================================================= */

.jb-booking-panel {
    position: relative;
    min-width: 0;
    padding: 118px 40px 64px;
    background: #fcece3;
    overflow: hidden;
}
/* Keep Amelia completely inside its own column */

.jb-amelia-wrap {
    position: relative;
    z-index: 2;
    width: 100%;
    min-width: 0;
    margin: 0;
    overflow: hidden;
}

.jb-amelia-wrap > div {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* =========================================================
   JUDI BUTLER – AMELIA FINAL COLOUR REFINEMENT
   Removes residual Amelia blue from booking calendar
   ========================================================= */

/* Available calendar dates */
.jbt-amelia-frame .am-advsc__slots-item,
.jbt-amelia-frame .am-advsc__calendar-cell.am-advsc__calendar-cell_available,
.jbt-amelia-frame .am-calendar-cell.am-calendar-cell_available {
    color: #7d9d5d !important;
    border-color: #7d9d5d !important;
}

/* Amelia buttons / selectable calendar elements using primary blue */
.jbt-amelia-frame [class*="calendar"] button:not([disabled]) {
    --am-c-primary: #7d9d5d !important;
}

/* Selected / active date */
.jbt-amelia-frame .am-advsc__calendar-cell_selected,
.jbt-amelia-frame .am-calendar-cell_selected,
.jbt-amelia-frame [class*="calendar-cell"][class*="selected"] {
    background: #7d9d5d !important;
    border-color: #7d9d5d !important;
    color: #ffffff !important;
}

/* Timezone label – remove Amelia blue */
.jbt-amelia-frame .am-advsc__timezone,
.jbt-amelia-frame [class*="timezone"] {
    color: #647d4c !important;
}

.jbt-amelia-frame [class*="timezone"] span {
    color: #647d4c !important;
    background: #eef3e9 !important;
}

/* Step-status circles on the green sidebar */
.jbt-amelia-frame .am-fs-sb__step-checker,
.jbt-amelia-frame [class*="step-checker"],
.jbt-amelia-frame [class*="step"][class*="circle"] {
    background-color: #2d3328 !important;
    border-color: #2d3328 !important;
}

/* Amelia primary colour variables – scoped to this booking only */
.jbt-amelia-frame {
    --am-c-primary: #7d9d5d !important;
    --am-c-primary-op10: rgba(125, 157, 93, 0.10) !important;
    --am-c-primary-op20: rgba(125, 157, 93, 0.20) !important;
    --am-c-primary-op30: rgba(125, 157, 93, 0.30) !important;
}


/* =========================================================
   DECORATIVE MOTIF
   ========================================================= */

.jb-booking-motif {
    position: absolute;
    z-index: 1;
    top: 22px;
    right: 58px;
    width: 150px;
    height: 70px;
}

.jb-booking-motif span {
    position: absolute;
    display: block;
}

.jb-booking-motif__circle {
    top: 0;
    left: 62px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #ed7590;
}

.jb-booking-motif__orange {
    top: 42px;
    left: 20px;
    width: 65px;
    height: 14px;
    background: #ff9361;
}

.jb-booking-motif__coral {
    top: 42px;
    left: 90px;
    width: 65px;
    height: 14px;
    background: #f66e6d;
}

.jb-booking-motif__green {
    top: 61px;
    left: 48px;
    width: 82px;
    height: 13px;
    background: #769457;
}


/* =========================================================
   AMELIA CONTAINER
   ========================================================= */

.jb-amelia-wrap {
    position: relative;
    z-index: 2;
    width: 100%;
    min-width: 0;
    margin: 0;
}

/*
 * Let Amelia use the available panel width.
 * Do not force the internal calendar into a narrow column.
 */

.jb-amelia-wrap > div {
    width: 100% !important;
    max-width: 100% !important;
}


/* =========================================================
   AMELIA — BRAND COLOUR OVERRIDES
   ========================================================= */

/*
 * Amelia's generated class names can vary slightly between
 * versions, so these rules deliberately target the booking
 * wrapper rather than changing the global site typography.
 */

/* Main Amelia navigation/sidebar */

.jb-amelia-wrap .am-fs-sb {
    background: #769457 !important;
}


/* Step labels:
   Date & Time
   Your Information
*/

.jb-amelia-wrap .am-fs-sb__step,
.jb-amelia-wrap .am-fs-sb__step span,
.jb-amelia-wrap .am-fs-sb__step p,
.jb-amelia-wrap .am-fs-sb__step div {
    color: #ffffff !important;
}


/* Active/selected step */

.jb-amelia-wrap .am-fs-sb__step-selected,
.jb-amelia-wrap .am-fs-sb__step-selected span,
.jb-amelia-wrap .am-fs-sb__step-selected p,
.jb-amelia-wrap .am-fs-sb__step-selected div {
    color: #ffffff !important;
}


/* Sidebar contact information */

.jb-amelia-wrap .am-fs-sb__footer,
.jb-amelia-wrap .am-fs-sb__footer *,
.jb-amelia-wrap .am-fs-sb__menu,
.jb-amelia-wrap .am-fs-sb__menu * {
    color: #ffffff !important;
}


/* =========================================================
   AMELIA BUTTONS
   ========================================================= */

/*
 * Change Amelia's principal action buttons from its
 * default blue to Judi Butler sage.
 */

.jb-amelia-wrap button.am-button--primary,
.jb-amelia-wrap .am-button.am-button--primary {
    background: #769457 !important;
    border-color: #769457 !important;
    color: #ffffff !important;
}

.jb-amelia-wrap button.am-button--primary:hover,
.jb-amelia-wrap .am-button.am-button--primary:hover {
    background: #667f4c !important;
    border-color: #667f4c !important;
    color: #ffffff !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .jb-booking-grid {
        grid-template-columns: 1fr;
    }

    .jb-booking-intro {
        padding: 58px 42px 52px;
    }

    .jb-booking-intro h2 {
        font-size: 42px;
    }

    .jb-booking-panel {
        padding: 115px 30px 55px;
    }

    .jb-booking-motif {
        right: 45px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .jb-booking-intro {
        padding: 46px 25px 42px;
    }

    .jb-booking-intro h2 {
        font-size: 36px;
        line-height: 1.07;
    }

    .jb-booking-intro p {
        font-size: 17px;
    }

    .jb-booking-panel {
        padding: 105px 12px 40px;
    }

    .jb-booking-motif {
        top: 18px;
        right: 24px;
        transform: scale(.88);
        transform-origin: top right;
    }

    .jb-amelia-wrap {
        width: 100%;
        overflow: hidden;
    }
}
/* TABLET */

@media (max-width: 900px) {

    .jbt-booking-calendar {
        grid-template-columns: 1fr;
    }

    .jbt-booking-calendar__intro {
        padding: 58px 42px 50px;
    }

    .jbt-booking-calendar__panel {
        padding: 48px 32px;
    }
}


/* MOBILE */

@media (max-width: 600px) {

    .jbt-booking-calendar__intro {
        padding: 46px 25px 40px;
    }

    .jbt-booking-calendar__panel {
        padding: 36px 15px;
    }

    .jbt-booking-calendar__widget {
        padding: 8px;
    }
}
/* =========================================================
   BOOK AN APPOINTMENT — SECTION 5
   QUESTIONS BEFORE BOOKING
   ========================================================= */

.jbt-booking-questions {
    max-width: 1100px;
    margin: 0 auto;
    background: #fbf7ef;
}

.jbt-booking-questions__grid {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    min-height: 600px;
}

/* LEFT PANEL */

.jbt-booking-questions__heading {
    position: relative;
    padding: 78px 52px 70px;
    overflow: hidden;
}

.jbt-booking-questions__heading .jbt-eyebrow {
    margin: 0 0 28px;
    color: #6f914f;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.18em;
}

.jbt-booking-questions__heading h2 {
    max-width: 520px;
    margin: 0;
    color: #1f1f1d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 4.2vw, 62px);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -0.035em;
}

.jbt-booking-questions__heading .jbt-rule {
    width: 48px;
    height: 2px;
    margin-top: 34px;
    background: #efa720;
}

/* Decorative motif */

.jbt-booking-questions__motif {
    position: absolute;
    left: 52px;
    bottom: 68px;
    width: 205px;
    height: 130px;
}

.jbt-booking-questions__motif .motif-circle {
    position: absolute;
    width: 43px;
    height: 43px;
    left: 80px;
    top: 0;
    border-radius: 50%;
    background: #eb718c;
}

.jbt-booking-questions__motif .motif-bar {
    position: absolute;
    display: block;
    height: 30px;
}

.jbt-booking-questions__motif .motif-bar--coral {
    width: 126px;
    left: 38px;
    top: 50px;
    background: #f46a6c;
    transform: rotate(3deg);
}

.jbt-booking-questions__motif .motif-bar--orange {
    width: 105px;
    left: 61px;
    top: 83px;
    background: #ff8b59;
    transform: rotate(-3deg);
}

.jbt-booking-questions__motif .motif-bar--green {
    width: 150px;
    left: 27px;
    top: 113px;
    background: #7d9d5d;
}


/* RIGHT PANEL */

.jbt-booking-questions__content {
    position: relative;
    padding: 84px 58px 70px;
    background: #f8e8df;
}

.jbt-booking-questions__content::before {
    content: "";
    display: block;
    width: 48px;
    height: 2px;
    margin-bottom: 34px;
    background: #efa720;
}

.jbt-booking-questions__content p {
    max-width: 430px;
    margin: 0 0 24px;
    color: #37352f;
    font-size: 18px;
    line-height: 1.55;
}

.jbt-booking-questions__intro {
    font-size: 20px !important;
}


/* CONTACT DETAILS */

.jbt-booking-contact {
    margin-top: 52px;
    border-top: 1px solid rgba(55, 53, 47, 0.18);
}

.jbt-booking-contact__item {
    padding: 24px 0;
    border-bottom: 1px solid rgba(55, 53, 47, 0.18);
}

.jbt-booking-contact__label {
    display: block;
    margin-bottom: 7px;
    color: #6f914f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
}

.jbt-booking-contact__item a {
    color: #22211f !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    line-height: 1.25;
    text-decoration: none !important;
}

.jbt-booking-contact__item a:hover {
    color: #6f914f !important;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .jbt-booking-questions__grid {
        grid-template-columns: 1fr;
    }

    .jbt-booking-questions__heading,
    .jbt-booking-questions__content {
        padding: 58px 36px;
    }

    .jbt-booking-questions__heading {
        min-height: 500px;
    }

    .jbt-booking-questions__motif {
        left: 36px;
        bottom: 55px;
    }
}

@media (max-width: 600px) {

    .jbt-booking-questions__heading,
    .jbt-booking-questions__content {
        padding: 46px 25px;
    }

    .jbt-booking-questions__heading {
        min-height: 460px;
    }

    .jbt-booking-questions__heading h2 {
        font-size: 42px;
    }

    .jbt-booking-questions__content p {
        font-size: 17px;
    }

    .jbt-booking-contact__item a {
        font-size: 20px;
    }

    .jbt-booking-questions__motif {
        left: 25px;
        transform: scale(0.88);
        transform-origin: left bottom;
    }
}
/* =========================================================
   BOOK AN APPOINTMENT — SECTION 6
   FREQUENTLY ASKED QUESTIONS
   ========================================================= */

.jbt-booking-faq {
    max-width: 1100px;
    margin: 0 auto;
    background: #fbf7ef;
}

.jbt-booking-faq__grid {
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    min-height: 650px;
}


/* LEFT PANEL
   --------------------------------------------------------- */

.jbt-booking-faq__heading {
    position: relative;
    padding: 78px 52px 70px;
    background: #f8e8df;
    overflow: hidden;
}

.jbt-booking-faq__heading .jbt-eyebrow {
    margin: 0 0 28px;
    color: #6f914f;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.18em;
}

.jbt-booking-faq__heading h2 {
    max-width: 440px;
    margin: 0;
    color: #1f1f1d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 4vw, 60px);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -0.035em;
}

.jbt-booking-faq__heading .jbt-rule {
    width: 48px;
    height: 2px;
    margin-top: 34px;
    background: #efa720;
}


/* GEOMETRIC MOTIF
   --------------------------------------------------------- */

.jbt-booking-faq__motif {
    position: absolute;
    left: 52px;
    bottom: 70px;
    width: 210px;
    height: 150px;
}

.jbt-booking-faq__motif .faq-shape {
    position: absolute;
    display: block;
}

.jbt-booking-faq__motif .faq-shape--circle {
    width: 44px;
    height: 44px;
    left: 80px;
    top: 0;
    border-radius: 50%;
    background: #eb718c;
}

.jbt-booking-faq__motif .faq-shape--orange {
    width: 128px;
    height: 31px;
    left: 38px;
    top: 52px;
    background: #ff8b59;
    transform: rotate(-4deg);
}

.jbt-booking-faq__motif .faq-shape--yellow {
    width: 100px;
    height: 31px;
    left: 65px;
    top: 88px;
    background: #f5b62e;
    transform: rotate(3deg);
}

.jbt-booking-faq__motif .faq-shape--green {
    width: 160px;
    height: 31px;
    left: 24px;
    top: 124px;
    background: #7d9d5d;
}


/* RIGHT FAQ PANEL
   --------------------------------------------------------- */

.jbt-booking-faq__questions {
    padding: 64px 54px 60px;
    background: #fbf7ef;
}

.jbt-booking-faq__item {
    margin: 0;
    border-top: 1px solid rgba(55, 53, 47, 0.20);
}

.jbt-booking-faq__item:last-child {
    border-bottom: 1px solid rgba(55, 53, 47, 0.20);
}


/* Remove browser disclosure marker */

.jbt-booking-faq__item summary {
    list-style: none;
}

.jbt-booking-faq__item summary::-webkit-details-marker {
    display: none;
}


/* FAQ QUESTION */

.jbt-booking-faq__item summary {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 27px 0;
    color: #22211f;
    cursor: pointer;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    line-height: 1.25;
}

.jbt-booking-faq__item summary:hover {
    color: #6f914f;
}


/* PLUS / MINUS */

.jbt-booking-faq__plus {
    position: relative;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border: 1px solid #7d9d5d;
    border-radius: 50%;
}

.jbt-booking-faq__plus::before,
.jbt-booking-faq__plus::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 1px;
    background: #6f914f;
    transform: translate(-50%, -50%);
}

.jbt-booking-faq__plus::after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: transform 0.2s ease;
}

.jbt-booking-faq__item[open] .jbt-booking-faq__plus::after {
    transform: translate(-50%, -50%) rotate(0deg);
}


/* ANSWER */

.jbt-booking-faq__answer {
    padding: 0 55px 27px 0;
}

.jbt-booking-faq__answer p {
    max-width: 470px;
    margin: 0;
    color: #4b4943;
    font-size: 16px;
    line-height: 1.6;
}


/* OPEN QUESTION */

.jbt-booking-faq__item[open] summary {
    color: #6f914f;
}


/* RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 900px) {

    .jbt-booking-faq__grid {
        grid-template-columns: 1fr;
    }

    .jbt-booking-faq__heading {
        min-height: 500px;
        padding: 58px 36px;
    }

    .jbt-booking-faq__questions {
        padding: 45px 36px 55px;
    }

    .jbt-booking-faq__motif {
        left: 36px;
        bottom: 55px;
    }
}

@media (max-width: 600px) {

    .jbt-booking-faq__heading {
        min-height: 450px;
        padding: 46px 25px;
    }

    .jbt-booking-faq__heading h2 {
        font-size: 42px;
    }

    .jbt-booking-faq__questions {
        padding: 32px 25px 45px;
    }

    .jbt-booking-faq__item summary {
        padding: 23px 0;
        font-size: 19px;
    }

    .jbt-booking-faq__answer {
        padding-right: 25px;
    }

    .jbt-booking-faq__motif {
        left: 25px;
        transform: scale(0.88);
        transform-origin: left bottom;
    }
}
/* =========================================================
   SECTION 7 — FINAL BOOKING CTA
   ========================================================= */

.jbt-book-final {
    background: #7d9d5c;
    color: #fffaf2;
}

.jbt-book-final__inner {
    position: relative;
    max-width: 1040px;
    margin: 0 auto;
    padding: 95px 70px 100px;
    text-align: center;
    overflow: hidden;
}

.jbt-book-final__intro {
    margin: 0 0 20px;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #fffaf2;
}

.jbt-book-final__question {
    margin: 0 auto 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    line-height: 1.35;
    color: #fffaf2;
}

.jbt-book-final h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(58px, 7vw, 94px);
    line-height: 0.95;
    font-weight: 400;
    letter-spacing: -0.035em;
    color: #fffaf2;
}

.jbt-book-final__rule {
    width: 48px;
    height: 2px;
    margin: 32px auto;
    background: #f8b62d;
}

.jbt-book-final__closing {
    max-width: 520px;
    margin: 0 auto 36px;
    font-size: 17px;
    line-height: 1.7;
    color: #fffaf2;
}

.jbt-book-final__actions {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}

.jbt-book-final__primary,
.jbt-book-final__secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 24px;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-decoration: none !important;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.jbt-book-final__primary {
    background: #fffaf2;
    border: 1px solid #fffaf2;
    color: #4f6839 !important;
}

.jbt-book-final__primary:hover {
    background: #f8b62d;
    border-color: #f8b62d;
    color: #1f1f1f !important;
}

.jbt-book-final__secondary {
    background: transparent;
    border: 1px solid rgba(255, 250, 242, 0.75);
    color: #fffaf2 !important;
}

.jbt-book-final__secondary:hover {
    background: #fffaf2;
    border-color: #fffaf2;
    color: #4f6839 !important;
}


/* Geometric motif */

.jbt-book-final__motif {
    position: relative;
    width: 125px;
    height: 76px;
    margin: 0 auto 38px;
}

.jbt-book-final__circle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 32px;
    height: 32px;
    margin-left: -16px;
    border-radius: 50%;
    background: #ed6a88;
}

.jbt-book-final__bar {
    position: absolute;
    display: block;
    height: 13px;
}

.jbt-book-final__bar--coral {
    width: 90px;
    top: 38px;
    left: 22px;
    background: #f56868;
    transform: rotate(4deg);
}

.jbt-book-final__bar--orange {
    width: 76px;
    top: 54px;
    left: 10px;
    background: #ff8a59;
    transform: rotate(-3deg);
}

.jbt-book-final__bar--cream {
    width: 96px;
    top: 68px;
    left: 17px;
    background: #f8b62d;
}


/* Responsive */

@media (max-width: 767px) {

    .jbt-book-final__inner {
        padding: 70px 25px 75px;
    }

    .jbt-book-final__question {
        font-size: 21px;
    }

    .jbt-book-final h2 {
        font-size: 58px;
    }

    .jbt-book-final__actions {
        flex-direction: column;
    }

    .jbt-book-final__primary,
    .jbt-book-final__secondary {
        width: 100%;
        max-width: 360px;
    }
}
/* =========================================================
   ABOUT JUDI — SECTION 1
   ========================================================= */

.jb-about-hero {
    display: grid;
    grid-template-columns: 58% 42%;
    width: 100%;
    max-width: 1040px;
    min-height: 650px;
    margin: 0 auto;
    overflow: hidden;
    background: #fffaf3;
}


/* =========================================================
   LEFT — CONTENT
   ========================================================= */

.jb-about-hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 68px 48px 64px;
    background: #fffaf3;
}

.jb-about-hero__content .jb-eyebrow {
    margin-bottom: 26px;
    color: #769457;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.jb-about-hero__content h1 {
    margin: 0;
    max-width: 520px;
    color: #17202a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 58px;
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -1.4px;
}

.jb-about-hero__content .jb-heading-rule {
    width: 56px;
    height: 2px;
    margin: 30px 0 24px;
    background: #f8b72f;
}

.jb-about-hero__content p {
    max-width: 500px;
    margin: 0;
    color: #333;
    font-size: 19px;
    line-height: 1.55;
}


/* =========================================================
   RIGHT — JUDI
   ========================================================= */

.jb-about-hero__visual {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    background: #fcece3;
}

.jb-about-hero__photo {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 0;
    width: auto;
    max-width: none;
    height: 91%;
    transform: translateX(-50%);
    object-fit: contain;
    object-position: bottom center;
}


/* =========================================================
   GEOMETRIC BACKGROUND
   ========================================================= */

.jb-about-hero__art {
    position: absolute;
    z-index: 1;
    inset: 0;
}

.jb-about-shape {
    position: absolute;
    display: block;
}

.jb-about-shape--1 {
    left: 8%;
    top: 20%;
    width: 82%;
    height: 72px;
    background: #f8b72f;
    transform: rotate(-8deg);
}

.jb-about-shape--2 {
    right: -12%;
    top: 37%;
    width: 85%;
    height: 76px;
    background: #f66e6d;
    transform: rotate(8deg);
}

.jb-about-shape--3 {
    left: 3%;
    top: 55%;
    width: 75%;
    height: 70px;
    background: #ff9361;
    transform: rotate(-5deg);
}

.jb-about-shape--4 {
    right: 10%;
    top: 11%;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: #ed7590;
}


/* subtle corner detail */

.jb-about-hero__visual::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: -100px;
    right: -100px;
    width: 270px;
    height: 270px;
    background: rgba(246, 110, 109, .10);
    transform: rotate(45deg);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .jb-about-hero {
        grid-template-columns: 1fr 1fr;
    }

    .jb-about-hero__content {
        padding: 58px 38px;
    }

    .jb-about-hero__content h1 {
        font-size: 48px;
    }

    .jb-about-hero__content p {
        font-size: 18px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .jb-about-hero {
        display: block;
        min-height: 0;
    }

    .jb-about-hero__content {
        padding: 48px 30px 50px;
    }

    .jb-about-hero__content h1 {
        font-size: 43px;
        line-height: 1.04;
    }

    .jb-about-hero__content p {
        font-size: 18px;
    }

    .jb-about-hero__visual {
        min-height: 480px;
    }

    .jb-about-hero__photo {
        height: 92%;
    }
}
/* =========================================================
   ABOUT JUDI — SECTION 2
   EXPERIENCE
   ========================================================= */

.jb-about-experience {
    display: grid;
    grid-template-columns: 54% 46%;
    width: 100%;
    max-width: 1040px;
    min-height: 500px;
    margin: 0 auto;
}


/* LEFT PANEL */

.jb-about-experience__statement {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 65px 48px;
    background: #f66e6d;
}

.jb-about-experience__eyebrow {
    margin: 0 0 25px;
    color: #263323;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
}

.jb-about-experience__number {
    margin: 0;
    color: #17202a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 48px;
    font-weight: 400;
    line-height: .92;
    letter-spacing: -1px;
}

.jb-about-experience__number span {
    display: inline-block;
    margin: 3px 0;
    font-size: 112px;
    line-height: .85;
}

.jb-about-experience__rule {
    width: 56px;
    height: 2px;
    margin-top: 30px;
    background: #f8b72f;
}


/* RIGHT PANEL */

.jb-about-experience__copy {
    position: relative;
    display: flex;
    align-items: center;
    padding: 75px 48px;
    overflow: hidden;
    background: #fcece3;
}

.jb-about-experience__copy > p {
    position: relative;
    z-index: 2;
    max-width: 380px;
    margin: 0;
    color: #22211f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
    line-height: 1.35;
}


/* SMALL GEOMETRIC MOTIF */

.jb-about-experience__motif {
    position: absolute;
    right: 35px;
    bottom: 35px;
    width: 135px;
    height: 100px;
    opacity: .95;
}

.jb-exp-shape {
    position: absolute;
    display: block;
}

.jb-exp-shape--circle {
    top: 0;
    left: 52px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #ed7590;
}

.jb-exp-shape--coral {
    top: 39px;
    left: 25px;
    width: 100px;
    height: 18px;
    background: #f66e6d;
    transform: rotate(4deg);
}

.jb-exp-shape--orange {
    top: 61px;
    left: 10px;
    width: 85px;
    height: 18px;
    background: #ff9361;
    transform: rotate(-3deg);
}

.jb-exp-shape--green {
    top: 82px;
    left: 28px;
    width: 100px;
    height: 18px;
    background: #769457;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .jb-about-experience__statement,
    .jb-about-experience__copy {
        padding-left: 38px;
        padding-right: 38px;
    }

    .jb-about-experience__number {
        font-size: 42px;
    }

    .jb-about-experience__number span {
        font-size: 92px;
    }

    .jb-about-experience__copy > p {
        font-size: 27px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .jb-about-experience {
        display: block;
        min-height: 0;
    }

    .jb-about-experience__statement {
        padding: 55px 30px;
    }

    .jb-about-experience__number span {
        font-size: 95px;
    }

    .jb-about-experience__copy {
        min-height: 390px;
        padding: 60px 30px 130px;
    }

    .jb-about-experience__copy > p {
        max-width: none;
        font-size: 27px;
    }

    .jb-about-experience__motif {
        right: 28px;
        bottom: 25px;
    }
}
/* =========================================================
   ABOUT JUDI — SECTION 3 / BELIEF
   ========================================================= */

.jb-about-belief {
    background: #f8f1e8;
}

.jb-about-belief__inner {
    display: grid;
    grid-template-columns: 1.18fr .82fr;
    max-width: 1100px;
    margin: 0 auto;
}

.jb-about-belief__main {
    padding: 80px 55px 85px;
    background: #f8f1e8;
}

.jb-about-belief__eyebrow {
    margin: 0 0 28px;
    color: #789a59;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 2px;
}

.jb-about-belief__main h2 {
    max-width: 650px;
    margin: 0;
    color: #171717;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -1.2px;
}

.jb-about-belief__main h2 span {
    display: block;
    margin: 10px 0;
    color: #f26868;
}

.jb-about-belief__rule {
    width: 48px;
    height: 2px;
    margin-top: 35px;
    background: #f5a623;
}

.jb-about-belief__closing {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 520px;
    padding: 65px 45px 70px;
    overflow: hidden;
    background: #f6e4da;
}

.jb-about-belief__closing p {
    position: relative;
    z-index: 2;
    margin: 0;
    color: #343434;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1.35;
}

/* Geometric motif */

.jb-about-belief__shapes {
    position: absolute;
    top: 80px;
    left: 50%;
    width: 220px;
    height: 220px;
    transform: translateX(-50%);
}

.jb-about-belief__shapes .shape {
    position: absolute;
    display: block;
}

.jb-about-belief__shapes .shape--circle {
    top: 0;
    left: 88px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #ed6b8a;
}

.jb-about-belief__shapes .shape--coral {
    top: 68px;
    left: 25px;
    width: 175px;
    height: 42px;
    background: #f26868;
    transform: rotate(5deg);
}

.jb-about-belief__shapes .shape--orange {
    top: 125px;
    left: 48px;
    width: 135px;
    height: 36px;
    background: #ff895c;
    transform: rotate(-4deg);
}

.jb-about-belief__shapes .shape--green {
    top: 180px;
    left: 28px;
    width: 175px;
    height: 34px;
    background: #789a59;
}

/* Tablet */

@media (max-width: 900px) {

    .jb-about-belief__inner {
        grid-template-columns: 1fr;
    }

    .jb-about-belief__main {
        padding: 65px 45px;
    }

    .jb-about-belief__closing {
        min-height: 420px;
        padding: 230px 45px 60px;
    }

    .jb-about-belief__shapes {
        top: 45px;
    }
}

/* Mobile */

@media (max-width: 600px) {

    .jb-about-belief__main {
        padding: 50px 28px 55px;
    }

    .jb-about-belief__main h2 {
        font-size: 34px;
        line-height: 1.08;
        letter-spacing: -.5px;
    }

    .jb-about-belief__closing {
        min-height: auto;
        padding: 215px 28px 50px;
    }

    .jb-about-belief__closing p {
        font-size: 23px;
    }

    .jb-about-belief__shapes {
        top: 35px;
        transform: translateX(-50%) scale(.8);
    }
}
/* Professional Development – right-hand column */

.jb-professional-influence__right {
    position: relative;
    flex: 1;
    min-width: 0;
    padding: 85px 55px 45px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.jb-professional-influence__right .pd-advice {
    position: relative;
    z-index: 2;
    max-width: 390px;
}

.jb-professional-influence__right .pd-rule {
    display: block;
    width: 46px;
    height: 2px;
    background: #f7bd32;
    margin: 0 0 24px;
}

.jb-professional-influence__right .pd-advice p {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    line-height: 1.3;
    font-weight: 400;
    color: #2a2926;
}

/* Keep the existing artwork within the right-hand column */
.jb-professional-influence__right .jb-professional-influence__art {
    position: relative;
    flex: 1;
    min-height: 230px;
}

/* Tablet/mobile */
@media (max-width: 767px) {
    .jb-professional-influence__right {
        padding: 45px 30px 30px;
    }

    .jb-professional-influence__right .pd-advice {
        max-width: none;
    }

    .jb-professional-influence__right .pd-advice p {
        font-size: 20px;
        line-height: 1.4;
    }
}
.jbt-footer {
    background: #4f6042;
    color: #fffaf3;
}

.jbt-footer h2,
.jbt-footer h3,
.jbt-footer p,
.jbt-footer a {
    color: #fffaf3;
}

.jbt-footer a:hover {
    color: #f8b72f;
}

.jbt-footer__socket {
    background: #3f4d35;
    color: #fffaf3;
}

.jbt-footer__socket a {
    color: #fffaf3;
}
/* =========================================================
   JUDI BUTLER FOOTER — OLIVE COLOUR OVERRIDE
   ========================================================= */

/* Entire main footer */
.jbt-footer,
.jbt-footer .jbt-shell,
.jbt-footer__hero,
.jbt-footer__trust {
    background-color: #4f6042 !important;
}

/* Main footer text */
.jbt-footer__hero,
.jbt-footer__trust,
.jbt-footer__hero h2,
.jbt-footer__hero h3,
.jbt-footer__trust h3,
.jbt-footer__hero p,
.jbt-footer__trust p,
.jbt-footer__hero a,
.jbt-footer__trust a {
    color: #fffaf3;
}

/* Divider above Professional Memberships */
.jbt-footer__trust {
    border-color: rgba(255, 250, 243, 0.35);
}

/* Links */
.jbt-footer a:hover {
    color: #f8b72f;
}

/* Bottom copyright/legal strip */
.jbt-footer__socket {
    background-color: #3f4d35 !important;
    color: #fffaf3;
}

.jbt-footer__socket p,
.jbt-footer__socket a,
.jbt-footer__socket span {
    color: #fffaf3;
}
.jbt-footer .jbt-button {
    background: #f8b72f;
    color: #17202a;
    border-color: #f8b72f;
}

.jbt-footer .jbt-button:hover {
    background: #fffaf3;
    color: #17202a;
}
.jbt-footer__trust {
    background-color: #586b49 !important;
}