/* The marketing website has its own readable type scale. Native demo screens
   are in an isolated document and do not load these rules. */
html{font-size:18px}
body{font-size:1rem;line-height:1.65;--muted:#3e4648}
body main p{font-size:1rem!important;line-height:1.65!important;font-weight:400}
body main p:is(.lead,.purpose-lead){font-size:1.2rem!important;line-height:1.55!important}
body main p.eyebrow{font-size:.85rem!important;line-height:1.5!important;font-weight:700;letter-spacing:.08em}
body main p:is(.phone-caption,.walk-screen-label,.programme-browser-label){font-size:.85rem!important;line-height:1.5!important;font-weight:700;letter-spacing:.05em}
body main p:is(.fine,.offer-footnote,.compare-status,.tour-status,.demo-disclosure,.demo-mode-label){font-size:.9rem!important;line-height:1.6!important}
body main :is(.button,.quick-links a,.card-link,.text-link,.chapter-nav a){font-size:.95rem;min-height:48px}
body .site-header #nav>a{font-size:.95rem}
body footer p,body footer>div,body footer .footer-nav a{font-size:.9rem;line-height:1.6}
body main :is(.contact label,.plus-facts span,.plus-course>span,.plus-programme-list summary>span:last-child,.life-area-link,.life-areas-footer .text-link){font-size:.95rem}
body main :is(.compare-kicker,.programme-duration,.life-area-context){font-size:.85rem;line-height:1.5;font-weight:700}
body .trust-strip strong{font-size:1rem}
body .trust-strip span:not(.icon-badge){font-size:.95rem;color:#444a49}
/* Light sections need actual ink rather than faint grey microcopy. */
body .home-free-offer :is(.offer-intro,.free-tool-list p,.offer-footnote),body .home-compare-heading>p{color:#3f3933}
body .home-free-offer .compare-kicker{color:#3e514f}
body .free-tool-list h4{font-size:1.05rem;line-height:1.35;color:#282b29}
body .free-tool-list>div{padding-block:20px}
body .free-tool-list>div>.ui-icon{width:25px;height:25px}
body .home-free-offer .offer-lead{font-size:1.2rem!important;font-weight:700}
body .life-area .life-area-description,body .life-area .life-area-examples{color:#38413d}
body .life-area .life-area-context{font-size:.85rem!important;font-weight:700}
body .purpose-copy p{color:#384344}
body .life-areas-intro>p,body .life-areas-footer p{color:#3b4440}
/* One texture instance fills each surface. No repeating squares, and the
   restrained grain stays behind high-contrast text. */
body .home-walkthrough{background-image:url('assets/charcoal-texture.svg'),radial-gradient(ellipse at 78% 20%,#3b3935,transparent 68%),linear-gradient(145deg,#292825,#171716);background-size:100% 100%;background-repeat:no-repeat;border-color:#615b53}
body .home-compare-grid>.home-plus-offer{background-image:url('assets/charcoal-texture.svg'),radial-gradient(ellipse at top right,#454039,transparent 72%),linear-gradient(145deg,#302c28,#1b1b19);background-size:100% 100%;background-repeat:no-repeat}
body .home-plus-offer .plus-promise p,body .home-plus-offer .plus-how p{color:#f0e6d8}
body .home-plus-offer .compare-status{color:#e4d8c9}
body .home-plus-offer .compare-kicker{color:#eee0cf}
body .home-plus-offer .plus-promise h4{font-size:1.45rem;max-width:none}
body .plus-promise{padding-bottom:26px}
/* Programme previews are readable rows on opaque warm paper, not translucent
   miniature cards over texture. The programme group controls stay interactive. */
body .plus-programme-panel,body #plus-panel-movement,body #plus-panel-support{grid-template-columns:1fr;gap:12px;min-height:0}
body .plus-programme-panel[hidden]{display:none}
body .plus-programme{min-height:0;padding:18px 20px;background:#f3e9dd;border:1px solid #d9c7b1;border-radius:13px;box-shadow:inset 0 1px #fff8,0 3px 8px #0002}
body .plus-programme .programme-duration{float:right;color:#62452f;font-size:.85rem;margin:2px 0 8px 14px;line-height:1.5;font-weight:700}
body .plus-programme h5{font-size:1.05rem;color:#272a28;line-height:1.4;margin:0 0 8px;font-weight:700}
body .plus-programme p{color:#403a34;font-size:1rem!important;clear:both;line-height:1.55!important}
body .plus-programme-tabs{gap:9px;margin-bottom:18px}
body .plus-programme-tabs button{font-size:.9rem;line-height:1.4;font-weight:600;padding:11px 13px;min-height:48px;color:#f3e6d7;background:#1c1b19;border-color:#958674}
body .plus-programme-tabs button span{font-size:.8rem;width:22px;height:22px;background:#4c463c;color:#fff3e2}
body .plus-programme-tabs button[aria-selected=true]{color:#28231e;background:#f2dfc6;border-color:#f2dfc6}
body .plus-how{grid-template-columns:1fr;gap:20px;margin-top:28px}
body .plus-how h4{font-size:1.05rem;color:#fff4e7}
body .plus-how .ui-icon{width:25px;height:25px}
body .plus-offer-footer{gap:17px}
body .home-plus-offer .button.secondary{font-size:.95rem}
/* Demonstration instructions and controls retain readable contrast throughout. */
body .walk-controls>p:not(.eyebrow),body .walk-caption>p:not(.walk-screen-label){color:#f4ece2}
body .walk-controls .walk-caption{background:#242523;border-color:#858177}
body .flow-steps strong{font-size:.85rem;font-weight:600;color:#f2e9dc}
body .flow-steps li>span{width:38px;height:38px;font-size:.85rem}
body .flow-steps li:not(:last-child)::after{top:19px}
body .walk-screen-label{color:#b5edf0}
body .walk-footer>a,body .walk-footer>span{font-size:.9rem}
body .walk-controls .tour-status,body .demo-disclosure{color:#eee4d8!important}
body .demo-reset{font-size:.95rem;color:#fff3e3}
body .demo-try,body .demo-enlarge,body .tour-launch>.button{font-size:.95rem}
@media(min-width:1100px){body .life-areas{gap:17px}body .life-area{padding:26px 17px 20px}}
@media(max-width:1050px){body .home-compare-grid{grid-template-columns:1fr;gap:26px}body .home-compare-grid>article{padding:32px}body .home-free-offer .free-tool-list{grid-template-columns:1fr 1fr;gap:0 30px}body .home-free-offer .button{margin-top:0}body .home-compare-heading{grid-template-columns:1fr;gap:20px}body .home-compare-heading>p{max-width:62ch}}
@media(max-width:820px){body .walkthrough-grid{grid-template-columns:1fr;gap:28px}body .walk-controls>h2{max-width:22ch}body .walk-controls>p:not(.eyebrow){max-width:62ch}body .flow-steps{max-width:520px}body .walk-controls .walk-caption{max-width:620px}body .life-areas{grid-template-columns:1fr 1fr}body .life-area,body .life-area:nth-child(n+4){grid-column:auto}body .life-area:last-child{grid-column:1/-1}}
@media(max-width:600px){body .home-free-offer .free-tool-list{grid-template-columns:1fr}body .home-compare-grid>article{padding:26px}body .home-compare-heading h2{font-size:2rem}body .plus-promise{gap:18px}body .home-plus-offer .plus-promise h4{font-size:1.2rem}body .plus-promise>strong{font-size:4.2rem}body .flow-steps{gap:5px}body .flow-steps strong{font-size:.8rem}body .plus-programme{padding:18px}body .plus-programme-tabs button{font-size:.85rem}body .life-areas{grid-template-columns:1fr}body .life-area:last-child{grid-column:auto}}
@media(max-width:380px){body .home-compare-grid>article{padding:22px}body .flow-steps li>span{width:33px;height:33px}body .flow-steps li:not(:last-child)::after{top:16px}body .flow-steps strong{font-size:.75rem}}

body main .home-tagline{margin:36px auto 0;padding-top:24px;border-top:1px solid #c6b8a7;max-width:560px;color:#3b4545;font-size:1rem!important;line-height:1.5!important;font-weight:700;letter-spacing:.12em;text-align:center}

/* Our Story begins with Alan's account, without a separate marketing intro. */
body[data-page=story] .founder-story{padding-top:52px;align-items:start}
body[data-page=story] .founder-copy h1{font-size:clamp(2.3rem,3.5vw,3.3rem);line-height:1.12;letter-spacing:-.04em;margin-bottom:24px}
body[data-page=story] .founder-art img{height:580px}
@media(max-width:820px){body[data-page=story] .founder-story{padding-top:34px}body[data-page=story] .founder-art img{height:370px}}
@media(max-width:520px){body[data-page=story] .founder-copy h1{font-size:2.2rem}body[data-page=story] .founder-art img{height:350px}}

/* Match the story artwork to the natural height of Alan's text. */
body[data-page=story] .founder-story{align-items:stretch}
body[data-page=story] .founder-art{align-self:stretch;min-height:0;height:auto}
body[data-page=story] .founder-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body[data-page=story] .founder-art figcaption{padding-top:95px}
/* Quiet line drawings flank Brooke's dedication without competing with it. */
body[data-page=story] .dedication-memorial{max-width:1080px;display:grid;grid-template-columns:110px minmax(0,1fr) 110px;gap:38px;align-items:center;padding-block:60px;margin-top:42px;border-top:1px solid #c6b8a780}
body[data-page=story] .dedication-memorial::before{display:none}
.memorial-symbol{display:block;width:100%;max-width:100px;color:#817b70;opacity:.75;justify-self:center}
.memorial-angel{height:145px}
.memorial-butterfly{height:100px}
.memorial-words{min-width:0;max-width:640px;justify-self:center}
body main .memorial-words .dedication-intro{color:#656a61;font-size:.85rem!important;letter-spacing:.1em;font-weight:700;margin-bottom:20px}
body .memorial-words h2{font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.3;letter-spacing:-.025em;color:#303c3d;margin-bottom:22px}
.memorial-words h2>span{display:inline-block;margin-top:5px}
body main .memorial-words>p{color:#46504c;margin-bottom:20px}
body main .memorial-words .dedication-message{margin-top:30px;margin-bottom:8px;color:#394744;font-weight:600}
body main .memorial-words .dedication-signature{font-family:Georgia,serif;font-size:1.2rem!important;font-style:italic;color:#3f514d!important;margin:0}
@media(max-width:820px){body[data-page=story] .founder-art{width:100%;height:370px}body[data-page=story] .dedication-memorial{grid-template-columns:70px minmax(0,1fr) 70px;gap:20px}.memorial-angel{height:110px}.memorial-butterfly{height:80px}}
@media(max-width:600px){body[data-page=story] .dedication-memorial{grid-template-columns:1fr;padding-top:116px;padding-bottom:44px;margin-top:30px;gap:0}.memorial-symbol{position:absolute;top:22px;width:58px;max-width:58px}.memorial-angel{left:calc(50% - 92px);height:82px}.memorial-butterfly{right:calc(50% - 92px);height:70px;top:29px}.memorial-words{width:100%}body .memorial-words h2{font-size:1.8rem}body[data-page=story] .founder-art{height:350px}}

body[data-page=story] .founder-copy .story-support-purpose{padding:22px 24px;margin-top:26px;border-left:3px solid #48919c;border-radius:0 12px 12px 0;background:#ebe0d3;color:#303f3f}
body[data-page=story] .story-support-purpose strong{display:inline-block;margin-bottom:8px;font-size:1.05rem;line-height:1.45}
