/* Service pages and staged services navigation. */
.service-page-shell {
  padding: 10rem 0 6rem;
  min-height: 70vh;
  background:
    radial-gradient(circle at 85% 8%, rgba(0,240,255,.08), transparent 28rem),
    var(--color-bg);
}
.service-page-shell__inner { max-width: 1080px; }
.service-page { display: grid; gap: 2rem; }
.service-page__hero {
  max-width: 900px;
  padding: clamp(2rem,5vw,4.5rem);
  border: 1px solid rgba(0,240,255,.22);
  border-radius: 1rem;
  background: linear-gradient(145deg,rgba(0,240,255,.08),rgba(255,255,255,.015));
  box-shadow: 0 30px 100px rgba(0,0,0,.32), 0 0 70px rgba(0,240,255,.08);
}
.service-page__title {
  margin: 0 0 1.5rem;
  max-width: 900px;
  color: var(--color-text-pri);
  font-size: clamp(2.4rem,6vw,4.8rem);
  font-weight: 900;
  line-height: 1.03;
  letter-spacing: -.045em;
}
.service-page__lead { margin: 0; max-width: 800px; color: var(--color-text-sec); font-size: clamp(1.05rem,2vw,1.3rem); line-height: 1.75; }
.service-page__cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
.service-page__card,
.service-page__section {
  padding: clamp(1.5rem,3vw,2.5rem);
  border: 1px solid var(--color-border-sutil);
  border-radius: .9rem;
  background: rgba(255,255,255,.025);
}
.service-page__card { transition: transform .2s ease,border-color .2s ease; }
.service-page__card:hover { transform: translateY(-3px); border-color: rgba(0,240,255,.35); }
.service-page__card h2,.service-page__section h2 { margin: 0 0 1rem; font-size: clamp(1.35rem,2vw,1.9rem); line-height: 1.2; }
.service-page__card p,.service-page__section p,.service-page__section li { color: var(--color-text-sec); line-height: 1.75; }
.service-page__card p:last-child { margin-bottom: 0; }
.service-page__card a,.service-page__section a { color: var(--color-accent); text-decoration: underline; text-underline-offset: .2em; }
.service-page__section ul,.service-page__section ol { padding-left: 1.5rem; }
.service-page__section li + li { margin-top: .75rem; }
.service-page__faq .rank-math-list-item + .rank-math-list-item { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--color-border-sutil); }
.service-page__faq .rank-math-question { margin: 0 0 .6rem; font-size: 1.15rem; }
.service-page__faq .rank-math-answer p { margin: 0; }
.service-page__cta { margin-top: .5rem; }
.service-page__cta .wp-block-button__link { border-radius: .5rem; background: var(--color-accent); color: #001014; box-shadow: 0 0 24px rgba(0,240,255,.35); font-weight: 700; }

.mega-nav__item.is-open .mega-menu--services { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: translateX(-50%) translateY(0) !important; }
.mega-menu--services { grid-template-columns: 1fr; width: min(1040px, calc(100vw - 3rem)); }
.mega-menu__services-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--color-border-sutil); }
.mega-menu__services-grid a { display: grid; gap: .55rem; padding: 1.35rem; background: #0d121d; text-transform: none; letter-spacing: 0; }
.mega-menu__services-grid a:hover { background: #111a27; }
.mega-menu__services-grid strong { color: var(--color-text-pri); font-size: .95rem; }
.mega-menu__services-grid span { color: var(--color-text-sec); font-size: .78rem; font-weight: 500; line-height: 1.5; }
.mega-menu__all { display: block; padding: 1rem 1.35rem; background: rgba(0,240,255,.08); color: var(--color-accent)!important; text-align: right; }

@media (max-width: 980px) {
  body.nav-open { overflow: hidden; }
  .site-nav.is-open { display: flex; position: fixed !important; inset: 0 !important; left: 0 !important; right: 0 !important; top: 0 !important; transform: none !important; width: 100vw; max-width: 100vw; margin: 0; box-sizing: border-box; z-index: 49; padding: 6.5rem 1.5rem 2rem; overflow-x: hidden; overflow-y: auto; background: rgba(5,6,8,.98); flex-direction: column; align-items: stretch; gap: 1.25rem; }
  .site-nav.is-open > a,.mega-nav__trigger { font-size: .9rem; text-align: left; }
  .mega-menu,.mega-menu--services { position: static; width: 100%; max-height: 0; overflow: hidden; opacity: 0; visibility: hidden; transform: none; pointer-events: none; grid-template-columns: 1fr; }
  .mega-nav__item.is-open .mega-menu,
  .mega-nav__item.is-open .mega-menu--services { position: static !important; transform: none !important; max-height: none; margin-top: 1rem; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }
  .mega-menu__services-grid { grid-template-columns: 1fr; }
  .mega-menu__all { text-align: left; }
}
@media (max-width: 680px) {
  .service-page-shell { padding-top: 7.5rem; }
  .service-page__cards { grid-template-columns: 1fr; }
  .service-page__hero,.service-page__card,.service-page__section { border-radius: .7rem; }
}


/* Service rollout 0.3.2: compact proof card and accessible Rank Math FAQ accordion. */
.service-project-section{padding-block:clamp(2.5rem,5vw,4.25rem)}
.service-project-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(1rem,3vw,1.75rem);max-width:860px;margin-inline:auto;padding:clamp(1.25rem,3vw,2rem);border:1px solid color-mix(in srgb,var(--color-accent) 28%,transparent);border-radius:1rem;background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 9%,transparent),rgba(255,255,255,.025))}
.service-project-card__icon{display:grid;place-items:center;width:3.75rem;height:3.75rem;border-radius:.9rem;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,transparent);box-shadow:0 0 34px color-mix(in srgb,var(--color-accent) 18%,transparent)}
.service-project-card__copy h2{margin:0 0 .55rem}.service-project-card__copy p{margin:0;color:var(--color-text-sec);line-height:1.7}.service-project-card__copy a{color:var(--color-accent);text-underline-offset:.2em}
:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) :is(.rank-math-list-item,.rank-math-faq-item){border:1px solid color-mix(in srgb,var(--color-accent) 30%,var(--color-border-sutil));border-radius:.75rem;background:color-mix(in srgb,var(--color-accent) 5%,transparent);overflow:hidden}
:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) :is(.rank-math-list-item,.rank-math-faq-item)+:is(.rank-math-list-item,.rank-math-faq-item){margin-top:.8rem;padding-top:0}
:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .rank-math-question{margin:0;font-size:1.05rem}
:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .rank-math-question__button{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1.15rem 1.25rem;border:0;background:transparent;color:var(--color-text-pri);font:inherit;font-weight:700;text-align:left;cursor:pointer}
:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .rank-math-question__button:hover{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}
:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .rank-math-question__button:focus-visible{outline:3px solid var(--color-accent);outline-offset:-3px}
:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .faq-toggle-icon{position:relative;flex:0 0 1.15rem;width:1.15rem;height:1.15rem;color:var(--color-accent);transition:transform .25s ease}
:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .faq-toggle-icon::before,:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .faq-toggle-icon::after{content:"";position:absolute;top:50%;left:0;width:100%;height:2px;background:currentColor;transform:translateY(-50%);transition:transform .25s ease,opacity .25s ease}
:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .faq-toggle-icon::after{transform:translateY(-50%) rotate(90deg)}
:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .is-open .faq-toggle-icon{transform:rotate(180deg)}
:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .is-open .faq-toggle-icon::after{opacity:0;transform:translateY(-50%) rotate(0)}
:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)).faq-enhanced .rank-math-answer{overflow:hidden;max-height:0;opacity:0;transition:max-height .32s ease,opacity .24s ease}
:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .rank-math-answer p{margin:0;padding:0 1.25rem 1.25rem;color:var(--color-text-sec);line-height:1.72}
:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .is-open .rank-math-answer{opacity:1}
.cta-final__subtitle{max-width:650px;margin:0 auto 1.5rem;color:var(--color-text-sec);font-size:1.08rem;line-height:1.65}
@media(max-width:680px){.service-project-card{grid-template-columns:1fr}.service-project-card__icon{width:3.25rem;height:3.25rem}:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .rank-math-question__button{padding:1rem}:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .rank-math-answer p{padding:0 1rem 1rem}}
@media(prefers-reduced-motion:reduce){:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .faq-toggle-icon,:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .faq-toggle-icon::before,:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)) .faq-toggle-icon::after,:is(:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .service-page__faq,.single-post :is(#rank-math-faq,.wp-block-rank-math-faq-block)).faq-enhanced .rank-math-answer{transition:none!important}}

/* Pilot ID 4816: keep the existing H1 lead line and scale only its second line. */
:is(.page-id-4815,.page-id-4816,.page-id-4817,.page-id-4818,.page-id-4819) .hero__title-service-sub{
  display:block;
  margin-top:.22em;
  color:var(--color-text-sec);
  font-size:.56em;
  font-weight:500;
  line-height:1.12;
}

/* ID 4816 only: five indicator cards as a centered 3+2 desktop grid. */
@media (min-width:961px){
  .page-id-4816 .service-process-steps .benefits-grid,
  .page-id-4817 .service-process-steps .benefits-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .page-id-4816 .service-process-steps .benefit-stat,
  .page-id-4817 .service-process-steps .benefit-stat{grid-column:span 2}
  .page-id-4816 .service-process-steps .benefit-stat:nth-child(4),
  .page-id-4817 .service-process-steps .benefit-stat:nth-child(4){grid-column:2 / span 2}
  .page-id-4816 .service-process-steps .benefit-stat:nth-child(5),
  .page-id-4817 .service-process-steps .benefit-stat:nth-child(5){grid-column:4 / span 2}
}
