.services-page>.services-intro{border-bottom-color:transparent}
.services-page .services-jump{border-top-color:transparent}
/* Services only: neutral surfaces, grouped scroll stacks, and scope on demand. */
.services-page .container{max-width:1280px}
.services-intro{padding:24px 0 0;background:var(--bg);border-bottom:1px solid var(--border-subtle)}
.services-intro .breadcrumb{margin-bottom:28px}
.services-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,72px);padding-block:8px 40px}
.services-hero-copy .eyebrow{color:var(--brand-text-strong);margin-bottom:14px}
.services-hero-copy .page-title{color:var(--text);font-size:clamp(32px,3.5vw,48px);line-height:1.15;letter-spacing:-.035em;max-width:24ch;text-wrap:balance;margin:0}
.services-hero-copy .lead{color:var(--text-muted);font-size:17px;line-height:1.8;margin-top:20px;max-width:65ch}
.services-request{position:relative;isolation:isolate;padding:32px;border:1px solid var(--brand);border-radius:18px;background-color:var(--brand);background-image:linear-gradient(135deg,var(--brand),var(--brand-hover));color:var(--on-brand)}
.services-request::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--on-brand) 3%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--on-brand) 3%,transparent) 1px,transparent 1px);background-size:32px 32px}
.services-request::after{content:"";position:absolute;inset-block-start:16px;inset-inline-end:16px;width:18px;height:18px;border-block-start:1px solid color-mix(in srgb,var(--on-brand) 45%,transparent);border-inline-end:1px solid color-mix(in srgb,var(--on-brand) 45%,transparent);pointer-events:none}
.services-request .eyebrow{color:var(--on-brand);font-size:11px;font-weight:600;margin-bottom:14px}
.services-request h2{color:var(--on-brand);font-size:30px;font-weight:700;line-height:1.3;margin:0;letter-spacing:-.025em;text-wrap:balance}
.services-request p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--on-brand);margin:16px 0 0}
.services-request .actions{margin-top:26px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--on-brand) 24%,transparent);gap:10px}
.services-request .btn{font-size:14px;font-weight:var(--control-weight);min-height:var(--control-height);padding-inline:12px;width:auto;flex:1 1 140px;border-radius:var(--control-radius)}
.services-request .btn.primary{color:var(--brand-hover);background:var(--on-brand);border-color:var(--on-brand)}
.services-request .btn.primary:hover{color:var(--brand-hover);background:var(--on-brand-muted);border-color:var(--on-brand-muted)}
.services-request .btn.ghost{color:var(--on-brand);border-color:var(--on-brand);background:transparent}
.services-request .btn.ghost:hover{color:var(--on-brand);background:var(--brand-hover);border-color:var(--on-brand)}
.services-request .btn:focus-visible{outline:3px solid var(--on-brand);outline-offset:4px}
.services-jump{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border-subtle)}
.services-jump a{display:flex;align-items:center;gap:14px;min-height:64px;padding:14px 22px;font-size:14px;font-weight:600;line-height:1.5;color:var(--text)}
.services-jump a:first-child{padding-inline-start:0}
.services-jump a+a{border-inline-start:1px solid var(--border-subtle)}
.services-jump a:hover{color:var(--brand-text-strong)}
.services-jump-arrow{margin-inline-start:auto;color:var(--text-muted);font-size:20px}
html[dir="rtl"] .services-jump-arrow{transform:scaleX(-1)}
.services-catalog{padding-block:44px 56px}
.services-group{scroll-margin-top:104px}
.services-group+.services-group{margin-top:48px}
.services-group-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.services-group-head .eyebrow{color:var(--text-muted);margin-bottom:8px;font-size:11px}
.services-group-head h2{color:var(--text);margin:0;font-size:clamp(24px,2.2vw,30px);line-height:1.35;letter-spacing:-.025em;text-wrap:balance}
.services-group-count{flex-shrink:0;color:var(--text-muted);font-size:12px;padding-bottom:4px;white-space:nowrap}
.service-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.service-offer-grid--pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-offer{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface);scroll-margin-top:104px}
.service-offer-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;color:var(--text-muted)}
.service-offer-meta>span{font-size:12px;font-weight:600;line-height:1.6}
.service-offer-meta svg{flex-shrink:0;width:24px;height:24px}
.service-offer h3{color:var(--text);font-size:21px;line-height:1.4;letter-spacing:-.025em;margin:0 0 12px;min-height:2.8em;text-wrap:balance}
.service-offer-description{margin:0 0 22px;color:var(--text-muted);font-size:14.5px;line-height:1.8;min-height:7.2em}
.service-scope{margin-top:auto;border-top:1px solid var(--border-subtle)}
.service-scope>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding-top:12px;cursor:pointer;list-style:none;font-size:13px;font-weight:600;color:var(--text)}
.service-scope>summary::-webkit-details-marker{display:none}
.service-scope>summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px;border-radius:4px}
.service-scope-icon{position:relative;flex:0 0 24px;width:24px;height:24px;color:var(--brand-text-strong)}
.service-scope-icon::before,.service-scope-icon::after{content:"";position:absolute;inset-block-start:11px;inset-inline-start:6px;width:12px;height:2px;background:currentColor}
.service-scope-icon::after{transform:rotate(90deg)}
.service-scope[open] .service-scope-icon::after{display:none}
.service-scope-content{padding-top:18px}
.service-scope-list+.service-scope-list{margin-top:20px;padding-top:18px;border-top:1px solid var(--border-subtle)}
.service-scope-list h4{font-size:14px;line-height:1.5;margin:0 0 10px;color:var(--text)}
.service-scope-list ul{margin:0;padding-inline-start:18px;color:var(--text-muted);font-size:14px;line-height:1.75}
.service-scope-list li+li{margin-top:6px}
@media(hover:hover) and (pointer:fine){
  .service-offer:hover{border-color:var(--border)}
  .service-scope>summary:hover{color:var(--brand-text-strong)}
}
html[dir="rtl"] .services-hero-copy .page-title{letter-spacing:0;line-height:1.4}
html[dir="rtl"] .services-page :is(h2,h3){letter-spacing:0;line-height:1.5}
html[dir="rtl"] .service-offer h3{min-height:3em}
html[dir="rtl"] .service-offer-description{line-height:1.9;min-height:7.6em}
@media(min-width:1001px){
  .service-offer-grid--pair .service-offer-description{min-height:5.4em}
  .service-offer-grid--pair .service-offer h3{min-height:0}
  html[dir="rtl"] .service-offer-grid--pair .service-offer-description{min-height:3.8em}
  html[dir="rtl"] .service-offer-grid--pair .service-offer h3{min-height:0}
}
@media(max-width:1000px){
  .services-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px}
  .services-request{padding:26px}
  .service-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-offer h3,.service-offer-description{min-height:0}
  html[dir="rtl"] .service-offer h3,html[dir="rtl"] .service-offer-description{min-height:0}
}
@media(max-width:768px){
  .services-intro{padding-top:16px}
  .services-intro .breadcrumb{margin-bottom:20px}
  .services-hero-grid{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:0 28px}
  .services-hero-copy .page-title{font-size:34px;max-width:24ch}
  .services-hero-copy .lead{font-size:16px;margin-top:16px}
  .services-request{padding:24px}
  .services-request h2{font-size:26px}
  .services-request .actions{margin-top:22px;padding-top:20px}
  .services-catalog>.services-request{margin-top:32px}
  .services-jump{grid-template-columns:minmax(0,1fr);padding-block:8px}
  .services-jump a{min-height:48px;padding:10px 0;font-size:14px}
  .services-jump a+a{border-inline-start:0;border-top:1px solid var(--border-subtle)}
  .services-catalog{padding-block:32px 40px}
  .services-group+.services-group{margin-top:36px}
  .services-group-head{align-items:flex-start;gap:12px;margin-bottom:18px}
  .services-group-head h2{font-size:25px}
  .services-group-count{margin-top:24px}
  .service-offer-grid{gap:16px}
  .service-offer{padding:20px}
  .service-scope-content>.service-offer-description{margin-bottom:20px}
}
@media(max-width:560px){
  .service-offer-grid{grid-template-columns:minmax(0,1fr)}
  .services-hero-copy .page-title{font-size:32px}
  .services-group-count{display:none}
  .service-offer-meta{margin-bottom:14px}
  .service-offer h3{font-size:21px;margin-bottom:10px;text-wrap:initial}
  .service-offer-description{margin-bottom:16px}
}

/* Wide screens pair the existing group copy with an open, vertical card stack.
   Native sticky positioning releases at the end of each group; no scroll trapping. */
@media(min-width:1101px){
  .services-catalog{padding-block:64px 72px}
  .services-group{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,88px);align-items:start}
  .services-group+.services-group{margin-top:88px}
  .services-group-head{display:block;margin:0;padding-block:12px 24px}
  .services-group-head::before{content:"";display:block;width:36px;height:3px;margin-bottom:24px;background:var(--brand-text-strong);border-radius:2px}
  .services-group-head .eyebrow{margin-bottom:14px}
  .services-group-head h2{font-size:clamp(28px,3vw,40px);line-height:1.2;max-width:19ch}
  html[dir="rtl"] .services-group-head h2{line-height:1.45}
  .services-group-count{display:block;margin-top:24px;padding:0}
  .service-offer-grid,.service-offer-grid--pair{display:flex;flex-direction:column;align-items:stretch;gap:32px;min-width:0}
  .service-offer{flex-shrink:0;padding:32px;border-radius:18px;border-color:var(--border);box-shadow:var(--shadow-soft);scroll-margin-top:24px}
  .service-offer-meta{margin-bottom:24px}
  .service-offer-meta>span{font-size:12px;letter-spacing:.035em}
  .service-offer-meta svg{width:28px;height:28px;color:var(--brand-text-strong)}
  .service-offer h3,.service-offer-grid--pair .service-offer h3{font-size:27px;min-height:0;margin-bottom:16px}
  html[dir="rtl"] .service-offer h3,html[dir="rtl"] .service-offer-grid--pair .service-offer h3{min-height:0}
  .service-offer-description,.service-offer-grid--pair .service-offer-description{font-size:16px;min-height:0;margin-bottom:28px}
  html[dir="rtl"] .service-offer-description,html[dir="rtl"] .service-offer-grid--pair .service-offer-description{min-height:0}
  .service-scope>summary{min-height:52px;padding-top:16px;font-size:14px}
  .service-scope-content{padding-top:22px}
}
/* Stacking is reserved for viewports with enough space to read a full card. */
@media(min-width:1101px) and (min-height:720px) and (prefers-reduced-motion:no-preference){
  .services-group-head{position:sticky;top:120px}
  .service-offer{position:sticky;top:calc(120px + var(--stack-index,0) * 16px);z-index:var(--stack-layer,1);transform:scale(var(--stack-scale,1));transform-origin:50% 0;scroll-margin-top:calc(16px + var(--stack-index,0) * 16px)}
  .service-offer:nth-child(2){--stack-index:1;--stack-layer:2}
  .service-offer:nth-child(3){--stack-index:2;--stack-layer:3}
  .service-offer:focus-within{z-index:10;transform:none}
  /* Expanded scope can exceed the viewport. Let all original content flow freely. */
  .services-group:has(.service-scope[open]) .service-offer{position:relative;top:auto;transform:none}
  .services-group:has(.service-scope[open]) .services-group-head{position:static}
}

/* Paint-only brand details: leave card dimensions and native stack geometry intact. */
.service-offer{border-inline-start-color:var(--brand-border)}
.service-offer-meta svg{color:var(--brand-text-strong);background:var(--brand-soft);border-radius:4px;box-shadow:0 0 0 5px var(--brand-soft)}
.service-offer h3{font-weight:800}
@media(hover:hover) and (pointer:fine){
  .service-offer:hover{border-inline-start-color:var(--brand-text-strong)}
}
