/* Group experience. The separate 3D prototype retains layout.css. */
.group-site{--paper:#f4f2ed;--paper-bright:#fffefa;--muted:#5c605e;--section:clamp(80px,8vw,128px);--section-compact:clamp(48px,5vw,80px);--max:1440px;--gutter:clamp(24px,4.5vw,80px);background:var(--paper);overflow-x:clip}
.group-site:after{display:none}
html{scroll-padding-top:100px}
img{max-width:100%;display:block}
figure{margin:0}
em{font-family:Georgia,'Times New Roman',serif;font-weight:400}
h2{font-size:clamp(2.5rem,4.3vw,5rem);line-height:1.06;letter-spacing:-.055em;font-weight:500}
h3{font-size:clamp(1.5rem,2.3vw,2.5rem);line-height:1.13;letter-spacing:-.035em;font-weight:500}
p{font-size:1rem;line-height:1.7}
.eyebrow{font-size:.65rem;line-height:1.45;letter-spacing:.12em;margin-bottom:1.6rem}
.section-space{padding-block:var(--section)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-header{position:fixed;inset:0 0 auto;z-index:50;color:white;background:#111315;border-bottom:1px solid #ffffff21}
.site-header__inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:inline-flex;align-items:center;gap:1.1rem;text-decoration:none;flex-shrink:0;color:white}
.brand img{width:112px;height:45px;object-fit:contain}
.brand>span{border-left:1px solid #ffffff55;padding-left:1rem;font-size:.62rem;letter-spacing:.08em;line-height:1.45;text-transform:uppercase}
.primary-nav{display:flex;align-items:center;gap:clamp(1rem,2.3vw,2.8rem)}
.primary-nav a{font-size:.75rem;text-decoration:none;padding-block:.8rem;white-space:nowrap}
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropdown__toggle{display:grid;flex:0 0 2.25rem;width:2.25rem;min-height:2.75rem;place-items:center;margin-left:.125rem;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:500 .75rem/1 inherit}
.nav-dropdown__toggle span{font-size:1.2rem;line-height:1;transition:transform .2s var(--ease)}
.nav-dropdown.is-open .nav-dropdown__toggle span{transform:rotate(180deg)}
.nav-dropdown__fallback{display:inline-flex}
.site-header.is-enhanced .nav-dropdown__fallback{display:none}
.nav-dropdown__menu{position:absolute;top:100%;left:50%;z-index:4;display:grid;min-width:12.75rem;padding:.55rem;border:1px solid var(--line);background:var(--paper-bright);box-shadow:0 1.2rem 2.75rem rgba(17,19,21,.14);opacity:0;visibility:hidden;transform:translate(-50%,-.35rem);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s var(--ease)}
.site-header--fallback .nav-dropdown:hover .nav-dropdown__menu,.site-header--fallback .nav-dropdown:focus-within .nav-dropdown__menu,.nav-dropdown.is-open .nav-dropdown__menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-dropdown__menu a{display:flex;justify-content:space-between;padding:.75rem .85rem!important;color:var(--ink)!important;font-size:.72rem!important;text-decoration:none!important}
.nav-dropdown__menu a:hover,.nav-dropdown__menu a:focus-visible{background:#f0eee8;text-decoration:none!important}
.primary-nav a:not(.nav-cta):hover,.primary-nav a[aria-current="page"],.nav-dropdown__toggle:hover,.nav-dropdown__toggle[aria-expanded="true"]{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:8px}
.primary-nav .nav-cta{background:var(--red);padding:1rem 1.35rem;display:flex;gap:1.5rem;border-radius:2px}
.menu-toggle{display:none;border:1px solid #ffffff66;background:none;color:white;padding:.7rem 1rem;cursor:pointer;font-size:.8rem}
.menu-toggle[hidden]{display:none}
.reading-progress{display:none;position:fixed;inset:0 auto auto 0;width:100%;height:3px;background:var(--red);transform-origin:0 50%;pointer-events:none;z-index:60}
/* Lenis package styles: keep native document height and contained scroll areas. */
html.lenis,html.lenis body{height:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth iframe{pointer-events:none}
.button{display:inline-flex;align-items:center;justify-content:space-between;min-height:54px;gap:2.5rem;padding:1rem 1.5rem;text-decoration:none;font-size:.78rem;font-weight:600;border:1px solid transparent;border-radius:2px;transition:background .25s,translate .25s}
.button--primary{background:var(--red);color:white}.button--primary:hover{background:var(--red)}
.button--dark{background:var(--ink);color:white}.button--dark:hover{background:var(--charcoal)}
.button>span{font-size:1.3rem;line-height:1}.button:active{translate:0 2px}
.text-link{display:inline-flex;align-items:center;gap:2.5rem;font-size:.8rem;font-weight:600;text-decoration:none;padding-block:.7rem;border-bottom:1px solid currentColor}
.text-link:hover{color:var(--red)}
.hero{background:var(--ink);color:white;padding-top:100px;position:relative;isolation:isolate;overflow:hidden}
.hero__inner{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:4%;padding-block:clamp(55px,6vw,100px);min-height:min(820px,calc(100svh - 160px))}
.hero__copy{position:relative;z-index:2}
.hero .eyebrow{color:#c9cbc6;font-size:.6rem;display:flex;align-items:center;gap:.65rem}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--red);display:inline-block;flex-shrink:0}
.hero h1{font-size:clamp(4rem,7.4vw,8rem);line-height:.98;letter-spacing:-.065em;font-weight:500;margin:2rem 0 1.8rem}
.hero h1 em{color:var(--red);letter-spacing:-.055em}
.hero__summary{font-size:clamp(1rem,1.6vw,1.4rem);line-height:1.6;color:#f3f1ee;margin-bottom:1rem}
.hero__description{max-width:440px;font-size:.86rem;line-height:1.75;color:#b8bcb8;margin-bottom:2rem}
.hero__about{display:flex;width:max-content;margin-top:.8rem;color:#d7d8d4;border-bottom:0;font-size:.7rem;gap:1rem}
.hero__visual{position:relative;min-width:0;padding:0 0 2rem 2rem}
.hero__photo{height:clamp(410px,43vw,630px);overflow:hidden;border-radius:42% 0 0 0;position:relative;background:#4a4d40}
.hero__photo>img{height:100%;width:100%;object-fit:cover;object-position:49% center}
.hero__photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#101712dd);pointer-events:none}
.hero__photo figcaption{position:absolute;inset:auto 2rem 2rem;z-index:1;display:flex;flex-direction:column;gap:.5rem;font-size:.63rem;color:#f0eee7}
.photo-tag{font-size:clamp(1.3rem,2.1vw,2rem);letter-spacing:-.03em;font-weight:500}
.hero__stamp{position:absolute;left:-1rem;bottom:9rem;width:clamp(118px,11vw,170px);aspect-ratio:1;background:var(--red);color:white;display:flex;flex-direction:column;justify-content:center;padding:1.35rem;box-shadow:0 10px 40px #0002}
.hero__stamp span{font-size:clamp(.86rem,1.3vw,1.2rem);line-height:1.2;letter-spacing:-.025em}
.hero__stamp b{position:absolute;right:1rem;bottom:.7rem;font-size:1.7rem;font-weight:400}
.hero__coordinate{position:absolute;right:0;bottom:.1rem;font:500 .52rem ui-monospace,monospace;letter-spacing:.16em;color:#aaa}
.hero__bottom{border-top:1px solid #ffffff25;padding-block:1.2rem;display:flex;justify-content:space-between;color:#b5b8b2;font-size:.65rem}
.hero__bottom a{text-decoration:none;color:#eee;display:flex;gap:2rem}.hero__bottom a span{color:var(--red)}
.brand-strip{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;align-items:center;min-height:154px;border-bottom:1px solid var(--line);gap:2rem}
.brand-strip>p{font-size:.8rem;line-height:1.6;margin:0;color:#6c706b}.brand-strip strong{color:var(--ink);font-weight:500}
.brand-strip a{display:flex;align-items:center;justify-content:center;padding:1rem}
.brand-strip img{width:155px;height:65px;object-fit:contain}
.brand-strip a:nth-of-type(2) img{height:80px}
.brand-strip a:nth-of-type(3) img{width:220px}
.group-story{display:grid;grid-template-columns:1.1fr 1fr;gap:9%}
.group-story h2 em{color:var(--red)}
.group-story__body{padding-top:2.2rem}.group-story__body p{color:var(--muted);max-width:570px}
.group-story__body .lead{font-size:clamp(1.25rem,1.8vw,1.7rem);line-height:1.5;color:var(--ink)}
.section-heading{display:grid;grid-template-columns:1.45fr 1fr;column-gap:10%;align-items:end;margin-bottom:3.5rem}
.section-heading>.eyebrow{grid-column:1/-1}.section-heading>h2{margin:0}.section-heading>p:last-child{margin:0;color:var(--muted);max-width:390px;padding-bottom:.25rem}
.companies{background:#e9e7e1}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.company-card{background:var(--paper-bright);min-width:0}
.company-card__image{height:clamp(260px,28vw,400px);position:relative;overflow:hidden}
.company-card__image>img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.company-card--leap .company-card__image>img{object-position:center 43%}
.image-index{position:absolute;left:1.5rem;top:1.5rem;padding:.6rem .85rem;font:500 .6rem ui-monospace,monospace;letter-spacing:.1em;background:#fff;color:var(--ink)}
.company-card__body{padding:clamp(1.5rem,3vw,3rem)}
.company-logo{width:150px;height:70px;object-fit:contain;object-position:left center;margin-bottom:1.7rem}
.company-card__body h3{margin-bottom:1.2rem}.company-card__body>p{color:var(--muted);max-width:45ch}
.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1.5rem 0 2rem}
.tag-list li{font-size:.6rem;border:1px solid #d5d5cf;border-radius:20px;padding:.45rem .65rem;color:#4a5049}
.company-card .text-link{display:flex;justify-content:space-between}
.skills-feature{display:grid;grid-template-columns:.9fr 1.35fr 1fr;align-items:center;gap:2rem;margin-top:2rem;padding:2rem;background:var(--paper-bright);border-top:3px solid var(--red)}
.skills-feature__brand img{width:100%;height:70px;object-fit:contain}.skills-feature__brand span{display:block;text-align:center;font-size:.65rem;color:var(--muted);margin-top:1.5rem}
.skills-feature h3{font-size:1.8rem;margin-bottom:.85rem}.skills-feature p:not(.eyebrow){font-size:.85rem;color:var(--muted)}.skills-feature .eyebrow{font-size:.55rem;margin-bottom:.8rem}
.skills-feature__photo{width:100%;height:230px;object-fit:cover}
.capability-list>a{display:grid;grid-template-columns:1.1fr 1fr 150px;align-items:center;gap:2rem;padding:1.8rem .2rem;border-top:1px solid var(--line);text-decoration:none;transition:background .25s,padding .25s}
.capability-list>a:last-child{border-bottom:1px solid var(--line)}
.capability-list>a:hover{background:#e9e6df;padding-inline:1rem}
.list-number{font:500 .6rem ui-monospace,monospace;color:var(--red)}
.capability-list h3{font-size:clamp(1.2rem,1.7vw,1.65rem);margin:0;max-width:20ch;line-height:1.2}.capability-list p{margin:0;color:var(--muted);font-size:.82rem;max-width:34ch}
.capability-owner{display:flex;align-items:center;justify-content:space-between;font-size:.62rem;font-weight:600;gap:1rem}.capability-owner b{font-size:1.4rem;font-weight:400;color:var(--red)}
.link-note{font-size:.65rem;color:var(--muted);margin-top:1.2rem}
.service-directory{margin-top:1.5rem;border-bottom:1px solid var(--line);font-size:.8rem}.service-directory summary{padding:1rem 0;cursor:pointer;font-weight:600}.service-directory>div{display:flex;gap:1rem 2rem;flex-wrap:wrap;padding:.75rem 0 1.5rem}.service-directory a{font-size:.75rem;text-underline-offset:4px}
.development{position:relative;min-height:610vh;background:#e9e7e1}.development__sticky{position:sticky;top:0;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding-block:clamp(5.35rem,6vw,6.25rem) 1.25rem}.development__header{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(17rem,.6fr) auto;gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(1.25rem,2.25vw,2rem)}.development__header h2{max-width:13ch;margin:0;text-wrap:balance}.development__header>p:not(.development__progress){max-width:33ch;margin:0;color:var(--muted);font-size:.92rem;line-height:1.58}.development__progress{display:flex;align-items:baseline;gap:.35rem;margin:0;font:600 .65rem/1 ui-monospace,monospace;letter-spacing:.12em;color:var(--muted)}.development__progress span{color:var(--red);font-size:.92rem}.development__stage{min-width:0;min-height:0;overflow:hidden}.development__track{display:flex;align-items:stretch;gap:clamp(1rem,2vw,2rem);width:max-content;height:100%;padding-inline:var(--gutter);will-change:transform}.development-card{display:grid;grid-template-columns:minmax(19rem,.94fr) minmax(21rem,1.06fr);width:min(78vw,66rem);min-height:0;overflow:hidden;background:var(--paper-bright);box-shadow:0 1.75rem 4.5rem rgba(17,19,21,.1)}.development-card__image{min-width:0;overflow:hidden;background:#d9d6cc}.development-card__image img{width:100%;height:100%;object-fit:cover}.development-card__copy{display:flex;min-height:0;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(1.75rem,3.25vw,3.5rem);background:linear-gradient(145deg,#fffefa,#f6f3ec)}.development-card:nth-child(2) .development-card__copy,.development-card:nth-child(4) .development-card__copy{background:linear-gradient(145deg,#f7f5f0,#e5ebe5)}.development-card:nth-child(3) .development-card__copy,.development-card:nth-child(5) .development-card__copy{background:linear-gradient(145deg,#fffefa,#f5ebe4)}.development-card .eyebrow{margin-bottom:clamp(.85rem,1.5vw,1.35rem)}.development-card h3{max-width:12ch;margin:0;font-size:clamp(2rem,3.4vw,3.8rem);line-height:.96;letter-spacing:-.06em}.development-card__copy>p:not(.eyebrow){max-width:31ch;margin:1rem 0 0;color:var(--muted);font-size:.88rem;line-height:1.52}.development-card .text-link{justify-content:space-between;width:min(100%,23rem);margin-top:clamp(1.25rem,2.25vw,2rem);font-size:.68rem}.development__directory{padding-block:2rem var(--section)}
@media(max-width:900px){.development{min-height:0;padding-block:var(--section);background:#e9e7e1}.development__sticky{position:relative;height:auto;display:block;padding:0;overflow:visible}.development__header{display:block;width:min(var(--max),calc(100% - var(--gutter)*2));margin:0 auto 2.5rem}.development__header h2{max-width:12ch}.development__header>p:not(.development__progress){max-width:38ch;margin-top:1.25rem}.development__progress{display:none}.development__stage{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin}.development__track{gap:1rem;width:max-content;height:auto;padding:0 var(--gutter) .75rem}.development-card{grid-template-columns:1fr;width:min(78vw,31rem);min-height:38rem;scroll-snap-align:start}.development-card__image{min-height:16rem}.development-card__copy{min-height:22rem;padding:2rem}.development-card h3{font-size:clamp(2.25rem,6vw,3.5rem)}.development-card .text-link{margin-top:auto}.development__directory{padding-block:1rem var(--section)}}
@media(max-width:900px){.development__title h2{font-size:clamp(3.5rem,8.5vw,4.75rem)!important}.development__statement .development__statement-lead{font-size:clamp(1.35rem,3vw,1.7rem)!important}.development__index-row h3{font-size:clamp(1.6rem,4.2vw,2.2rem)!important}.development__outcome p:not(.development__outcome-label){font-size:clamp(1.5rem,3vw,2rem)!important}.development-card h3{font-size:clamp(1.75rem,4vw,2.5rem)!important;line-height:1.02;letter-spacing:-.045em}}
@media(max-width:540px){.development-card{width:calc(100vw - var(--gutter)*2)}.development-card__image{min-height:14rem}.development-card__copy{min-height:20rem;padding:1.5rem}.development-card .eyebrow{margin-bottom:1.25rem}.development-card__copy>p:not(.eyebrow){font-size:.85rem}.development-card h3{font-size:1.5rem!important}.development-card .text-link{width:100%;gap:1rem;font-size:.64rem}}
.pillars{background:#1d2822;color:#f6f5ee}.pillars__layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}
.pillars .eyebrow{color:#c9d2b8}.pillars h2 em{color:#c9d2b8}.pillars__intro>p:not(.eyebrow){color:#c7cdc4;max-width:430px}
.pillars__photo{margin-top:2.5rem}.pillars__photo img{height:270px;width:100%;object-fit:cover}.pillars__photo figcaption{font-size:.6rem;color:#b9c2b7;margin-top:.8rem}
.pillar-list{border-top:1px solid #fff4;align-self:start}
.pillar-list details{border-bottom:1px solid #fff4}
.pillar-list summary{display:flex;align-items:center;gap:1.5rem;cursor:pointer;list-style:none;padding:1.65rem 0;font-size:clamp(1.1rem,1.6vw,1.6rem);letter-spacing:-.02em}
.pillar-list summary::-webkit-details-marker{display:none}.pillar-list summary>span{font:500 .6rem ui-monospace,monospace;color:#bfcbb5}.pillar-list summary b{margin-left:auto;font-size:1.35rem;font-weight:400}
.pillar-list details[open] summary b{transform:rotate(45deg)}
.pillar-list details>div{padding:0 0 1.5rem}.pillar-list details p{font-size:.88rem;color:#c7cdc4;margin-bottom:.8rem;max-width:40ch}.pillar-list .text-link{font-size:.7rem}.pillar-list .text-link:hover{color:#d8e5c5}
.programme-areas{margin:1rem 0;padding-left:1rem;color:#c7cdc4;font-size:.75rem;line-height:1.8}.programme-areas li{padding-left:.2rem}
.ecosystem{position:relative;min-height:330vh;background:transparent}.ecosystem__sticky{position:sticky;top:0;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);padding-block:clamp(6.5rem,9vw,9rem) 2.5rem;overflow:hidden}.ecosystem__header{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.55fr);column-gap:clamp(3rem,9vw,11rem);align-items:end}.ecosystem__header .eyebrow{grid-column:1/-1}.ecosystem__header h2{max-width:14ch;margin:0}.ecosystem__header>p:last-child{max-width:34ch;margin:0;color:var(--muted);font-size:.92rem;line-height:1.6}.ecosystem__stage{position:relative;min-height:0;margin-top:clamp(2.5rem,6vw,6rem);padding-inline:var(--gutter)}
.process-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;list-style:none;height:100%;padding:0;margin:0;gap:clamp(1rem,3vw,3rem);position:relative}.process-steps:before,.process-steps:after{content:"";position:absolute;z-index:0;left:3%;right:3%;top:50%;height:2px;pointer-events:none}.process-steps:before{background:var(--line)}.process-steps:after{background:var(--red);transform:scaleX(0);transform-origin:0 50%}
.process-steps li{position:relative;z-index:1;min-width:0;padding:clamp(1rem,2.2vw,2.25rem);border:1px solid var(--line);background:rgba(255,254,250,.78);box-shadow:0 1.5rem 3rem rgba(17,19,21,.05)}.process-steps li>span{width:3.15rem;height:3.15rem;display:grid;place-items:center;background:var(--paper-bright);border:2px solid var(--red);border-radius:50%;box-shadow:0 0 0 8px var(--paper);font:600 .65rem ui-monospace,monospace;letter-spacing:.06em;color:var(--red);margin-bottom:clamp(1.5rem,3vw,2.5rem)}.process-steps li:last-child>span{background:var(--red);color:#fff}
.process-owner{margin:0 0 .55rem!important;color:var(--red)!important;font-size:.67rem!important;font-weight:700;letter-spacing:.12em;line-height:1.2!important;text-transform:uppercase}
.process-steps h3{margin:0 0 .9rem;font-size:clamp(1.8rem,3vw,3.1rem);font-weight:500;letter-spacing:-.05em;text-transform:uppercase}.process-steps p:not(.process-owner){margin:0;font-size:clamp(.95rem,1.2vw,1.08rem);line-height:1.6;color:var(--muted);max-width:48ch}
.impact{background:#e9e7e1}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.story-card>a{text-decoration:none;display:block}.story-card__image{position:relative;height:clamp(210px,23vw,330px);overflow:hidden;margin-bottom:1.5rem;background:#d8d8cf}
.story-card__image>img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.story-card__image>span{position:absolute;right:1rem;bottom:1rem;display:grid;place-items:center;width:42px;height:42px;background:var(--paper-bright);border-radius:50%;font-size:1.4rem}
.story-card .eyebrow{font-size:.54rem;margin-bottom:.9rem}.story-card h3{font-size:clamp(1.5rem,2vw,2.15rem);line-height:1.2}.story-card p:last-child{font-size:.82rem;color:var(--muted)}
.people-teaser{display:grid;grid-template-columns:1fr 1.4fr;gap:7%;align-items:center}.people-teaser>div>p:not(.eyebrow){max-width:370px;color:var(--muted);margin-bottom:2rem}
.portrait-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}
.portrait-strip img{width:100%;height:240px;object-fit:cover;object-position:center top;background:#e0ded6}.portrait-strip figcaption{font-size:.7rem;margin-top:1rem;font-weight:600}.portrait-strip figcaption span{display:block;font-size:.6rem;font-weight:400;color:var(--muted);margin-top:.2rem}
.contact{background:var(--red);color:white}.contact__inner{display:grid;grid-template-columns:1fr 1.15fr;gap:12%}.contact .eyebrow{color:#fff}.contact h2{font-size:clamp(3.8rem,7vw,7rem);line-height:1}.contact h2 em{color:#f6c5c1}.contact p{max-width:350px;color:#ffedeb}
.contact-routes>a{display:flex;align-items:center;justify-content:space-between;gap:2rem;text-decoration:none;padding:1.8rem 0;border-top:1px solid #ffffff66}
.contact-routes>a:hover{background:#ffffff0c}.contact-routes small{display:block;font:500 .55rem ui-monospace,monospace;letter-spacing:.09em;color:#f8d7d3}.contact-routes strong{display:block;font-weight:500;letter-spacing:-.025em;font-size:clamp(1.35rem,2vw,2rem);margin:.55rem 0}.contact-routes>a>span>span{font-size:.72rem;color:#ffedeb}.contact-routes b{font-size:1.7rem;font-weight:400}.contact-routes .contact-note{font-size:.64rem;max-width:none;margin:1.5rem 0 0;color:#f8d7d3}
.site-footer{background:var(--ink);color:#f6f5f0;padding-block:4rem 1.6rem}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:3rem}.footer-top>p{margin:0;font-size:clamp(1rem,1.7vw,1.7rem);letter-spacing:-.03em}.footer-top .text-link{font-size:.65rem}.footer-top .footer-brand{padding:.45rem .65rem;background:#fff}.footer-top .footer-brand img{width:clamp(150px,16vw,205px);height:auto;object-fit:contain}.site-footer nav{display:flex;gap:2rem;flex-wrap:wrap}.site-footer nav a{font-size:.72rem;text-decoration:none;color:#cccfc6}.site-footer nav a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{margin-top:3rem;padding-top:1.2rem;border-top:1px solid #fff3;display:flex;justify-content:space-between;color:#a8ada5}.footer-bottom p,.footer-bottom span{font-size:.6rem;margin:0}
@media(hover:hover){.company-card:hover .company-card__image>img,.story-card>a:hover img{transform:scale(1.035)}}
/* Native scroll timelines: no wheel interception, no hidden-content dependency. */
@keyframes reading{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes photograph-drift{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.12) translateY(3%)}}
@keyframes content-arrives{from{transform:translateY(25px);opacity:.65}to{transform:translateY(0);opacity:1}}
@keyframes route-connects{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes timeline-state{from{opacity:.42;transform:translateY(1.25rem);border-color:var(--line);background:rgba(255,254,250,.5)}to{opacity:1;transform:translateY(0);border-color:rgba(235,38,42,.55);background:var(--paper-bright)}}
@media(prefers-reduced-motion:no-preference){
 @supports(animation-timeline:scroll(root block)){.reading-progress{display:block;animation:reading auto linear both;animation-timeline:scroll(root block)}}
 @supports(animation-timeline:view()) and (animation-range:entry 0% entry 100%){
  .company-card,.story-card,.person-card{animation:content-arrives auto linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
  .company-card:focus-within,.story-card:focus-within,.person-card:focus-within{animation:none}
  .hero{view-timeline:--hero block}.hero__photo>img{animation:photograph-drift auto linear both;animation-timeline:--hero;animation-range:exit 0% exit 100%}
  .ecosystem{view-timeline:--ecosystem block}.process-steps:after{animation:route-connects auto linear both;animation-timeline:--ecosystem;animation-range:cover 12% cover 82%}.process-steps li{animation:timeline-state auto linear both;animation-timeline:--ecosystem}.process-steps li:nth-child(1){animation-range:cover 8% cover 26%}.process-steps li:nth-child(2){animation-range:cover 18% cover 36%}.process-steps li:nth-child(3){animation-range:cover 28% cover 46%}.process-steps li:nth-child(4){animation-range:cover 38% cover 56%}.process-steps li:nth-child(5){animation-range:cover 48% cover 66%}.process-steps li:focus-within{animation:none;opacity:1;transform:none}
 }
}
@media(min-width:1800px){.hero__inner{gap:6%}}
/* Management review: make the opening panel brighter and less dominant, while giving each group company equal visual weight. */
.hero{background:linear-gradient(135deg,#7b1c2a 0%,#a52e3e 48%,#641520 100%)}
.site-header{background:#651520}
.hero__inner{min-height:min(680px,calc(100svh - 180px));padding-block:clamp(42px,4.5vw,72px)}
.hero__photo{height:clamp(340px,36vw,500px)}
.brand-strip{min-height:184px}
.brand-strip img{width:180px;height:80px}
.brand-strip a:nth-of-type(2) img{height:94px}
.brand-strip a:nth-of-type(3) img{width:250px;height:82px}
.skills-feature{grid-template-columns:1fr 1.2fr 1fr;gap:2.75rem;margin-top:3rem;padding:3rem;min-height:310px}
.skills-feature__brand img{height:92px}.skills-feature h3{font-size:clamp(2rem,2.8vw,3rem)}.skills-feature__photo{height:260px}
.oversight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1050px){.brand>span{font-size:.55rem}.primary-nav{gap:1rem}.primary-nav a{font-size:.67rem}.hero__inner{gap:3%}.hero h1{font-size:7.2vw}.hero__description{font-size:.8rem}.skills-feature{grid-template-columns:1fr 2fr}.skills-feature__photo{display:none}.capability-list>a{grid-template-columns:1.2fr 1fr 100px;gap:1.2rem}.portrait-strip img{height:190px}.people-teaser{grid-template-columns:1fr 1.2fr}.hero__stamp{left:0}.pillars__layout{gap:7%}}
@media(max-width:800px){
 .ecosystem{min-height:0;padding-block:var(--section)}.ecosystem__sticky{position:relative;height:auto;display:block;padding:0;overflow:visible}.ecosystem__header{display:block;width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}.ecosystem__header>p:last-child{margin-top:1.25rem;max-width:38ch}.ecosystem__stage{margin-top:3rem;padding-inline:var(--gutter)}.process-steps{height:auto}.process-steps:after{display:none}
 .site-header__inner{min-height:82px;gap:1rem;flex-wrap:wrap}.brand img{width:90px;height:38px}.brand>span{font-size:.5rem}.brand{gap:.8rem}
 .site-header.is-enhanced .menu-toggle{display:flex;align-items:center;gap:1rem}.site-header.is-enhanced .primary-nav{display:none}.site-header.is-enhanced .primary-nav.is-open{display:flex}
 .primary-nav{width:100%;padding:0 0 1.2rem;flex-wrap:wrap;gap:.5rem 1.5rem}.primary-nav a{font-size:.78rem}.primary-nav .nav-cta{padding:.65rem 1rem}
 .site-header.is-enhanced .primary-nav{position:absolute;top:82px;left:0;right:0;padding:1.5rem var(--gutter);flex-direction:column;align-items:stretch;background:var(--ink);border-top:1px solid #fff3;box-shadow:0 12px 18px #0003}.site-header.is-enhanced .primary-nav a,.site-header.is-enhanced .nav-dropdown__toggle{padding:.8rem 0}.site-header.is-enhanced .primary-nav .nav-cta{padding:.85rem 1rem}
 .site-header.is-enhanced .nav-dropdown{display:flex;flex-wrap:wrap}.site-header.is-enhanced .nav-dropdown__link{flex:1}.site-header.is-enhanced .nav-dropdown__toggle{flex:0 0 44px;width:44px;color:inherit}.site-header.is-enhanced .nav-dropdown__menu{position:static;display:none;flex-basis:100%;min-width:0;margin:.2rem 0 .7rem;padding:.35rem 0;border:0;border-top:1px solid var(--line);box-shadow:none;background:transparent;opacity:1;visibility:visible;transform:none}.site-header.is-enhanced .nav-dropdown.is-open .nav-dropdown__menu{display:grid}.site-header.is-enhanced .nav-dropdown__menu a{padding:.8rem 0 .8rem 1rem!important;background:transparent!important}
 .site-header--fallback:not(.is-enhanced){position:relative}.hero{padding-top:82px}.site-header--fallback:not(.is-enhanced)~*{scroll-margin-top:0}
 .hero__inner{grid-template-columns:1fr;gap:2.5rem;padding-block:3rem 1.5rem}.hero h1{font-size:clamp(4.1rem,12vw,6.6rem);margin-top:1.4rem}.hero__copy .eyebrow{font-size:.52rem}.hero__summary{font-size:1.2rem}.hero__description{font-size:.86rem;max-width:520px}
 .hero__visual{padding:0 0 2rem 1.1rem}.hero__photo{height:450px;border-top-left-radius:30%}.hero__stamp{left:0;bottom:9rem;width:140px;padding:1.3rem}.hero__stamp span{font-size:1rem}.hero__bottom{font-size:.6rem}.hero__bottom>span{max-width:40%}
 .brand-strip{grid-template-columns:repeat(3,1fr);gap:1rem;padding-block:1.5rem}.brand-strip>p{grid-column:1/-1;text-align:center;font-size:.75rem}.brand-strip>p br{display:none}.brand-strip>p strong{margin-left:.3rem}.brand-strip a{padding:.5rem}.brand-strip img{height:45px;width:100%}.brand-strip a:nth-of-type(2) img{height:65px}
 .group-story{grid-template-columns:1fr;gap:.5rem}.group-story__body{padding-top:1rem}.section-heading{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2.5rem}.section-heading>.eyebrow{margin-bottom:0}.section-heading>p:last-child{max-width:540px}
 .company-grid{gap:1rem}.company-card__image{height:280px}.company-card__body{padding:1.5rem}.company-card__body h3{font-size:1.7rem}.company-card__body p{font-size:.85rem}.tag-list{gap:.35rem}.tag-list li{font-size:.55rem}.company-logo{width:130px;height:60px}.image-index{left:1rem;top:1rem;font-size:.5rem}
 .capability-list>a{grid-template-columns:1fr auto;gap:1rem}.capability-list p{grid-column:1;grid-row:2;max-width:none}.capability-list h3{font-size:1.3rem;max-width:none}.capability-owner{grid-column:2;grid-row:1/3;font-size:.55rem;max-width:85px}
 .pillars__layout{grid-template-columns:1fr;gap:3rem}.pillars__photo{max-width:500px}.pillars__photo img{height:240px}.pillar-list summary{font-size:1.25rem}
 .process-steps{grid-template-columns:1fr;gap:1.5rem}.process-steps:before{left:1.1rem;top:0;bottom:0;width:1px;height:100%;right:auto;animation:none!important}.process-steps li{display:grid;grid-template-columns:2.3rem 1fr;gap:.5rem 1.5rem}.process-steps li>span{grid-row:1/3;margin:0}.process-steps h3{margin:0}.process-steps p{grid-column:2;max-width:none;margin:0}
 .story-grid{gap:1.25rem;grid-template-columns:1fr 1fr}.story-card__image{height:240px}
 .people-teaser{grid-template-columns:1fr;gap:3rem}.portrait-strip img{height:260px}
 .contact__inner{grid-template-columns:1fr;gap:2rem}.contact h2{font-size:4.5rem}.contact-routes strong{font-size:1.6rem}.footer-top{flex-wrap:wrap}.footer-top>p{order:3;width:100%;font-size:1.6rem}.site-footer nav{gap:1rem 1.5rem}
}
@media(max-width:520px){
 .hero h1{font-size:clamp(2.75rem,12vw,4rem)}.hero__summary{font-size:1rem}.hero__inner{padding-top:2.5rem}.hero__description{font-size:.82rem}
 .hero__photo{height:380px}.hero__photo figcaption{left:1.5rem;bottom:1.5rem}.hero__stamp{width:115px;bottom:9rem;padding:1rem}.hero__stamp span{font-size:.9rem}.hero__stamp b{font-size:1.3rem;bottom:.4rem;right:.6rem}.hero__bottom{gap:1.5rem}.hero__bottom>a{gap:.7rem;max-width:50%}
 .hero__about{font-size:.64rem}.brand-strip{gap:.5rem}.brand-strip img{height:38px}.brand-strip a:nth-of-type(2) img{height:53px}
 .company-grid{grid-template-columns:1fr;gap:2rem}.company-card__image{height:300px}.company-card__body{padding:1.75rem}.company-card__body h3{font-size:2rem}.skills-feature{grid-template-columns:1fr;padding:1.75rem;gap:1.7rem}.skills-feature__brand{display:flex;align-items:center;gap:2rem}.skills-feature__brand img{width:150px;height:50px}.skills-feature__brand span{margin:0;font-size:.58rem;max-width:65px;text-align:left}.skills-feature__photo{display:block;height:210px}
 .capability-list>a{grid-template-columns:1fr;gap:.6rem 1rem}.capability-owner{grid-column:1;grid-row:3;max-width:none;justify-content:flex-start;gap:1rem;margin-top:.4rem}.capability-list h3{font-size:1.4rem}.capability-list p{font-size:.8rem}.capability-owner b{font-size:1.1rem}
 .story-grid{grid-template-columns:1fr;gap:2rem}.story-card:last-child{grid-column:auto;max-width:none}.story-card__image{height:300px}.story-card h3{font-size:1.9rem}.story-card .eyebrow{font-size:.58rem}
 .portrait-strip{gap:.65rem}.portrait-strip img{height:170px}.portrait-strip figcaption{font-size:.6rem}.portrait-strip figcaption span{font-size:.52rem}.footer-top{gap:2rem}.footer-top .text-link{font-size:.58rem}.footer-bottom{flex-direction:column;gap:.5rem}.contact h2{font-size:4rem}
}
@media(max-width:360px){.site-header.is-enhanced .site-header__inner{flex-wrap:nowrap;gap:.5rem}.brand{gap:.5rem}.brand img{width:74px;height:34px}.brand>span{padding-left:.5rem;font-size:.45rem}.menu-toggle{padding:.65rem .7rem;font-size:.72rem}.site-header.is-enhanced .menu-toggle{gap:.6rem}.hero__copy .eyebrow{font-size:.56rem}.hero h1{font-size:2.65rem}.hero__stamp{left:-.25rem}.oversight-card{gap:1rem}.oversight-card img{width:75px;height:110px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.reading-progress{display:none}.hero__photo>img{transform:none!important}}
@media print{.site-header,.reading-progress,.hero__stamp,.contact,.site-footer,.button{display:none!important}.hero{padding-top:0}.hero,.pillars{background:white;color:black}.hero__description,.hero__summary,.pillars p{color:black}.section-space{padding-block:2rem}.hero__inner{min-height:0}.person-card,.story-card{break-inside:avoid}}

/* High-contrast light navigation and hero treatment. */
.site-header{color:var(--ink);background:#fff;border-bottom:1px solid #d8d7d1;box-shadow:0 1px 12px rgba(17,19,21,.06)}
.brand{color:var(--ink)}.brand>span{border-left-color:#b8bbb4}
.primary-nav a:not(.nav-cta){color:var(--ink)}.primary-nav .nav-cta{color:#fff}
.menu-toggle{border-color:#777b75;background:#fff;color:var(--ink)}
.hero{background:radial-gradient(circle at 84% 18%,rgba(255,255,255,.96) 0 7%,rgba(255,255,255,0) 31%),radial-gradient(ellipse at 100% 100%,#eba46b 0 14%,rgba(235,164,107,.72) 27%,rgba(235,164,107,0) 58%),linear-gradient(118deg,#fff 0%,#fff 46%,#fdf1e8 100%);color:var(--ink)}
.hero .eyebrow{color:#111315}.hero h1 em{color:var(--red)}
.hero__summary{color:#111315}.hero__description{color:#111315}
.hero__bottom{border-top-color:rgba(17,19,21,.5);color:#111315}.hero__bottom a{color:#111315}
.hero__bottom a span{color:var(--red)}
.hero__coordinate{display:none}
.hero__copy>.button+.button{margin-left:.75rem}.hero .button--primary{background:var(--red);border-color:var(--red)}.hero .button--primary:hover{background:var(--red);border-color:var(--red)}
.button--hero-outline{border-color:#572b24!important;color:#241714!important;background:transparent}.button--hero-outline:hover{background:rgba(255,255,255,.32)}
@media(max-width:560px){.hero__copy>.button+.button{margin:.75rem 0 0}.button--hero-outline{width:auto}}
@media(max-width:800px){.site-header.is-enhanced .primary-nav{background:#fff;border-top-color:#d8d7d1;box-shadow:0 12px 18px rgba(17,19,21,.12)}.site-header.is-enhanced .primary-nav .nav-cta{color:#fff}}

/* Peer cards share content tracks, including nested card bodies and links. */
@supports (grid-template-rows:subgrid){
 .company-card{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0}
 .company-card__body{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0}
 .company-card__body>*{align-self:start}
 .company-card__body>.text-link{align-self:end}
 .story-card,.story-card>a{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
 .story-card>a>*{align-self:start}
 .portrait-strip figure{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
 .contact-routes{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:2rem}
 .contact-routes>a{display:grid;grid-column:1/-1;grid-template-columns:subgrid}
 .contact-routes>.contact-note{grid-column:1/-1}
}
.pillar-list summary>span:empty{display:none}
.process-steps li>span:empty:after{content:"";width:6px;height:6px;background:var(--red);border-radius:50%}

/* Three organisations share one grid and a connector drawn across their centres. */
.companies{background:#f7f5f0;scroll-margin-top:6rem}
.companies>.section-shell{width:min(1600px,calc(100% - var(--gutter)*2))}
.companies__header{text-align:center}
.companies__eyebrow{display:flex;align-items:center;justify-content:center;gap:1rem;margin:0 0 1.25rem;color:#4f5250;font-size:.875rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase}
.companies__eyebrow::before,.companies__eyebrow::after{content:"";width:2.75rem;height:1px;background:#bdb8ae}
#companies h2{margin:0;font-size:var(--section-title-size)!important;font-weight:620;line-height:1;letter-spacing:-.055em}
#companies .companies__header>p:last-child{max-width:50rem;margin:1.15rem auto 0;color:#5b5d5b;font-size:var(--section-intro-size)!important;line-height:1.45}
.companies__connector{position:relative;height:106px;margin-top:1.4rem}
.companies__connector-lines{display:block;width:100%;height:92px;fill:none;stroke:#bcb6ad;stroke-width:1;vector-effect:non-scaling-stroke}
.companies__connection-label{position:absolute;top:19px;left:50%;display:grid;place-items:center;width:min(430px,45%);min-height:38px;margin:0;padding:.5rem 1rem;border:1px solid #d9d4ca;background:#f7f5f0;color:#5b5c58;font:600 .69rem/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.095em;text-align:center;text-transform:uppercase;transform:translateX(-50%)}
#companies .companies__connection-label{font-size:.69rem!important;line-height:1.25!important;white-space:nowrap}
.companies__dot{position:absolute;top:78px;width:16px;height:16px;transform:translateX(-50%);border-radius:50%!important;box-shadow:0 0 0 4px #f7f5f0}
.companies__dot--leap{left:16%;background:var(--red)}.companies__dot--lab17{left:50%;background:#3d785b}.companies__dot--skills{left:84%;background:#d77265}
.companies .company-grid--equal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:stretch}
.companies .company-card{--company-accent:var(--red);display:flex;min-width:0;flex-direction:column;border:0;background:#fffefa;box-shadow:0 9px 28px rgba(44,37,29,.055);animation:none!important}
.companies .company-card--lab17{--company-accent:#538b6f}.companies .company-card--skills{--company-accent:#d77a6d}
.companies .company-card__image{position:relative;display:block;width:100%;height:auto;aspect-ratio:3.55/1;overflow:hidden;background:#5b5147}
.companies .company-card__image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,25,21,.56),transparent 72%);pointer-events:none}
.companies .company-card--skills .company-card__image::after{background:linear-gradient(90deg,rgba(80,62,54,.75),transparent 73%)}
.companies .company-card__image>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.companies .image-index{position:absolute;z-index:1;top:clamp(1rem,2vw,1.75rem);left:clamp(1rem,2.5vw,2.5rem);padding:0;background:none;color:#fff;font:600 clamp(.7rem,.92vw,.9rem)/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.17em;text-transform:uppercase}
.companies .company-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:clamp(1.6rem,2.7vw,2.75rem)}
.companies .company-logo{display:block;max-width:100%;height:92px;margin:0 0 1.5rem;object-fit:contain;object-position:left center}
.companies .company-card--leap .company-logo{width:230px}.companies .company-card--lab17 .company-logo{width:min(190px,100%);height:108px}.companies .company-card--skills .company-logo{width:300px}
#companies .company-card h3{min-height:2.2em;margin:0 0 1rem;font-size:clamp(1.55rem,2.2vw,2.35rem)!important;font-weight:600;line-height:1.08;letter-spacing:-.045em}
#companies .company-card__body>p{max-width:44ch;margin:0;color:#5c605e;font-size:clamp(.95rem,1.02vw,1.12rem)!important;line-height:1.45}
.companies .tag-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 2rem;padding:0;list-style:none}
.companies .tag-list li{padding:.42rem .65rem;border:1px solid color-mix(in srgb,var(--company-accent) 48%,#fff);border-radius:0!important;background:transparent;color:#50514f;font-size:.69rem;line-height:1.25}
.companies .company-card .text-link{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding:.8rem 0 .65rem;border-bottom:1px solid #b8b6b0;color:#202422;font-size:.84rem;font-weight:600;text-decoration:none;transition:border-color .3s ease}
.companies .company-card__arrow{display:grid;flex:0 0 2rem;width:2rem;height:2rem;place-items:center;border:1px solid currentColor;border-radius:50%!important;font-size:1.05rem;font-weight:400;line-height:1;transition:transform .3s ease}
.companies .company-card .text-link:hover{border-color:var(--company-accent)}
.companies .company-card .text-link:hover .company-card__arrow{transform:translateX(3px)}
.companies .company-card .text-link:focus-visible{outline:2px solid var(--company-accent);outline-offset:4px}
@media(max-width:1199px){
  .companies .company-grid--equal{gap:clamp(1rem,2.4vw,2rem)}
  .companies .company-card__body{padding:clamp(1.25rem,2.4vw,2rem)}
  #companies .company-card h3{font-size:clamp(1.45rem,2.3vw,2rem)!important}
  .companies .tag-list li{font-size:.63rem}
}
@media(max-width:900px){
  .companies__header{text-align:left}
  .companies__eyebrow{justify-content:flex-start}
  .companies__connector{height:auto;margin:2rem 0}
  .companies__connector-lines,.companies__dot{display:none}
  .companies__connection-label{position:static;display:block;width:auto;min-height:0;padding:.75rem 1rem;text-align:left;transform:none}
  #companies .companies__connection-label{white-space:normal}
  .companies .company-grid--equal{grid-template-columns:1fr;gap:1.5rem}
  .companies .company-card__body{padding:clamp(1.5rem,5vw,2.5rem)}
  #companies .company-card h3{min-height:0;font-size:clamp(1.75rem,5vw,2.25rem)!important}
  .companies .company-card__image{height:auto;aspect-ratio:3.55/1}
}
@media(max-width:480px){
  .companies__eyebrow{font-size:.75rem}
  #companies h2{font-size:var(--section-title-size)!important}
  .companies .image-index{font-size:.6rem}
  .companies .company-card__body{padding:1.5rem}
  .companies .company-logo{height:75px;margin-bottom:1.2rem}
  .companies .company-card--leap .company-logo{width:200px}.companies .company-card--lab17 .company-logo{width:min(160px,100%);height:95px}.companies .company-card--skills .company-logo{width:250px}
}
@media(prefers-reduced-motion:reduce){.companies .company-card__image>img,.companies .company-card__arrow,.companies .company-card .text-link{transition:none}}

/* Share content tracks across the three side-by-side organisation cards. */
@media(min-width:901px){
  @supports(grid-template-rows:subgrid){
    .companies .company-grid--equal{row-gap:0}
    .companies .company-card{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0}
    .companies .company-card__body{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0}
    .companies .company-card__body>*{align-self:start}
    #companies .company-card h3{min-height:0}
    .companies .company-card .text-link{align-self:end;margin-top:0}
  }
}

@supports (grid-template-rows:subgrid){.portrait-strip figure{grid-row:span 3}.portrait-strip figcaption{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}.portrait-strip figcaption strong{font-weight:600}}

.expertise-panel{border-top:3px solid var(--red);padding:2rem;background:#e9e7e1}
.expertise-panel>.eyebrow{color:var(--muted)}
.expertise-panel>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;text-decoration:none;border-top:1px solid var(--line);padding:1.4rem 0}
.expertise-panel>a>span{font-size:.65rem;color:var(--muted)}
.expertise-panel strong{grid-column:1;font-size:clamp(1.3rem,2vw,2rem);font-weight:500;letter-spacing:-.03em}
.expertise-panel b{grid-column:2;grid-row:1/3;align-self:center;font-size:1.5rem;font-weight:400;color:var(--red)}
.expertise-panel>a:hover strong{text-decoration:underline;text-underline-offset:5px}

/* LAB17 impact pillars: a single, editorial field rather than a set of cards. */
.pillars{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(7.5rem,10vw,10rem);background:linear-gradient(180deg,#26342d 0,#102019 14%,#102019 86%,#1a2b23 100%);color:#f7f3e9}
.pillars:before,.pillars:after{content:"";position:absolute;z-index:-1;border:1px solid rgba(197,213,189,.12);border-radius:50%;pointer-events:none}.pillars:before{width:clamp(33rem,58vw,72rem);aspect-ratio:1;right:-31%;top:-25%}.pillars:after{width:clamp(28rem,45vw,56rem);aspect-ratio:1;left:-32%;bottom:-48%}
.pillars__layout{grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:clamp(4.5rem,7vw,6.5rem);align-items:start}
.pillars__intro{position:sticky;top:clamp(7rem,11vw,9rem);align-self:start}.pillars .eyebrow{margin-bottom:1.8rem;color:#bed0b7;font-size:.66rem;letter-spacing:.17em}.pillars h2{max-width:9ch;margin:0;color:#faf6ed;font-size:clamp(4rem,5.35vw,4.9rem);font-weight:400;line-height:.99;letter-spacing:-.065em}.pillars h2 em{color:#e3ead9}.pillars__intro>p:not(.eyebrow){max-width:35ch;margin:clamp(2rem,3vw,2.5rem) 0 0;color:#cbd4c8;font-size:clamp(.95rem,1.15vw,1.06rem);line-height:1.65}
.pillars__photo{margin-top:clamp(2.5rem,4vw,3.5rem)}.pillars__photo-stage{position:relative;overflow:hidden;aspect-ratio:3/2;border-radius:12px;background:#1b2d24}.pillars__photo-stage img{position:absolute;inset:0;width:100%;max-width:none;height:100%;object-fit:cover;object-position:center;opacity:0;transform:translateY(6px);transition:opacity .45s var(--ease),transform .45s var(--ease)}.pillars__photo-stage img.is-active{opacity:1;transform:none}.pillars__photo figcaption{margin-top:.85rem;color:#aebcab;font:500 .64rem/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.035em}
.pillar-list{border-top:1px solid rgba(189,208,181,.3);align-self:start}.pillar-list details{border-bottom:1px solid rgba(189,208,181,.3)}.pillar-list summary{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:1.1rem;min-height:clamp(4.7rem,6vw,5.6rem);padding:1rem 0;cursor:pointer;list-style:none;color:#f7f3e9;font-size:clamp(1.45rem,2.05vw,2rem);font-weight:500;letter-spacing:-.04em;line-height:1.1}.pillar-list summary::-webkit-details-marker{display:none}.pillar-list__number{color:#b9c9b3;font:500 .68rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.pillar-toggle{position:relative;display:grid;width:2rem;height:2rem;place-items:center;border:1px solid rgba(213,225,207,.65);border-radius:50%;transition:border-color .3s var(--ease),background .3s var(--ease)}.pillar-toggle:before,.pillar-toggle:after{content:"";position:absolute;width:.64rem;height:1px;background:currentColor;transition:transform .3s var(--ease)}.pillar-toggle:after{transform:rotate(90deg)}.pillar-list details[open] .pillar-toggle{border-color:#dce9d5;background:#dce9d5;color:#193126}.pillar-list details[open] .pillar-toggle:after{transform:rotate(0)}
.pillar-list__panel{margin:0 0 1.2rem;padding:clamp(1.6rem,2.5vw,2.2rem);border:1px solid rgba(189,208,181,.3);border-radius:2px;background:rgba(5,16,11,.2);animation:pillar-panel-arrives .35s var(--ease) both}.pillar-list__panel p{max-width:42ch;margin:0;color:#d2dbcf;font-size:clamp(.94rem,1.05vw,1.05rem);line-height:1.6}.programme-areas{display:grid;gap:.6rem;margin:1.35rem 0 1.45rem;padding:0;list-style:none;color:#c3d0c0;font-size:.78rem;line-height:1.5}.programme-areas li{position:relative;padding-left:1rem}.programme-areas li:before{content:"";position:absolute;left:0;top:.48rem;width:.28rem;height:.28rem;border-radius:50%;background:#b9c9b3}.pillar-list .text-link{gap:1.15rem;padding:0 0 .4rem;color:#f7f3e9;font-size:.72rem;font-weight:600;border-bottom:1px solid currentColor}.pillar-list .text-link:hover{color:#c9dabf}
@keyframes pillar-panel-arrives{from{opacity:0;transform:translateY(-.45rem)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.pillars{padding-block:clamp(5rem,14vw,7rem)}.pillars__layout{grid-template-columns:1fr;gap:3.5rem}.pillars__intro{position:relative;top:auto}.pillars h2{font-size:clamp(3.45rem,12vw,4.7rem)}.pillars__photo{max-width:none}.pillars__photo-stage{aspect-ratio:1.42}.pillar-list summary{grid-template-columns:2.4rem minmax(0,1fr) auto;font-size:clamp(1.35rem,5.5vw,1.8rem)}.pillar-list__panel{padding:1.35rem}.pillar-list__panel p{font-size:.93rem}.programme-areas{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){.pillars__photo-stage img,.pillar-toggle,.pillar-toggle:before,.pillar-toggle:after{transition:none}.pillar-list__panel{animation:none}}

/* LAB17 uses the shared service-card system so every impact pillar remains visible and comparable. */
.pillars{padding-block:clamp(5rem,8vw,7.5rem);background:#f4f2ed;color:var(--ink)}
.pillars:before,.pillars:after{display:none}
.pillars__layout{display:block}
.pillars__intro{position:static;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.65fr);gap:clamp(2rem,8vw,9rem);align-items:end}
.pillars h2{max-width:11ch;color:var(--ink)}
.pillars__intro>p:not(.eyebrow){max-width:34ch;margin:0;color:var(--muted)}
.pillars__cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:clamp(3rem,5vw,4.5rem);padding:1px;background:var(--line)}
.pillars .service-card{min-height:31rem}
.pillars .service-card p{color:var(--charcoal);opacity:.78}
@media(max-width:1100px){.pillars__cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.pillars__intro{grid-template-columns:1fr;gap:1.25rem}.pillars__cards{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2.5rem}.pillars .service-card{min-height:0}}
@media(max-width:480px){.pillars__cards{grid-template-columns:1fr}}

/* Keep technical markers compact without shrinking the content beside them. */
.pillar-list summary>.pillar-list__title{font:inherit;color:inherit;letter-spacing:inherit}
.pillar-list__panel p,.pillar-list .programme-areas{font-size:1rem;line-height:1.58}
.pillar-list .text-link{font-size:clamp(.9rem,1vw,1rem)}
@media(max-width:800px){.pillar-list__panel p,.pillar-list .programme-areas{font-size:1rem}.pillar-list .text-link{font-size:.9rem}}

/* Shared editorial scale: display type belongs to hero moments only. */
:root{--type-section:clamp(2.25rem,3.4vw,3.75rem);--type-card:clamp(1.25rem,1.6vw,1.75rem);--type-body:1rem}

/* Type hierarchy: hero display type is distinct; every other title and paragraph shares one calm scale. */
main h2{font-size:var(--type-section)!important;line-height:.98;letter-spacing:-.055em}
main h3,.pillar-list summary,.expertise-panel strong,.contact-routes strong{font-size:var(--type-card)!important;line-height:1.05}
main p:not(.eyebrow):not(.section-kicker):not(.section-intro-copy):not(.development__progress):not(.company-card__relationship):not(.process-owner):not(.contact-note):not(.development__statement-lead):not(.development__outcome-label):not(.development__outcome-copy){font-size:var(--type-body)!important;line-height:1.58}

/* Service directory data stays in the DOM for the navigation dialogs. */
.service-directory--source{display:none}
.service-directory{margin:0;border:0;font-size:inherit}
.service-directory summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0;cursor:pointer;font-size:var(--type-card);font-weight:500;letter-spacing:-.035em;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);transition:color .25s var(--ease),padding-inline .25s var(--ease)}
.service-directory summary::-webkit-details-marker{display:none}
.service-directory__action{display:inline-flex;align-items:center;gap:.65rem;color:var(--red);font:600 .62rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.service-directory__action svg{width:1rem;height:1rem;transition:transform .25s var(--ease)}
.service-directory summary:hover{color:var(--red);padding-inline:.35rem}.service-directory summary:hover .service-directory__action svg{transform:translate(.2rem,-.2rem)}
.service-directory[open]{display:flow-root}
.service-directory+.service-directory{margin-top:1.5rem}
.service-directory__cards{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin-block:clamp(3rem,5vw,4.5rem);padding:1px!important;background:var(--line)}
.service-directory--skills .service-directory__cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-directory--lab17{margin-top:1.5rem}
.service-directory--lab17 .service-directory__cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(3rem,5vw,4.5rem)}
.service-card{position:relative;display:grid;grid-template-rows:clamp(9rem,13vw,12rem) minmax(0,1fr);min-width:0;background:var(--paper-bright);color:var(--ink);text-decoration:none;transition:transform .3s var(--ease),background .3s var(--ease)}
.service-card>img{width:100%;height:100%;object-fit:cover;filter:saturate(.88);transition:transform .5s var(--ease),filter .3s var(--ease)}
.service-card__content{display:flex;min-height:0;flex-direction:column;align-items:flex-start;padding:clamp(1.15rem,1.75vw,1.6rem)}
.service-card h3{margin:0;font-size:var(--type-card)!important;line-height:1.06}
.service-card p{margin:1rem 0 1.35rem;color:var(--charcoal);opacity:.78}
.service-card b{display:inline-flex;align-items:center;gap:.8rem;margin-top:auto;padding-bottom:.35rem;border-bottom:1px solid currentColor;font-size:.72rem;font-weight:700}
.service-card b span{font-size:1rem;color:var(--red)}
.service-card:hover{z-index:1;transform:translateY(-.35rem);background:#fff}
.service-card:hover>img{filter:saturate(1);transform:scale(1.035)}
.service-directory-modal{position:fixed;inset:auto 0 0;width:100%;height:min(88dvh,56rem);max-width:none;max-height:calc(100dvh - env(safe-area-inset-top) - 1rem);margin:0;padding:0;overflow:visible;border:0;background:transparent;color:var(--ink)}
.service-directory-modal::backdrop{background:rgba(17,19,21,.48);backdrop-filter:blur(3px)}
.service-directory-modal[open]{animation:service-directory-modal-arrives .42s cubic-bezier(.2,.75,.25,1) both}
.service-directory-modal__surface{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden;border:1px solid rgba(17,19,21,.16);border-bottom:0;background:rgba(255,254,250,.97);box-shadow:0 -1rem 4rem rgba(17,19,21,.22);backdrop-filter:blur(16px)}
.service-directory-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem max(var(--gutter),calc((100vw - 76rem)/2));border-bottom:1px solid var(--line);background:rgba(255,254,250,.96)}
.service-directory-modal__header .eyebrow{margin:0 0 .35rem}.service-directory-modal__header h2{margin:0;font-size:clamp(1.75rem,3vw,2.75rem);font-weight:500;line-height:1;letter-spacing:-.055em}
.service-directory-modal__close{display:grid;flex:0 0 auto;width:2.75rem;height:2.75rem;place-items:center;padding:0;border:1px solid rgba(17,19,21,.25);background:#fff;color:var(--ink);cursor:pointer}.service-directory-modal__close:hover{background:#f3f0e9}.service-directory-modal__close svg{width:1.2rem;height:1.2rem;stroke-width:2}
.service-directory-modal__body{min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:clamp(1.25rem,3vw,2.5rem) max(var(--gutter),calc((100vw - 76rem)/2)) clamp(2rem,5vw,4rem)}
.service-directory-modal__organisations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.6rem,1.5vw,1rem)}
.service-directory-modal__organisation{display:flex;min-width:0;min-height:7rem;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;cursor:pointer}.service-directory-modal__organisation[aria-pressed="true"]{border-color:var(--red);background:#fff7f6;box-shadow:inset 0 3px var(--red)}.service-directory-modal__organisation img{width:auto;max-width:100%;height:2.75rem;object-fit:contain;object-position:left center}.service-directory-modal__organisation span{font-size:.78rem;font-weight:650}.service-directory-modal__organisation:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.service-directory-modal__selection{margin:clamp(1.75rem,3vw,2.5rem) 0 1rem;font-size:clamp(1.4rem,2vw,2rem);font-weight:500;letter-spacing:-.04em}
.service-directory-modal__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:clamp(.85rem,1.5vw,1.35rem)}
.service-directory-modal__status{grid-column:1/-1;margin:0;color:var(--muted)}
.service-directory-modal__cards>a:not(.service-modal-card){display:inline-flex;align-items:center;min-height:3rem;color:var(--red);text-underline-offset:4px}
@keyframes service-directory-modal-arrives{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(max-width:1100px){.service-directory__cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.service-directory__cards{grid-template-columns:repeat(2,minmax(0,1fr));margin-block:2.5rem}.service-card{grid-template-rows:9rem minmax(0,1fr)}}
@media(max-width:480px){.service-directory__cards{grid-template-columns:1fr}.service-card{grid-template-columns:42% 1fr;grid-template-rows:minmax(10.5rem,auto)}.service-card__content{padding:1.25rem}.service-card p{margin:.75rem 0 1rem}.service-card>img{grid-row:1}}
@media(max-width:700px){.service-directory summary{padding-block:1.1rem}.service-directory__action{font-size:.56rem}.service-directory-modal{height:92dvh;max-height:calc(100dvh - env(safe-area-inset-top) - .5rem)}.service-directory-modal__header{padding-block:1rem}.service-directory-modal__organisations{grid-auto-columns:minmax(8.5rem,1fr);grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x proximity}.service-directory-modal__organisation{min-height:6.5rem;scroll-snap-align:start}.service-directory-modal__cards{grid-template-columns:1fr;gap:1rem}}
@media(prefers-reduced-motion:reduce){.service-directory summary,.service-directory__action svg,.service-directory-modal[open]{animation:none;transition:none}}

/* Persistent LEAP launch tag and bottom-sheet details drawer. */
.sustainability-launcher__trigger{position:fixed;z-index:42;left:var(--gutter,1.5rem);bottom:calc(1.25rem + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:min(18rem,calc(100vw - 2rem));min-height:4.25rem;padding:.8rem 1rem;border:1px solid rgba(17,19,21,.24);background:rgba(255,254,250,.96);color:var(--ink);box-shadow:0 8px 28px rgba(17,19,21,.15);text-align:left;cursor:pointer;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.sustainability-launcher__copy{display:grid;gap:.32rem}.sustainability-launcher__eyebrow{margin:0;color:var(--red);font-size:.61rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.sustainability-launcher__title{font-size:.88rem;font-weight:600;letter-spacing:-.025em}.sustainability-launcher__arrow{display:grid;flex:0 0 2rem;height:2rem;place-items:center;border-left:1px solid rgba(17,19,21,.16);font-size:1rem}
.sustainability-launcher__trigger:hover .sustainability-launcher__arrow{color:var(--red);transform:translate(2px,-2px)}.sustainability-launcher__trigger:focus-visible,.sustainability-drawer a:focus-visible,.sustainability-drawer__close:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.sustainability-drawer{position:fixed;inset:auto 0 0;width:100%;height:min(88dvh,56rem);max-width:none;max-height:calc(100dvh - env(safe-area-inset-top) - 1rem);margin:0;padding:0;overflow:visible;border:0;background:transparent;color:var(--ink);pointer-events:auto}
.sustainability-drawer::backdrop{background:rgba(17,19,21,.42);backdrop-filter:blur(3px)}.sustainability-drawer[open]{animation:sustainability-drawer-in .42s cubic-bezier(.2,.75,.25,1) both}.sustainability-launcher.is-closing .sustainability-drawer[open]{animation:sustainability-drawer-out .32s cubic-bezier(.65,0,.8,.3) both}
.sustainability-drawer__surface{height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border:1px solid rgba(17,19,21,.16);border-bottom:0;background:var(--paper-bright,#fffefa);box-shadow:0 -1rem 4rem rgba(17,19,21,.22)}
.sustainability-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1.25rem,4vw,4rem);border-bottom:1px solid var(--line,rgba(17,19,21,.14))}.sustainability-drawer__close{display:grid;width:2.75rem;height:2.75rem;place-items:center;padding:0;border:1px solid rgba(17,19,21,.28);background:transparent;color:var(--ink);cursor:pointer}.sustainability-drawer__close svg{width:1.1rem;height:1.1rem}
.sustainability-drawer__content{width:min(100%,76rem);margin:0 auto;padding:clamp(1.6rem,5vw,4.5rem) clamp(1.25rem,4vw,4rem) clamp(2rem,6vw,5rem)}.sustainability-drawer__logo{display:block;width:min(100%,26rem);height:auto;margin:0 0 clamp(1.25rem,3vw,2rem);object-fit:contain;object-position:left center}.sustainability-drawer__suite{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1rem;color:var(--red);font-size:.78rem;font-weight:650;text-decoration:none}.sustainability-drawer__suite:hover{text-decoration:underline;text-underline-offset:4px}.sustainability-drawer__content h2{max-width:19ch;margin:0 0 1rem;font-size:clamp(2.1rem,5vw,4.5rem);font-weight:450;line-height:.99;letter-spacing:-.06em}.sustainability-drawer__content>p{max-width:58ch;margin:0 0 1.6rem;color:var(--muted,#53585a);font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.6}.sustainability-drawer__cta{min-height:3.5rem;padding:.95rem 1.25rem;border-radius:0;text-decoration:none}
@keyframes sustainability-drawer-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sustainability-drawer-out{from{transform:translateY(0)}to{transform:translateY(100%)}}
@media(max-width:600px){.sustainability-launcher__trigger{right:1rem;bottom:calc(.75rem + env(safe-area-inset-bottom));left:1rem;width:auto;min-height:3.8rem}.sustainability-drawer{height:92dvh;max-height:calc(100dvh - env(safe-area-inset-top) - .5rem)}.sustainability-drawer__content h2{max-width:15ch}}
@media(prefers-reduced-motion:reduce){.sustainability-launcher__trigger,.sustainability-launcher__arrow,.sustainability-drawer[open],.sustainability-launcher.is-closing .sustainability-drawer[open]{animation:none!important;transition:none!important}}

/* Match the section-shell left and right edges, including the centered max-width gutter. */
.sustainability-launcher{position:fixed;z-index:42;right:max(var(--gutter,24px),calc((100vw - var(--max,1380px))/2));bottom:calc(1.25rem + env(safe-area-inset-bottom));left:max(var(--gutter,24px),calc((100vw - var(--max,1380px))/2));display:flex;pointer-events:none}
.sustainability-launcher__trigger{position:static;inset:auto;width:min(18rem,100%);pointer-events:auto}
.sustainability-launcher__trigger{transition:transform .3s cubic-bezier(.2,.75,.25,1),opacity .25s ease,visibility 0s}
.sustainability-launcher.is-scroll-hidden .sustainability-launcher__trigger{transform:translateY(calc(100% + 2rem));opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s cubic-bezier(.2,.75,.25,1),opacity .25s ease,visibility 0s .3s}
@media(max-width:600px){.sustainability-launcher{right:var(--gutter,24px);bottom:calc(.75rem + env(safe-area-inset-bottom));left:var(--gutter,24px)}.sustainability-launcher__trigger{width:100%;max-width:none}}

/* Comparison route: a second horizontal journey makes the service handoffs explicit. */
.relationship-journey{position:relative;min-height:510vh;background:#f4f2ed;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.relationship-journey__sticky{position:sticky;top:0;display:grid;height:100dvh;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding-block:clamp(5.35rem,6vw,6.25rem) 1.25rem}.relationship-journey__header{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(17rem,.6fr) auto;gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(1.25rem,2.25vw,2rem)}.relationship-journey__header h2{max-width:12ch;margin:0;text-wrap:balance}.relationship-journey__header>p:not(.relationship-journey__progress){max-width:34ch;margin:0;color:var(--muted)}.relationship-journey__progress{display:flex;align-items:baseline;gap:.35rem;margin:0;font:600 .65rem/1 ui-monospace,monospace;letter-spacing:.12em;color:var(--muted)}.relationship-journey__progress span{color:var(--red);font-size:.92rem}.relationship-journey__stage{min-width:0;min-height:0;overflow:hidden}.relationship-journey__track{display:flex;align-items:stretch;gap:clamp(1rem,2vw,2rem);width:max-content;height:100%;padding-inline:var(--gutter);will-change:transform}.relationship-card{position:relative;display:grid;grid-template-columns:clamp(3.5rem,5vw,5.5rem) minmax(22rem,1fr);width:min(70vw,62rem);min-height:0;overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,254,250,.92),rgba(244,242,237,.86));box-shadow:0 1.5rem 4rem rgba(17,19,21,.05)}.relationship-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--red)}.relationship-card--people:before{background:#6c9366}.relationship-card--community:before{background:#c49b54}.relationship-card__index{display:grid;place-items:center;align-self:stretch;padding-top:1rem;border-right:1px solid var(--line);color:var(--red);font:600 .7rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}.relationship-card--people .relationship-card__index{color:#527b50}.relationship-card--community .relationship-card__index{color:#a77c35}.relationship-card__body{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(1.75rem,3.25vw,3.5rem)}.relationship-card .eyebrow{margin-bottom:clamp(.85rem,1.5vw,1.35rem)}.relationship-card h3{max-width:12ch;margin:0}.relationship-card__body>p:not(.eyebrow):not(.relationship-card__handoff){max-width:35ch;margin:1.2rem 0 0;color:var(--charcoal)}.relationship-card__handoff{max-width:38ch;margin:clamp(1.75rem,3vw,2.5rem) 0 0;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem;line-height:1.5}.relationship-card__handoff span{display:block;margin-bottom:.45rem;color:var(--ink);font:600 .61rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase}.relationship-card .text-link{justify-content:space-between;width:min(100%,23rem);margin-top:clamp(1.25rem,2.25vw,2rem);font-size:.72rem}
@media(max-width:900px){.relationship-journey{min-height:0;padding-block:var(--section)}.relationship-journey__sticky{position:relative;height:auto;display:block;padding:0;overflow:visible}.relationship-journey__header{display:block;width:min(var(--max),calc(100% - var(--gutter)*2));margin:0 auto 2.5rem}.relationship-journey__header h2{max-width:12ch}.relationship-journey__header>p:not(.relationship-journey__progress){max-width:38ch;margin-top:1.25rem}.relationship-journey__progress{display:none}.relationship-journey__stage{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin}.relationship-journey__track{gap:1rem;width:max-content;height:auto;padding:0 var(--gutter) .75rem}.relationship-card{width:min(84vw,34rem);min-height:31rem;scroll-snap-align:start}.relationship-card__body{min-height:31rem;padding:2rem}}
@media(max-width:540px){.relationship-card{grid-template-columns:3.4rem minmax(0,1fr);width:calc(100vw - var(--gutter)*2);min-height:29rem}.relationship-card__body{min-height:29rem;padding:1.5rem}.relationship-card h3{max-width:14ch}.relationship-card__handoff{margin-top:1.4rem}.relationship-card .text-link{width:100%;gap:1rem}}
@media(prefers-reduced-motion:reduce){.relationship-journey__track{transform:none!important}}

/* Relationship stages use the same editorial image-and-copy rhythm as the first horizontal journey. */
.relationship-card{grid-template-columns:clamp(3.5rem,5vw,5.5rem) minmax(19rem,.94fr) minmax(21rem,1.06fr);width:min(78vw,66rem);background:var(--paper-bright)}
.relationship-card__image{min-width:0;overflow:hidden;background:#d9d6cc}
.relationship-card__image img{display:block;width:100%;height:100%;object-fit:cover}
.relationship-card__body{background:linear-gradient(145deg,#fffefa,#f6f3ec)}
.relationship-card--people .relationship-card__body{background:linear-gradient(145deg,#f7f5f0,#e5ebe5)}
.relationship-card--community .relationship-card__body{background:linear-gradient(145deg,#fffefa,#f5ebe4)}
@media(max-width:900px){.relationship-card{grid-template-columns:3.4rem minmax(0,1fr);grid-template-rows:13rem minmax(0,1fr);width:min(84vw,34rem);min-height:35rem}.relationship-card__index{grid-row:1/span 2}.relationship-card__image{grid-column:2;grid-row:1;min-height:13rem}.relationship-card__body{grid-column:2;grid-row:2;min-height:22rem;padding:2rem}}
@media(max-width:540px){.relationship-card{grid-template-columns:3.1rem minmax(0,1fr);grid-template-rows:11rem minmax(0,1fr);width:calc(100vw - var(--gutter)*2);min-height:33rem}.relationship-card__image{min-height:11rem}.relationship-card__body{min-height:22rem;padding:1.5rem}}

/* Connected delivery: one red route makes the group's operating logic legible at a glance. */
.ecosystem.process-section{position:relative;min-height:0;padding-block:clamp(7.5rem,10vw,10rem);background:linear-gradient(180deg,#f4f2ed 0,#faf8f3 100%);overflow:hidden}.ecosystem.process-section:after{content:"";position:absolute;left:50%;bottom:0;width:min(var(--max),calc(100% - var(--gutter)*2));height:2px;background:linear-gradient(90deg,transparent,var(--red) 70%,transparent);transform:translateX(-50%);opacity:.6}.ecosystem__inner{position:relative}.ecosystem__header{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(18rem,.58fr);column-gap:clamp(4rem,10vw,11rem);align-items:end}.ecosystem__header .eyebrow{grid-column:1/-1;margin-bottom:1.8rem}.ecosystem__header h2{max-width:11ch;margin:0;color:var(--ink);font-size:clamp(4rem,5.35vw,4.9rem);font-weight:400;line-height:.98;letter-spacing:-.065em}.ecosystem__header h2 span{display:block}.ecosystem__header h2 em{color:var(--red)}.ecosystem__header>p:last-child{max-width:35ch;margin:0;color:var(--charcoal);font-size:clamp(.95rem,1.1vw,1.05rem);line-height:1.63}
.ecosystem.process-section .process-steps .process-stage{animation:none}
.ecosystem__stage{position:relative;margin-top:clamp(5rem,8vw,7.5rem);min-height:31rem;padding:0}.process-route{position:absolute;z-index:0;inset:0;width:100%;height:300px;overflow:visible}.process-route__base,.process-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.process-route__base{stroke:rgba(17,19,21,.16);stroke-width:2}.process-line{stroke:var(--red);stroke-width:3;filter:drop-shadow(0 0 4px rgba(235,38,42,.14))}.process-steps{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1rem,2vw,1.8rem);height:auto;margin:0;padding:0;list-style:none}.process-steps:before,.process-steps:after{display:none}.process-stage{position:relative;display:block;min-width:0;min-height:0;padding:clamp(1.8rem,2.6vw,2.45rem);border:1px solid rgba(17,19,21,.13);background:rgba(255,254,250,.8);box-shadow:none;transition:transform .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease);will-change:transform,opacity}.process-stage:nth-child(1){margin-top:3.6rem}.process-stage:nth-child(2){margin-top:8.9rem}.process-stage:nth-child(3){margin-top:3.6rem;border-color:rgba(235,38,42,.34)}.process-stage:nth-child(4){margin-top:10.2rem}.process-stage:nth-child(5){margin-top:3.2rem;border-color:rgba(235,38,42,.44)}.process-node{display:grid;width:3rem;height:3rem;margin:0 0 clamp(1.5rem,2.5vw,2.25rem);place-items:center;border:1px solid var(--red);border-radius:50%;background:#fffefa;color:var(--red);font:600 .67rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;transition:background .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease)}.stage-05 .process-node{background:var(--red);color:#fffefa}.process-owner{margin:0 0 .75rem!important;color:var(--red)!important;font:700 .63rem/1.35 ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.12em;text-transform:uppercase}.process-stage h3{margin:0 0 .9rem;color:var(--ink);font-size:clamp(2rem,2.65vw,2.7rem);font-weight:500;line-height:.96;letter-spacing:-.055em;text-transform:none}.process-stage p:not(.process-owner){margin:0;color:var(--charcoal);font-size:clamp(.92rem,1.05vw,1rem);line-height:1.58}@media(hover:hover){.process-stage:hover{z-index:2;transform:translateY(-5px);border-color:rgba(235,38,42,.52);background:#fffefa}.process-stage:hover .process-node{background:var(--red);color:#fffefa;box-shadow:0 0 0 6px rgba(235,38,42,.08)}}
@media(max-width:800px){.ecosystem.process-section{padding-block:clamp(5.5rem,14vw,7rem)}.ecosystem__header{display:block}.ecosystem__header .eyebrow{margin-bottom:1.2rem}.ecosystem__header h2{font-size:clamp(3.45rem,11.8vw,4.7rem)}.ecosystem__header>p:last-child{margin-top:1.6rem}.ecosystem__stage{min-height:0;margin-top:3.8rem;padding:0 0 0 1.25rem}.process-route{display:none}.process-steps{display:grid;grid-template-columns:1fr;gap:1.1rem}.process-steps:before{content:"";display:block;position:absolute;z-index:0;top:1.5rem;bottom:1.5rem;left:0;width:2px;height:auto;background:var(--red)}.process-stage,.process-stage:nth-child(n){display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:1.15rem;margin:0;padding:1.45rem 0 1.45rem 1.35rem;border:0;border-top:1px solid rgba(17,19,21,.14);background:transparent}.process-stage:last-child{border-bottom:1px solid rgba(17,19,21,.14)}.process-node{grid-row:1/4;width:2.7rem;height:2.7rem;margin:0;align-self:start;background:#fffefa}.process-stage h3{margin:0 0 .65rem;font-size:clamp(1.9rem,8vw,2.55rem)}.process-owner{margin-bottom:.55rem!important}.process-stage p:not(.process-owner){font-size:.9rem;max-width:37ch}.stage-05 .process-node{background:var(--red);color:#fffefa}}
@media(prefers-reduced-motion:reduce){.process-line{stroke-dasharray:none!important;stroke-dashoffset:0!important}.process-stage{opacity:1!important;visibility:visible!important;transform:none!important}}

/* The overview uses a quiet linear route before the work-in-action stories. */
.ecosystem--overview:after{display:none}.ecosystem--overview .ecosystem__header{grid-template-columns:minmax(0,1.5fr) minmax(19rem,.55fr);column-gap:clamp(3rem,8vw,8rem)}.ecosystem--overview .ecosystem__header h2{max-width:21ch;font-size:clamp(3.2rem,4.25vw,4.5rem);line-height:1.02;letter-spacing:-.06em;text-wrap:balance}.ecosystem--overview .ecosystem__header>p:last-child{max-width:31ch;font-size:.95rem;line-height:1.62}.ecosystem--overview .ecosystem__stage{min-height:0;margin-top:clamp(3.5rem,5vw,5rem)}.ecosystem--overview .process-route{top:0;bottom:auto;height:4rem}.ecosystem--overview .process-steps{gap:clamp(1rem,3vw,3rem);padding-top:.1rem}.ecosystem--overview .process-stage,.ecosystem--overview .process-stage:nth-child(n){margin:0;padding:0;border:0;background:transparent;box-shadow:none}.ecosystem--overview .process-node{width:2.5rem;height:2.5rem;margin:0 0 2rem;background:#f4f2ed;font-size:.6rem}.ecosystem--overview .process-stage h3{margin:0 0 1rem;font-size:clamp(1.2rem,1.55vw,1.45rem);font-weight:500;line-height:1.08;letter-spacing:-.04em}.ecosystem--overview .process-stage p:not(.process-owner){max-width:19ch;font-size:.8rem;line-height:1.65}.ecosystem--overview .stage-05 .process-node{background:var(--red);color:#fff}
@media(max-width:800px){.ecosystem--overview .ecosystem__stage{margin-top:3rem;padding-left:1.25rem}.ecosystem--overview .process-steps{gap:0;padding:0}.ecosystem--overview .process-stage,.ecosystem--overview .process-stage:nth-child(n){grid-template-columns:3rem minmax(0,1fr);padding:1.25rem 0 1.25rem 1.25rem}.ecosystem--overview .process-node{width:2.5rem;height:2.5rem;margin:0}.ecosystem--overview .process-stage h3{margin:0 0 .55rem}.ecosystem--overview .process-stage p:not(.process-owner){max-width:34ch}}

/* Isolated modal cards do not inherit the public catalogue card system. */
.service-modal-card{position:relative;display:flex;align-self:start;flex-direction:column;min-width:0;height:auto;overflow:visible;border:1px solid var(--line);background:var(--paper-bright);color:var(--ink);text-decoration:none}
.service-modal-card__image{display:block;flex:none;width:100%;height:clamp(10rem,14vw,12rem);object-fit:cover;filter:saturate(.88)}
.service-modal-card__body{display:flex;flex:none;min-height:14rem;flex-direction:column;align-items:flex-start;padding:clamp(1.25rem,2vw,1.75rem);background:var(--paper-bright);color:var(--ink);visibility:visible;opacity:1}
.service-modal-card h3{margin:0;color:var(--ink);font-size:clamp(1.3rem,2vw,1.75rem)!important;font-weight:500;line-height:1.06;letter-spacing:-.045em}
.service-modal-card p{margin:.85rem 0 1.25rem;color:var(--charcoal);font-size:1rem!important;line-height:1.55;opacity:.82}
.service-modal-card__action{display:inline-flex;align-items:center;gap:.75rem;margin-top:auto;padding-bottom:.35rem;border-bottom:1px solid currentColor;color:var(--ink);font-size:.72rem;font-weight:700}.service-modal-card__action span{color:var(--red);font-size:1rem}
.service-modal-card:hover,.service-modal-card:focus-visible{border-color:var(--red);outline:none}.service-modal-card:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(max-width:700px){.service-modal-card__image{height:10rem}.service-modal-card__body{min-height:13rem;padding:1.25rem}.service-modal-card h3{font-size:1.45rem!important}.service-modal-card p{margin:.75rem 0 1rem}}

/* Shared chapter rhythm: all outer spacing resolves from the 4px scale. */
.development__directory{padding-block:var(--section-compact)}.ecosystem.process-section{padding-block:var(--section)}

/* Lesego update pass: keep the existing editorial system, add LAB17 warmth and make the new content blocks responsive. */
.site-header__inner .brand img{width:clamp(148px,13vw,210px);height:clamp(56px,5vw,76px)}
.hero{background:radial-gradient(circle at 82% 16%,rgba(244,205,66,.28),transparent 25%),linear-gradient(125deg,#fff7f0 0%,#f7dbe2 53%,#f5c94e 100%);color:var(--ink)}
.hero .eyebrow,.hero__summary,.hero__description,.hero__bottom,.hero__bottom a{color:var(--ink)}.hero .eyebrow{color:var(--red)}.hero h1 em{color:var(--red)}.hero__photo{box-shadow:1.2rem 1.2rem 0 rgba(244,205,66,.8)}.hero__stamp{background:linear-gradient(145deg,var(--red),#f1c743);color:#fff}.hero__photo:after{background:linear-gradient(transparent,#3b1726cc)}
.development__header{align-items:start}.development__header>p:not(.development__progress){max-width:42ch}.development__intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 2rem;max-width:54rem;margin-top:1.25rem}.development__intro p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}
.people-teaser{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.expertise-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.expertise-panel .eyebrow{grid-column:1/-1}.expertise-panel>a{min-width:0}.contact{background:linear-gradient(135deg,#3d3b34 0%,#eb262a 100%)}.contact-logos{display:flex;align-items:center;gap:1.25rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.35)}.contact-logos img{width:auto;height:44px;max-width:160px;padding:.55rem .75rem;background:#fff;object-fit:contain;filter:none}
.journey-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;min-height:230px;padding:2rem;background:linear-gradient(135deg,#f6d5df,#f5cf5a);align-items:end}.journey-visual span{padding:1rem;background:rgba(255,255,255,.78);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.about-journey{border-top:1px solid var(--line)}.about-journey .about-section-top{margin-bottom:2rem}.about-journey .about-section-intro{max-width:390px;color:var(--charcoal)}.about-purpose{scroll-margin-top:100px}
@media(max-width:900px){.development__header{align-items:start}.development__intro{grid-template-columns:1fr}.people-teaser{grid-template-columns:1fr}.expertise-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-logos{flex-wrap:wrap}}
@media(max-width:540px){.site-header__inner .brand img{width:120px;height:52px}.hero__photo{box-shadow:.7rem .7rem 0 rgba(244,205,66,.8)}.expertise-panel{grid-template-columns:1fr}.journey-visual{grid-template-columns:1fr;min-height:0}.contact-logos img{max-width:95px}}

/* The impact cards layer on scroll; Services owns its separate horizontal journey. */
.development{--development-display:clamp(3.5rem,7.2vw,8rem);--development-lead:clamp(1.3rem,1.9vw,1.9rem);--development-index-title:clamp(1.6rem,3.3vw,3.4rem);--development-outcome:clamp(1.5rem,2.8vw,3rem);min-height:0;background:#f4f2ed}
.services{position:relative;background:#e9e7e1;scroll-margin-top:5rem}.services__rail{position:relative;min-height:610vh}.services__sticky{position:sticky;top:0;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding-block:clamp(5.35rem,6vw,6.25rem) 1.25rem}
.development__header{min-height:0;grid-template-columns:minmax(0,1.2fr) minmax(19rem,.8fr);column-gap:clamp(3rem,8vw,10rem);align-items:end;margin:0 auto;padding-block:clamp(5rem,9vw,10rem) clamp(3rem,6vw,6rem)}
.services__topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(.75rem,1.5vw,1.25rem)}
.services__title{margin:0;font-size:clamp(1.15rem,1.65vw,1.65rem)!important;line-height:1;letter-spacing:-.04em}
.development__eyebrow,.development__index-number,.development__outcome-label{margin:0;font:600 .65rem/1.35 ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase}
.development__eyebrow{margin-bottom:clamp(2rem,4vw,4rem);color:var(--red)}
.development__title h2{max-width:none;margin:0;font-size:var(--development-display)!important;line-height:.9;letter-spacing:-.085em;text-wrap:balance}
.development__title h2 em{display:block;color:var(--red);font-style:normal}
.development__statement{padding-bottom:.35rem}.development__statement p{max-width:48ch;margin:0;color:var(--muted)}
.development__statement .development__statement-lead{max-width:27ch;margin-bottom:clamp(1.25rem,2.25vw,2rem);color:var(--ink);font-size:var(--development-lead)!important;line-height:1.2!important;letter-spacing:-.035em}
.development__index{padding-bottom:clamp(4rem,7vw,7rem)}
.development__index-row{display:grid;grid-template-columns:clamp(3rem,7vw,7rem) minmax(0,1.15fr) minmax(17rem,.85fr);gap:clamp(1rem,2.5vw,2.75rem);align-items:start;padding:clamp(2rem,4vw,4rem) clamp(.25rem,1vw,1rem);border-top:1px solid rgba(17,19,21,.25)}
.development__index-row:last-child{border-bottom:1px solid rgba(17,19,21,.25)}
.development__index-number{padding-top:.55rem;color:var(--red)}
.development__index-row h3{max-width:13ch;margin:0;font-size:var(--development-index-title)!important;font-weight:500;line-height:1.02;letter-spacing:-.055em}
.development__index-row p{max-width:43ch;margin:.15rem 0 0;color:var(--muted)}
.development__outcome{position:relative;display:grid;grid-template-columns:minmax(8rem,.35fr) minmax(0,1fr) auto;gap:clamp(1.5rem,4vw,4rem);align-items:start;margin-bottom:clamp(5rem,8vw,9rem);padding:clamp(2rem,5vw,5rem);background:#1d2822;color:#fff}
.development__outcome:before{position:absolute;top:0;left:0;width:clamp(3rem,8vw,8rem);height:4px;background:#f0c647;content:""}
.development__outcome-label{padding-top:.5rem;color:#f0c647!important}
.development__outcome p:not(.development__outcome-label){max-width:32ch;margin:0;color:#fff;font-size:var(--development-outcome)!important;line-height:1.2!important;letter-spacing:-.04em}
.development__outcome-mark{color:#f0c647;font-size:clamp(2rem,4vw,4rem);line-height:1}
.development__index{display:grid;gap:1.25rem;padding-bottom:clamp(5rem,8vw,8rem)}
.development__index-row{position:sticky;display:grid;grid-template-columns:minmax(3rem,.12fr) minmax(4rem,.16fr) minmax(0,1fr);gap:clamp(1rem,2vw,2rem);align-items:center;min-height:clamp(23rem,55vh,38rem);padding:clamp(1.75rem,4vw,4rem);overflow:hidden;border:1px solid rgba(17,19,21,.09);background:#f9f6f0;box-shadow:0 1.5rem 4rem rgba(17,19,21,.12)}
.development__index-row:nth-child(1){top:clamp(5rem,10vh,8rem);z-index:1;background:linear-gradient(125deg,#fffdf8 0%,#f7e8eb 100%)}
.development__index-row:nth-child(2){top:clamp(5rem,10vh,8rem);z-index:2;background:linear-gradient(125deg,#f7f8f3 0%,#e3e9df 100%)}
.development__index-row:nth-child(3){top:clamp(5rem,10vh,8rem);z-index:3;background:linear-gradient(125deg,#fffaf2 0%,#f5e7da 100%)}
.development__index-number{align-self:start;color:var(--red)}
.development__index-icon{display:grid;place-items:center;width:clamp(4rem,8vw,7rem);aspect-ratio:1;border:1px solid rgba(17,19,21,.18);border-radius:50%;color:var(--red)}
.development__index-icon svg{width:42%;height:42%;stroke-width:1.35}
.development__index-copy{width:min(100%,64ch);padding-inline:clamp(0rem,1.5vw,1.5rem)}
.development__index-copy h3{max-width:14ch;margin:0;font-size:var(--development-index-title)!important;font-weight:500;line-height:.98;letter-spacing:-.06em}
.development__index-copy p{max-width:60ch;margin:1rem 0 0;color:var(--muted)}
.services__rail .development__stage{margin-inline:auto;width:min(var(--max),100%)}

@media(min-width:901px) and (max-width:1200px){
  .development__index-row{grid-template-columns:3rem 3.5rem minmax(0,1fr);gap:clamp(.75rem,1.4vw,1.25rem);padding:2rem}
  .development__index-icon{width:3.5rem}
}

@keyframes development-card-arrive{from{opacity:.65;transform:translateY(2.5rem) scale(.965)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
  @supports(animation-timeline:view()) and (animation-range:entry 0% entry 100%){
    .development__index-row{animation:development-card-arrive auto linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  }
}

/* Homepage investor portraits follow the approved single-row presentation. */
.people-teaser{grid-template-columns:minmax(13rem,.72fr) minmax(0,1.7fr);gap:clamp(2rem,5vw,5rem)}
.investor-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:clamp(.75rem,1.5vw,1.35rem);min-width:0}
.investor-strip figure{min-width:0;margin:0}
.investor-strip img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;background:#e0ded6}
.investor-strip figcaption{display:grid;gap:.35rem;padding-top:.8rem}
.investor-strip figcaption strong{font-size:clamp(.82rem,1vw,1rem);font-weight:600;line-height:1.25}
.investor-strip figcaption span{color:var(--muted);font-size:clamp(.68rem,.82vw,.8rem);line-height:1.4}
@media(max-width:1050px){.people-teaser{grid-template-columns:1fr;gap:2rem}.investor-strip img{aspect-ratio:1/1}}
@media(max-width:600px){.investor-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.investor-strip figcaption strong{font-size:.9rem}.investor-strip figcaption span{font-size:.72rem}}

@keyframes development-intro-enter{from{opacity:.55;transform:translateY(1rem)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()) and (animation-range:entry 0% entry 100%){
    .development__title,.development__statement,.development__outcome{animation:development-intro-enter auto linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
  }
}

@media(max-width:900px){
  .services__rail{min-height:0}
  .services__sticky{position:relative;height:auto;display:block;padding-block:2rem 0;overflow:visible}
  .services__topline{width:min(var(--max),calc(100% - var(--gutter)*2));margin:0 auto 1.5rem}
  .services__title{font-size:1.4rem!important}
  .development__header{display:grid;min-height:0;grid-template-columns:1fr;row-gap:2.5rem;align-content:start;margin:0 auto;padding-block:clamp(4rem,8vw,6rem) clamp(3rem,6vw,5rem)}
  .development__title h2{font-size:clamp(4.5rem,12vw,8rem)!important}
  .development__statement{max-width:42rem}
  .development__index{gap:1rem}
  .development__index-row,.development__index-row:nth-child(n){position:relative;top:auto;z-index:auto;grid-template-columns:2.25rem 3rem minmax(0,1fr);gap:clamp(.65rem,1.5vw,1rem);min-height:0;padding:clamp(1rem,3vw,2rem);border-radius:.25rem}
  .development__index-icon{width:3rem}
  .development__index-copy{grid-column:3}
  .development__index-copy h3{max-width:16ch;font-size:clamp(1.7rem,4.2vw,2.5rem)!important}
  .development__index-copy p{max-width:55ch}
  .development__outcome{grid-template-columns:1fr auto;gap:1.5rem}
  .development__outcome-label{grid-column:1/-1}.development__progress{grid-column:auto}
}
@media(max-width:600px){
  .development__header{padding-block:4rem 3rem;row-gap:2rem}
  .development__eyebrow{margin-bottom:2rem}
  .development__title h2{font-size:clamp(3.2rem,14vw,4rem)!important}
  .development__statement .development__statement-lead{font-size:1.35rem!important}
  .development__index{gap:.75rem;padding-bottom:3.5rem}
  .development__index-row,.development__index-row:nth-child(n){grid-template-columns:2rem 2.75rem minmax(0,1fr);gap:.8rem;padding:1.35rem 1rem}
  .development__index-icon{width:2.75rem}
  .development__index-copy{grid-column:2/-1}
  .development__index-copy h3{font-size:clamp(1.55rem,7vw,2rem)!important}
  .development__index-copy p{margin-top:.25rem}
  .development__outcome{grid-template-columns:1fr;margin-bottom:4rem;padding:2rem}
  .development__outcome-label{grid-column:auto}.development__outcome-mark{display:none}
  .services__sticky{padding-top:1.5rem}
}

@media(prefers-reduced-motion:reduce) and (min-width:901px){
  .development__index-row{position:relative;top:auto;z-index:auto;min-height:0}
  .services__rail{min-height:0}
  .services__sticky{position:relative;height:auto;display:block;overflow:visible;padding-block:3rem}
  .services__topline{margin-bottom:2rem}
  .services__rail .development__stage{overflow:visible}
  .services__rail .development__track{display:grid;width:min(var(--max),calc(100% - var(--gutter)*2));height:auto;margin-inline:auto;padding:0;transform:none!important}
  .services__rail .development-card{grid-template-columns:minmax(18rem,.9fr) minmax(20rem,1fr);width:100%;height:clamp(28rem,62vh,40rem);min-height:28rem;scroll-snap-align:none}
}

/* Group overview: a stable editorial split with four scroll-led capability states. */
#development{position:relative;min-height:100vh;overflow:clip;background:#f7f4ee;scroll-margin-top:0;isolation:isolate}
#development .development__rail{position:relative;min-height:100vh}
#development .development__sticky{position:relative;display:block;min-height:100vh;overflow:hidden;padding:0}
#development .development__layout{position:relative;display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:100vh;align-items:start;isolation:isolate}
#development .development__visual{position:absolute;z-index:-1;inset:0 calc(-1 * var(--gutter));overflow:hidden;background:#dfd1bd}
#development .development__visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:61% center;clip-path:polygon(52% 0,100% 0,100% 100%,42% 100%)}
#development .development__visual::before{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#f7f4ee 0%,#f7f4ee 36%,rgba(247,244,238,.86) 43%,rgba(247,244,238,.12) 59%,transparent 72%);content:"";pointer-events:none}
#development .development__visual::after{position:absolute;z-index:1;inset:0;background:rgba(235,38,42,.14);clip-path:polygon(89% 9%,100% 0,100% 100%,79% 100%);content:"";pointer-events:none}
#development .development__signature{position:absolute;z-index:2;right:var(--gutter);bottom:clamp(2rem,6vh,4rem);display:flex;align-items:center;gap:1rem;margin:0;color:#fff;font:600 .86rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.26em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.25)}
#development .development__signature::before{content:"";width:clamp(4rem,9vw,9rem);height:1px;background:rgba(255,255,255,.8)}
#development .development__header{position:relative;z-index:2;display:block;grid-column:1;grid-row:1;align-self:start;width:auto;max-width:620px;min-height:0;margin:0;padding:clamp(6.5rem,12vh,8.5rem) clamp(1.5rem,3vw,3rem) 3rem 0}
#development .development__eyebrow{display:flex;align-items:center;gap:1rem;margin:0 0 clamp(2.5rem,4vh,3.5rem);color:var(--red);font:600 clamp(.8rem,.9vw,.92rem)/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
#development .development__eyebrow::after{content:"";flex:1;max-width:300px;height:1px;background:var(--red)}
#development h2{max-width:none;margin:0;font-size:var(--section-title-size)!important;font-weight:620;line-height:1!important;letter-spacing:.01em!important;text-wrap:nowrap}
#development h2 em{display:block;color:var(--red);font-style:normal;font-weight:700}
#development .development__statement-lead{max-width:570px;margin:clamp(2rem,4vh,3rem) 0 0;color:var(--ink);font-size:var(--section-intro-size)!important;font-weight:500;line-height:1.45!important;letter-spacing:-.012em}
#development .development__statement-copy{max-width:590px;margin:clamp(1.5rem,3vh,2.2rem) 0 0;color:#585a59;font-size:var(--section-intro-size)!important;line-height:1.45!important}
#development .development__cards-window{grid-column:2;grid-row:1;align-self:start;z-index:2;width:100%;margin-top:clamp(16rem,32vh,21rem)}
#development .development__cards-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:calc(var(--space-7) + var(--space-5)) var(--space-5) 2px minmax(140px,auto);column-gap:var(--space-4);row-gap:var(--space-3)}
#development .development__card{display:grid;grid-row:span 4;grid-template-rows:subgrid;min-width:0;min-height:0;align-items:start;padding:clamp(var(--space-5),2vw,var(--space-6));border:1px solid rgba(255,255,255,.55);background:rgba(249,245,239,.82);box-shadow:0 8px 24px rgba(38,31,23,.055);backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%)}
#development .development__card:nth-child(1){border-top:3px solid var(--red);background:rgba(255,247,249,.9)}
#development .development__card:nth-child(2){border-top:3px solid #29342d;background:rgba(250,248,243,.92)}
#development .development__card:nth-child(3){border-top:3px solid #668571;background:rgba(246,250,245,.92)}
#development .development__card--outcome{border-top:3px solid #f0c647;background:#202b25}
#development .development__card.development__card--outcome h3,#development .development__card.development__card--outcome p,#development .development__card.development__card--outcome svg{color:#fff}
#development .development__card--outcome .development__card-rule{background:#f0c647}
#development .development__card svg{display:block;width:40px;height:40px;padding:8px;border:1px solid rgba(235,38,42,.2);background:rgba(255,255,255,.75);color:var(--red);stroke-width:1.8}
#development .development__card--outcome svg{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22)}
#development .development__card h3{margin:0;color:#1b1d1e;font-size:clamp(.94rem,1.04vw,1rem)!important;font-weight:700;line-height:1.3!important;letter-spacing:.075em;text-transform:uppercase}
#development .development__card-rule{display:block;width:30px;height:2px;background:var(--red)}
#development .development__card p{max-width:none;margin:0;color:#3e4241;font-size:1rem!important;line-height:1.58!important;letter-spacing:-.012em;text-align:justify;hyphens:auto}
#development .development__statement-lead,#development .development__statement-copy{text-align:justify;hyphens:auto}
@media(min-width:1350px) and (min-height:850px) and (prefers-reduced-motion:no-preference){
  @supports(animation-timeline:view()) and (animation-range:contain){
    #development .development__rail{min-height:230vh;view-timeline-name:--development;view-timeline-axis:block}
    #development .development__sticky{position:sticky;top:0;height:100dvh;min-height:0}
    #development .development__layout{height:100%}
    #development .development__cards-window{--card-w:clamp(230px,16.85vw,300px);--card-gap:16px;width:calc(3 * var(--card-w) + 2 * var(--card-gap));height:470px;overflow:hidden}
    /* Hold the first three cards still after pinning, then move the shared subgrid as one track. */
    #development .development__cards-track{grid-template-columns:repeat(4,var(--card-w));grid-auto-rows:calc(var(--space-7) + var(--space-5)) var(--space-5) 2px minmax(0,1fr);column-gap:var(--card-gap);width:max-content;height:470px;animation:development-pan auto linear both;animation-timeline:--development;animation-range:contain 30% contain 100%}
    #development .development__card{width:var(--card-w);height:470px}
    #development .development__card--outcome{animation:development-conclusion auto linear both;animation-timeline:--development;animation-range:contain 45% contain 100%}
  }
}
@keyframes development-pan{from{transform:translateX(0)}to{transform:translateX(calc(0px - var(--card-w) - var(--card-gap)))}}
@keyframes development-conclusion{from{opacity:.78;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:1349px){
  #development .development__rail,#development .development__sticky,#development .development__layout{min-height:0}
  #development .development__sticky{height:auto;overflow:visible}
  #development .development__layout{display:flex;flex-direction:column}
  #development .development__header{width:100%;max-width:850px;padding:clamp(5rem,8vw,7rem) 0 clamp(3rem,5vw,4rem)}
  #development h2{font-size:var(--section-title-size)!important}
  #development .development__visual{position:relative;z-index:0;inset:auto;width:calc(100% + var(--gutter)*2);height:clamp(22rem,43vw,35rem);margin-inline:calc(-1 * var(--gutter))}
  #development .development__visual img{clip-path:none;object-position:70% center}
  #development .development__visual::before{background:linear-gradient(90deg,rgba(247,244,238,.28),transparent 50%)}
  #development .development__cards-window{width:100%;margin:1.5rem 0 clamp(4rem,7vw,6rem)}
  #development .development__cards-track{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  #development .development__header{padding-block:clamp(4rem,9vw,5rem) 3rem}
  #development h2{font-size:var(--section-title-size)!important}
  #development .development__eyebrow{margin-bottom:2.75rem}
  #development .development__statement-lead{font-size:var(--section-intro-size)!important}
  #development .development__statement-copy{font-size:var(--section-intro-size)!important}
  #development .development__visual{height:clamp(17rem,54vw,27rem)}
  #development .development__cards-track{grid-template-columns:1fr}
  #development .development__card{min-height:0}
}
@media(max-width:600px){
  #development .development__eyebrow{gap:.75rem;font-size:.72rem}
  #development .development__eyebrow::after{max-width:7rem}
  #development h2{font-size:var(--section-title-size)!important}
  #development .development__statement-lead{margin-top:2.25rem}
  #development .development__visual{height:clamp(16rem,67vw,22rem)}
  #development .development__signature{right:var(--gutter);bottom:1.4rem;gap:.6rem;font-size:.61rem;letter-spacing:.17em}
  #development .development__signature::before{width:2.5rem}
  #development .development__card{padding:var(--space-5)}
}

/* Section introductions share the typography established by Our Companies. */
.group-site .section-kicker{font-family:inherit!important;font-size:var(--section-kicker-size)!important;font-weight:600!important;line-height:1.3!important;letter-spacing:.28em!important;text-transform:uppercase}
.group-site .section-title{font-family:inherit!important;font-size:var(--section-title-size)!important;font-weight:620!important;line-height:1!important;letter-spacing:.01em!important;text-wrap:balance}
.group-site .section-title em{font-family:inherit;font-style:normal}
.group-site .section-intro-copy{font-size:var(--section-intro-size)!important;font-weight:400;line-height:1.45!important;letter-spacing:-.012em}

.footer-entity-logos{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.18)}.footer-entity-logos a{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:clamp(9rem,17vw,12rem);height:3.6rem;padding:.55rem .75rem}.footer-entity-logos a:focus-visible{outline:2px solid var(--red);outline-offset:3px}.footer-entity-logos img{display:block;flex:0 1 auto;width:100%;height:100%;min-width:0;object-fit:contain;object-position:center;opacity:1;visibility:visible;filter:none}.footer-entity-logos a:nth-child(2) img{transform:scale(1.35)}
.site-footer .footer-location{display:grid;grid-template-columns:minmax(9rem,.32fr) minmax(0,1fr);gap:1.5rem;align-items:start;margin-top:2.4rem;padding-top:1.8rem;border-top:1px solid #ffffff33}
.site-footer .footer-location strong{color:#f6f5f0;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.site-footer .footer-location address{max-width:46ch;color:#d5d7d0;font-size:.9rem;font-style:normal;line-height:1.55}
.contact-logos img[alt="Essential Skills"]{width:180px;max-width:180px;height:44px;padding:.55rem .75rem;background:#fff;filter:none}
@media(max-width:600px){.site-footer .footer-location{grid-template-columns:1fr;gap:.65rem}.contact-logos img[alt="Essential Skills"]{width:150px;max-width:150px}}

/* Keep the process route visible without ornamental step numbering. */
.ecosystem--overview .process-node{width:2.5rem;height:2.5rem;margin:0 0 2rem;border-width:1px;background:#f4f2ed}
.ecosystem--overview .process-node svg{width:1.1rem;height:1.1rem;stroke-width:1.7}
.ecosystem--overview .stage-05 .process-node{background:var(--red)}
@media(max-width:800px){
  .ecosystem--overview .process-stage,.ecosystem--overview .process-stage:nth-child(n){grid-template-columns:3rem minmax(0,1fr);gap:.9rem}
  .ecosystem--overview .process-node{width:2.5rem;height:2.5rem;margin:0}
}
