/* TLC warm layer: brand-board palette, serif headings, colour-coded services.
   Colour code (used everywhere):  lavender = cognitive strengths · ochre = academic achievement
                                   sage = report to plan / planning · teal = Whole Learning Profile */
@font-face{font-family:Manrope;src:url('fonts/manrope-variable.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}

:root,:root[data-theme]{
 color-scheme:light;
 --bg:#FBF8F3; --surface:#FFFFFF; --linen:#F6F1E9; --sand:#EFE7DB;
 --ink:#1C3563; --ink-2:#4A5266; --ink-3:#5A6275; --line:#E7DFD2; --line-2:#D3C8B7;
 --cobalt:#2F6F6B; --cobalt-deep:#235754; --cobalt-soft:#9CC7C3; --tint:#E3F0EE; --on-cobalt:#FFFFFF;
 --navy:#1C3563; --teal:#4E8F8C;
 --lav:#AEB2DB; --lav-wash:#ECEDF8; --lav-ink:#3F4690;
 --och:#D9B25C; --och-wash:#F8EDD2; --och-ink:#74560F;
 --sag:#8FB08C; --sag-wash:#E6EFE4; --sag-ink:#3B5D3D;
 --tea:#4E8F8C; --tea-wash:#DCEDEB; --tea-ink:#235754;
 --apricot:var(--och-wash); --apricot-ink:var(--och-ink); --sage:var(--sag-wash); --sage-ink:var(--sag-ink); --sky:var(--lav-wash); --sky-ink:var(--lav-ink);
 --low:#9A452C; --low-wash:#FBEAE4;
 --band:#1C3563; --band-fg:#FBF8F3; --band-soft:#C9D2E6; --band-line:rgba(251,248,243,.18); --band-accent:#E2C27A;
 --f-display:Manrope,'Segoe UI',system-ui,sans-serif;
 --f-accent:Manrope,'Segoe UI',system-ui,sans-serif;
 --f-body:Manrope,'Segoe UI',system-ui,sans-serif;
 --f-mono:ui-monospace,Menlo,monospace;
 --shadow:0 1px 2px rgba(28,53,99,.05),0 22px 44px -30px rgba(28,53,99,.35);
}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.65}

/* Type: warm serif voice, readable body */
h1,h2,h3,h4{font-family:var(--f-display);font-weight:500;letter-spacing:-.015em;line-height:1.12;color:var(--ink)}
h1 em,h2 em{font-style:italic;font-weight:400;color:var(--cobalt)}
.eyebrow{font-family:var(--f-body);font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cobalt)}
.lede{font-size:18px;line-height:1.7;color:var(--ink-2)}
.section-head h2{font-size:clamp(34px,4.2vw,50px)}
.btn{border-radius:999px;font-family:var(--f-body);font-weight:700;font-size:15px}
.btn-sm{font-size:14px}
.btn-primary{background:var(--cobalt);color:#fff}
.btn-primary:hover{background:var(--cobalt-deep)}
.btn-ghost{border:1.5px solid var(--line-2);color:var(--ink);background:var(--surface)}
.link{color:var(--cobalt);font-size:15px}

/* Draft + header */
.draft{background:var(--sand);font-size:12.5px}
.draft span{font-size:12.5px}
header.site{background:rgba(251,248,243,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.logo{gap:0;flex-direction:column;align-items:flex-start}
.brandmark{font-family:var(--f-display);font-weight:500;font-size:25px;letter-spacing:-.012em;line-height:1;color:var(--navy);white-space:nowrap}
.brandmark b{font-weight:650}
.spr{position:relative;display:inline-block;width:0}
.spr svg{position:absolute;left:-.24em;bottom:.58em;width:.82em;height:auto}
.brandtag{font-family:var(--f-body);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);margin-top:5px;white-space:nowrap}
nav.main a{font-size:14.5px;color:var(--ink-2);font-weight:400}
nav.main a:hover{color:var(--ink)}
nav.main a[aria-current="page"]{color:var(--ink);font-weight:700;text-decoration-color:var(--och)}
nav.main .btn{color:#fff}
@media(max-width:520px){.brandmark{font-size:21px}.brandtag{display:none}}

/* Hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg) 0%,var(--linen) 100%);padding-block:76px 84px}
.hero .wrap{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:60px;position:relative;z-index:1}
.hero h1{font-family:var(--f-display);font-size:clamp(46px,5.8vw,78px);font-weight:460;letter-spacing:-.025em;line-height:1.02}
.hero .lede{font-size:19px;max-width:48ch;margin-top:22px}
.hero .sub{font-family:var(--f-display);font-style:italic;font-size:22px;color:var(--cobalt);margin-top:16px}
.call-note,.hero-location{font-size:14px;color:var(--ink-3)}
.hero-art{position:relative;min-height:440px}
.hero-art .leaves{position:absolute;inset:auto -60px -90px auto;width:560px;max-width:none}
.hero-art .cover{position:absolute;right:70px;top:6px;width:min(300px,62%);border-radius:6px;box-shadow:0 30px 60px -24px rgba(28,53,99,.45);transform:rotate(3deg)}
.hero-art .seal{position:absolute;left:4px;bottom:24px;width:132px;filter:drop-shadow(0 10px 18px rgba(28,53,99,.18))}
.hero-art .chip{position:absolute;left:0;top:40px;background:var(--surface);border-radius:16px;padding:12px 16px;box-shadow:var(--shadow);font-size:14px;max-width:210px;line-height:1.4}
.hero-art .chip b{display:block;font-family:var(--f-display);font-weight:500;font-size:17px;color:var(--ink)}
@media(max-width:960px){.hero .wrap{grid-template-columns:1fr}.hero-art{min-height:380px;max-width:520px}}
@media(max-width:520px){.hero-art{min-height:320px}.hero-art .cover{width:58%;right:30px}.hero-art .seal{width:100px}.hero-art .chip{top:10px;max-width:170px;font-size:13px}}

/* Promise strip: three coloured TLC tiles */
.promise-strip{background:var(--linen);padding-block:0 8px}
.promise-strip .wrap{border:0;gap:16px;padding-block:8px 40px}
.promise-strip p{border-radius:20px;padding:22px 22px 22px 84px;position:relative;font-size:15px;color:var(--ink-2);line-height:1.5;min-height:100px}
.promise-strip p::before{position:absolute;left:22px;top:20px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-weight:650;font-size:26px;color:#fff}
.promise-strip p:nth-child(1){background:var(--tea-wash)}.promise-strip p:nth-child(1)::before{content:"T";background:var(--tea)}
.promise-strip p:nth-child(2){background:var(--och-wash)}.promise-strip p:nth-child(2)::before{content:"L";background:#C79A35}
.promise-strip p:nth-child(3){background:var(--lav-wash)}.promise-strip p:nth-child(3)::before{content:"C";background:#6F76BC}
.promise-strip strong{font-family:var(--f-display);font-weight:500;font-size:21px;color:var(--ink);margin-bottom:2px}
@media(max-width:960px){.promise-strip p{font-size:14px}.promise-strip strong{font-size:19px}}

/* On this page */
.jump{background:var(--linen);padding-block:0 46px}
.jump .wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.jump .k{font-size:13px;font-weight:700;color:var(--ink-3);margin-right:6px;letter-spacing:.06em;text-transform:uppercase}
.jump a{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px;min-height:44px}
.jump a:hover{border-color:var(--cobalt)}
.jump a i{width:10px;height:10px;border-radius:50%;display:inline-block}

/* What's on your mind: colour per concern */
.parent-start{background:var(--surface)}
.parent-questions{border:0;display:grid;gap:12px}
.parent-questions button{border:1.5px solid var(--line);border-radius:18px;padding:18px 20px;min-height:76px;color:var(--ink);font:500 19px/1.4 var(--f-display);background:var(--surface);transition:background .2s,border-color .2s}
.parent-questions button>span:first-child{display:flex;align-items:center;gap:14px}
.parent-questions button>span:first-child::before{content:"";width:14px;height:14px;border-radius:50%;flex:none}
.parent-questions button[data-parent-question="0"]>span:first-child::before{background:var(--och)}
.parent-questions button[data-parent-question="1"]>span:first-child::before{background:var(--lav)}
.parent-questions button[data-parent-question="2"]>span:first-child::before{background:var(--sag)}
.parent-questions button[data-parent-question="0"][aria-pressed=true]{background:var(--och-wash);border-color:var(--och);color:var(--ink);font-weight:600}
.parent-questions button[data-parent-question="1"][aria-pressed=true]{background:var(--lav-wash);border-color:var(--lav);color:var(--ink);font-weight:600}
.parent-questions button[data-parent-question="2"][aria-pressed=true]{background:var(--sag-wash);border-color:var(--sag);color:var(--ink);font-weight:600}
.parent-answer{border-radius:24px;padding:30px;min-height:280px;background:var(--linen);transition:background .25s}
.parent-paths:has([data-parent-question="0"][aria-pressed=true]) .parent-answer{background:var(--och-wash)}
.parent-paths:has([data-parent-question="1"][aria-pressed=true]) .parent-answer{background:var(--lav-wash)}
.parent-paths:has([data-parent-question="2"][aria-pressed=true]) .parent-answer{background:var(--sag-wash)}
.parent-paths:has([data-parent-question="0"][aria-pressed=true]) .parent-answer .eyebrow{color:var(--och-ink)}
.parent-paths:has([data-parent-question="1"][aria-pressed=true]) .parent-answer .eyebrow{color:var(--lav-ink)}
.parent-paths:has([data-parent-question="2"][aria-pressed=true]) .parent-answer .eyebrow{color:var(--sag-ink)}
.parent-answer h3{font-size:28px;font-weight:500}
.parent-answer p{font-size:16px;color:var(--ink-2)}
.parent-unsure{font-size:15px}

/* Services: colour-coded cards everywhere */
.services-home{background:var(--linen)}
.hc{border-radius:24px;border:1.5px solid transparent;padding:26px}
.hc h3{font-family:var(--f-display);font-size:24px;font-weight:500}
.hc .svc{font-size:13.5px;font-weight:700}
.hc p{font-size:15px}
.hc .fee{font-family:var(--f-display);font-weight:500}
.hc .ico{width:46px;height:46px;border-radius:14px}
.t-sky{background:var(--lav);color:#fff}.t-apricot{background:#C79A35;color:#fff}.t-sage{background:#6E9A6B;color:#fff}.t-sand{background:var(--tea);color:#fff}
.hc:has(.t-sky){background:var(--lav-wash);border-color:#D8DAF0}.hc:has(.t-sky) .svc{color:var(--lav-ink)}
.hc:has(.t-apricot){background:var(--och-wash);border-color:#EED9A8}.hc:has(.t-apricot) .svc{color:var(--och-ink)}
.hc:has(.t-sage){background:var(--sag-wash);border-color:#CBDCC7}.hc:has(.t-sage) .svc{color:var(--sag-ink)}
.hc:has(.t-sand){background:var(--tea-wash);border-color:#BFDCD9}.hc:has(.t-sand) .svc{color:var(--tea-ink)}
.hc .foot{border-top-color:rgba(28,53,99,.12)}
.hc .pill.soon{background:rgba(255,255,255,.7)}
.scope{background:var(--surface);border-radius:20px}
.scope .ico{background:var(--tea);color:#fff}
.pill{font-size:12px;font-weight:700;padding:5px 11px}
.pill.now{background:#DCEFD9;color:#2F5A31}

/* Sam's story */
.learning-story{background:var(--lav-wash)}
.story-opening h2{font-size:clamp(32px,3.8vw,46px);font-weight:460}
.story-context{font-size:16px}
.story-sequence li{border:0;background:var(--surface);border-radius:22px;padding:24px 24px 26px}
.story-sequence li:nth-child(1){box-shadow:inset 0 5px 0 var(--och)}
.story-sequence li:nth-child(2){box-shadow:inset 0 5px 0 var(--lav)}
.story-sequence li:nth-child(3){box-shadow:inset 0 5px 0 var(--sag)}
.story-step{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.story-sequence li:nth-child(1) .story-step{color:var(--och-ink)}
.story-sequence li:nth-child(2) .story-step{color:var(--lav-ink)}
.story-sequence li:nth-child(3) .story-step{color:var(--sag-ink)}
.story-sequence h3{font-size:23px;font-weight:500}
.story-sequence p{font-size:15.5px}
.story-end{border-top-color:rgba(28,53,99,.12)}
.story-end p,.story-end a{font-size:14px}

/* About: credentials up front */
.about{background:var(--surface)}
.founder-intro h2{font-size:clamp(38px,4.4vw,52px)}
.founder-role{font-size:15px;color:var(--ink-2)}
.founder-perspective{font-family:var(--f-display);font-style:italic;font-size:24px;color:var(--cobalt)}
.about-copy h3{font-size:28px;font-weight:500}
.about-copy p{font-size:16px}
.creds{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.creds div{border-radius:16px;padding:16px 18px;display:grid;gap:3px}
.creds b{font-family:var(--f-display);font-weight:500;font-size:19px;line-height:1.2;color:var(--ink)}
.creds span{font-size:14px;color:var(--ink-2)}
.creds div:nth-child(1){background:var(--tea-wash)}.creds div:nth-child(2){background:var(--och-wash)}
.creds div:nth-child(3){background:var(--sag-wash)}.creds div:nth-child(4){background:var(--lav-wash)}
@media(max-width:600px){.creds{grid-template-columns:1fr}}
.founder-photo{margin-top:22px;aspect-ratio:4/5;max-width:300px;border-radius:24px;background:var(--sand);display:grid;place-items:center;position:relative;overflow:hidden}
.founder-photo svg{width:62%;opacity:.9}
.founder-photo span{position:absolute;left:16px;bottom:12px;font-size:12px;color:var(--ink-3)}

/* Report, plain English, expect */
#report{background:var(--linen)}
.stage{background:var(--sand);border-radius:24px}
.hot{background:var(--navy)}
.hot[aria-pressed=true],.note.on b{background:var(--cobalt)}
.notes .page-title{font-family:var(--f-display);font-weight:500;font-size:30px}
.note{border-radius:16px}
.note.on{background:var(--tea-wash);border-color:var(--tea)}
.plain-wrap .seg button[aria-pressed=true]{background:var(--cobalt);color:#fff}
section.linen{background:var(--sag-wash)}
.phrase{border-radius:16px;border-color:transparent}
.phrase .plain{font-size:16.5px}
#expect{background:var(--surface)}
.say{border-left:0;border-radius:20px;background:var(--och-wash)}
.say .eyebrow{color:var(--och-ink)}
.say p.q{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:23px}
.ec{border-bottom-color:var(--line)}
.ec h3{font-size:23px;font-weight:500}
.ec p{font-size:15.5px}
.ec .ico{width:46px;height:46px;border-radius:14px}
.pull{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:30px;color:var(--ink)}
.pull::before{background:var(--och)}
.mini-steps b{font-family:var(--f-display);font-weight:500;font-size:19px}
.mini-steps i{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--tea-wash);color:var(--tea-ink);font-size:14px;font-style:normal;font-weight:700}
.mini-steps span{font-size:14px}

/* FAQ, enquiry, footer */
#faq{background:var(--linen)}
.faq summary{font-family:var(--f-display);font-weight:500;font-size:22px;letter-spacing:-.01em}
.faq details p{font-size:16px}
.enquire{background:var(--tea-wash)}
.enquire h2,.closing h2{font-size:clamp(34px,4.2vw,50px)}
form.enq{border-radius:24px;box-shadow:var(--shadow);border:0}
.field input,.field select,.field textarea{border-radius:12px;font-size:16px}
.field label{font-size:14.5px}
.hint{font-size:13.5px}
footer{background:var(--band)}
footer .brandmark{color:var(--band-fg)}
footer .brandtag{color:var(--band-soft)}
footer .fh{font-family:var(--f-body);font-size:14px}
footer p,footer li{font-size:14.5px}
.foot-note{font-size:13px}

/* Services page */
.page-hero{background:linear-gradient(180deg,var(--bg),var(--linen));border-bottom:0;position:relative;overflow:hidden}
.page-hero h1{font-family:var(--f-display);font-weight:460;letter-spacing:-.022em;font-size:clamp(44px,5.2vw,68px);line-height:1.04}
.page-hero .lede{font-size:18px}
.chooser{border-radius:24px;box-shadow:var(--shadow);border:0}
.chooser h2{font-family:var(--f-display);font-weight:500;letter-spacing:-.015em}
.ch-opt{border-radius:14px;font-size:15px;border-width:1.5px}
.ch-opt .ico{border-radius:10px}
.ch-step-label{font-size:12px}
.tabs{border-radius:999px;background:var(--surface)}
.tab{border-radius:999px;font-size:14.5px}
#tab-cog[aria-selected=true]{background:var(--lav-ink);color:#fff}
#tab-aca[aria-selected=true]{background:var(--och-ink);color:#fff}
#tab-plan[aria-selected=true]{background:var(--sag-ink);color:#fff}
.tab::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:1px}
#tab-cog::before{background:var(--lav)}#tab-aca::before{background:var(--och)}#tab-plan::before{background:var(--sag)}
#panel-cog .fee-scroll{border-top:5px solid var(--lav)}#panel-aca .fee-scroll{border-top:5px solid var(--och)}#panel-plan .fee-scroll{border-top:5px solid var(--sag)}
.fee-scroll{border-radius:20px}
table.fees{font-size:15px}
table.fees thead th .svc{font-family:var(--f-display);font-weight:500;font-size:21px}
table.fees tr.price td{font-family:var(--f-display);font-weight:500}
#compare{background:var(--linen)}
.flagship{background:var(--band)}
.flagship .eyebrow,.flagship h2 em,.flag-list li span{color:var(--band-accent)}
.flag-price .big{font-family:var(--f-display);font-weight:450}
.cm{border-radius:22px;border:0}
.cm:nth-child(6n+1){background:var(--tea-wash)}.cm:nth-child(6n+2){background:var(--sag-wash)}.cm:nth-child(6n+3){background:var(--och-wash)}
.cm:nth-child(6n+4){background:var(--lav-wash)}.cm:nth-child(6n+5){background:var(--tea-wash)}.cm:nth-child(6n+6){background:var(--sag-wash)}
.cm h3{font-family:var(--f-display);font-weight:500}

/* Resources */
.curve-card{border-radius:24px;border:0;box-shadow:var(--shadow)}
.readout .pct{font-family:var(--f-display);font-weight:450}
.vs .card{border-radius:24px}
.vs .card.ours{background:var(--tea-wash);border-color:transparent}
.guide{border-radius:22px;border:0}
.guide:nth-child(1){background:var(--och-wash)}.guide:nth-child(2){background:var(--lav-wash)}.guide:nth-child(3){background:var(--sag-wash)}.guide:nth-child(4){background:var(--tea-wash)}
.guide h3{font-family:var(--f-display);font-weight:500}

/* ===== Imported-version typography + sprout wordmark (v11) ===== */
body{font-size:17px;line-height:1.7}
h1,h2,h3,h4,.hero h1,.page-hero h1,.hc h3,.hc .fee,.promise-strip strong,.hero-art .chip b,.creds b,.notes .page-title,.mini-steps b,.faq summary,.chooser h2,
table.fees thead th .svc,table.fees tr.price td,.flag-price .big,.cm h3,.readout .pct,.guide h3,.pull,.say p.q,.founder-perspective,.hero .sub{font-family:var(--f-display);font-style:normal;font-weight:550;letter-spacing:-.04em}
.hero h1,.page-hero h1{font-weight:550;letter-spacing:-.055em;line-height:1.06}
h2{letter-spacing:-.045em;line-height:1.14}
h3,.hc h3,.cm h3,.guide h3,.creds b,.mini-steps b,.promise-strip strong,.faq summary{letter-spacing:-.03em;font-weight:600}
h1 em,h2 em,h3 em{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:inherit;color:var(--cobalt)}
.hero .sub{font-size:21px;font-weight:500;letter-spacing:-.025em;color:var(--cobalt)}
.founder-perspective{font-size:21px;font-weight:500;letter-spacing:-.025em;line-height:1.45}
.say p.q,.pull{font-weight:500;letter-spacing:-.03em}
.pull{font-size:27px;line-height:1.35}
.promise-strip p::before{font-family:var(--f-display);font-weight:650;font-size:22px;letter-spacing:-.02em}
.eyebrow{font-weight:650;letter-spacing:.06em;font-size:11.5px}
.btn{font-weight:650;letter-spacing:-.01em}
nav.main a{font-weight:500;letter-spacing:-.01em}
.hc .fee,table.fees tr.price td,.flag-price .big,.readout .pct{font-variant-numeric:tabular-nums;letter-spacing:-.045em}
/* Logo: drawn "tlc." wordmark; the l's head is a two-leaf sprout */
.logo{flex-direction:row;align-items:center;gap:14px}
.tlc-wm{height:50px;width:auto;flex:none;display:block}
.logo .logo-text{display:grid;gap:4px;padding-top:6px}
.logo .lw{font-family:var(--f-display);font-size:18px;font-weight:600;letter-spacing:-.03em;line-height:1.2;color:var(--navy);white-space:nowrap}
.logo .brandtag{font-family:var(--f-body);font-size:10.5px;font-weight:450;letter-spacing:0;text-transform:none;color:var(--ink-3);margin:0;white-space:nowrap}
footer .logo .lw{color:#fff}
footer .logo .brandtag{color:rgba(255,255,255,.72)}
@media(max-width:860px){.tlc-wm{height:44px}.logo .lw{font-size:16px}}
@media(max-width:520px){.tlc-wm{height:40px}.logo{gap:10px}.logo .lw{font-size:15px}.logo .brandtag{display:none}}
.founder-photo svg.fp-mark{width:50%;opacity:1}
.hero h1{font-size:clamp(40px,5.1vw,68px);text-wrap:balance}.hero h1 em{display:block;text-wrap:balance}
.enq .field:has(#f-service){grid-column:1/-1}
/* v20: hero callout, segmented toggle, even "what to expect" column */
.hero-art .chip{top:auto;bottom:64px;left:0;max-width:230px;padding:14px 18px}
.hero-art .chip b{font-weight:650;letter-spacing:-.02em;margin-bottom:3px}
.seg{justify-self:start;align-self:start;width:max-content;max-width:100%;display:inline-flex}
.seg button{flex:1 1 0;padding-inline:20px}
.exp{align-items:stretch}
.exp-cards{display:flex;flex-direction:column;gap:14px;height:100%}
.ec{flex:1;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px 24px}
@media(max-width:900px){.ec{flex:none}}
.seg button{white-space:nowrap}
.hero-art .chip{font-weight:450;color:var(--ink-2)}.hero-art .chip b{color:var(--ink)}
