/* The homepage has one motion vocabulary, with different invitations along the way. */
html.lenis,html.lenis body{height:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent]{overscroll-behavior:contain}
html.lenis{scroll-behavior:auto}
[hidden]{display:none!important}

.header-conversation{border-radius:40px;padding:7px 8px 7px 20px;gap:18px}
.header-arrow{display:grid!important;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--white);color:var(--olive-700);font-size:18px;flex-shrink:0}
.moving-label{position:relative;display:block;overflow:hidden;line-height:1.4}
.moving-label>span{display:block;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.moving-label>span:last-child{position:absolute;top:100%;left:0;white-space:nowrap}
a:hover .moving-label>span,a:focus-visible .moving-label>span{transform:translateY(-100%)}
.button:hover .moving-label,.button:hover .header-arrow{transform:none}
.header-conversation:hover .header-arrow,.header-conversation:focus-visible .header-arrow{transform:rotate(45deg);background:var(--olive-50)}
.line-reveal{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.line-reveal>span{display:block;transform-origin:left bottom}
.motion-enabled .line-reveal>span{transform:translateY(115%);transition:transform .85s cubic-bezier(.22,1,.36,1)}
.motion-enabled .is-revealed .line-reveal>span,.motion-enabled .arrival.is-ready .line-reveal>span{transform:none}
.hero-copy .line-reveal:nth-child(2)>span,.ownership .line-reveal:nth-child(2)>span{transition-delay:.12s}
.motion-enabled .reveal-block{clip-path:inset(0 0 100%);transform:translateY(22px);transition:clip-path .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.motion-enabled .reveal-block.is-revealed{clip-path:inset(0);transform:none}
.motion-enabled .hero-image,.motion-enabled .hero-video{transform:translateY(calc(var(--hero-progress,0) * 18px)) scale(calc(1.025 + var(--hero-progress,0) * .035));will-change:transform}
.motion-enabled .aya-letters>span{transform:translateY(115%);transition:transform 1s cubic-bezier(.22,1,.36,1)}
.motion-enabled .is-revealed .aya-letters>span{transform:none}
.aya-letters{display:flex!important;overflow:hidden;font:inherit!important;letter-spacing:inherit!important;margin:0!important;line-height:1.1;padding-top:.05em}
.aya-letters>span{display:block;transition-delay:calc(var(--letter-index,0) * 100ms)}
.aya-letters>span:nth-child(2){--letter-index:1}.aya-letters>span:nth-child(3){--letter-index:2}
.scroll-invitation{display:inline-flex;align-items:center;gap:22px;margin-top:22px;min-height:48px;font-size:15px;color:var(--olive-700)}
.scroll-invitation>span:first-child{position:relative}
.scroll-invitation>span:first-child::after{content:'';position:absolute;bottom:-6px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:left;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.scroll-arrow{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--olive-200);border-radius:50%;overflow:hidden;transition:background .3s,transform .3s}
.scroll-invitation:hover>span:first-child::after,.scroll-invitation:focus-visible>span:first-child::after{transform:scaleX(1)}
.scroll-invitation:hover .scroll-arrow,.scroll-invitation:focus-visible .scroll-arrow{background:var(--olive-50);transform:translateY(5px)}
.practice-link{display:inline-flex;align-items:center;gap:17px;min-height:48px;margin-top:30px;font-size:15px;color:var(--olive-700)}
.practice-arrow{display:grid;place-items:center;border:1px solid var(--olive-200);width:46px;height:46px;border-radius:50%;font-size:22px;transition:transform .45s cubic-bezier(.22,1,.36,1),background .3s}
.practice-link:hover .practice-arrow,.practice-link:focus-visible .practice-arrow{transform:rotate(45deg);background:var(--olive-50)}
.practice-link>span:last-child{transition:transform .4s}
.practice-link:hover>span:last-child{transform:translateX(5px)}
.index-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:14px;color:var(--olive-700)}
.index-arrow{display:grid;place-items:center;width:44px;height:44px;background:var(--white);border-radius:4px;transition:transform .4s,background .4s}
.index-link:hover .index-arrow,.index-link:focus-visible .index-arrow{transform:rotate(-8deg);background:var(--olive-700);color:white}
.service{position:relative;overflow:hidden;isolation:isolate;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .4s,background .4s;padding-top:44px}
.service-corner{position:absolute;top:14px;right:18px;font-size:18px;color:var(--olive-700);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.service::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--olive-100,#dde3c6);transform:translateY(101%);transition:transform .6s cubic-bezier(.22,1,.36,1)}
.service-organisational-development::before{transform:translateX(-101%);background:#dde3c6}
.service-leadership-team-coaching::before{transform:translateX(101%);background:#f7f7f2}
.service-programme-change-support::before{transform:translateY(-101%);background:#dde3c6}
.service:hover::before,.service:focus-visible::before{transform:translate(0)}
.service:hover .service-corner,.service:focus-visible .service-corner{transform:translate(3px,-3px)}
.service-more>.moving-label{font-size:inherit}
.service:focus-visible{transform:translateY(-4px)}
.dimensions li{display:block;padding:0}
.dimensions h3{font:inherit}
.dimension-toggle{width:100%;display:grid;grid-template-columns:1fr 1.1fr 16px;gap:16px;text-align:left;align-items:center;background:none;border:0;padding:17px 0;min-height:58px}
.dimension-name{font:500 14px/1.5 var(--body)}
.dimension-subtitle{font:400 13px/1.5 var(--body);color:var(--grey)}
.dimension-plus{font:400 22px/1 var(--body);transition:transform .35s;color:var(--olive-700)}
.dimension-toggle[aria-expanded=true] .dimension-plus{transform:rotate(45deg)}
.dimension-toggle:hover .dimension-name{color:var(--olive-700)}
.dimension-detail{overflow:hidden}
.dimension-detail p{padding:2px 24px 22px 0;font-size:14px;line-height:1.7;color:var(--grey)}
.aya-link{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:62px;border-bottom:1px solid var(--olive-400);margin-top:20px;font-size:15px;color:var(--olive-700);max-width:340px}
.aya-arrow{display:inline-block;font-size:28px;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.aya-link:hover .aya-arrow,.aya-link:focus-visible .aya-arrow{transform:translateX(9px)}
.work-link{display:inline-flex;align-items:center;gap:22px;min-height:48px;margin-top:8px;color:var(--olive-700);font-size:14px}
.work-arrow{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:white;transition:transform .4s,background .4s,color .4s}
.work-link:hover .work-arrow,.work-link:focus-visible .work-arrow{transform:scale(1.12);background:var(--olive-700);color:white}
.conversation-invitation{display:block;width:fit-content;max-width:100%;margin-inline:auto}
.conversation-invitation h2{transition:color .4s}
.invitation-action{display:inline-flex;align-items:center;gap:32px;font-size:15px;color:var(--olive-700)}
.invitation-arrow{display:grid;place-items:center;width:78px;height:78px;border:1px solid var(--olive-400);border-radius:50%;font-size:35px;transform:translate(var(--magnetic-x,0px),var(--magnetic-y,0px)) rotate(var(--invitation-turn,0deg));transition:transform .5s cubic-bezier(.22,1,.36,1),background .4s,color .4s}
.conversation-invitation:hover h2,.conversation-invitation:focus-visible h2{color:var(--olive-700)}
.conversation-invitation:hover .invitation-arrow,.conversation-invitation:focus-visible .invitation-arrow{--invitation-turn:45deg;background:var(--olive-700);color:white}
.nav-group.is-open>.nav-dropdown{animation:dropdown-enter .25s cubic-bezier(.22,1,.36,1)}
@keyframes dropdown-enter{from{clip-path:inset(0 0 100%);transform:translateY(-6px)}to{clip-path:inset(0);transform:none}}
@media(hover:hover){.nav-group:not(.is-dismissed):hover>.nav-dropdown{animation:dropdown-enter .25s cubic-bezier(.22,1,.36,1)}}
@media(max-width:1050px){.nav-group.is-open>.nav-dropdown{animation-duration:.3s}.header-conversation{padding:7px 8px 7px 16px}.header-arrow{width:32px;height:32px}.dimension-toggle{grid-template-columns:1fr 16px;gap:4px 16px}.dimension-name{grid-column:1}.dimension-subtitle{grid-column:1}.dimension-plus{grid-column:2;grid-row:1/3}.service{padding-top:45px}}
@media(max-width:700px){.index-link{font-size:12px;gap:10px}.index-arrow{width:38px;height:44px}.scroll-invitation{font-size:14px;margin-top:18px}.practice-link{font-size:14px}.invitation-arrow{width:68px;height:68px;font-size:30px}.invitation-action{gap:24px}.aya-caption{margin-left:3px!important}}
@media(hover:none){.service:hover{transform:none;box-shadow:none}.service:hover::before{transform:translateY(101%)}}
.no-js .dimension-detail[hidden]{display:block!important}.no-js .dimension-plus{display:none}
@media(prefers-reduced-motion:reduce){.motion-enabled .reveal-block,.motion-enabled .line-reveal>span,.motion-enabled .aya-letters>span{transform:none!important;clip-path:none!important}.motion-enabled .hero-image,.motion-enabled .hero-video{transform:none!important;will-change:auto}.service:hover,.service:focus-visible,.scroll-invitation:hover .scroll-arrow,.practice-link:hover .practice-arrow,.index-link:hover .index-arrow,.work-link:hover .work-arrow,.conversation-invitation:hover .invitation-arrow{transform:none!important}a:hover .moving-label>span,a:focus-visible .moving-label>span{transform:none}.service::before{display:none}}

/* The opening film is the entire first screen, with navigation on the image. */
.header{position:fixed;inset:0 0 auto;background:transparent;color:white;transition:background .35s,color .35s;}
.header-inner{min-height:100px}
.header:not(.header-scrolled) .brand img{background:var(--paper);border-radius:50%;padding:3px}
.header:not(.header-scrolled) .navigation a:hover{color:var(--olive-200)}
.header:not(.header-scrolled) .nav-dropdown{color:var(--ink)}
.header:not(.header-scrolled) .nav-dropdown a:hover{color:var(--olive-700)}
.header:not(.header-scrolled) .header-conversation{background:#ffffff18;border:1px solid #ffffff70}
.header a:focus-visible,.header button:focus-visible{outline-color:currentColor}
.header.header-scrolled,.menu-open .header{background:var(--paper);color:var(--ink)}
.arrival{position:relative;color:white;background:var(--olive-900)}
.hero-scene{height:100svh;min-height:700px;max-height:none;max-width:none;margin:0;border-radius:0}
.scene-shade{background:linear-gradient(180deg,#111a12a8 0%,#111a1266 25%,#111a128a 45%,#111a12d6 100%)}
.hero-copy{position:absolute;inset:auto 0 125px;display:block;max-width:1720px;width:100%;padding-top:0;padding-bottom:0;z-index:2}
.hero-copy h1{font-size:clamp(68px,8vw,128px);line-height:.97;letter-spacing:-.045em;max-width:1050px}
.hero-copy h1 em{color:var(--olive-200)}
.hero-support{max-width:510px;margin-top:30px;padding:0}
.hero-support>p{color:white;font-size:17px;line-height:1.65}
.hero-support .scroll-invitation{color:white;margin-top:20px}
.hero-support .scroll-arrow{border-color:#ffffff80}
.hero-support .scroll-invitation:hover .scroll-arrow{background:#ffffff24}
.scene-foot{bottom:30px;left:var(--gutter);right:var(--gutter);z-index:3;letter-spacing:.06em}
.hero-video{transition:opacity 1.4s ease-in-out,transform 7s cubic-bezier(.22,1,.36,1)}
.motion-enabled .film-focus .hero-video{transform:translateY(calc(var(--hero-progress,0) * 18px)) scale(calc(1.025 + var(--hero-progress,0) * .035))}
@media(max-width:1050px){.header-inner{min-height:78px}.menu-open .navigation{color:var(--ink)}.hero-scene{min-height:650px}.hero-copy{bottom:115px}.hero-copy h1{font-size:clamp(64px,9vw,96px)}}
@media(max-width:700px){.hero-scene{height:100svh;min-height:700px;margin:0;border-radius:0}.hero-copy{bottom:120px;padding-inline:var(--gutter)}.hero-copy h1{font-size:clamp(54px,13vw,82px);line-height:1.03}.hero-support{margin-top:24px;max-width:36ch}.hero-support>p{font-size:16px}.scene-foot{bottom:25px;font-size:10px;letter-spacing:.025em}.header-inner{padding-inline:20px}.hero-image,.hero-video{object-position:50% 50%}}
@media(prefers-reduced-motion:reduce){.arrival h1 em.line-reveal>span{transform:none!important}.hero-video{display:none}.hero-copy{transform:none}}

/* One continuous handoff: the paper lifts as the opening frame settles beneath it. */
.intro.is-leaving{clip-path:none;opacity:1;transform:translateY(-101%);transition:transform 1.35s cubic-bezier(.76,0,.24,1)}
.motion-enabled .arrival.is-entering .hero-scene{animation:hero-settle 1.35s cubic-bezier(.22,1,.36,1) both}
.intro-revealing .header{animation:opening-navigation .8s .35s cubic-bezier(.22,1,.36,1) both}
@keyframes hero-settle{from{transform:translateY(16px) scale(1.015)}to{transform:translateY(0) scale(1)}}
@keyframes opening-navigation{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.intro.is-leaving{transform:none}.arrival.is-entering .hero-scene,.intro-revealing .header,.intro-revealing .hero-copy{animation:none}}
.arrival{overflow:hidden}
.intro-revealing .header{animation-duration:.65s}

/* Float both headline lines in together, with the supporting copy following. */
.hero-copy h1 .line-reveal{overflow:visible}
.motion-enabled .arrival h1 .line-reveal>span{opacity:0;transform:translate3d(0,34px,0);transition:opacity 1.35s ease,transform 1.35s cubic-bezier(.22,1,.36,1);transition-delay:0s}
.motion-enabled .arrival.is-ready h1 .line-reveal>span{opacity:1;transform:translate3d(0,0,0)}
.motion-enabled .arrival .hero-support{opacity:0;transform:translate3d(0,24px,0);transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.22,1,.36,1);transition-delay:.18s}
.motion-enabled .arrival.is-ready .hero-support{opacity:1;transform:translate3d(0,0,0)}
@media(prefers-reduced-motion:reduce){.arrival h1 .line-reveal>span,.arrival .hero-support{opacity:1!important;transform:none!important}}

/* The emphasis changes colour with the entrance, while the rest stays white. */
.hero-copy h1 em{color:var(--white)}
.hero-word{color:var(--olive-200)}
.motion-enabled .arrival .hero-word{color:var(--white);transition:color 1.25s ease;transition-delay:.2s}
.motion-enabled .arrival.is-ready .hero-word{color:var(--olive-200)}
.introduction{grid-template-columns:.8fr 1.35fr;gap:12%;padding-block:110px 120px}
.introduction .section-note h2{font-size:clamp(40px,4.5vw,62px);letter-spacing:-.04em;color:var(--olive-800)}
.introduction .audiences{margin-top:22px;font-size:16px;line-height:1.7}
.introduction .practice-link{margin-top:34px}
.introduction-copy .intro-lead{font-size:clamp(27px,2.8vw,38px);line-height:1.4}
.introduction-copy>p:not(.intro-lead){font-size:17px;line-height:1.8}
@media(max-width:700px){.introduction{grid-template-columns:1fr;gap:40px;padding-block:72px 80px}.introduction .section-note h2{font-size:43px}.introduction .audiences{margin-top:16px}.introduction .practice-link{margin-top:22px}.introduction-copy .intro-lead{font-size:29px}.introduction-copy>p:not(.intro-lead){font-size:16px}}
@media(prefers-reduced-motion:reduce){.arrival .hero-word{color:var(--olive-200)!important;transition:none}}

/* The second client paragraph spans the section; colour follows reading position. */
.introduction{row-gap:68px}
.practice-statement{grid-column:1/-1;width:100%;max-width:none;margin:0;font:400 clamp(30px,3.2vw,46px)/1.45 var(--display);letter-spacing:-.025em;color:var(--olive-900)}
.practice-word{color:var(--olive-900)}
.motion-enabled .practice-word{color:var(--practice-ink,#6b7164)}
.motion-enabled .practice-statement{transform:translateY(var(--practice-lift,18px));transition:transform .15s linear}
@media(max-width:700px){.introduction{row-gap:38px}.practice-statement{font-size:29px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){.practice-word{color:var(--olive-900)!important}.practice-statement{transform:none!important;transition:none!important}}

/* Pinned reading: the stage stays still; scrolling changes colour and paragraph. */
.introduction{display:block;width:100%;max-width:none;padding:0;position:relative}
.practice-stage{padding-block:76px;background:var(--white)}
.practice-stage-inner{display:flex;flex-direction:column;gap:32px}
.practice-stage .section-note{display:flex;justify-content:space-between;align-items:center;gap:24px}
.practice-stage .section-note h2{font-size:clamp(36px,4vw,56px)}
.practice-stage .audiences{margin:0;font-size:15px}
.practice-panels{display:flex;flex-direction:column;gap:36px}
.practice-panels .introduction-copy{width:100%;max-width:none}
.practice-panels .intro-lead,.practice-panels .practice-statement{width:100%;max-width:none;margin:0;font:400 clamp(30px,3.4vw,48px)/1.38 var(--display);letter-spacing:-.025em;transform:none!important;transition:none}
.practice-stage .practice-link{margin:0;align-self:flex-start;flex-shrink:0}
.practice-word{color:var(--practice-ink,var(--olive-900))}
.motion-enabled .introduction{height:340svh}
.motion-enabled .practice-stage{position:sticky;top:100px;height:calc(100svh - 100px);padding-block:36px}
.motion-enabled .practice-stage-inner{height:100%;gap:26px}
.motion-enabled .practice-panels{display:grid;align-items:center;flex:1;min-height:0}
.motion-enabled .practice-panels .introduction-copy,.motion-enabled .practice-panels .practice-statement{grid-area:1/1}
.motion-enabled .practice-scroll{opacity:var(--panel-opacity,1);visibility:var(--panel-visibility,visible)}
@media(max-width:1050px){.motion-enabled .practice-stage{top:78px;height:calc(100svh - 78px)}}
@media(max-width:700px){.practice-stage{padding-block:56px}.practice-stage .section-note{display:block}.practice-stage .section-note h2{font-size:34px}.practice-stage .audiences{font-size:13px;margin-top:8px}.practice-panels .intro-lead,.practice-panels .practice-statement{font-size:clamp(20px,min(6.4vw,3.15svh),28px);line-height:1.45}.motion-enabled .practice-stage{padding-block:22px}.motion-enabled .practice-stage-inner{gap:18px}.practice-stage .practice-link{font-size:13px;min-height:44px}.practice-stage .practice-arrow{width:38px;height:38px;font-size:18px}}
@media(max-height:600px) and (min-width:701px){.motion-enabled .practice-stage{padding-block:16px}.motion-enabled .practice-stage-inner{gap:14px}.practice-stage .section-note h2{font-size:32px}.practice-panels .intro-lead,.practice-panels .practice-statement{font-size:clamp(22px,3.8svh,30px)}}
@media(prefers-reduced-motion:reduce){.introduction{height:auto!important}.practice-stage{position:static!important;height:auto!important}.practice-panels{display:flex!important}.practice-scroll{opacity:1!important;visibility:visible!important}.practice-word{color:var(--practice-ink,var(--olive-900))!important}}

/* A centred editorial invitation, distinct from the site's arrow CTAs. */
.practice-stage .practice-signature{align-self:center;margin-inline:auto;justify-content:center;gap:22px;min-height:56px;padding:6px 14px;color:var(--olive-800);font:400 italic 30px/1.2 var(--display)}
.practice-signature .practice-bracket{display:block;width:8px;height:20px;border:1px solid var(--olive-400);border-right:0;flex-shrink:0;transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .3s}
.practice-signature .practice-bracket-end{border-right:1px solid var(--olive-400);border-left:0}
.practice-label{position:relative;padding-bottom:4px}
.practice-label::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--olive-400);transform:scaleX(.3);transition:transform .45s cubic-bezier(.22,1,.36,1),background .3s}
.practice-signature:hover .practice-bracket,.practice-signature:focus-visible .practice-bracket{transform:translateX(-7px);border-color:var(--olive-700)}
.practice-signature:hover .practice-bracket-end,.practice-signature:focus-visible .practice-bracket-end{transform:translateX(7px)}
.practice-signature:hover .practice-label::after,.practice-signature:focus-visible .practice-label::after{transform:scaleX(1);background:var(--olive-700)}
@media(max-width:700px){.practice-stage .practice-signature{font-size:26px;gap:20px;min-height:54px}}
@media(prefers-reduced-motion:reduce){.practice-signature .practice-bracket,.practice-signature .practice-label::after{transition:none!important}.practice-signature:hover .practice-bracket,.practice-signature:focus-visible .practice-bracket{transform:none!important}}

/* Clear link affordance, plus feedback for mouse, keyboard and touch. */
.practice-stage .practice-signature{cursor:pointer;max-width:100%;transition:background .25s,color .25s,transform .15s}
.practice-signature .practice-label::after{transform:scaleX(1);background:currentColor}
.practice-stage .practice-signature:hover,.practice-stage .practice-signature:focus-visible{background:var(--olive-50);color:var(--olive-900)}
.practice-stage .practice-signature:active{background:var(--olive-700);color:var(--white);transform:scale(.98)}
.practice-signature:active .practice-bracket,.practice-signature:active .practice-label::after{border-color:currentColor;background:none}
.practice-signature:active .practice-label::after{background:currentColor}
@media(prefers-reduced-motion:reduce){.practice-stage .practice-signature:active{transform:none}}

/* Pulse the lettering itself; the link and brackets stay steady. */
.practice-stage .practice-signature{position:relative;isolation:isolate;animation:none}
.practice-signature::before{content:none}
.practice-signature .practice-label{display:inline-block;transform-origin:center;animation:practice-text-pulse 2.2s ease-in-out infinite;animation-play-state:paused}
.practice-stage.is-reading .practice-signature .practice-label,.practice-signature:hover .practice-label,.practice-signature:focus-visible .practice-label{animation-play-state:running}
.practice-stage .practice-signature:hover,.practice-stage .practice-signature:focus-visible{background:transparent}
@keyframes practice-text-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
/* The services sheet slides over the completed reading stage. */
.motion-enabled .introduction{z-index:1}
.motion-enabled .practice-stage{transform:translateY(var(--practice-stack-offset,0px))}
.motion-enabled .expertise{position:relative;z-index:2;border-radius:28px 28px 0 0;box-shadow:0 -18px 50px #2f3a1c12;min-height:calc(100svh - 100px)}
@media(max-width:1050px){.motion-enabled .expertise{min-height:calc(100svh - 78px)}}
@media(max-width:700px){.motion-enabled .expertise{border-radius:22px 22px 0 0}}
@media(prefers-reduced-motion:reduce){.practice-signature::before{animation:none!important;opacity:0}.practice-stage{transform:none!important}.expertise{border-radius:0;box-shadow:none;min-height:0}}

@media(prefers-reduced-motion:reduce){.practice-stage .practice-signature{animation:none!important;transform:none!important}}

@media(prefers-reduced-motion:reduce){.practice-signature .practice-label{animation:none!important;transform:none!important}}


/* One services stage: the second pair takes the first pair's place. */
.expertise{padding:0;position:relative}
.expertise-stage{background:var(--olive-50);padding-block:48px;border-radius:28px 28px 0 0}
.expertise-stage-inner{display:flex;flex-direction:column;gap:24px}
.expertise .section-heading{margin:0;flex-shrink:0}
.expertise .services{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.expertise .service{min-height:350px;padding:36px;border-radius:10px;box-shadow:none}
.expertise .service h3{font-size:clamp(32px,3.2vw,48px);min-height:0;max-width:17ch}
.expertise .service p{font-size:16px;max-width:36ch;margin:24px 0 36px}
.service-more{width:100%;margin-top:auto;display:flex;justify-content:space-between;gap:12px;align-items:center;border:0;padding:0}
.service-action{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 22px;background:var(--olive-800);color:white;border-radius:3px;font-size:14px;overflow:hidden;transition:background .3s}
.service-action-rule{position:absolute;bottom:8px;left:22px;right:22px;height:1px;background:var(--olive-200);transform:scaleX(0);transform-origin:left;transition:transform .45s}
.service-action-note{font:400 italic 20px/1.2 var(--display);color:var(--olive-700);opacity:0;transform:translateX(-10px);transition:opacity .4s,transform .4s}
.service:hover .service-action,.service:focus-visible .service-action{background:var(--olive-900)}
.service:hover .service-action-rule,.service:focus-visible .service-action-rule{transform:scaleX(1)}
.service:hover .service-action-note,.service:focus-visible .service-action-note{opacity:1;transform:none}
.expertise .index-link{padding:10px 0;border-bottom:1px solid currentColor}
.offer-fold{width:20px;height:24px;border-left:1px solid;border-right:1px solid;transform:skewY(-12deg);transition:width .4s,transform .4s}
.index-link:hover .offer-fold,.index-link:focus-visible .offer-fold{width:32px;transform:skewY(0)}
.expertise-foot{display:flex;justify-content:space-between;font-size:12px;color:var(--olive-700);flex-shrink:0}
.expertise-page{font-variant-numeric:tabular-nums}
.motion-enabled .expertise{height:280svh;min-height:0;box-shadow:none;background:transparent}
.motion-enabled .expertise-stage,.motion-enabled .approach-stage{position:sticky;top:100px;height:calc(100svh - 100px);box-shadow:0 -18px 50px #2f3a1c12}
.motion-enabled .expertise-stage-inner{height:100%}
.motion-enabled .expertise .services{flex:1;min-height:0}
.motion-enabled .expertise .services>li{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(-48px);transition:opacity .45s ease,transform .8s cubic-bezier(.22,1,.36,1),visibility 0s .45s}
.motion-enabled .expertise .services>li:nth-child(even){grid-area:1/2;transition-delay:.08s,.08s,.45s}
.motion-enabled .expertise .services>li.is-active{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.motion-enabled .expertise .services>li.is-active:nth-child(even){transition-delay:.1s,.1s,0s}
.motion-enabled .expertise .service{min-height:0;height:100%}
/* AYA rises over services, with questions opening inside the same stage. */
.approach{display:block;position:relative;width:100%;max-width:none;padding:0;z-index:3;background:transparent}
.approach-stage{padding-block:44px;background:var(--paper);border-radius:28px 28px 0 0}
.approach-stage-inner{display:flex;flex-direction:column;gap:34px}
.approach-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px}
.approach-heading .eyebrow{margin:0}
.approach-heading h2{display:flex;align-items:baseline;gap:24px;font-size:72px;line-height:1;margin:0;color:var(--olive-800)}
.approach-heading h2>span{font:400 13px/1.5 var(--body);color:var(--grey)}
.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;flex:1;min-height:0}
.approach-copy{max-width:none}
.approach-copy h3{font-size:clamp(36px,4.1vw,62px);line-height:1.1;letter-spacing:-.03em;margin-bottom:26px}
.approach-copy>p:not(.eyebrow){max-width:42ch;line-height:1.7}
.approach .dimensions{margin:0;border-top:1px solid #8a9a5b55}
.approach .dimension-toggle{grid-template-columns:1fr auto 16px;padding-block:22px}
.approach .dimension-name{font:400 32px/1.1 var(--display)}
.approach .dimension-subtitle{font-size:13px}
.approach .dimension-detail p{font:400 28px/1.3 var(--display);color:var(--olive-800);max-width:28ch;padding:0 0 28px}
.approach .aya-link{gap:18px;font-size:14px;margin-top:28px;border:1px solid var(--olive-400);padding:12px 18px;min-height:48px}
.aya-link-line{width:24px;height:1px;background:currentColor;transition:width .4s}
.aya-link:hover .aya-link-line,.aya-link:focus-visible .aya-link-line{width:44px}
.motion-enabled .approach{height:250svh}
.motion-enabled .approach-stage-inner{height:100%}
.ownership{position:relative;z-index:4;background:var(--white);border-radius:28px 28px 0 0}
@media(max-width:1050px){.motion-enabled .expertise-stage,.motion-enabled .approach-stage{top:78px;height:calc(100svh - 78px)}.service-action-note{display:none}.approach-heading h2>span{display:none}}
@media(max-width:700px){
 .expertise-stage,.approach-stage{padding-block:22px;border-radius:22px 22px 0 0}
 .expertise-stage-inner{gap:16px}
 .expertise .section-heading{align-items:center;flex-direction:row;text-align:left;gap:12px}
 .expertise .section-heading h2{font-size:36px}
 .expertise .section-heading .eyebrow{font-size:10px;margin-bottom:8px}
 .expertise .index-link{font-size:11px;gap:8px}
 .offer-fold{width:14px;height:20px}
 .expertise .services{grid-template-columns:1fr;gap:12px}
 .expertise .service{min-height:230px;padding:20px 22px}
 .expertise .service h3{font-size:clamp(24px,3.8svh,30px);max-width:none}
 .expertise .service p{font-size:13px;line-height:1.45;margin:12px 0 16px}
 .service-action{min-height:44px;padding:8px 16px;font-size:12px}
 .motion-enabled .expertise .services{grid-template-rows:1fr 1fr}
 .motion-enabled .expertise .services>li:nth-child(even){grid-area:2/1}
 .expertise-foot{font-size:10px}
 .approach-stage-inner{gap:20px}
 .approach-heading .eyebrow{font-size:11px}
 .approach-heading h2{font-size:46px}
 .approach-layout{grid-template-columns:1fr;gap:22px;align-content:center}
 .approach-copy h3{font-size:clamp(28px,4.5svh,38px);margin-bottom:12px}
 .approach-copy>p:not(.eyebrow){font-size:13px;line-height:1.5}
 .approach .aya-link{margin-top:14px;font-size:12px;padding:8px 12px;min-height:44px}
 .approach .dimension-toggle{padding-block:12px;min-height:44px;gap:10px}
 .approach .dimension-name{font-size:23px}
 .approach .dimension-subtitle{font-size:11px}
 .approach .dimension-detail p{font-size:22px;padding-bottom:14px;line-height:1.25}
}
@media(max-height:600px) and (min-width:701px){
 .expertise-stage,.approach-stage{padding-block:16px}
 .expertise-stage-inner,.approach-stage-inner{gap:16px}
 .expertise .section-heading h2{font-size:36px}
 .expertise .section-heading .eyebrow{margin-bottom:4px}
 .expertise .service{padding:22px}
 .expertise .service h3{font-size:28px}
 .expertise .service p{font-size:13px;margin:12px 0 16px}
 .service-action{min-height:44px}
 .approach-heading h2{font-size:42px}
 .approach-copy h3{font-size:32px;margin-bottom:12px}
 .approach-copy>p:not(.eyebrow){font-size:13px}
 .approach .dimension-name{font-size:24px}
 .approach .dimension-toggle{padding-block:12px}
 .approach .dimension-detail p{font-size:22px;padding-bottom:12px}
 .approach .aya-link{margin-top:14px}
}
@media(prefers-reduced-motion:reduce){
 .expertise,.approach{height:auto!important}
 .expertise-stage,.approach-stage{position:static!important;height:auto!important;transform:none!important;opacity:1!important;box-shadow:none}
 .expertise .services>li{opacity:1!important;visibility:visible!important;transform:none!important;transition:none!important}
 .expertise-foot{display:none}
 .service-action-note,.service-action-rule,.offer-fold,.aya-link-line{transition:none;transform:none}
}

/* Keep the AYA reading stage within shorter viewports. */
.approach-heading h2>span{letter-spacing:normal}
@media(max-width:1050px){.approach .dimension-toggle{grid-template-columns:1fr 16px;gap:3px 12px}}
@media(max-width:700px){
 .approach-stage{padding-block:18px}
 .approach-stage-inner{gap:14px}
 .approach-layout{gap:14px}
 .approach .dimension-toggle{padding-block:8px;gap:2px 10px}
 .approach .dimension-name{font-size:21px}
 .approach .dimension-subtitle{font-size:10px}
 .approach .dimension-detail p{font-size:18px;line-height:1.3;padding-bottom:12px;max-width:none}
}
@media(max-height:600px) and (min-width:701px){
 .approach .dimension-subtitle{display:none}
 .approach .dimension-plus{grid-row:1;grid-column:2}
 .approach .dimension-detail p{font-size:18px;line-height:1.25}
 .approach .dimension-toggle{padding-block:8px;min-height:40px}
}
@media(max-width:700px) and (max-height:700px){
 .approach-heading h2{font-size:40px}
 .approach-stage-inner,.approach-layout{gap:12px}
 .approach-copy h3{font-size:26px;margin-bottom:8px}
 .approach-copy>p:not(.eyebrow){font-size:12px;line-height:1.45}
 .approach .aya-link{margin-top:10px}
 .expertise .service{padding:16px 20px}
 .expertise .service h3{font-size:23px}
 .expertise .service p{font-size:12px;margin:8px 0 12px}
}
@media(max-height:500px) and (min-width:701px){
 .expertise-stage{padding-block:12px}
 .expertise-stage-inner{gap:10px}
 .expertise .section-heading h2{font-size:32px}
 .expertise .section-heading .eyebrow{font-size:9px;margin-bottom:2px}
 .expertise .service{padding:12px 18px}
 .expertise .service h3{font-size:20px;max-width:none}
 .expertise .service p{font-size:12px;line-height:1.4;margin:8px 0}
 .service-action{padding:8px 14px;font-size:12px}
 .expertise-foot{font-size:10px}
}
@media(max-height:500px) and (min-width:701px){
 .approach-copy h3{font-size:28px;margin-bottom:10px}
 .approach-copy>p:not(.eyebrow){font-size:12px;line-height:1.5}
 .approach .aya-link{min-height:44px;padding:8px 12px;margin-top:12px;font-size:12px}
 .approach .dimension-name{font-size:20px}
 .approach .dimension-toggle{padding-block:6px;min-height:36px}
 .approach .dimension-detail p{font-size:16px;line-height:1.25;padding-bottom:8px}
}
