/* Service-led lifecycle: shared Corvana type, original Blender process studies. */
.solutions-cycle{--cycle-ink:#223d2e;--cycle-muted:#70796e;--cycle-line:#d9dfd5;max-width:1440px;margin:0 auto;padding:110px 48px 70px;color:#242821;scroll-margin-top:100px;font-family:var(--sans,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif)}
.solutions-anchor{display:block;scroll-margin-top:110px}
.solutions-cycle-head{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end;margin-bottom:64px}
.solutions-eyebrow{font-size:12px;letter-spacing:.045em;color:var(--cycle-muted);margin:0 0 24px}
.solutions-cycle h2{font-size:clamp(48px,5.3vw,76px);line-height:1.02;letter-spacing:-.042em;font-weight:400;margin:0}
.solutions-cycle-intro{max-width:430px;padding-bottom:4px}
.solutions-cycle-intro>p{font-size:18px;line-height:1.6;color:#687062;margin:0 0 27px}
.solutions-text-link{display:inline-flex;align-items:center;gap:20px;color:var(--cycle-ink);font-size:13px;line-height:1.5;text-decoration:none;border-bottom:1px solid #a9b7a2;padding:0 0 8px;transition:color .2s,border-color .2s}
.solutions-text-link svg,.solutions-cycle-nav svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.solutions-text-link:hover{color:#568053;border-color:#568053}.solutions-text-link:hover svg{transform:translateX(4px)}
.solutions-cycle a:focus-visible{outline:2px solid #3c694b;outline-offset:7px;border-radius:2px}
.solutions-cycle-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--cycle-line);border-bottom:1px solid var(--cycle-line);position:sticky;top:92px;z-index:5;background:#f5f5f2ed;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.solutions-cycle-nav a{display:flex;align-items:center;gap:16px;min-height:77px;padding:18px 24px;text-decoration:none;color:#78816f;font-size:16px;transition:color .25s,background .25s;position:relative}
.solutions-cycle-nav a+a{border-left:1px solid var(--cycle-line)}
.solutions-cycle-nav a::after{content:'';position:absolute;inset:auto 0 -1px;height:2px;background:#31563d;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.solutions-cycle-nav a[aria-current="step"]{color:var(--cycle-ink);background:#e7ece155}.solutions-cycle-nav a[aria-current="step"]::after{transform:scaleX(1)}
.solutions-step-number{font-size:11px;letter-spacing:.025em;color:#829075}.solutions-cycle-nav svg{margin-left:auto;width:16px}
.solutions-cycle-meta{display:flex;justify-content:space-between;gap:20px;color:#86907d;font-size:11px;margin:16px 0 25px}.solutions-cycle-meta p{margin:0}.solutions-motion-hint span{margin-left:10px}
.solutions-service{display:grid;grid-template-columns:.95fr 1.15fr;gap:75px;align-items:center;min-height:680px;padding:70px 0 80px;border-bottom:1px solid var(--cycle-line);scroll-margin-top:185px}
.solutions-service-copy{max-width:480px}.solutions-service-label{color:#76816a;font-size:12px;line-height:1.5;display:flex;gap:18px;margin:0 0 29px}.solutions-service-label>span{color:#9aa38f;font-size:11px}
.solutions-service h3{font-size:clamp(34px,3.6vw,49px);line-height:1.06;letter-spacing:-.035em;font-weight:400;margin:0 0 27px;max-width:470px}
.solutions-entry{font-size:16px;line-height:1.55;margin:0 0 16px;color:#3e4c36}.solutions-description{font-size:15px;line-height:1.65;margin:0 0 24px;color:var(--cycle-muted)}
.solutions-outcomes{list-style:none;padding:0;margin:0 0 26px}.solutions-outcomes li{position:relative;padding-left:20px;margin:11px 0;font-size:13px;line-height:1.6;color:#68735e}.solutions-outcomes li::before{content:'';position:absolute;top:.6em;left:0;width:4px;height:4px;border-radius:50%;background:#94a485}
.solutions-delivery{border-top:1px solid var(--cycle-line);padding-top:18px;margin:0 0 25px}.solutions-delivery>span{font-size:10px;letter-spacing:.05em;color:#8a947f}.solutions-delivery p{font-size:13px;line-height:1.6;color:#46583c;margin:9px 0 0}
.solutions-service-figure{margin:0;min-width:0}.solutions-service-film{position:relative;aspect-ratio:5/4;overflow:hidden;background:#f3f4f0;border-radius:3px;isolation:isolate}.solutions-service-film img,.solutions-service-film video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.solutions-service-film video{opacity:0}.solutions-cycle.is-enhanced .solutions-service-film video.is-ready{opacity:1}.solutions-cycle.is-static .solutions-service-film video{opacity:0}
.solutions-service-figure figcaption{display:flex;gap:25px;align-items:start;justify-content:space-between;border-top:1px solid var(--cycle-line);padding:17px 2px 0;margin-top:18px;color:#929b89;font-size:10px;line-height:1.6}.solutions-figure-index{white-space:nowrap;color:#69775e}.solutions-service-figure figcaption>span:last-child{max-width:285px;text-align:right}
.solutions-cycle-foot{display:grid;grid-template-columns:50px 1fr auto;gap:30px;align-items:center;padding:50px 0 15px}.solutions-return svg{width:38px;height:38px;fill:none;stroke:#769069;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.solutions-cycle-foot h3{font-size:31px;font-weight:400;letter-spacing:-.025em;margin:0 0 12px}.solutions-cycle-foot p{font-size:14px;line-height:1.65;color:#78816e;max-width:680px;margin:0}.solutions-cycle-foot>.solutions-text-link{margin-left:35px}
@media(min-width:1500px){.solutions-service{min-height:730px;gap:95px}.solutions-cycle-nav{top:100px}}
@media(max-width:1000px){.solutions-cycle{padding:75px 30px 55px}.solutions-cycle-head{gap:45px}.solutions-cycle-intro>p{font-size:16px}.solutions-cycle-nav a{padding:18px 15px;gap:10px;font-size:14px}.solutions-service{gap:32px;min-height:620px;padding:60px 0}.solutions-service h3{font-size:38px}.solutions-cycle-foot{gap:22px}.solutions-cycle-foot>.solutions-text-link{margin-left:10px}}
@media(max-width:700px){.solutions-cycle{padding:60px 22px 40px}.solutions-cycle-head{grid-template-columns:1fr;gap:25px;margin-bottom:40px}.solutions-cycle h2{font-size:51px}.solutions-cycle h2 br{display:none}.solutions-cycle-intro{max-width:500px}.solutions-cycle-intro>p{font-size:16px;margin-bottom:23px}.solutions-cycle-nav{top:82px}.solutions-cycle-nav a{flex-direction:column;align-items:flex-start;justify-content:center;padding:14px 10px;gap:6px;font-size:12px;min-height:72px}.solutions-cycle-nav svg{display:none}.solutions-step-number{font-size:9px}.solutions-cycle-meta{font-size:9px;gap:10px;margin-bottom:0}.solutions-service{grid-template-columns:1fr;gap:35px;padding:48px 0 50px;min-height:0;scroll-margin-top:175px}.solutions-service-copy{max-width:100%}.solutions-service-label{margin-bottom:23px}.solutions-service h3{font-size:40px;max-width:100%;margin-bottom:22px}.solutions-description{font-size:15px}.solutions-outcomes li{font-size:13px}.solutions-service-figure figcaption{font-size:9px;gap:12px;padding-top:13px;margin-top:12px}.solutions-service-figure figcaption>span:last-child{max-width:220px}.solutions-cycle-foot{grid-template-columns:30px 1fr;gap:20px;padding-top:35px}.solutions-return svg{width:30px;height:30px}.solutions-cycle-foot h3{font-size:29px}.solutions-cycle-foot p{font-size:13px}.solutions-cycle-foot>.solutions-text-link{grid-column:2;justify-self:start;margin-left:0}.solutions-text-link{font-size:12px;gap:16px}}
@media(prefers-reduced-motion:reduce){.solutions-cycle a,.solutions-cycle svg,.solutions-cycle-nav a::after{transition:none}.solutions-service-film video{opacity:0!important}.solutions-motion-hint{visibility:hidden}}

/* A single reading stage. Only enable this after every card fits in the viewport. */
.solutions-cycle.has-scroll-cards .solutions-cycle-track{position:relative}
.solutions-cycle.has-scroll-cards .solutions-cycle-pin{position:sticky;top:var(--solutions-pin-top,92px)}
.solutions-cycle.has-scroll-cards .solutions-cycle-nav{position:relative;top:auto;background:#f5f5f5;backdrop-filter:none;-webkit-backdrop-filter:none}
.solutions-cycle.has-scroll-cards .solutions-cycle-nav a{min-height:58px;padding:13px 22px;font-size:14px}
.solutions-cycle.has-scroll-cards .solutions-cycle-meta{margin:12px 0 8px;font-size:10px}
.solutions-cycle.has-scroll-cards .solutions-cycle-rows{display:grid;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--cycle-line)}
.solutions-cycle.has-scroll-cards .solutions-service{grid-area:1/1;min-height:0;grid-template-columns:1fr 1.08fr;gap:48px;padding:27px 0 20px;border:0;background:#f5f5f5;will-change:transform,opacity}
.solutions-cycle.has-scroll-cards .solutions-service-copy{max-width:540px}
.solutions-cycle.has-scroll-cards .solutions-service-label{font-size:12px;margin-bottom:24px;gap:15px}
.solutions-cycle.has-scroll-cards .solutions-service h3{font-size:clamp(36px,3.5vw,48px);line-height:1.08;margin-bottom:24px;max-width:none}
.solutions-cycle.has-scroll-cards .solutions-entry,.solutions-cycle.has-scroll-cards .solutions-outcomes{display:none}
.solutions-cycle.has-scroll-cards .solutions-description{font-size:16px;line-height:1.6;margin-bottom:30px}
.solutions-cycle.has-scroll-cards .solutions-delivery{padding-top:18px;margin-bottom:26px}
.solutions-cycle.has-scroll-cards .solutions-delivery p{font-size:14px;line-height:1.6;margin-top:10px}
.solutions-cycle.has-scroll-cards .solutions-service-copy>.solutions-text-link{font-size:13px;padding-bottom:8px}
.solutions-cycle.has-scroll-cards .solutions-service-figure{width:100%;max-width:calc((100svh - 325px)*1.25);justify-self:end;align-self:center}
.solutions-cycle.has-scroll-cards .solutions-service-figure figcaption{margin-top:12px;padding-top:12px;gap:16px;font-size:9px}
.solutions-cycle.has-scroll-cards .solutions-service-figure figcaption>span:last-child{max-width:270px}
.solutions-cycle.has-scroll-cards .solutions-cycle-foot{padding-top:40px}
@media(prefers-reduced-motion:reduce){.solutions-cycle.has-scroll-cards .solutions-service{will-change:auto}}

/* Three named offerings share the existing construction-story presentation. */
.solutions-cycle-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
.solutions-cycle .solutions-service-label{font-size:14px}
@media(max-width:700px){.solutions-cycle-nav a{font-size:14px;line-height:1.25;min-height:82px}.solutions-cycle h2{font-size:clamp(36px,9vw,51px)}}
