.shell-content{min-height:45vh}
.home-hero{min-height:auto;display:grid;grid-template-columns:1fr;align-items:start;background:radial-gradient(circle at 82% 20%,rgb(255 153 51 / 34%),transparent 28rem),linear-gradient(135deg,#fff6e2 0%,#ffe7b7 52%,#ffcc80 100%);color:var(--ink);overflow:hidden}
.home-hero-copy{display:flex;flex-direction:column;justify-content:center;width:min(100%,1460px);margin-inline:auto;padding:clamp(1.35rem,2.3vw,2.2rem) clamp(28px,4vw,4.5rem) clamp(.7rem,1.2vw,1rem);min-width:0}
.home-hero h1{max-width:28ch;font-size:clamp(2.65rem,3.05vw,3.65rem);white-space:normal}
.mobile-title-break{display:none}
.hero-lead{font-size:1.1rem;color:#5f5449;margin-block:.7rem .9rem}.hero-lead strong{color:var(--ink)}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.programme-visual{display:grid;place-items:center;width:100%;padding:clamp(.35rem,.8vw,.8rem) max(28px,calc((100vw - 1460px)/2)) clamp(.7rem,1.4vw,1.4rem);min-width:0;background-image:linear-gradient(rgb(111 72 28 / 7%) 1px,transparent 1px),linear-gradient(90deg,rgb(111 72 28 / 7%) 1px,transparent 1px);background-size:38px 38px}
.programme-panel{width:min(100%,440px);padding:2rem;background:rgb(255 255 255 / 7%);border:1px solid rgb(255 255 255 / 15%);border-radius:14px;box-shadow:var(--shadow)}
.programme-head{display:flex;justify-content:space-between;font-size:.65rem;letter-spacing:.12em;color:#b6c8cf}.programme-head strong{color:#e7b77e}
.programme-lines{display:grid;gap:1.25rem;margin-block:2rem}.programme-lines i{display:block;height:9px;background:var(--teal);border-radius:2px}.programme-lines i:nth-child(1){width:65%}.programme-lines i:nth-child(2){width:70%;margin-left:16%;background:#fffaf1}.programme-lines i:nth-child(3){width:52%;margin-left:37%;background:var(--copper)}.programme-lines i:nth-child(4){width:38%;margin-left:58%;background:var(--ink)}.programme-panel p{font-family:var(--font-heading);font-size:1.35rem;color:var(--white)}
.section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:2.5rem}.section-heading h2{margin:.6rem 0 0}.section-heading>p{color:var(--muted)}
.audience-columns,.founder-led-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.audience-columns{grid-template-columns:repeat(3,1fr)}.founder-led-grid{grid-template-columns:repeat(4,1fr)}
.audience-columns article,.founder-led-grid article{background:var(--paper);padding:clamp(1.5rem,3vw,2.4rem)}
.audience-columns span{color:var(--copper);font-weight:800}.audience-columns h3,.founder-led-grid h3{font-size:1.45rem;margin:2rem 0 .65rem}
.intervention-band{padding:var(--space-section) max(20px,calc((100vw - 1180px)/2));background:linear-gradient(135deg,#071461,#000080);color:var(--white)}
.intervention-rail{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0;border-top:1px solid rgb(255 255 255 / 22%)}
.intervention-rail li{position:relative;padding:1.6rem;border-right:1px solid rgb(255 255 255 / 16%)}
.intervention-rail a{display:block;color:inherit;text-decoration:none}
.intervention-rail b{color:var(--copper)}.intervention-rail p{color:#b7c8ce}.buyer-fit{font-size:.75rem;font-weight:800;color:var(--teal)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.service-card{min-height:210px;background:var(--white);border:1px solid var(--line);padding:1.6rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-card span,.method-grid b{color:var(--copper);font-weight:800}.service-card h3{font-size:1.45rem;margin:2.2rem 0 .65rem}.service-card p{color:var(--muted)}
.method-band{padding:var(--space-section) max(20px,calc((100vw - 1180px)/2));background:linear-gradient(135deg,#138808,#0b6205);color:var(--white)}.inverse>p,.method-grid p{color:#edf5e8}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0;list-style:none;border-top:1px solid rgb(255 250 241 / 30%)}.method-grid li{padding:1.7rem;border-right:1px solid rgb(255 250 241 / 20%)}.method-grid li:first-child{border-left:1px solid rgb(255 250 241 / 20%)}.method-grid h3{font-size:1.4rem;margin-top:2.7rem}
.sector-section{text-align:center}.sector-section h2{max-width:780px;margin:1rem auto 2rem}.sector-list,.credential-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;padding:0;list-style:none}.sector-list li,.credential-tags li{padding:.6rem .9rem;border:1px solid var(--line);background:var(--white);font-size:.8rem;font-weight:700}.proof-note{margin:2rem auto 0;color:var(--muted);font-size:.9rem}
.founder-panel{display:grid;grid-template-columns:.72fr 1.28fr;padding:0;background:linear-gradient(135deg,#138808,#0b6205);color:var(--white);border-radius:var(--radius);overflow:hidden}.founder-panel>div:last-child{padding:clamp(2rem,5vw,4.5rem)}.founder-panel h2{margin:.6rem 0 1.2rem}.founder-panel p:not(.eyebrow){color:#edf5e8}.founder-photo{min-height:430px;background:linear-gradient(145deg,#ffcc80,#ff9933);display:grid;place-items:center;padding:2rem}.founder-photo span{max-width:190px;text-align:center;font-size:.73rem;letter-spacing:.11em;text-transform:uppercase;color:#000080}.founder-panel .eyebrow{color:#fffaf1}.credential-tags{justify-content:flex-start;margin:1.5rem 0 2rem}.credential-tags li{background:transparent;border-color:rgb(255 250 241 / 34%)}
.resource-band{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:clamp(3rem,7vw,5rem) max(20px,calc((100vw - 1180px)/2));background:linear-gradient(135deg,#000080,#071461);color:var(--white)}.resource-band h2{margin:.6rem 0 1rem;font-size:clamp(2rem,4vw,3.6rem)}.resource-band p:not(.eyebrow){color:#fff0d2}.final-cta{display:flex;align-items:center;justify-content:space-between;gap:3rem}.final-cta h2{margin:.5rem 0 1rem}.resource-card{background:var(--white);border:1px solid var(--line);padding:clamp(1.5rem,4vw,3rem);box-shadow:var(--shadow)}
.service-detail-list{display:grid;gap:1rem}.service-detail{display:grid;grid-template-columns:54px minmax(245px,1.25fr) repeat(3,minmax(145px,.75fr));grid-template-areas:"index summary suitable inputs outputs";gap:1.5rem;padding:2rem;background:var(--white);border:1px solid var(--line);scroll-margin-top:100px}.service-index{grid-area:index;font:600 1.35rem/1 var(--font-heading);color:var(--copper)}.service-summary{grid-area:summary}.service-suitable{grid-area:suitable}.service-inputs{grid-area:inputs}.service-outputs{grid-area:outputs}.service-summary .button{margin-top:.75rem}.service-detail h2{font-size:1.7rem;margin:0 0 .6rem}.service-detail h3{font-size:1rem;margin:0}.service-detail ul,.clean-list{padding-left:1.15rem;color:var(--muted)}.about-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2rem,6vw,5rem);align-items:center}.about-grid h2{margin:.5rem 0 1.3rem}.about-grid h3{margin-top:2rem}.tag-list{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0}.tag-list li{padding:.5rem .75rem;background:var(--white);border:1px solid var(--line);font-size:.8rem;font-weight:700}.sector-band{padding:var(--space-section) max(20px,calc((100vw - 1180px)/2));background:var(--ink-2);color:var(--white)}.dark-list li{background:transparent;border-color:rgb(255 255 255 / 25%)}.confidentiality-panel{max-width:880px;text-align:center}.confidentiality-panel p{margin-inline:auto}.resource-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,7vw,6rem);align-items:start}.readiness-list{list-style:none;padding:0;margin:0;counter-reset:item}.readiness-list li{display:grid;grid-template-columns:1fr 1.4fr;gap:1.5rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.readiness-list span{color:var(--muted)}
@media(max-width:1050px){.service-detail{grid-template-columns:42px repeat(3,minmax(0,1fr));grid-template-areas:"index summary summary summary" "index suitable inputs outputs"}}
@media(max-width:1280px){.home-hero h1{max-width:24ch;font-size:clamp(2.7rem,4.2vw,4.2rem)}}
@media(max-width:900px){.home-hero{grid-template-columns:1fr}.home-hero-copy{padding-inline:24px}.programme-visual{min-height:380px}.section-heading{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.method-grid{grid-template-columns:1fr 1fr}.audience-columns{grid-template-columns:1fr}.founder-led-grid,.intervention-rail{grid-template-columns:1fr 1fr}.founder-panel{grid-template-columns:1fr}.founder-photo{min-height:330px}.resource-band,.final-cta{align-items:flex-start;flex-direction:column}.service-detail{grid-template-columns:42px repeat(2,minmax(0,1fr));grid-template-areas:"index summary summary" "index suitable inputs" "index outputs outputs"}.about-grid,.resource-layout{grid-template-columns:1fr}.about-grid .founder-photo{min-height:330px}}
@media(max-width:620px){.service-grid,.method-grid,.founder-led-grid,.intervention-rail{grid-template-columns:1fr}.method-grid li,.method-grid li:first-child{border-left:1px solid rgb(255 255 255 / 18%)}.home-hero-copy{padding-inline:20px}.home-hero h1{font-size:clamp(2rem,8.4vw,2.65rem)}.mobile-title-break{display:block}.hero-lead{max-width:32ch}.hero-actions{display:grid;grid-template-columns:1fr;align-items:stretch}.hero-actions .button{width:100%;max-width:360px}.programme-visual{padding:1.5rem}.resource-band{padding-inline:20px}.service-detail{grid-template-columns:1fr;grid-template-areas:"index" "summary" "suitable" "inputs" "outputs"}.readiness-list li{grid-template-columns:1fr;gap:.3rem}}
.contact-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2rem,6vw,5rem);align-items:start}.contact-layout aside{position:sticky;top:112px}.contact-layout aside h2{margin:.5rem 0 1rem}@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.contact-layout aside{position:static}}
.policy-content{max-width:840px}.policy-content h2{font-size:1.65rem;margin-top:2.4rem}.policy-content p{color:var(--muted)}
.contact-channels{list-style:none;padding:0;margin:.8rem 0 0;display:grid;gap:.85rem}.contact-channels li{display:grid;gap:.12rem}.contact-channels span{font-size:.78rem;font-weight:700}.contact-channels a{overflow-wrap:anywhere}

.email-enquiry h2{margin:.5rem 0 1rem}.email-enquiry .button{margin:1rem 0}.email-enquiry-note{overflow-wrap:anywhere;color:var(--muted)}.founder-photo img{width:min(62%,260px);max-height:280px;object-fit:contain}

/* Justify full explanation blocks; short card copy stays left-aligned to avoid word gaps. */
.hero-lead,.section-heading>p,.page-hero>p:not(.eyebrow),.service-summary>p:not(.buyer-fit),.about-grid p:not(.eyebrow),.founder-panel p:not(.eyebrow),.resource-card p:not(.eyebrow),.resource-band p:not(.eyebrow),.final-cta p:not(.eyebrow),.policy-content p,.contact-layout aside>p:not(.eyebrow),.email-enquiry>p:not(.eyebrow):not(.email-enquiry-note),.technology-note,.experience-attribution,.confidentiality-panel p:not(.eyebrow){text-align:justify;text-justify:inter-word;text-align-last:start;hyphens:auto}
@media(max-width:620px){.hero-lead,.section-heading>p,.page-hero>p:not(.eyebrow),.service-summary>p:not(.buyer-fit),.about-grid p:not(.eyebrow),.founder-panel p:not(.eyebrow),.resource-card p:not(.eyebrow),.resource-band p:not(.eyebrow),.final-cta p:not(.eyebrow),.policy-content p,.contact-layout aside>p:not(.eyebrow),.email-enquiry>p:not(.eyebrow):not(.email-enquiry-note),.technology-note,.experience-attribution,.confidentiality-panel p:not(.eyebrow){text-align:start;hyphens:manual}}

.experience-attribution{max-width:1180px;margin:0 auto;padding:1rem 20px;color:var(--muted);font-size:.88rem;line-height:1.55}

.technology-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.technology-grid article{background:var(--white);border:1px solid var(--line);padding:clamp(1.4rem,2vw,2rem)}.technology-grid h3{font-size:1.4rem;margin:0 0 .75rem}.technology-grid p{color:var(--muted)}.technology-note{margin:1.5rem 0;max-width:75ch;color:var(--muted)}@media(max-width:800px){.technology-grid{grid-template-columns:1fr}}

/* Small section labels must remain legible on the navy and flag-green panels. */
.intervention-band .eyebrow,.method-band .eyebrow,.sector-band .eyebrow,.resource-band .eyebrow{color:#fff}
.method-band .inverse>p,.method-band .method-grid p,.founder-panel p:not(.eyebrow){color:#fff}
