html { scroll-behavior: smooth; }

.services-page { background: var(--bg-primary); }
.services-page .logo img { display:block; width:218px; height:auto; object-fit:contain; }

@media (max-width:576px) {
  .services-page .logo img { width:158px; }
}
.page-nav-user { color:var(--text-secondary); font-size:.82rem; font-weight:650; }
.page-signout { padding:8px 16px; font-size:.8rem; }
.services-shell { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }
.services-kicker { color:var(--text-secondary); font-size:.7rem; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.services-kicker::before { content:''; display:inline-block; width:28px; height:1px; margin-right:10px; background:currentColor; vertical-align:middle; }

.services-hero { padding:170px 0 92px; background:linear-gradient(rgba(27,28,20,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(27,28,20,.035) 1px,transparent 1px),var(--bg-primary); background-size:48px 48px; border-bottom:1px solid var(--border-color); }
.services-hero-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:90px; align-items:end; }
.services-hero h1 { max-width:760px; margin-top:22px; font-family:var(--font-display); font-size:clamp(3.6rem,7vw,7.2rem); font-weight:500; letter-spacing:-.06em; line-height:.94; }
.services-hero-copy p { margin-bottom:28px; color:var(--text-secondary); font-size:1rem; line-height:1.8; }
.services-jump { position:sticky; z-index:20; top:var(--header-height, 70px); background:rgba(255,253,245,.92); border-bottom:1px solid var(--border-color); backdrop-filter:blur(14px); }
.services-jump .services-shell {
  display:flex; gap:26px; overflow-x:auto; overscroll-behavior-x:contain;
  scroll-snap-type:x proximity; scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),transparent 100%);
  mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),transparent 100%);
}
.services-jump .services-shell::-webkit-scrollbar { display:none; }
.services-jump a { flex:0 0 auto; scroll-snap-align:start; padding:17px 0; color:var(--text-secondary); font-size:.76rem; font-weight:700; text-decoration:none; white-space:nowrap; }
.services-jump a:last-child { padding-right:26px; }
.services-jump a:hover { color:var(--text-primary); }

.service-path { padding:118px 0; border-bottom:1px solid var(--border-color); scroll-margin-top:125px; }
.service-path-lilac { background:#f1edff; }
.service-path-ink { background:var(--text-primary); color:var(--bg-primary); }
.service-path-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:100px; }
.service-path-title span { color:currentColor; font-family:var(--font-display); font-size:4rem; font-style:italic; opacity:.2; }
.service-path-title > p { margin:38px 0 13px; color:currentColor; font-size:.68rem; font-weight:750; letter-spacing:.14em; opacity:.62; text-transform:uppercase; }
.service-path-title h2 { max-width:520px; font-family:var(--font-display); font-size:clamp(2.8rem,5vw,5.3rem); font-weight:500; letter-spacing:-.05em; line-height:.98; }
.service-lede { padding-bottom:34px; border-bottom:1px solid currentColor; color:currentColor; font-family:var(--font-display); font-size:1.35rem; line-height:1.55; opacity:.78; }
.service-columns { display:grid; grid-template-columns:1fr 1fr; gap:36px; padding:36px 0; }
.service-columns h3 { margin-bottom:12px; color:currentColor; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.service-columns p,.service-columns li { color:currentColor; font-size:.9rem; line-height:1.7; opacity:.68; }
.service-columns ul { padding-left:18px; }
.service-columns li + li { margin-top:5px; }
.service-note { display:grid; grid-template-columns:150px 1fr; gap:25px; margin:2px 0 34px; padding:22px; background:rgba(27,28,20,.045); border-left:3px solid currentColor; }
.service-path-ink .service-note { background:rgba(255,253,245,.07); }
.service-note strong { font-family:var(--font-display); }
.service-note p { color:currentColor; font-size:.84rem; line-height:1.6; opacity:.68; }
.service-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; }
.service-path-ink .btn-primary { background:var(--bg-primary); color:var(--text-primary); }
.service-text-link { display:inline-flex; align-items:center; min-height:32px; color:currentColor; font-size:.82rem; font-weight:700; text-decoration:none; }

.services-format { padding:118px 0; background:var(--bg-secondary); }
.services-format h2,.services-faq h2 { max-width:850px; margin:18px 0 52px; font-family:var(--font-display); font-size:clamp(2.8rem,5vw,5rem); font-weight:500; letter-spacing:-.05em; line-height:1; }
.format-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border-color); border:1px solid var(--border-color); }
.format-grid article { min-height:310px; padding:34px; background:var(--bg-primary); }
.format-grid span { display:grid; width:56px; height:56px; margin-bottom:64px; place-items:center; border:1px solid var(--text-primary); border-radius:50%; font-family:var(--font-display); font-style:italic; }
.format-grid h3 { margin-bottom:14px; font-family:var(--font-display); font-size:1.6rem; font-weight:550; }
.format-grid p { color:var(--text-secondary); font-size:.88rem; line-height:1.65; }

.services-faq { padding:118px 0; }
.faq-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:90px; }
.services-faq h2 { margin-bottom:0; }
.services-faq details { border-top:1px solid var(--border-color); }
.services-faq details:last-child { border-bottom:1px solid var(--border-color); }
.services-faq summary { padding:24px 38px 24px 0; cursor:pointer; font-family:var(--font-display); font-size:1.18rem; font-weight:550; list-style:none; }
.services-faq summary::after { content:'+'; float:right; font-family:var(--font-body); }
.services-faq details[open] summary::after { content:'−'; }
.services-faq details p { max-width:700px; padding:0 42px 24px 0; color:var(--text-secondary); line-height:1.7; }

.services-cta { padding:100px 0; background:#f1edff; text-align:center; }
.services-cta p { margin-bottom:15px; color:var(--text-secondary); font-size:.72rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.services-cta h2 { max-width:900px; margin:0 auto 30px; font-family:var(--font-display); font-size:clamp(2.8rem,5vw,5rem); font-weight:500; letter-spacing:-.05em; line-height:1; }
.services-page .footer-grid { grid-template-columns:1.35fr 1fr 1fr; }
.services-page .footer-bottom a { color:rgba(255,253,245,.6); text-decoration:none; }

@media(max-width:900px){
  .services-hero-grid,.service-path-grid,.faq-grid{grid-template-columns:1fr;gap:52px}
  .services-hero{padding-top:145px}.services-hero-copy{max-width:620px}
  .service-path{padding:88px 0}.format-grid{grid-template-columns:1fr}
  .format-grid article{min-height:auto}.format-grid span{margin-bottom:38px}
  .services-page .footer-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .services-shell{width:min(100% - 32px,1180px)}
  .services-hero{padding:120px 0 72px;background-size:32px 32px}.services-hero h1{font-size:3.6rem}
  .services-jump .services-shell{gap:18px}
  .service-path-title h2{font-size:3rem}.service-columns{grid-template-columns:1fr;gap:28px}
  .service-note{grid-template-columns:1fr;gap:8px}.services-format,.services-faq{padding:82px 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
