/* Setup Services: project-focused composition using the existing brand tokens. */
.ss-page { color:var(--ps-text); background:var(--ps-white); --ss-space:clamp(48px,6vw,80px); }
.ss-page .ss-wrap { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.ss-page .ss-space { padding-block:var(--ss-space); }
.ss-page h1,.ss-page h2,.ss-page h3 { font-family:Sora,Inter,sans-serif; }
.ss-page h1 { font-size:clamp(40px,4.3vw,60px); font-weight:700; line-height:1.13; letter-spacing:-.045em; }
.ss-page h2 { font-size:clamp(30px,3vw,40px); font-weight:600; line-height:1.22; letter-spacing:-.035em; text-wrap:balance; }
.ss-page h3 { font-size:18px; font-weight:600; line-height:1.4; letter-spacing:-.02em; }
.ss-page p { font-size:16px; line-height:1.65; color:var(--ps-body); }
.ss-page .ss-label { color:var(--ps-accent-hover); font-size:13px; font-weight:600; margin-bottom:16px; }
.ss-page .ss-hero { background:var(--ps-dark); color:var(--ps-warm); padding:64px 0 32px; }
.ss-page .ss-hero .ss-label,.ss-page .ss-next .ss-label { color:var(--ps-soft); }
.ss-page .ss-hero-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:64px; align-items:start; }
.ss-page .ss-intro > p:first-child { color:var(--ps-warm); font-size:18px; max-width:44ch; }
.ss-page .ss-start { margin-top:20px; color:var(--ps-warm); font-weight:600; font-size:15px; }
.ss-page .ss-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:18px; }
.ss-page .ss-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:13px 20px; border:1px solid transparent; border-radius:8px; background:var(--ps-accent-hover); color:white; font:600 15px/1.4 Inter,sans-serif; text-align:center; transition:border-color 160ms ease; }
.ss-page .ss-button:hover { border-color:var(--ps-soft); }
.ss-page .ss-link { display:inline-flex; align-items:center; min-height:44px; font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.ss-page .ss-link:hover { text-decoration-thickness:2px; }
.ss-page .ss-assurance { color:var(--ps-soft); font-size:14px; margin-top:40px; padding-top:24px; border-top:1px solid var(--ps-dark-line); }
.ss-page .ss-section-head { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:64px; align-items:end; margin-bottom:36px; }
.ss-page .ss-section-head > p { max-width:45ch; }
.ss-page .ss-service-list { border-top:1px solid var(--ps-border); }
.ss-page .ss-service-list article { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr); gap:48px; padding:24px 0; border-bottom:1px solid var(--ps-border); }
.ss-page .ss-service-list p { max-width:74ch; }
.ss-page .ss-project { background:var(--ps-warm); }
.ss-page .ss-project-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:64px; align-items:start; margin-top:36px; }
.ss-page .ss-quote { background:var(--ps-dark); color:var(--ps-warm); padding:30px; border:1px solid var(--ps-dark-line); border-radius:16px; }
.ss-page .ss-quote h3 { font:600 15px/1.5 Inter,sans-serif; letter-spacing:0; }
.ss-page .ss-quote p { color:var(--ps-soft); font-size:14px; }
.ss-page .ss-quote .ss-price { color:var(--ps-warm); font:600 44px/1.2 Sora,sans-serif; letter-spacing:-.04em; margin:20px 0; }
.ss-page .ss-price span { display:block; font:400 14px/1.6 Inter,sans-serif; letter-spacing:0; color:var(--ps-soft); margin-bottom:4px; }
.ss-page .ss-price-rule { border-top:1px solid var(--ps-dark-line); padding-top:20px; margin-top:20px; }
.ss-page .ss-quote .ss-link { margin-top:12px; }
.ss-page .ss-steps { list-style:none; padding:0; margin:0; }
.ss-page .ss-steps li { display:grid; grid-template-columns:36px 1fr; gap:20px; padding:24px 0; border-bottom:1px solid var(--ps-border); }
.ss-page .ss-steps li:first-child { padding-top:0; }
.ss-page .ss-number { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--ps-border); border-radius:8px; color:var(--ps-accent-hover); font-weight:600; }
.ss-page .ss-steps p { margin-top:10px; max-width:55ch; }
.ss-page .ss-expectations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 48px; }
.ss-page .ss-expectations article { border-top:1px solid var(--ps-border); padding-top:20px; }
.ss-page .ss-expectations p { margin-top:10px; max-width:57ch; }
.ss-page .ss-next { background:var(--ps-dark); color:var(--ps-warm); }
.ss-page .ss-next-main { display:flex; justify-content:space-between; align-items:center; gap:32px; }
.ss-page .ss-alternatives { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; padding-top:32px; margin-top:40px; border-top:1px solid var(--ps-dark-line); }
.ss-page .ss-alternatives h3 { font:600 16px/1.5 Inter,sans-serif; }
.ss-page .ss-alternatives p { color:var(--ps-soft); font-size:14px; margin-top:8px; }
.ss-page .ss-alternatives .ss-link { margin-top:8px; }
/* Override only the legacy important focus rule, scoped to this page's main content. */
.page-setup-services .ss-page a:focus-visible { outline:3px solid var(--ps-accent-hover) !important; outline-offset:5px !important; }
.page-setup-services .ss-hero a:focus-visible,.page-setup-services .ss-quote a:focus-visible,.page-setup-services .ss-next a:focus-visible { outline-color:var(--ps-warm) !important; }
@media(max-width:1050px){
  .ss-page .ss-hero-grid,.ss-page .ss-section-head { gap:32px; grid-template-columns:1fr 1fr; }
  .ss-page .ss-project-grid { gap:32px; }
}
@media(max-width:800px){
  .ss-page .ss-hero { padding-top:48px; }
  .ss-page .ss-hero-grid { grid-template-columns:1fr; gap:24px; }
  .ss-page h1 { font-size:48px; }
  .ss-page .ss-intro > p:first-child { max-width:60ch; }
  .ss-page .ss-assurance { margin-top:32px; }
  .ss-page .ss-section-head { grid-template-columns:1fr; gap:20px; }
  .ss-page .ss-section-head > p { max-width:60ch; }
  .ss-page .ss-service-list article { gap:28px; grid-template-columns:1fr 1.6fr; }
  .ss-page .ss-project-grid { grid-template-columns:1fr; }
  .ss-page .ss-quote { display:grid; grid-template-columns:1fr 1.5fr; column-gap:32px; }
  .ss-page .ss-quote h3,.ss-page .ss-quote .ss-price,.ss-page .ss-quote .ss-link { grid-column:1; }
  .ss-page .ss-quote > p:not(.ss-price) { grid-column:2; }
  .ss-page .ss-quote > p:nth-of-type(2) { grid-row:1 / 3; }
  .ss-page .ss-price-rule { margin-top:0; }
  .ss-page .ss-steps li { padding-block:24px; }
  .ss-page .ss-steps li:first-child { padding-top:0; }
  .ss-page .ss-next-main { flex-direction:column; align-items:flex-start; gap:24px; }
}
@media(max-width:540px){
  .ss-page .ss-wrap { width:calc(100% - 40px); }
  .ss-page .ss-hero { padding-top:40px; }
  .ss-page h1 { font-size:clamp(32px,9.5vw,40px); }
  .ss-page .ss-intro > p:first-child { font-size:17px; }
  .ss-page .ss-actions { display:grid; gap:6px; }
  .ss-page .ss-actions .ss-link { justify-content:center; }
  .ss-page .ss-assurance { padding-top:20px; }
  .ss-page .ss-service-list article { grid-template-columns:1fr; gap:10px; padding-block:22px; }
  .ss-page .ss-service-list p,.ss-page .ss-steps p,.ss-page .ss-expectations p { font-size:15px; }
  .ss-page .ss-quote { display:block; padding:24px; }
  .ss-page .ss-price-rule { margin-top:20px; }
  .ss-page .ss-expectations,.ss-page .ss-alternatives { grid-template-columns:1fr; gap:28px; }
  .ss-page .ss-next-main .ss-button { width:100%; }
  .ss-page .ss-steps li { grid-template-columns:32px 1fr; gap:16px; }
  .ss-page .ss-number { width:32px; height:32px; }
  .ss-page .ss-section-head { margin-bottom:28px; }
}
@media(prefers-reduced-motion:reduce){.ss-page .ss-button { transition:none; }}
