/* Preserve the client's desktop typography, with fixed-size mobile breakpoints. */
body{--dark-muted:#b0c2b7}
body.t-btb{--dark-muted:#b8c9e5}
main *{letter-spacing:0!important;min-width:0}
main .hero-sub{font-family:var(--sans);font-size:18px;font-weight:700;line-height:1.45}
main .hero-specialisms{font-size:15px;color:var(--accent);margin-top:20px;max-width:700px}
main .programme-name{font-size:28px;font-weight:600;color:var(--accent);margin-bottom:24px}
.t-btb main .hero{padding:48px 0}
.t-btb main .hero h1{max-width:25ch}
.t-btb main .hero .lede{max-width:760px}
.t-btb main :is(.hero,.band-soft) .kicker{color:#245cac}
main .hero{padding:72px 0 64px}
main .hero h1{max-width:19ch}
.t-home main .hero{padding:40px 0}
.t-home main .hero .lede{max-width:800px}
.t-home main .hero-sub{margin-top:24px}
.t-home main .hero .btn-row{margin-top:28px}
main .proof-strip{padding:0 0 24px}
main .proof-strip .proof{margin-top:0!important}
.hero.band-dark::before{display:none}
.hero.band-dark .lede{color:#b9c9bf}
.hero.band-dark .kicker,.hero.band-dark .hero-sub{color:#76dbb4}
.hero .proof{margin-top:48px!important}
main .btn{white-space:normal;max-width:100%;text-align:center}
main :is(h1,h2,h3,p,li){overflow-wrap:break-word}
main :is(section,[id]){scroll-margin-top:96px}
main .jay-portrait{display:block;width:272px;max-width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;margin-top:32px;border-radius:6px}
main .proof strong{white-space:nowrap}
main .proof{gap:24px 48px}
main .seo-intro{margin-top:20px;color:var(--ink-soft);max-width:680px}
.t-academy .hero h1{max-width:18ch}
.t-academy .hero h1 em{font-style:italic;color:#8ce5c4}
.t-academy .academy-price{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:40px;padding:0}
.t-academy .academy-price .price{font-family:var(--serif);font-size:56px;line-height:1.1}
.t-academy .academy-price .details{max-width:520px}
.t-academy .academy-price .label{font-weight:700;color:var(--accent)}
.t-academy .academy-price p{margin-top:8px}
.t-academy .academy-price .small{font-size:15px;color:var(--ink-soft)}
.t-academy .lime-strip{background:var(--soft);color:var(--ink)}
.t-academy .lime-strip p{max-width:36ch}
.t-academy .coach{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0;background:transparent}
.t-academy .proof strong{font-family:var(--serif);font-size:44px;font-weight:400}
main .retained-services{margin-top:56px}
/* Light feedback for the client-designed pages; their type and spacing stay intact. */
html{scroll-behavior:smooth}
main .btn{transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 240ms ease,transform 240ms var(--ov-ease)}
main .btn:focus-visible,main .faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
main .band-dark .btn:focus-visible{outline-color:var(--dark-accent)}
main .product,main .step{transition:border-color 220ms ease}
main .tier{transition:box-shadow 240ms ease}
main .product:focus-within,main .step:focus-within{border-color:var(--accent)}
main .tier:focus-within{box-shadow:inset 0 3px 0 var(--accent)}
main .tier.featured:focus-within{box-shadow:inset 0 3px 0 var(--dark-accent)}
main .faq summary{transition:color 180ms ease}
main .faq details[open] summary{color:var(--accent)}
@media(hover:hover) and (pointer:fine){
 main .btn:hover{transform:translateY(-2px);box-shadow:0 7px 18px #080e0b24}
 main .product:hover,main .step:hover{border-color:var(--accent)}
 main .tier:hover{box-shadow:inset 0 3px 0 var(--accent)}
 main .tier.featured:hover{box-shadow:inset 0 3px 0 var(--dark-accent)}
 main .faq summary:hover{color:var(--accent)}
}
main .btn:active{transform:translateY(0);box-shadow:none;transition-duration:80ms}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 main .btn,main .product,main .step,main .tier,main .faq summary{transition:none!important}
 main .btn{transform:none!important}
}
@media(max-width:900px){
 main h1{font-size:64px}
 main h2{font-size:40px}
 main h3{font-size:28px}
 main .product h3{font-size:36px}
 main .lede{font-size:18px}
 main .hero{padding:56px 0}
 main .big-quote{font-size:32px!important}
 main .trio{gap:32px}
 .t-academy .academy-price{grid-template-columns:1fr;gap:24px}
 .t-academy .academy-price>.btn{justify-self:start}
}
@media(max-width:600px){
 main h1{font-size:48px}
 main h2{font-size:36px}
 main h3{font-size:25px}
 main .product h3{font-size:30px}
 main .lede{font-size:18px}
 main .hero-sub{font-size:15px}
 main .hero{padding:48px 0}
 main section{padding:64px 0}
 main .proof{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px}
 main .proof div{font-size:13px;max-width:none}
 main .proof strong,.t-academy .proof strong{font-size:36px}
 main .big-quote{font-size:28px!important}
 main .tier{padding:28px 24px}
 main .tier .price{font-size:48px}
 main .btn-row{gap:12px;margin-top:28px}
 main .btn-row .btn{padding:14px 20px}
 main .hero .proof{margin-top:36px!important}
 main .wrap{padding-left:20px;padding-right:20px}
 .t-academy .lime-strip p{font-size:28px}
 main .step[style]{grid-template-columns:48px 1fr!important;gap:16px}
}
