body:is(.page-template-services2,.page-template-services) { --s2-blue:#304de2; --s2-ink:#111; --s2-gutter:clamp(20px,4vw,64px); background:#fff; }
:is(.page-template-services2,.page-template-services) header .header-top { background:#fff; }
:is(.page-template-services2,.page-template-services) header .header-top .logo-side svg path,
:is(.page-template-services2,.page-template-services) header .header-top .menu-button svg rect { fill:#111 !important; }
.services2 { color:var(--s2-ink); background:#fff; font-family:trokit-medium,sans-serif; }
.services2 * { box-sizing:border-box; }
.services2 h1,.services2 h2 { font-family:trokit-bold,sans-serif; letter-spacing:-.035em; text-wrap:balance; margin:0; }
.services2 a { text-decoration:none; color:inherit; }
.services2 svg { flex-shrink:0; }
.services2 a:focus-visible { outline:3px solid var(--s2-blue); outline-offset:6px; }
.services2 ::selection { background:var(--s2-blue); color:#fff; }
.s2-opening,.s2-chapter,.s2-start { padding-left:var(--s2-gutter); padding-right:var(--s2-gutter); }
.s2-opening { padding-top:170px; padding-bottom:0; max-width:1700px; margin:auto; }
.s2-opening h1 { font-size:clamp(46px,6.8vw,96px); line-height:1.04; max-width:15ch; }
.s2-opening-bottom { display:flex; justify-content:space-between; align-items:center; gap:40px; margin:36px 0 60px; }
.s2-opening-bottom p { font-size:22px; line-height:1.5; max-width:58ch; margin:0; }
.services2 .s2-button { display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:16px 26px; background:var(--s2-blue); color:#fff; flex-shrink:0; transition:background 180ms ease; }
.services2 .s2-button:hover { background:#2137a7; }
.s2-jump { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #bbb; border-bottom:1px solid #bbb; }
.s2-jump a { padding:22px 0; min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:20px; }
.s2-jump a + a { margin-left:32px; }
.s2-jump a:hover { color:var(--s2-blue); }
.s2-chapter { max-width:1700px; margin:0 auto; display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(40px,6vw,100px); padding-top:100px; padding-bottom:100px; scroll-margin-top:120px; }
.s2-chapter h2 { font-size:clamp(40px,4.5vw,64px); line-height:1.08; }
.s2-intro { font-size:22px; line-height:1.5; max-width:38ch; margin:22px 0 34px; }
.s2-service-list a { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:18px 0; border-top:1px solid #ccc; min-height:64px; }
.s2-service-list a:last-child { border-bottom:1px solid #ccc; }
.s2-service-list strong { display:block; font-family:trokit-medium,sans-serif; font-weight:400; font-size:20px; line-height:1.3; }
.s2-service-list a > span > span { display:block; font-size:16px; line-height:1.45; color:#555; margin-top:7px; max-width:44ch; }
.s2-service-list a:hover strong,.s2-service-list a:hover svg { color:var(--s2-blue); }
.s2-project { display:block; align-self:start; position:sticky; top:130px; min-width:0; }
.s2-project img { width:100%; aspect-ratio:4/5; display:block; object-fit:cover; }
.s2-project-caption { display:flex; justify-content:space-between; gap:20px; padding:20px 0; align-items:center; }
.s2-project-caption strong { display:block; font-size:24px; font-family:trokit-bold,sans-serif; }
.s2-project-caption span span { display:block; font-size:16px; margin-top:5px; color:#555; }
.s2-project:hover .s2-project-caption { color:var(--s2-blue); }
.s2-chapter:nth-of-type(3) { direction:rtl; }
.s2-chapter:nth-of-type(3) > * { direction:ltr; }
.s2-chapter:nth-of-type(3) .s2-project img { aspect-ratio:1/1; }
.s2-note { font-size:20px; line-height:1.5; margin:30px 0; max-width:38ch; }
.services2 .s2-guide { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:5px; }
.s2-start { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding-top:70px; padding-bottom:70px; background:var(--s2-blue); color:#fff; }
.s2-start h2 { font-size:clamp(40px,4.5vw,64px); line-height:1.08; }
.s2-start p { font-size:22px; line-height:1.5; max-width:40ch; margin:0 0 24px; }
.s2-start .s2-button { background:#fff; color:var(--s2-blue); }
.s2-start .s2-button:hover { background:#e8edff; }
.s2-start a:focus-visible { outline-color:#fff; }
@media(min-width:1700px) { .s2-start { padding-left:max(var(--s2-gutter),calc((100% - 1572px)/2)); padding-right:max(var(--s2-gutter),calc((100% - 1572px)/2)); } }
@media(max-width:900px) { .s2-opening-bottom { align-items:flex-start; flex-direction:column; gap:24px; } .s2-chapter { gap:32px; padding-top:64px; padding-bottom:64px; } .s2-project { position:static; } }
@media(max-width:650px) { .s2-opening { padding-top:120px; } .s2-opening-bottom p,.s2-intro,.s2-start p { font-size:18px; } .s2-opening-bottom { margin-bottom:36px; } .s2-jump { grid-template-columns:1fr; } .s2-jump a + a { margin-left:0; border-top:1px solid #ddd; } .s2-jump a { padding:16px 0; } .s2-chapter { grid-template-columns:1fr; } .s2-chapter:nth-of-type(3) { direction:ltr; } .s2-project img { aspect-ratio:4/3; } .s2-start { grid-template-columns:1fr; gap:28px; padding-top:48px; padding-bottom:48px; } .s2-service-list strong { font-size:18px; } }
@media(prefers-reduced-motion:reduce) { .services2 a { transition:none; } }

.s2-capabilities { max-width:1700px; margin:auto; padding:50px var(--s2-gutter) 100px; }
.s2-capabilities-heading { display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(40px,6vw,100px); margin-bottom:64px; }
.s2-capabilities-heading h2 { font-size:clamp(36px,4.5vw,64px); line-height:1.08; }
.s2-capabilities-heading p { font-size:22px; line-height:1.5; margin:0; max-width:45ch; }
.s2-capability { display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(40px,6vw,100px); padding:36px 0; border-top:1px solid #ccc; }
.s2-capability h3 { font:28px/1.2 trokit-bold,sans-serif; margin:0; text-wrap:balance; }
.s2-capability p { font-size:18px; line-height:1.6; margin:0; max-width:65ch; }
.s2-capability ul { display:flex; flex-wrap:wrap; gap:10px 24px; list-style:none; padding:0; margin:22px 0 0; color:#304de2; font-size:16px; }
@media(max-width:650px) { .s2-capabilities { padding-top:20px; padding-bottom:56px; } .s2-capabilities-heading,.s2-capability { grid-template-columns:1fr; gap:20px; } .s2-capabilities-heading { margin-bottom:36px; } .s2-capabilities-heading p,.s2-capability p { font-size:18px; } .s2-capability h3 { font-size:26px; } }

.s2-project-slot { min-width:0; align-self:start; position:sticky; top:130px; }
.s2-project-slot .s2-project { position:static; }
@media(max-width:900px) { .s2-project-slot { position:static; } }

.s2-dedicated-teams .s2-capabilities-heading { margin-bottom:0; }
.s2-dedicated-teams .s2-capabilities-heading p + p { margin-top:24px; }
.s2-dedicated-teams .s2-guide { margin-top:24px; }
