html { scroll-behavior:smooth; }
.services-page { background:#fff; }
.services-page .nav-links .active { color:var(--blue); }
.service-main { position:relative; overflow:clip; }
.service-overview { min-height:1048px; background:#fff; }
.service-overview-inner { width:min(1680px,calc(100% - 120px)); margin:0 auto; padding-top:64px; display:grid; grid-template-columns:220px minmax(360px,560px) minmax(520px,730px); grid-template-rows:auto 314px; gap:72px 60px; align-items:start; }
.service-sticky-rail { position:fixed; z-index:8; left:max(60px,calc((100vw - 1680px)/2)); top:340px; width:220px; color:#1a1c1b; transition:top .35s ease,transform .35s ease,opacity .25s ease; }
.service-sticky-rail.is-condensed { top:50%; transform:translateY(-50%); }
.service-sticky-rail.is-stopped { position:absolute; top:auto; bottom:96px; transform:none; }
.service-sticky-rail.is-hidden { opacity:0; pointer-events:none; }
.service-rail-spacer { width:220px; }
.service-intro-heading { padding-top:3px; }
.service-branding h1 { margin:0; font-size:28px; line-height:34px; }
.service-branding small { display:block; margin-top:5px; color:#434655; font-size:12px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase; }
.service-index { display:flex; flex-direction:column; align-items:flex-start; gap:13px; font-size:15px; line-height:20px; }
.service-sticky-rail .service-index { margin-top:0; }
.service-index a { position:relative; max-width:190px; color:inherit; transition:color .2s ease; }
.service-index a::before { content:""; position:absolute; left:-18px; top:8px; width:8px; height:8px; border-radius:50%; background:var(--blue); opacity:0; transform:scale(.5); transition:opacity .2s ease,transform .2s ease; }
.service-index a:hover,.service-index a:focus-visible { color:var(--blue); }
.service-index a.active::before { opacity:1; transform:scale(1); }
.service-sticky-rail .service-index a.on-dark { color:#fff; }
.service-sticky-rail .service-index a.on-dark:hover,.service-sticky-rail .service-index a.on-dark:focus-visible { color:var(--lime); }
.service-sticky-rail .service-index a.on-dark::before { background:var(--lime); }
.service-overview-copy { padding-top:24px; }
.service-kicker { display:inline-flex; min-height:40px; padding:0 17px; align-items:center; border-radius:999px; background:var(--lime); color:#000; font-size:13px; font-weight:600; }
.service-overview-copy h2,.feature-copy h2 { margin:20px 0 0; font-size:48px; line-height:1.08; letter-spacing:-.96px; }
.service-overview-copy p,.feature-copy>p { margin:24px 0 0; color:#434655; font-size:18px; line-height:28px; }
.service-primary-button { width:224px; height:58px; margin-top:24px; display:flex; align-items:center; justify-content:center; gap:8px; border:2px solid var(--blue); border-radius:32px; background:var(--blue); color:#fff; font-size:14px; font-weight:600; letter-spacing:.7px; transition:background-color .22s ease,color .22s ease; }
.service-primary-button img { width:17px; height:17px; transform:rotate(42.39deg); filter:brightness(0) invert(1); }
.service-primary-button:hover,.service-primary-button:focus-visible { background:#fff; color:var(--blue); }
.service-primary-button:hover img,.service-primary-button:focus-visible img { filter:brightness(0) saturate(100%) invert(25%) sepia(99%) saturate(4078%) hue-rotate(215deg) brightness(96%) contrast(105%); }
.service-overview-image { width:calc(100% - 40px); height:488px; margin-left:40px; object-fit:cover; border-radius:12px; box-shadow:0 18px 30px rgba(0,0,0,.12); }
.service-overview-cards { grid-column:2/4; margin-left:68px; display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.service-overview-cards article { height:314px; padding:34px 32px; border:1px solid #9c6262; border-radius:12px; background:#f1f1f1; }
.service-overview-cards small { color:var(--blue); font-size:14px; text-transform:uppercase; }
.service-overview-cards p { margin:60px 0 0; font-size:18px; line-height:30px; }
.service-feature { height:1020px; }
.theme-blue { background:var(--blue); color:#fff; }
.theme-gray { background:#e7e6e6; color:#1a1c1b; }
.theme-black { background:#000; color:#fff; }
.theme-white { background:#fff; color:#1a1c1b; }
.service-feature-inner { width:min(1680px,calc(100% - 120px)); height:100%; margin:0 auto; display:grid; grid-template-columns:220px minmax(0,1fr) minmax(0,1fr); gap:58px; align-items:center; }
.feature-image { width:100%; height:600px; object-fit:cover; border:1px solid rgba(255,255,255,.5); border-radius:12px; box-shadow:0 8px 18px rgba(0,0,0,.16); }
.feature-image.portrait { width:calc(100% - 65px); margin-left:74px; object-position:center; }
.feature-copy { padding:0 42px 0 18px; }
.feature-copy h2 { color:inherit; }
.theme-blue .feature-copy>p,.theme-black .feature-copy>p { color:#fff; }
.feature-list { margin:36px 0 0; padding:0; display:flex; flex-direction:column; gap:13px; list-style:none; }
.feature-list li { display:flex; align-items:center; gap:12px; font-size:16px; }
.feature-list img { width:16px; height:16px; }
.service-info-stack { margin-top:40px; display:flex; flex-direction:column; gap:14px; }
.service-info-stack article,.service-info-row article { min-height:98px; padding:16px; display:flex; align-items:center; gap:16px; border:1px solid #c3c5d8; border-radius:8px; background:#f7f7f7; color:#1a1c1b; }
.service-info-stack article>img,.service-info-row article>img { width:20px; height:20px; flex:0 0 20px; }
.service-info-stack div,.service-info-row div { display:flex; flex-direction:column; gap:4px; }
.service-info-stack b,.service-info-row b { font-size:14px; }
.service-info-stack span,.service-info-row span { color:#434655; font-size:13px; line-height:18px; }
.research-copy { max-width:540px; margin-left:70px; padding:0; }
.research-cards { margin-top:36px; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; counter-reset:research-card; }
.research-cards article {
  position:relative; min-height:168px; padding:22px; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start;
  border:1px solid rgba(31,58,105,.14); border-radius:14px; background:linear-gradient(145deg,#fff 0%,#fafcff 100%);
  box-shadow:0 8px 24px rgba(30,57,104,.07); text-align:left;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
  counter-increment:research-card;
}
.research-cards article::before {
  content:"0" counter(research-card); width:38px; height:30px; margin-bottom:18px; border-radius:8px;
  display:flex; align-items:center; justify-content:center; background:var(--lime); color:#091323;
  font-size:11px; line-height:1; font-weight:700; letter-spacing:.6px;
}
.research-cards article::after {
  content:""; position:absolute; right:-28px; bottom:-30px; width:90px; height:90px; border-radius:50%;
  background:rgba(198,243,75,.13); transition:transform .22s ease;
}
.research-cards article:hover { transform:translateY(-4px); border-color:rgba(5,88,238,.28); box-shadow:0 15px 32px rgba(30,57,104,.12); }
.research-cards article:hover::after { transform:scale(1.2); }
.research-cards b { position:relative; z-index:1; font-size:15px; line-height:21px; font-weight:600; letter-spacing:-.15px; }
.research-cards span { position:relative; z-index:1; max-width:185px; margin-top:7px; color:#5b6475; font-size:13px; line-height:19px; }
.research-image { width:calc(100% + 62px); height:629px; margin-left:-76px; }
.service-dark-kicker { display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:rgba(255,255,255,.1); font-size:13px; font-weight:600; letter-spacing:.65px; text-transform:uppercase; }
.service-dark-kicker img { width:13px; height:12px; }
.feature-copy blockquote { margin:38px 0 0; padding:10px 0 10px 26px; border-left:2px solid var(--lime); color:rgba(255,255,255,.8); font-size:16px; line-height:24px; font-style:italic; }
.email-image { width:calc(100% - 48px); height:466px; margin-left:74px; }
.email-copy { padding-left:0; }
.progress-group { margin-top:38px; display:flex; flex-direction:column; gap:20px; }
.progress-group>div { display:flex; flex-direction:column; gap:7px; }
.progress-group span { display:flex; justify-content:space-between; font-size:14px; }
.progress-group i { height:8px; overflow:hidden; border-radius:8px; background:#e3e3e3; }
.progress-group em { display:block; height:100%; border-radius:8px; background:var(--lime); }
.service-info-row { margin-top:34px; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.orders-copy { padding-left:0; }
.orders-image { width:calc(100% + 62px); height:550px; margin-left:-74px; }
@media (min-width:1501px) {
  .service-overview { min-height:820px; }
  .service-overview-inner { width:1440px; padding-top:48px; grid-template-columns:180px 480px 650px; grid-template-rows:auto 250px; gap:50px 40px; }
  .service-sticky-rail { left:calc((100vw - 1440px)/2); top:300px; width:180px; }
  .service-sticky-rail.is-stopped { bottom:72px; }
  .service-rail-spacer { width:180px; }
  .service-branding h1 { font-size:24px; line-height:30px; }
  .service-branding small { font-size:10px; letter-spacing:1.2px; }
  .service-index { gap:11px; font-size:13px; line-height:18px; }
  .service-index a { max-width:165px; }
  .service-overview-copy { padding-top:12px; }
  .service-kicker { min-height:34px; padding-inline:15px; font-size:12px; }
  .service-overview-copy h2,.feature-copy h2 { margin-top:18px; font-size:40px; line-height:1.08; letter-spacing:-.8px; }
  .service-overview-copy p,.feature-copy>p { margin-top:20px; font-size:15px; line-height:25px; }
  .service-primary-button { width:180px; height:48px; margin-top:22px; font-size:12px; }
  .service-primary-button img { width:14px; height:14px; }
  .service-overview-image { width:calc(100% - 20px); height:400px; margin-left:20px; }
  .service-overview-cards { margin-left:40px; gap:20px; }
  .service-overview-cards article { height:250px; padding:28px 26px; }
  .service-overview-cards small { font-size:12px; }
  .service-overview-cards p { margin-top:45px; font-size:15px; line-height:25px; }
  .service-feature { height:820px; }
  .service-feature-inner { width:1440px; grid-template-columns:180px minmax(0,1fr) minmax(0,1fr); gap:44px; }
  .feature-image { height:480px; }
  .feature-image.portrait { width:calc(100% - 45px); margin-left:50px; }
  .feature-copy { padding:0 32px 0 12px; }
  .feature-list { margin-top:28px; gap:11px; }
  .feature-list li { gap:10px; font-size:14px; }
  .feature-list img { width:14px; height:14px; }
  .service-info-stack { margin-top:30px; gap:12px; }
  .service-info-stack article,.service-info-row article { min-height:80px; padding:13px; gap:13px; }
  .service-info-stack b,.service-info-row b { font-size:13px; }
  .service-info-stack span,.service-info-row span { font-size:12px; line-height:17px; }
  .research-copy { max-width:480px; margin-left:45px; }
  .research-cards { margin-top:28px; gap:13px; }
  .research-cards article { min-height:138px; padding:17px; }
  .research-cards article::before { width:34px; height:27px; margin-bottom:13px; font-size:10px; }
  .research-cards b { font-size:13px; line-height:18px; }
  .research-cards span { margin-top:5px; font-size:12px; line-height:17px; }
  .research-image { width:calc(100% + 40px); height:500px; margin-left:-48px; }
  .service-dark-kicker { padding:7px 14px; font-size:11px; }
  .feature-copy blockquote { margin-top:30px; padding-left:22px; font-size:14px; line-height:22px; }
  .email-image { width:calc(100% - 35px); height:390px; margin-left:50px; }
  .progress-group { margin-top:30px; gap:16px; }
  .progress-group span { font-size:12px; }
  .service-info-row { margin-top:28px; gap:13px; }
  .orders-image { width:calc(100% + 40px); height:440px; margin-left:-48px; }
}
@media (max-width:1200px) {
  .service-overview,.service-feature { height:auto; min-height:0; }
  .service-overview-inner,.service-feature-inner { width:calc(100% - 64px); padding:80px 0; grid-template-columns:180px 1fr 1fr; gap:38px; }
  .service-overview-inner { grid-template-rows:auto auto; }
  .service-sticky-rail { left:32px; width:180px; }
  .service-rail-spacer { width:180px; }
  .service-overview-copy h2,.feature-copy h2 { font-size:40px; }
  .research-copy { margin-left:0; }
}
@media (max-width:900px) {
  .service-sticky-rail { position:sticky; z-index:9; top:0; left:auto; width:100%; padding:12px 20px; transform:none!important; color:#1a1c1b; background:rgba(255,255,255,.92); border-bottom:1px solid rgba(0,0,0,.08); backdrop-filter:blur(12px); }
  .service-sticky-rail.is-stopped { position:sticky; bottom:auto; }
  .service-sticky-rail .service-index { margin:0; flex-flow:row nowrap; gap:22px; overflow-x:auto; scrollbar-width:none; }
  .service-sticky-rail .service-index::-webkit-scrollbar { display:none; }
  .service-sticky-rail .service-index a { flex:0 0 auto; max-width:none; white-space:nowrap; }
  .service-sticky-rail .service-index a::before { display:none; }
  .service-sticky-rail .service-index a.on-dark { color:#1a1c1b; }
  .service-sticky-rail .service-index a.active { color:var(--blue); }
  .service-rail-spacer { display:none; }
  .service-overview-inner,.service-feature-inner { width:calc(100% - 40px); display:flex; flex-direction:column; gap:34px; }
  .service-overview-copy,.feature-copy { padding:0; }
  .research-copy { max-width:none; margin-left:0; }
  .service-overview-image,.feature-image,.feature-image.portrait,.research-image,.email-image,.orders-image { width:100%; height:auto; margin-left:0; aspect-ratio:1.25/1; }
  .service-overview-cards { width:100%; margin-left:0; grid-template-columns:1fr; }
  .service-overview-cards article { height:auto; min-height:210px; }
  .service-overview-cards p { margin-top:40px; }
  .research-cards { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
  .service-overview-inner,.service-feature-inner { padding:56px 0; }
  .service-overview-copy h2,.feature-copy h2 { font-size:36px; }
  .service-overview-copy p,.feature-copy>p { font-size:16px; line-height:26px; }
  .research-cards,.service-info-row { grid-template-columns:1fr; }
  .service-overview-cards article { padding:26px 22px; }
}
