.services-page { background:#fff; }
.services-page .site-header { position:sticky; top:0; z-index:120; }
.services-page .drawer-overlay { z-index:140; }
.services-page .drawer { z-index:150; }
.home-three-service-title-area.team-title { padding-top:52px; padding-bottom:37px; }
.home-three-service-title-area .section-eyebrow { margin-bottom:17px; color:var(--accent); }
.home-three-service-title-area .section-eyebrow>span { width:100px; }
.home-three-service-title-area h1 { margin:0; color:var(--section-ink); font:600 46px/1.18 'Plus Jakarta Sans',sans-serif; letter-spacing:-1.3px; }
.service-selector { padding-bottom:33px; }
.service-selector-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.service-option { min-width:0; min-height:103px; padding:12px 15px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr); align-items:center; gap:7px; border:2px solid transparent; color:#fff; background:#111; text-align:left; transition:background .2s,border-color .2s,transform .2s,box-shadow .2s; }
.service-option:hover { transform:translateY(-2px); border-color:#fff6; }
.service-option:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.service-option.is-active { border-color:var(--accent); background:var(--accent); box-shadow:0 8px 20px #df5f4138; }
.service-option-icon { display:grid; place-items:center; color:#08bb20; }
.service-option-icon .icon { width:46px; height:46px; fill:none; stroke:currentColor; }
.service-option-icon.icon-blue { color:#087db6; }
.service-option-label { min-width:0; font:700 17px/1.25 'Plus Jakarta Sans',sans-serif; }
.service-option.is-active .service-option-icon { color:#fff; }
.service-content { padding:18px 0 48px; background:#f6f2ef; }
.service-content-inner { width:min(1222px,calc(100% - 64px)); margin:0 auto; }
.service-content h2 { min-height:44px; margin:0 0 23px; color:#161616; font:600 21px/1.4 'Plus Jakarta Sans',sans-serif; }
.service-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 80px; }
.service-detail-card { min-width:0; min-height:130px; padding:24px 29px 17px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; border:1px solid #d5d1ce; border-radius:10px; background:#fff; box-shadow:0 3px 9px #20180d08; }
.service-detail-card h3 { margin:0; color:#171717; font:600 20px/1.35 'Plus Jakarta Sans',sans-serif; }
.service-more { min-width:124px; min-height:38px; align-self:flex-end; padding:8px 16px; border:1px solid #7d7d7d; border-radius:11px; color:#1a1a1a; background:#fff; font:700 14px 'Manrope',sans-serif; transition:color .2s,border-color .2s,background .2s; }
.service-more:hover { border-color:var(--accent); color:#fff; background:var(--accent); }
.service-detail-dialog { position:fixed; width:min(550px,calc(100vw - 32px)); margin:auto; padding:42px 42px 34px; border:0; color:#fff; background:#091323; box-shadow:0 25px 80px #0006; }
.service-detail-dialog::backdrop { background:#061221c9; }
.service-detail-dialog .section-eyebrow { color:#fff; font-size:11px; }
.service-detail-dialog .section-eyebrow>span { width:38px; }
.service-detail-dialog h2 { margin:0 0 16px; font:600 28px/1.25 'Plus Jakarta Sans',sans-serif; }
.service-detail-dialog>p:not(.section-eyebrow) { margin:0 0 25px; color:#e0e4e8; font:400 15px/1.7 'Manrope',sans-serif; }
.service-detail-close { position:absolute; top:10px; right:14px; width:38px; height:38px; color:#fff; font:400 30px/1 Arial,sans-serif; }
.service-detail-dismiss { min-height:45px; padding:0 20px; color:#fff; background:var(--accent); font:800 11px 'Manrope',sans-serif; }
.service-detail-dismiss:hover { color:#171717; background:#fff; }

@media(max-width:1199px) {
  .home-three-service-title-area.team-title { padding-top:43px; }
  .service-selector-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
  .service-option { min-height:94px; padding:10px 9px; gap:5px; }
  .service-option-icon .icon { width:38px; height:38px; }
  .service-option-label { font-size:14px; }
  .service-card-grid { gap:13px 30px; }
  .service-detail-card { min-height:116px; }
}
@media(max-width:900px) {
  .home-three-service-title-area.team-title { padding-top:36px; padding-bottom:27px; }
  .home-three-service-title-area h1 { font-size:38px; }
  .service-selector-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .service-option { min-height:78px; padding:9px 12px; grid-template-columns:minmax(0,1fr) minmax(0,3fr); }
  .service-option-icon .icon { width:36px; height:36px; }
  .service-option-label { font-size:15px; }
  .service-content { padding:15px 0 38px; }
  .service-content h2 { font-size:19px; margin-bottom:18px; }
  .service-card-grid { gap:12px 18px; }
  .service-detail-card { min-height:110px; padding:19px 20px 14px; }
  .service-detail-card h3 { font-size:17px; }
}
@media(max-width:600px) {
  .home-three-service-title-area.team-title { padding-top:26px; padding-bottom:21px; }
  .home-three-service-title-area .section-eyebrow { margin-bottom:11px; font-size:10px; gap:9px; }
  .home-three-service-title-area .section-eyebrow>span { width:31px; }
  .home-three-service-title-area h1 { font-size:27px; line-height:1.24; letter-spacing:-.45px; }
  .service-selector { padding-bottom:22px; }
  .service-selector-grid { gap:6px; }
  .service-option { min-height:61px; padding:6px 7px; gap:3px; }
  .service-option-icon .icon { width:27px; height:27px; }
  .service-option-label { font-size:10px; line-height:1.22; }
  .service-content { padding:13px 0 28px; }
  .service-content-inner { width:calc(100% - 30px); }
  .service-content h2 { min-height:0; margin-bottom:15px; font-size:14px; line-height:1.45; }
  .service-card-grid { gap:7px 8px; }
  .service-detail-card { min-height:67px; padding:10px 11px 8px; border-radius:9px; }
  .service-detail-card h3 { font-size:11px; line-height:1.3; }
  .service-more { min-width:52px; min-height:21px; padding:3px 9px; border-radius:8px; font-size:9px; }
  .service-detail-dialog { padding:39px 24px 25px; }
  .service-detail-dialog h2 { font-size:23px; }
  .service-detail-dialog>p:not(.section-eyebrow) { font-size:13px; }
}
@media(max-width:360px) {
  .service-option { padding-inline:5px; }
  .service-option-label { font-size:9px; }
  .service-content-inner { width:calc(100% - 24px); }
  .service-detail-card { padding-inline:8px; }
  .service-detail-card h3 { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
  .service-option,.service-more { transition:none; }
}
