/* Streltsov Digital Core 0.5.108 — Services landing */
.sd-services-page{--svc-accent:#25c6a0;--svc-indigo:#5976ec;overflow:hidden;isolation:isolate}
.sd-services-page *{box-sizing:border-box}
.sd-services-page .sd-services-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 21px;color:var(--accent);font-size:11px;line-height:1.3;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.sd-services-page .sd-services-eyebrow:before{content:"";width:24px;height:2px;border-radius:9px;background:var(--accent)}
.sd-services-page .sd-services-hero{padding:105px max(24px,calc((100vw - 1232px)/2)) 98px;background:radial-gradient(ellipse at 78% 27%,rgba(31,139,172,.17),transparent 44%),radial-gradient(ellipse at 22% 72%,rgba(8,167,118,.13),transparent 50%);border-bottom:1px solid var(--line)}
.sd-services-page .sd-services-hero-grid{align-items:center;gap:6%;margin:0!important}
.sd-services-page .sd-services-hero-copy{flex:1.15;min-width:0}
.sd-services-page .sd-services-hero-copy h1{font-size:clamp(39px,4.65vw,68px);letter-spacing:-.06em;line-height:1.045;margin:0 0 22px;max-width:740px;font-weight:900;text-wrap:balance}
.sd-services-page .sd-services-lead{font-size:17px;line-height:1.78;color:var(--muted);max-width:650px;margin:0 0 28px}
.sd-services-page .sd-services-hero-note{font-size:12px;color:var(--muted);line-height:1.65;margin:20px 0 0;max-width:560px}
.sd-services-page .sd-services-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 0}
.sd-services-page .wp-block-button .wp-block-button__link{padding:15px 23px;border-radius:13px;background:var(--accent);color:white;font-weight:850;font-size:14px;transition:transform .2s ease,box-shadow .2s ease;white-space:normal;line-height:1.3;text-decoration:none}
.sd-services-page .wp-block-button .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(8,167,118,.16)}
.sd-services-page .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--text);border:1px solid var(--line)}
.sd-services-page .sd-services-mock-column{min-width:0;flex:.8}
.sd-services-mock{position:relative;transform:rotate(2deg);border-radius:26px;background:linear-gradient(145deg,#14283c,#071320);border:1px solid rgba(148,185,222,.22);box-shadow:0 38px 100px rgba(0,0,0,.27);padding:14px;color:#effffd;overflow:hidden;max-width:475px;margin-left:auto}
.sd-services-mock:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 35%,rgba(8,167,118,.14),transparent 50%);pointer-events:none}
.sd-services-mock-top{height:31px;display:flex;gap:7px;align-items:center;font-size:9px;letter-spacing:.17em;color:#8ba6b7;border-bottom:1px solid rgba(148,185,222,.13);padding:0 6px 11px}
.sd-services-mock-top span{margin-right:auto}.sd-services-mock-top i{width:8px;height:8px;border-radius:50%;background:#315269}
.sd-services-mock-main{padding:20px 12px 11px}.sd-services-mock-spark{display:flex;align-items:center;gap:12px;margin:0 0 20px}.sd-services-mock-spark span{display:grid;place-items:center;border-radius:10px;background:#0ea67c;width:44px;height:44px;font-weight:950;box-shadow:0 0 36px rgba(8,167,118,.2)}.sd-services-mock-spark strong{font-size:14px}
.sd-services-mock-hero{height:120px;border-radius:15px;background:radial-gradient(circle at 73% 40%,#23b9998f,transparent 35%),linear-gradient(145deg,#134756,#182e4b 55%,#1c2350);position:relative;overflow:hidden}
.sd-services-mock-hero:after{content:"";position:absolute;left:23px;top:28px;width:62%;height:14px;background:rgba(229,255,251,.86);border-radius:9px;box-shadow:0 30px 0 -3px rgba(200,238,232,.42),0 61px 0 -4px rgba(15,204,155,.84)}
.sd-services-mock-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.sd-services-mock-panels span{height:75px;border-radius:13px;background:linear-gradient(145deg,#1e3b53,#11263c);border:1px solid #2b4b5e;position:relative}.sd-services-mock-panels span:after{content:"";position:absolute;inset:12px 18px 34px;border-radius:7px;background:#1eac8e}.sd-services-mock-tags{display:flex;gap:6px;flex-wrap:wrap}.sd-services-mock-tags span{border-radius:20px;padding:7px 9px;background:rgba(8,167,118,.14);color:#9af6d2;font-size:9px;font-weight:900;letter-spacing:.08em}
.sd-services-page .sd-services-proof{padding:30px max(24px,calc((100vw - 1232px)/2));border-bottom:1px solid var(--line);background:var(--surface)}
.sd-services-page .sd-services-proof-grid{gap:12px;margin:0!important}.sd-services-page .sd-services-proof-item{min-width:0;padding:12px 10px}.sd-services-proof-n{font-weight:950;color:var(--accent);font-size:11px;margin:0 0 5px}.sd-services-page .sd-services-proof-item h3{font-size:15px;font-weight:900;margin:4px 0 7px}.sd-services-page .sd-services-proof-item p:not(.sd-services-proof-n){font-size:12px;line-height:1.55;color:var(--muted);margin:0}
.sd-services-page .sd-services-section{padding:104px max(24px,calc((100vw - 1232px)/2));scroll-margin-top:100px}
.sd-services-page .sd-services-section>h2,.sd-services-page .sd-services-section .sd-services-wordpress-copy h2,.sd-services-page .sd-services-final h2{font-size:clamp(33px,3.65vw,51px);line-height:1.1;letter-spacing:-.049em;font-weight:900;margin:0 0 17px;text-wrap:balance}
.sd-services-page .sd-services-section>p:not(.sd-services-eyebrow){font-size:16px;line-height:1.76;color:var(--muted);max-width:870px}
.sd-services-page .sd-services-types{background:var(--bg)}
.sd-services-page .sd-services-card-grid{gap:18px;margin:24px 0 0!important}
.sd-services-page .sd-services-card{padding:29px;border:1px solid var(--line);background:var(--surface);border-radius:24px;min-width:0;transition:border-color .2s,transform .2s;box-shadow:var(--shadow-sm)}.sd-services-page .sd-services-card:hover{transform:translateY(-3px);border-color:var(--accent)}
.sd-services-page .sd-services-card-number{font-size:10px;letter-spacing:.15em;color:var(--accent);font-weight:950;margin:0 0 22px}
.sd-services-page .sd-services-card h3{font-size:22px;letter-spacing:-.03em;margin:0 0 12px;font-weight:900;line-height:1.2}
.sd-services-page .sd-services-card-desc{font-size:14px;line-height:1.72;color:var(--muted);margin:0}
.sd-services-page .sd-services-included{background:color-mix(in srgb,var(--surface2) 39%,var(--bg))}
.sd-services-page .sd-services-check-grid{gap:26px;margin:40px 0 0!important}
.sd-services-page .sd-services-check-col{display:grid;gap:15px;min-width:0}
.sd-services-page .sd-services-check{margin:0!important;border:1px solid var(--line);border-radius:17px;background:var(--surface);padding:18px 21px 18px 51px;position:relative;min-width:0}
.sd-services-page .sd-services-check:before{content:"✓";position:absolute;left:20px;top:18px;font-weight:900;color:var(--accent)}
.sd-services-page .sd-services-check h3{font-size:16px;margin:0 0 6px;font-weight:850;line-height:1.3}.sd-services-page .sd-services-check p{font-size:13px;line-height:1.65;color:var(--muted);margin:0}
.sd-services-page .sd-services-process{background:var(--bg)}
.sd-services-page .sd-services-steps-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:35px 0 0!important}
.sd-services-page .sd-services-step{min-width:0;border-top:3px solid var(--accent);background:var(--surface);border-radius:0 0 19px 19px;padding:24px 17px;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.sd-services-step-n{font-weight:950;font-size:26px;opacity:.5;margin:0 0 16px}.sd-services-step h3{font-size:17px;line-height:1.24;letter-spacing:-.02em;margin:0 0 10px}.sd-services-step p:not(.sd-services-step-n){font-size:12px;line-height:1.65;color:var(--muted);margin:0}
.sd-services-page .sd-services-wordpress{background:color-mix(in srgb,var(--surface2) 39%,var(--bg))}.sd-services-page .sd-services-wordpress-grid{gap:45px;align-items:center;margin:0!important}.sd-services-page .sd-services-wordpress-copy{flex:1.3}.sd-services-page .sd-services-wordpress-copy p:not(.sd-services-eyebrow){line-height:1.8;color:var(--muted)}.sd-services-page .sd-services-wordpress-aside{flex:.85}
.sd-services-page .sd-services-experience{border:1px solid var(--line);padding:32px;border-radius:25px;background:var(--surface)}.sd-services-page .sd-services-experience h3{font-size:25px;line-height:1.2;letter-spacing:-.03em;margin:0 0 15px}.sd-services-page .sd-services-experience p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}
.sd-services-page .sd-services-pricing{background:var(--bg)}.sd-services-page .sd-services-pricing>p:not(.sd-services-eyebrow){max-width:950px}
.sd-services-page .sd-services-faq{background:color-mix(in srgb,var(--surface2) 39%,var(--bg))}.sd-services-page .sd-services-faq-grid{margin-top:30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.sd-services-page .sd-services-faq-item{padding:25px;border:1px solid var(--line);background:var(--surface);border-radius:21px}.sd-services-page .sd-services-faq-item h3{font-size:16px;line-height:1.4;margin:0 0 10px}.sd-services-page .sd-services-faq-item p{font-size:13px;line-height:1.75;color:var(--muted);margin:0}
.sd-services-page .sd-services-final{padding:95px max(24px,calc((100vw - 1232px)/2));background:linear-gradient(115deg,#082d35,#075b52 55%,#094145);color:#fff}
.sd-services-page .sd-services-final .sd-services-eyebrow,.sd-services-page .sd-services-final .sd-services-eyebrow:before{color:#9cffd7}.sd-services-page .sd-services-final .sd-services-eyebrow:before{background:#9cffd7}
.sd-services-page .sd-services-final>p:not(.sd-services-eyebrow){max-width:670px;color:#c8eee6;font-size:16px;line-height:1.8}
.sd-services-page .sd-services-final .wp-block-button .wp-block-button__link{background:#fff;color:#073e38}.sd-services-page .sd-services-final .wp-block-button.is-style-outline .wp-block-button__link{border:1px solid #8fc7b8;color:#fff;background:transparent}
@media(max-width:1050px){.sd-services-page .sd-services-steps-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sd-services-page .sd-services-mock{max-width:395px}.sd-services-page .sd-services-card-grid{gap:12px}}
@media(max-width:780px){.sd-services-page .sd-services-hero{padding-top:72px;padding-bottom:72px}.sd-services-page .sd-services-hero-grid,.sd-services-page .sd-services-wordpress-grid{display:flex;flex-direction:column;gap:28px}.sd-services-page .sd-services-hero-grid .wp-block-column,.sd-services-page .sd-services-wordpress-grid .wp-block-column{width:100%;flex-basis:auto}.sd-services-page .sd-services-mock{margin:0;max-width:520px}.sd-services-page .sd-services-section{padding-top:74px;padding-bottom:74px}.sd-services-page .sd-services-hero-copy h1{font-size:clamp(37px,6vw,55px)}.sd-services-page .sd-services-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sd-services-page .sd-services-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sd-services-page .sd-services-card{padding:23px}.sd-services-page .sd-services-check-grid{display:grid;grid-template-columns:1fr}.sd-services-page .sd-services-steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-services-page .sd-services-faq-grid{grid-template-columns:1fr}}
@media(max-width:520px){.sd-services-page .sd-services-hero{padding-top:55px;padding-bottom:61px}.sd-services-page .sd-services-hero-copy h1{font-size:clamp(34px,10vw,44px)}.sd-services-page .sd-services-lead{font-size:15px}.sd-services-page .sd-services-proof{padding-top:20px;padding-bottom:20px}.sd-services-page .sd-services-proof-grid{grid-template-columns:1fr 1fr;gap:4px}.sd-services-page .sd-services-proof-item{padding:13px 7px}.sd-services-page .sd-services-section{padding:65px 18px}.sd-services-page .sd-services-section>h2{font-size:32px}.sd-services-page .sd-services-card-grid,.sd-services-page .sd-services-steps-grid{grid-template-columns:1fr}.sd-services-page .sd-services-card{padding:24px}.sd-services-page .sd-services-check{padding:17px 16px 17px 44px}.sd-services-page .sd-services-check:before{left:16px;top:17px}.sd-services-page .sd-services-final{padding:73px 18px}.sd-services-page .sd-services-actions{display:grid;grid-template-columns:1fr}.sd-services-page .sd-services-actions .wp-block-button,.sd-services-page .sd-services-actions .wp-block-button__link{width:100%}.sd-services-page .sd-services-mock{transform:none}.sd-services-page .sd-services-faq-item{padding:21px}}

/* Stable layout without depending on whether WP block-library columns CSS is enqueued */
.sd-services-page .sd-services-hero-grid{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr)}
.sd-services-page .sd-services-proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.sd-services-page .sd-services-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.sd-services-page .sd-services-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.sd-services-page .sd-services-wordpress-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.sd-services-page .sd-services-hero>.wp-block-columns,.sd-services-page .sd-services-proof>.wp-block-columns,.sd-services-page .sd-services-section>.wp-block-columns,.sd-services-page .sd-services-section>.wp-block-group{max-width:1232px!important;width:100%}
@media(max-width:780px){.sd-services-page .sd-services-hero-grid,.sd-services-page .sd-services-wordpress-grid{display:flex;flex-direction:column}.sd-services-page .sd-services-card-grid,.sd-services-page .sd-services-check-grid,.sd-services-page .sd-services-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.sd-services-page .sd-services-card-grid,.sd-services-page .sd-services-check-grid{grid-template-columns:1fr}}

/* 0.5.109 — FIX: Gutenberg's .is-layout-constrained adds max-width and auto
   margins to *every* direct child. Those defaults caused the process and FAQ
   cards to stack into a narrow column despite an outer CSS grid. Keep block
   content untouched and override only the two services section layouts. */
.sd-services-page .sd-services-process > .sd-services-steps-grid,
.sd-services-page .sd-services-faq > .sd-services-faq-grid {
  display:grid !important;
  width:100% !important;
  max-width:1232px !important;
  margin:30px auto 0 !important;
  align-items:stretch;
  justify-content:stretch;
  grid-auto-flow:row;
}
.sd-services-page .sd-services-process > .sd-services-steps-grid {
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px;
}
.sd-services-page .sd-services-faq > .sd-services-faq-grid {
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px 18px;
}
.sd-services-page .sd-services-steps-grid > .sd-services-step,
.sd-services-page .sd-services-faq-grid > .sd-services-faq-item {
  min-width:0 !important;
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  justify-self:stretch !important;
  align-self:stretch;
}
.sd-services-page .sd-services-steps-grid > .sd-services-step {
  position:relative;
  min-height:204px;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:24px 18px 22px;
}
.sd-services-page .sd-services-step-n {
  font-size:28px;
  line-height:1;
  color:var(--accent);
  opacity:.72;
  margin:0 0 22px !important;
}
.sd-services-page .sd-services-step h3 {margin:0 0 12px !important;}
.sd-services-page .sd-services-step p:not(.sd-services-step-n) {margin:0 !important;}
.sd-services-page .sd-services-step:not(:last-child)::after {
  content:'→';
  color:var(--accent);
  font-size:17px;
  font-weight:800;
  position:absolute;
  right:-13px;
  top:24px;
  z-index:2;
  background:var(--bg);
  border-radius:50%;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
}
/* FAQ: native, keyboard-accessible accordion, answers remain in DOM for search. */
.sd-services-page .sd-services-faq-grid > details.sd-services-faq-item {
  display:block;
  min-height:unset;
  height:fit-content;
  padding:0;
  border-radius:17px;
  overflow:hidden;
  transition:border-color .2s ease,background .2s ease;
}
.sd-services-page .sd-services-faq-grid > details.sd-services-faq-item[open] {
  border-color:var(--accent);
}
.sd-services-page .sd-services-faq-item > summary {
  padding:23px 53px 23px 24px;
  cursor:pointer;
  position:relative;
  list-style:none;
  display:block;
  min-height:78px;
}
.sd-services-page .sd-services-faq-item > summary::-webkit-details-marker {display:none;}
.sd-services-page .sd-services-faq-item > summary::after {
  content:'+';
  position:absolute;
  right:21px;
  top:50%;
  transform:translateY(-50%);
  color:var(--accent);
  font-size:27px;
  line-height:1;
  font-weight:500;
}
.sd-services-page .sd-services-faq-item[open] > summary::after {content:'−';}
.sd-services-page .sd-services-faq-item > summary:hover {background:color-mix(in srgb,var(--accent) 5%,transparent);}
.sd-services-page .sd-services-faq-item > summary:focus-visible {outline:2px solid var(--accent);outline-offset:-4px;border-radius:15px;}
.sd-services-page .sd-services-faq-item > summary h3 {font-size:16px;line-height:1.42;margin:0 !important;}
.sd-services-page .sd-services-faq-answer {padding:0 24px 22px;border-top:0;}
.sd-services-page .sd-services-faq-answer p {font-size:14px;line-height:1.72;margin:0;color:var(--muted);}
.sd-services-page .sd-services-faq-answer p + p {margin-top:12px;}
.sd-services-page .sd-services-faq-answer :last-child {margin-bottom:0;}
/* Fallback if a user intentionally replaces a FAQ heading or a filter is disabled */
.sd-services-page .sd-services-faq-grid > div.sd-services-faq-item {padding:24px;}
@media(max-width:1199px) {
  .sd-services-page .sd-services-process > .sd-services-steps-grid {grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .sd-services-page .sd-services-step::after {display:none !important;}
}
@media(max-width:780px) {
  .sd-services-page .sd-services-process > .sd-services-steps-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .sd-services-page .sd-services-faq > .sd-services-faq-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:620px) {
  .sd-services-page .sd-services-process > .sd-services-steps-grid,
  .sd-services-page .sd-services-faq > .sd-services-faq-grid {grid-template-columns:minmax(0,1fr) !important;gap:12px;}
  .sd-services-page .sd-services-steps-grid > .sd-services-step {min-height:0;padding:22px;}
  .sd-services-page .sd-services-step-n {margin-bottom:14px !important;}
  .sd-services-page .sd-services-faq-item > summary {padding:20px 52px 20px 20px;min-height:0;}
  .sd-services-page .sd-services-faq-answer {padding:0 20px 21px;}
}


/* 0.5.110: reliable services layout across Gutenberg's nested group wrappers.
   Unlike the old > selectors, these also work with inner-container wrappers.
   Do not globally override wp-block-group: only two named sections are changed. */
.sd-services-page .sd-services-process,
.sd-services-page .sd-services-faq {
  display:block !important;
  width:100% !important;
}
.sd-services-page .sd-services-process > .wp-block-group__inner-container,
.sd-services-page .sd-services-faq > .wp-block-group__inner-container {
  width:100% !important;
  max-width:none !important;
  margin-inline:0 !important;
}
.sd-services-page .sd-services-process .sd-services-steps-grid,
.sd-services-page .sd-services-faq .sd-services-faq-grid {
  display:grid !important;
  box-sizing:border-box;
  width:100% !important;
  min-width:0 !important;
  max-width:1232px !important;
  margin:32px auto 0 !important;
  align-content:stretch;
  align-items:stretch;
  justify-items:stretch;
  grid-auto-flow:row;
}
.sd-services-page .sd-services-process .sd-services-steps-grid {
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
}
.sd-services-page .sd-services-faq .sd-services-faq-grid {
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
}
/* If a WP release wraps block group children in an extra inner-container,
   make that wrapper transparent to CSS grid placement. */
.sd-services-page .sd-services-steps-grid > .wp-block-group__inner-container,
.sd-services-page .sd-services-faq-grid > .wp-block-group__inner-container {
  display:contents !important;
}
.sd-services-page .sd-services-steps-grid .sd-services-step,
.sd-services-page .sd-services-faq-grid .sd-services-faq-item {
  min-width:0 !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  justify-self:stretch !important;
}
.sd-services-page .sd-services-steps-grid .sd-services-step {
  min-height:204px;
}
.sd-services-page .sd-services-faq-grid details.sd-services-faq-item {
  min-height:0;
  align-self:start;
}
@media(max-width:1199px) {
  .sd-services-page .sd-services-process .sd-services-steps-grid {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:780px) {
  .sd-services-page .sd-services-process .sd-services-steps-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .sd-services-page .sd-services-faq .sd-services-faq-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:620px) {
  .sd-services-page .sd-services-process .sd-services-steps-grid,
  .sd-services-page .sd-services-faq .sd-services-faq-grid {
    grid-template-columns:minmax(0,1fr) !important;
    gap:12px !important;
  }
  .sd-services-page .sd-services-steps-grid .sd-services-step {
    min-height:0;
  }
}

/* 0.5.119: deep link to WooCommerce landing in the existing services card */
.sd-services-page .sd-shop-services-link{display:inline-flex;gap:8px;margin-top:20px;font-size:13px;font-weight:850;color:var(--accent2);text-decoration:none}.sd-services-page .sd-shop-services-link:hover{text-decoration:underline}

/* Core 0.5.122: links to dedicated service pages, visible on /services/. */
.sd-services-page .sd-business-services-link,.sd-services-page .sd-shop-services-link{display:inline-flex;align-items:center;gap:8px;margin-top:17px;color:var(--accent2);font-size:13px;font-weight:800;line-height:1.4;text-decoration:none}
.sd-services-page .sd-business-services-link:hover,.sd-services-page .sd-shop-services-link:hover{text-decoration:underline}
