/* Palm Tree responsive layout and typography — draft review, October 2026.
   Scoped to the website, official learning hub and Tutor LMS. */
:root{--pt-reading-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--pt-heading-font:Georgia,"Times New Roman",serif}
html{max-width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{max-width:100%;overflow-x:clip}
#root,.pt-approved-appShell,.palm-tree-lms,.tutor-wrap,.tutor-dashboard{min-width:0;font-family:var(--pt-reading-font)}
#root *, .pt-approved-appShell *, .tutor-wrap *{box-sizing:border-box}
#root main,.pt-approved-main,.tutor-wrap{min-width:0}
#root main img,#root main picture,#root main video,.pt-approved-main img,.tutor-wrap img,.tutor-wrap video{max-width:100%;height:auto}
#root main p,#root main li,.pt-approved-main p,.pt-approved-main li,.tutor-wrap p,.tutor-wrap li{overflow-wrap:break-word;line-height:1.65}
#root main h1,#root main h2,#root main h3,.pt-approved-main h1,.pt-approved-main h2,.pt-approved-main h3{overflow-wrap:break-word;word-break:normal;text-wrap:pretty}
#root main h1,.pt-approved-main h1{line-height:1.15!important}
#root main h2,.pt-approved-main h2{line-height:1.22!important}
#root main h3,.pt-approved-main h3{line-height:1.3!important}
#root input:not([type=checkbox]):not([type=radio]),#root select,#root textarea,.tutor-wrap input:not([type=checkbox]):not([type=radio]),.tutor-wrap select,.tutor-wrap textarea{max-width:100%;min-width:0}
#root .button,#root button,.pt-approved-button,.tutor-wrap button{touch-action:manipulation}
#root .container,#root .section-heading,#root .page-hero-content,#root .hero-content{min-width:0}
#root .offer-grid,#root .care-grid,#root .resource-library-grid,#root .pt-lt-grid,#root .split-grid,#root .belief-grid{min-width:0}
#root .offer-grid>*,#root .care-grid>*,#root .resource-library-grid>*,#root .pt-lt-grid>*,#root .split-grid>*,#root .belief-grid>*{min-width:0}
.pt-approved-coursePhoto img{width:100%;height:auto!important;max-height:none!important;aspect-ratio:1672/941!important;object-fit:contain!important;object-position:center!important;background:#dcece5}
.pt-approved-coursePhoto{min-width:0;justify-content:flex-start}
.pt-approved-courseCopy{min-width:0}
.pt-approved-topbar{min-width:0}
.pt-approved-topbar p{max-width:64ch}
.pt-approved-courseCopy h2{font-size:clamp(1.65rem,2.7vw,2.45rem)!important;line-height:1.18!important}
.pt-approved-main .pt-approved-courseCopy p{line-height:1.65}
.pt-approved-main .pt-approved-courseTags span{font-size:.875rem;line-height:1.5}
.pt-approved-appShell .pt-approved-button,.pt-approved-appShell .pt-approved-requestAccess{min-height:48px}
@media(max-width:900px){
  #root .container,#root .pt-lt-section .container{max-width:100%}
  #root .offer-grid,#root .care-grid,#root .resource-library-grid,#root .pt-lt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-approved-main{padding-inline:clamp(16px,3vw,28px)!important}
}
@media(max-width:780px){
  :root{--pt-gutter:18px;--pt-section-space:40px}
  #root .container,#root .narrow-container{width:calc(100% - 36px)!important;max-width:100%!important;margin-inline:auto!important}
  #root main h1,#root .page-hero h1{font-size:clamp(1.85rem,7vw,2.4rem)!important;line-height:1.16!important}
  #root main h2{font-size:clamp(1.55rem,5.6vw,2rem)!important;line-height:1.22!important}
  #root main h3{font-size:clamp(1.15rem,4.5vw,1.4rem)!important}
  #root main p,#root main li{font-size:1rem;line-height:1.65}
  #root .offer-grid,#root .care-grid,#root .resource-library-grid,#root .pt-lt-grid,#root .split-grid,#root .belief-grid{grid-template-columns:minmax(0,1fr)!important}
  #root .offer-card,#root .resource-library-card,#root .pt-lt-card{max-width:100%;min-width:0}
  #root .button-row,#root .pt-lt-actions{display:flex;flex-wrap:wrap;gap:12px}
  #root .button,#root .forminator-button-submit{min-height:48px;max-width:100%;white-space:normal}
  #root .page-hero-content,#root .hero-content{max-width:100%;min-width:0}
  .pt-approved-appShell{display:block;max-width:100%}
  .pt-approved-sidebar{position:relative;height:auto}
  .pt-approved-main{width:100%;padding:20px 16px 30px!important}
  .pt-approved-topbar{padding:24px 20px!important;border-radius:16px}
  .pt-approved-topbar h1{font-size:clamp(1.9rem,7.3vw,2.45rem)!important}
  .pt-approved-topbar p{font-size:1rem;line-height:1.6}
  .pt-approved-courseFeature{grid-template-columns:minmax(0,1fr)!important}
  .pt-approved-coursePhoto{order:-1}
  .pt-approved-coursePhoto img{width:100%;height:auto!important;max-height:none!important;aspect-ratio:1672/941!important;object-fit:contain!important}
  .pt-approved-courseCopy{padding:24px 20px!important}
  .pt-approved-courseCopy h2{font-size:clamp(1.6rem,6.5vw,2rem)!important}
  .pt-approved-secondaryGrid,.pt-approved-moduleGrid{grid-template-columns:minmax(0,1fr)!important}
  .pt-approved-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-approved-nav a{font-size:1rem;min-height:48px}
  .tutor-wrap .tutor-row{min-width:0}
}
@media(max-width:390px){
  #root .container,#root .narrow-container{width:calc(100% - 28px)!important}
  .pt-approved-main{padding-inline:14px!important}
  .pt-approved-topbar{padding:22px 16px!important}
  .pt-approved-courseCopy{padding:22px 16px!important}
  .pt-approved-courseTags{gap:7px}
  .pt-approved-courseTags span{max-width:100%}
}
@media(prefers-reduced-motion:reduce){#root main *, .pt-approved-main *{scroll-behavior:auto}}
/* Learning Hub: short, consistent access pathways */
.pt-approved-courseActions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pt-approved-courseActions .pt-approved-button{flex:1 1 170px}
.pt-approved-secondaryGrid{grid-template-columns:minmax(0,1fr)}
.pt-approved-supportPanel{padding:20px 24px}
.pt-approved-supportPanel h2{font-size:1.45rem}
.pt-approved-nav{grid-template-columns:minmax(0,1fr)}
@media(max-width:820px){.pt-approved-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pt-approved-nav a{font-size:1rem;min-height:48px;padding:10px 8px}.pt-approved-courseActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pt-approved-courseActions .pt-approved-button{width:100%;min-width:0;padding-inline:8px!important}}
@media(max-width:360px){.pt-approved-courseActions{grid-template-columns:1fr}.pt-approved-nav a{font-size:1rem}}
/* October 15: consistent reading scale and stable photographic crops. */
#root main h1{font-size:clamp(2rem,4.15vw,3.5rem)!important;letter-spacing:-.025em}
#root main h2{font-size:clamp(1.65rem,3vw,2.5rem)!important}
#root main h3{font-size:clamp(1.2rem,1.7vw,1.5rem)!important}
#root main p,#root main li{font-size:1.0625rem;line-height:1.65}
#root main .eyebrow,#root main .pt-eyebrow{font-size:.8rem;line-height:1.5}
#root .hero-media img,#root .page-hero-media img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
#root .hero-media,#root .page-hero-media{overflow:hidden}
#root .brand img,#root .pt-footer-brand img{height:auto;object-fit:contain;image-rendering:auto}
#root .pt-three-pathways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#root .offer-card{display:flex;flex-direction:column}
#root .offer-card a{margin-top:auto;padding-top:16px;min-height:44px}
#root .hero .hero-copy{max-width:64ch}
#root .hero .pt-audience{font-size:1rem;max-width:70ch}
#root .hero-content{padding-block:48px}
#root .feature-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
#root .resource-preview>img{width:min(100%,280px);height:auto;object-fit:contain}
/* Reserve the photo frame before decoding; keep the original photograph intact. */
.pt-hub-choicePhoto{display:flex;justify-content:center;align-items:center;aspect-ratio:1672/941;max-height:250px;overflow:hidden}
.pt-approved-main .pt-hub-choicePhoto img{display:block;width:100%;height:100%;max-height:250px;aspect-ratio:1672/941;object-fit:contain;object-position:center;image-rendering:auto}
.pt-approved-main{margin-inline:auto;max-width:1280px}
.pt-approved-main p,.pt-approved-main li{font-family:var(--pt-reading-font);font-size:1.0625rem!important;line-height:1.65}
.pt-approved-main h1{font-size:clamp(1.9rem,3vw,2.75rem)!important}
.pt-approved-main h2{font-family:var(--pt-heading-font)!important;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:700;line-height:1.25}
.pt-approved-main h3{font-family:var(--pt-heading-font)!important;font-size:clamp(1.2rem,1.8vw,1.65rem);font-weight:700;line-height:1.3}
.pt-approved-appShell .pt-approved-button{font-size:1rem!important}
@media(min-width:781px){
 #root .hero{height:auto;min-height:0;max-height:none}
 #root .hero-content{padding-block:clamp(48px,6vw,84px)}
 #root .page-hero{height:auto;min-height:320px;padding-block:48px}
 #root .feature-image{align-self:center;overflow:hidden;border-radius:inherit}
 #root .feature-image img{width:100%;height:auto;max-height:420px;aspect-ratio:4/3;object-fit:cover;image-rendering:auto}
 .pt-approved-coursePhoto{align-self:start}
 .pt-approved-coursePhoto img{max-height:320px!important;object-fit:contain!important}
 .tutor-wrap .tutor-course-thumbnail img{max-height:320px;object-fit:contain}
}
@media(max-width:820px){
 .pt-hub-choicePhoto{max-height:230px}
 .pt-approved-main .pt-hub-choicePhoto img{max-height:230px}
}
@media(prefers-reduced-motion:reduce){
 #root .fade-up{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
}
@media(max-width:780px){
 #root main h1{font-size:clamp(1.9rem,7.5vw,2.4rem)!important}
 #root main h2{font-size:clamp(1.55rem,6vw,2rem)!important}
 #root main h3{font-size:clamp(1.15rem,4.5vw,1.4rem)!important}
 #root main p,#root main li{font-size:1.0625rem}
 #root main .eyebrow,#root main .pt-eyebrow{font-size:.875rem}
 #root .pt-three-pathways{grid-template-columns:minmax(0,1fr)}
 #root .hero{height:auto;min-height:0}
 #root .hero-content{padding-block:36px}
 #root .page-hero{height:auto;min-height:340px;padding-block:36px}
 #root .hero-content h1,#root .page-hero-content h1{max-width:100%}
 #root .hero .pt-audience{font-size:1rem}
 #root .button-row .button{min-height:48px}
}
/* Separate topic exploration from course enrolment. */
.pt-hub-topicArea{margin-top:28px;padding:26px 28px;background:#fff;border:1px solid #cadbd3;border-radius:16px}
.pt-hub-topicArea>h2{margin:0 0 8px}
.pt-hub-topicArea>p{margin:0 0 18px}
.pt-hub-topicsAccess>summary{display:inline-flex;align-items:center;gap:20px;cursor:pointer;list-style:none}
.pt-hub-topicsAccess>summary::-webkit-details-marker{display:none}
.pt-hub-topicsAccess>summary::after{content:"+";font-size:1.3rem;line-height:1}
.pt-hub-topicsAccess[open]>summary::after{content:"−"}
.pt-hub-topicsAccess .pt-hub-freeLearning{margin-top:26px;padding-top:24px;border-top:1px solid #cadbd3}
.pt-hub-courseArea{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:28px;margin-top:36px;padding:28px;background:#dceee7;border:1px solid #98beb1;border-top:5px solid #143a47;border-radius:16px;scroll-margin-top:24px}
.pt-hub-courseContent{min-width:0}
.pt-hub-courseContent>h2{margin:8px 0 14px}
.pt-hub-courseContent>p{margin:0 0 18px}
.pt-hub-courseContent>.pt-approved-sectionKicker{font-size:14px!important;letter-spacing:.06em;color:#235a53}
.pt-hub-courseContent>.pt-hub-enrolledEntry{margin:20px 0 0;padding-top:16px;border-top:1px solid #98beb1}
.pt-hub-enrolledEntry a{color:#105c56;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.pt-hub-courseImage{margin:0;aspect-ratio:1672/941}
.pt-hub-courseImage img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;border-radius:10px}
.pt-hub-topicsAccess>summary:focus-visible,.pt-hub-enrolledEntry a:focus-visible{outline:3px solid #105c56;outline-offset:4px}
@media(max-width:820px){.pt-hub-topicArea{padding:22px 20px}.pt-hub-courseArea{grid-template-columns:minmax(0,1fr);gap:20px;padding:22px 20px;margin-top:28px}.pt-hub-courseImage{width:min(100%,280px)}.pt-approved-nav a:last-child{grid-column:1/-1}}

/* One clear cover for the public Learning Hub. */
.pt-approved-appShell .pt-hub-entrance{display:block;background:transparent;border:0;border-radius:0;padding:0;margin:0 0 18px}
.pt-approved-appShell .pt-hub-entrance .pt-approved-eyebrow{color:#286f65;font-size:.82rem;letter-spacing:.09em}
.pt-approved-appShell .pt-hub-entrance h1{color:#123e48!important;font-family:Georgia,serif;font-size:clamp(1.85rem,3vw,2.5rem);font-weight:500;line-height:1.2;margin:0}
.pt-approved-appShell .pt-hub-entrance p{color:#426560;font-size:1rem;margin:9px 0 0}
.pt-approved-appShell .pt-hub-courseArea{grid-template-columns:minmax(0,1.2fr) minmax(260px,.85fr);align-items:stretch;gap:0;padding:0;margin:16px 0 0;background:#103f49;border:1px solid #326b69;border-radius:18px;overflow:hidden;box-shadow:0 12px 36px #143a4716}
.pt-approved-appShell .pt-hub-courseContent{padding:clamp(25px,4vw,44px);align-self:center;color:#f7faf7;min-width:0}
.pt-approved-appShell .pt-hub-courseContent>.pt-approved-sectionKicker{font-size:.8rem!important;letter-spacing:.1em;color:#b6e8d8!important;margin-bottom:15px}
.pt-approved-appShell .pt-hub-courseContent>h2{font-family:Georgia,serif;font-size:clamp(2rem,3.5vw,2.8rem)!important;font-weight:400;line-height:1.18;color:#fffefa!important;letter-spacing:-.02em;margin:0 0 18px}
.pt-approved-appShell .pt-hub-courseContent>p{color:#e5f3ee;font-size:1.06rem;line-height:1.65;max-width:52ch;margin:0 0 17px}
.pt-approved-appShell .pt-hub-cover-facts{display:flex;flex-wrap:wrap;gap:8px;margin:19px 0 24px}
.pt-approved-appShell .pt-hub-cover-facts span{border-radius:999px;border:1px solid #b1dcd06b;background:#ffffff19;color:#f0f8f4;padding:7px 11px;font-size:.83rem;line-height:1.3;font-weight:650}
.pt-approved-appShell .pt-hub-courseContent>.pt-approved-button{background:#e5f5ed!important;border-color:#e5f5ed!important;color:#124b48!important;font-weight:750;min-height:51px;box-shadow:none}
.pt-approved-appShell .pt-hub-courseContent>.pt-approved-button:hover{background:#fffefa!important;border-color:#fffefa!important}
.pt-approved-appShell .pt-hub-courseContent>p:last-child{font-size:.92rem;color:#d4eee4;margin:16px 0 0}
.pt-approved-appShell .pt-hub-courseContent>p:last-child a{color:#fffefa;text-decoration:underline;text-underline-offset:3px}
.pt-approved-appShell .pt-hub-courseImage{margin:0;width:100%;height:100%;min-height:340px;aspect-ratio:auto;background:#d8e9e0}
.pt-approved-appShell .pt-hub-courseImage img{display:block;width:100%;height:100%;max-height:none;min-height:340px;aspect-ratio:auto;object-fit:cover;object-position:center}
@media(max-width:820px){
 .pt-approved-appShell .pt-hub-entrance{margin-bottom:16px}
 .pt-approved-appShell .pt-hub-courseArea{grid-template-columns:1fr}
 .pt-approved-appShell .pt-hub-courseImage{order:-1;min-height:0}
 .pt-approved-appShell .pt-hub-courseImage img{height:clamp(180px,43vw,290px);min-height:0;object-position:center 40%}
 .pt-approved-appShell .pt-hub-courseContent{padding:25px 22px 29px}
 .pt-approved-appShell .pt-hub-courseContent>h2{font-size:clamp(1.85rem,5.2vw,2.2rem)!important}
}
@media(max-width:480px){
 .pt-approved-appShell .pt-hub-courseContent{padding:23px 18px 25px}
 .pt-approved-appShell .pt-hub-courseContent>.pt-approved-button{width:100%}
 .pt-approved-appShell .pt-hub-cover-facts{gap:6px}
 .pt-approved-appShell .pt-hub-cover-facts span{font-size:.78rem}
}

/* Visible learning journey; a single pathway, not another menu. */
.pt-approved-appShell .pt-hub-method{margin:25px 0 28px;padding:26px clamp(18px,3vw,30px);background:#fffefb;border:1px solid #c9ddd4;border-radius:18px;box-shadow:0 5px 20px #153b4610}
.pt-approved-appShell .pt-hub-method-intro{margin:0 0 19px}
.pt-approved-appShell .pt-hub-method-intro .pt-approved-sectionKicker{color:#28766c;margin:0 0 8px}
.pt-approved-appShell .pt-hub-method h2{font-family:Georgia,serif;font-size:clamp(1.5rem,2.2vw,1.95rem);font-weight:400;color:#143b46;line-height:1.25;margin:0}
.pt-approved-appShell .pt-hub-method-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.pt-approved-appShell .pt-hub-method-steps li{position:relative;display:flex;flex-direction:column;align-items:flex-start;background:#f1f7f3;border:1px solid #d5e7de;border-radius:12px;padding:16px 13px;min-width:0}
.pt-approved-appShell .pt-hub-method-steps li:after{content:"";position:absolute;right:-12px;top:37px;width:12px;border-top:2px solid #8bbcaf;z-index:2}
.pt-approved-appShell .pt-hub-method-steps li:last-child:after{display:none}
.pt-approved-appShell .pt-hub-method-steps li>span{display:grid;place-items:center;width:34px;height:34px;background:#14685f;border-radius:50%;color:white;font-size:.76rem;font-weight:800;margin-bottom:12px}
.pt-approved-appShell .pt-hub-method-steps strong{font-size:1.025rem;color:#143e48;line-height:1.35;margin-bottom:4px}
.pt-approved-appShell .pt-hub-method-steps small{font-size:.9rem;color:#526d66;line-height:1.4}
@media(max-width:780px){.pt-approved-appShell .pt-hub-method-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.pt-approved-appShell .pt-hub-method-steps li:after{display:none}}
@media(max-width:500px){.pt-approved-appShell .pt-hub-method{padding:20px 16px}.pt-approved-appShell .pt-hub-method-steps{grid-template-columns:1fr;gap:8px}.pt-approved-appShell .pt-hub-method-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:0 12px;align-items:center;padding:12px 14px}.pt-approved-appShell .pt-hub-method-steps li>span{grid-row:1/3;margin:0}.pt-approved-appShell .pt-hub-method-steps strong{margin:0}.pt-approved-appShell .pt-hub-method-steps small{grid-column:2}}



/* Maintain readable enquiry button contrast in every interaction state. */
body #root #forminator-module-1573.forminator-custom-form .forminator-button.forminator-button-submit{background:#12645f!important;color:#fff!important}
body #root #forminator-module-1573.forminator-custom-form .forminator-button.forminator-button-submit:hover,body #root #forminator-module-1573.forminator-custom-form .forminator-button.forminator-button-submit:focus{background:#10534f!important;color:#fff!important}
body #root #forminator-module-1573.forminator-custom-form .forminator-button.forminator-button-submit:focus-visible{outline:3px solid #0b3444!important;outline-offset:3px}

/* Keep the About source photo within its useful display resolution. */
@media(min-width:900px){
body.page-id-5172 .page-hero{background:#0b3444}
body.page-id-5172 .page-hero-media{left:auto!important;right:0!important;width:min(45%,720px)!important;opacity:1!important}
body.page-id-5172 .page-hero-media img{object-fit:cover;object-position:center}
body.page-id-5172 .page-hero-shade{background:linear-gradient(90deg,#0b3444 0%,#0b3444 49%,rgba(11,52,68,.55) 59%,rgba(11,52,68,.12) 100%)!important}
body.page-id-5172 .page-hero-content{padding-right:0!important}
body.page-id-5172 #root .page-hero .page-hero-content>h1,body.page-id-5172 #root .page-hero .page-hero-content>p{max-width:49%!important}
body.page-id-5172 #root .page-hero .page-hero-content h1{font-size:clamp(36px,3.4vw,52px)!important}
}



