/* Homepage services, principles, approach and consultation.
   Section anchors use the document's header scroll padding.
   Diagram entrances and replay behavior live in motion.css. */

/* Services: editorial stories and connected SVG illustrations. */
.home-services{--service-ink:#f4f0fa;--service-muted:#b4aec4;--service-lilac:#cbb0f6;--service-rule:#ffffff15;color:var(--service-ink);background:#11121d;font-family:"DM Sans",sans-serif}
.home-services *{box-sizing:border-box}
.home-services .service-section{padding:88px max(6%,calc((100% - 1240px)/2));scroll-margin-top:0}
.home-services h2,.home-services h3{font-family:Manrope,sans-serif;font-weight:500;color:var(--service-ink)}
.home-services h2{font-size:clamp(34px,3.6vw,53px);letter-spacing:-1.9px;line-height:1.16;margin:0}
.home-services h2 em{color:var(--service-lilac);font-style:normal}
.home-services .service-kicker{color:var(--service-lilac);font-size:10px;font-weight:500;line-height:1.5;letter-spacing:1.9px;margin:0 0 20px}
.home-services .service-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:46px}
.home-services .service-section-heading>p{font-size:15px;line-height:1.8;color:var(--service-muted);max-width:330px;margin:0 0 4px}
.home-services .service-story{display:grid;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);align-items:center;gap:52px;padding:48px 0;border-top:1px solid var(--service-rule)}
.home-services .service-story:last-child{padding-bottom:0}
.home-services .service-story-index{display:flex;align-items:center;gap:19px;margin:0 0 22px;color:#8e809f;font-size:12px;font-variant-numeric:tabular-nums}
.home-services .service-story-index span{color:var(--service-lilac);font-size:9px;letter-spacing:1.7px}
.home-services .service-story h3{font-size:clamp(27px,2.7vw,38px);letter-spacing:-1.25px;line-height:1.24;margin:0 0 20px;text-wrap:balance}
.home-services .service-story-copy>p:not(.service-story-index){font-size:15px;line-height:1.85;color:var(--service-muted);max-width:400px;margin:0 0 24px}
.home-services .service-capabilities{display:flex;flex-wrap:wrap;gap:9px 18px;list-style:none;margin:0 0 26px;padding:0;color:#d9c9ef;font-size:10px;line-height:1.7}
.home-services .service-capabilities li{position:relative;padding-left:11px}
.home-services .service-capabilities li:before{content:"";position:absolute;left:0;top:7px;width:3px;height:3px;border-radius:50%;background:#bea0e7}
.home-services .service-text-link{display:inline-flex;gap:18px;align-items:center;font-size:12px;font-weight:500;color:#eee6fb;text-decoration:none;padding:3px 0;border-bottom:1px solid #9e84bb66}
/* Fixed SVG boxes preserve the approved arrow metrics across font fallbacks. */
.home-services .service-text-link span{display:inline-block;width:12px;height:18px;flex-shrink:0;font-size:18px;line-height:1}
.home-services .home-arrow{display:block;width:100%;height:100%}
.home-services .service-story-art{margin:0;min-width:0;position:relative;isolation:isolate;background:radial-gradient(ellipse at 55% 42%,#74508c25,transparent 70%)}
.home-services .service-story-art:before{content:"";position:absolute;inset:24px 10px 40px;background-image:radial-gradient(#c0aedb33 .65px,transparent .65px);background-size:20px 20px;mask-image:radial-gradient(ellipse,#000,transparent 70%);z-index:-1}
.home-services .service-story-art svg{display:block;width:100%;height:auto;overflow:visible}
.home-services .service-story-art figcaption{text-align:center;color:#a49ab6;font-size:10px;line-height:1.6;letter-spacing:.1px;margin:0}
.home-services .service-story-reverse{grid-template-columns:minmax(0,1.09fr) minmax(0,.91fr)}
.home-services .service-story-reverse .service-story-copy{grid-column:2;grid-row:1;padding-left:24px}
.home-services .service-story-reverse .service-story-art{grid-column:1;grid-row:1}
.home-services .service-art-clarity{background:radial-gradient(ellipse at 50% 47%,#5f639f23,transparent 70%)}
.home-services .service-art-foundation{background:radial-gradient(ellipse at 55% 42%,#68509f2b,transparent 70%)}
.home-services a:focus-visible{outline:2px solid #dcc6fa;outline-offset:6px}
.home-services .service-flow{opacity:0}
@media(hover:hover){
  .home-services .service-text-link:hover{color:#d5b6ff;border-color:#d5b6ff}
}
@media(max-width:1000px){
  .home-services .service-section{padding-left:6%;padding-right:6%}
  .home-services .service-story{gap:25px}
  .home-services .service-story-reverse .service-story-copy{padding-left:0}
  .home-services .service-story h3{font-size:29px}
  .home-services .service-story-copy>p:not(.service-story-index){font-size:14px}
}
@media(max-width:760px){
  .home-services .service-section{padding-top:60px;padding-bottom:60px}
  .home-services .service-section-heading{display:block;margin-bottom:30px}
  .home-services h2{font-size:38px;letter-spacing:-1.5px}
  .home-services .service-section-heading>p{margin-top:22px;font-size:14px;max-width:370px}
  .home-services .service-section-heading>p br{display:none}
  .home-services .service-kicker{font-size:9px;margin-bottom:16px}
  .home-services .service-story{grid-template-columns:1fr;gap:25px;padding:34px 0}
  .home-services .service-story-copy{max-width:480px}
  .home-services .service-story h3{font-size:32px;letter-spacing:-1px;margin-bottom:17px}
  .home-services .service-story-copy>p:not(.service-story-index){max-width:450px;font-size:14px;margin-bottom:20px}
  .home-services .service-story-index{margin-bottom:18px}
  .home-services .service-capabilities{margin-bottom:21px;font-size:10px}
  .home-services .service-story-art{width:100%;max-width:520px;margin:0 auto}
  .home-services .service-story-reverse .service-story-copy,.home-services .service-story-reverse .service-story-art{grid-column:auto;grid-row:auto}
  .home-services .service-story-art figcaption{font-size:9px}
}
@media(max-width:400px){
  .home-services .service-section{padding-left:24px;padding-right:24px}
  .home-services h2{font-size:35px}
  .home-services .service-story h3{font-size:30px}
  .home-services .service-capabilities{gap:8px 14px}
}
@media(prefers-reduced-motion:reduce){
  .home-services *{animation:none!important;transition:none!important}
  .home-services .service-flow{display:none}
}

/* Guidance: people, a practical process and the consultation invitation. */
.home-guidance{--guide-ink:#f0edf7;--guide-muted:#b7b2c6;--guide-purple:#c7adef;--guide-line:#383244;color:var(--guide-ink);font-family:"DM Sans",sans-serif}
.home-guidance *{box-sizing:border-box}
.home-guidance .guide-section{max-width:1440px;margin:0 auto;padding:86px 64px;scroll-margin-top:0}
.home-guidance h2,.home-guidance h3,.home-guidance p{margin:0}
.home-guidance h2,.home-guidance h3{font-family:Manrope,sans-serif;font-weight:500}
.home-guidance h2{font-size:clamp(34px,3.8vw,54px);letter-spacing:-1.8px;line-height:1.16}
.home-guidance h2 em{font-style:normal;color:var(--guide-purple)}
.home-guidance .guide-kicker{font-size:10px;letter-spacing:1.65px;line-height:1.6;color:var(--guide-purple);font-weight:500;margin-bottom:20px}
.home-guidance .guide-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:42px}
.home-guidance .guide-heading>p{max-width:320px;font-size:15px;line-height:1.8;color:var(--guide-muted);padding-bottom:5px}
.home-guidance a:focus-visible{outline:2px solid var(--guide-purple);outline-offset:4px}
.home-guidance .guide-principles{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--guide-line);padding-top:94px;padding-bottom:94px}
.home-guidance .guide-principles-intro>p:not(.guide-kicker){max-width:365px;margin-top:25px;color:var(--guide-muted);font-size:15px;line-height:1.8}
.home-guidance .guide-principle-list article{display:flex;gap:26px;padding:25px 0;border-bottom:1px solid var(--guide-line)}
.home-guidance .guide-principle-list article:first-child{padding-top:0}
.home-guidance .guide-principle-list article>span{font-size:11px;color:#aa8dca;padding-top:6px}
.home-guidance .guide-principle-list h3{font-size:23px;line-height:1.3;letter-spacing:-.7px;margin-bottom:11px}
.home-guidance .guide-principle-list p{color:var(--guide-muted);font-size:14px;line-height:1.8}
.home-guidance .guide-people-art{width:304px;max-width:100%;margin-top:20px;padding-bottom:12px}
.home-guidance .guide-team-art{display:block;width:100%;height:auto;overflow:visible}
.home-guidance .guide-team-link{stroke:#79608e;stroke-width:1.5}
.home-guidance .guide-team-tile{fill:#2e253c;stroke:#735887;stroke-width:1}
.home-guidance .guide-team-portrait{fill:#bca0d512;stroke:#d0b5e7;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.home-guidance .guide-human-note{display:block;text-align:center;margin-top:7px;font-size:8px;letter-spacing:1.6px;color:#ab95bf}
.home-guidance .guide-approach{background:linear-gradient(145deg,#1e1b2a,#181924);border-top:1px solid var(--guide-line);border-bottom:1px solid var(--guide-line)}
.home-guidance .guide-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:54px 0 0;gap:30px}
.home-guidance .guide-steps li{min-width:0}
.home-guidance .guide-step-marker{display:flex;gap:16px;align-items:center;margin-bottom:27px;color:#a991c7}
.home-guidance .guide-step-marker span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid #685579;background:#2e263b;font-size:11px;flex-shrink:0}
.home-guidance .guide-step-marker:after{content:"";height:1px;background:#4a3c59;flex:1;order:1}
.home-guidance .guide-step-marker i{font-style:normal;font-size:17px;order:2}
.home-guidance .guide-step-marker .home-arrow{display:block;width:17px;height:22px}
.home-guidance .guide-steps li:last-child .guide-step-marker:after{flex:0 0 28px}
.home-guidance .guide-step-loop{display:grid;place-items:center;width:30px;height:30px;border:1px solid #685579;border-radius:50%;color:#c5a7e2;background:#2e263b}
.home-guidance .guide-step-loop svg{display:block;width:18px;height:18px}
.home-guidance .guide-step-stage{font-size:9px;letter-spacing:1.2px;color:#b097ce;margin-bottom:13px}
.home-guidance .guide-steps h3{font-size:22px;letter-spacing:-.65px;line-height:1.35;margin-bottom:15px;min-height:59px}
.home-guidance .guide-steps li>p:not(.guide-step-stage){font-size:14px;line-height:1.75;color:var(--guide-muted);min-height:99px}
.home-guidance .guide-contact{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center;padding-top:108px;padding-bottom:112px;background:radial-gradient(ellipse at 78% 50%,#4c365330,transparent 65%)}
.home-guidance .guide-contact>div>p:not(.guide-kicker){color:var(--guide-muted);font-size:15px;line-height:1.8;max-width:470px;margin-top:24px}
.home-guidance .guide-contact-action{text-align:center}
.home-guidance .guide-button{display:flex;align-items:center;justify-content:center;gap:25px;background:#c7acee;color:#21182a;border:1px solid transparent;border-radius:999px;padding:21px 27px;font-size:14px;font-weight:600;text-decoration:none;min-height:60px;transition:background .2s}
.home-guidance .guide-button:hover{background:#d8c1f7}
.home-guidance .guide-button>span{display:inline-block;width:13px;height:26px;flex-shrink:0;font-size:20px;font-weight:400;line-height:1}
.home-guidance .guide-button .home-arrow{display:block;width:100%;height:100%}
.home-guidance .guide-contact .guide-contact-action>p{font-size:11px;line-height:1.8;margin-top:19px;color:#a299b1}
@media(max-width:1199px){
  .home-guidance .guide-section{padding:74px 44px}
  .home-guidance .guide-principles{gap:64px}
  .home-guidance .guide-steps{gap:22px}
  .home-guidance .guide-contact{gap:35px}
  .home-guidance .guide-button{padding:19px 22px;gap:18px;font-size:13px}
}
@media(max-width:950px){
  .home-guidance .guide-section{padding:65px 36px}
  .home-guidance .guide-heading>p{max-width:250px;font-size:14px}
  .home-guidance .guide-principles{gap:40px}
  .home-guidance .guide-principle-list article{gap:18px}
  .home-guidance .guide-principle-list h3{font-size:20px}
  .home-guidance .guide-principles-intro>p:not(.guide-kicker){font-size:14px}
  .home-guidance .guide-people-art{width:280px}
  .home-guidance .guide-steps{grid-template-columns:repeat(2,1fr);gap:35px}
  .home-guidance .guide-steps h3{min-height:0}
  .home-guidance .guide-steps li>p:not(.guide-step-stage){min-height:74px}
  .home-guidance .guide-contact{grid-template-columns:1fr;gap:30px}
  .home-guidance .guide-contact-action{text-align:left;justify-self:start}
  .home-guidance .guide-contact .guide-contact-action>p{margin-top:14px}
}
@media(max-width:620px){
  .home-guidance .guide-section{padding:54px 22px}
  .home-guidance h2{font-size:34px;letter-spacing:-1.2px}
  .home-guidance .guide-kicker{font-size:9px;letter-spacing:1.4px;margin-bottom:16px}
  .home-guidance .guide-heading{display:block;margin-bottom:29px}
  .home-guidance .guide-heading>p{max-width:310px;margin-top:22px;font-size:14px}
  .home-guidance .guide-heading>p br{display:none}
  .home-guidance .guide-principles{grid-template-columns:1fr;gap:23px}
  .home-guidance .guide-people-art{width:304px;margin-top:9px}
  .home-guidance .guide-principle-list article{gap:24px;padding:23px 0}
  .home-guidance .guide-principle-list article:first-child{padding-top:0}
  .home-guidance .guide-principle-list h3{font-size:22px}
  .home-guidance .guide-steps{grid-template-columns:1fr;margin-top:33px;gap:0}
  .home-guidance .guide-steps li{position:relative;padding:0 0 31px 65px}
  .home-guidance .guide-steps li:last-child{padding-bottom:0}
  .home-guidance .guide-steps li:not(:last-child):before{content:"";position:absolute;left:20px;top:42px;bottom:0;width:1px;background:#584464}
  .home-guidance .guide-step-marker{position:absolute;left:0;top:0;margin:0}
  .home-guidance .guide-step-marker i,.home-guidance .guide-step-marker:after{display:none}
  .home-guidance .guide-step-stage{padding-top:4px;margin-bottom:10px;font-size:8px}
  .home-guidance .guide-steps h3{font-size:22px;margin-bottom:12px}
  .home-guidance .guide-steps li>p:not(.guide-step-stage){font-size:13px;min-height:0}
  .home-guidance .guide-contact{padding-top:61px;padding-bottom:67px;gap:27px}
  .home-guidance .guide-contact>div>p:not(.guide-kicker){font-size:14px;margin-top:22px}
  .home-guidance .guide-contact .guide-kicker{font-size:8px}
  .home-guidance .guide-button{font-size:13px;padding:18px 23px;gap:20px;min-height:56px}
}
@media(prefers-reduced-motion:reduce){
  .home-guidance *{animation:none!important;transition:none!important}
}
