/* Shared layout for individual service pages. */
.service-detail { background: var(--bg); }
.service-detail em { color: var(--accent); font-style: normal; }
.sd-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 48px; }
.sd-section { padding: 96px 0; }
.sd-section--soft { background: var(--soft); border-block: 1px solid var(--border); }
.sd-eyebrow { margin: 0 0 12px; color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: 1.3px; text-transform: uppercase; }
.sd-title { max-width: 820px; margin: 0; color: var(--navy); font-size: clamp(34px,4.2vw,52px); font-weight: 900; line-height: 1.06; letter-spacing: -2px; }
.sd-lead { max-width: 760px; margin: 18px 0 0; color: var(--muted); font-size: 16px; line-height: 1.75; }

.sd-hero { position: relative; overflow: hidden; padding: 142px 0 0; background: linear-gradient(180deg,#fff 0%,#f7faff 100%); }
.sd-hero::before { content: ''; position: absolute; width: 560px; height: 560px; right: -180px; top: 40px; border-radius: 50%; background: radial-gradient(circle,rgba(59,130,246,.13),transparent 68%); }
.sd-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: 74px; align-items: center; padding-bottom: 74px; }
.sd-breadcrumb { display: flex; align-items: center; gap: 9px; margin-bottom: 25px; color: var(--muted); font-size: 13px; font-weight: 600; }
.sd-breadcrumb a { color: var(--accent); text-decoration: none; }
.sd-hero h1 { max-width: 700px; margin: 0; color: var(--navy); font-size: clamp(38px,3.45vw,46px); line-height: 1.04; letter-spacing: -2.1px; font-weight: 900; }
.sd-hero h1 em { display: inline; }
.sd-hero__line { display: block; white-space: nowrap; }
.sd-hero__points { display: grid; gap: 12px; margin: 27px 0 0; padding: 0; list-style: none; }
.sd-hero__points li { position: relative; padding-left: 25px; color: #334155; font-size: 14px; line-height: 1.55; }
.sd-hero__points li::before { content: '✓'; position: absolute; left: 0; color: var(--accent); font-weight: 900; }
.sd-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.sd-btn { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 21px; border-radius: 13px; font: inherit; font-size: 14px; font-weight: 800; text-decoration: none; cursor: pointer; transition: transform .18s,background .18s,border-color .18s; }
.sd-btn:hover { transform: translateY(-2px); }
.sd-btn--primary { color: #fff; background: var(--accent); border: 1px solid var(--accent); box-shadow: 0 12px 30px rgba(29,78,216,.22); }
.sd-btn--primary:hover { background: #1e40af; }
.sd-btn--ghost { color: var(--navy); background: #fff; border: 1.5px solid var(--border); }
.sd-btn--ghost:hover { color: var(--accent); border-color: #93c5fd; }
.sd-hero__photo { position: relative; justify-self: end; width: 100%; max-width: 420px; }
.sd-hero__photo-card { overflow: hidden; border: 1px solid var(--border); border-radius: 28px; background: #eaf0f9; box-shadow: 0 28px 80px rgba(10,22,40,.14); }
.sd-hero__photo-card img { display: block; width: 100%; aspect-ratio: 3/4; object-fit: cover; object-position: center 16%; }
.sd-hero__photo-badge { position: absolute; left: -35px; bottom: 34px; display: flex; align-items: center; gap: 10px; padding: 13px 15px; border: 1px solid var(--border); border-radius: 15px; background: rgba(255,255,255,.95); box-shadow: 0 15px 35px rgba(10,22,40,.14); }
.sd-hero__photo-badge img { width: 66px; height: auto; }
.sd-hero__photo-badge strong { display: block; color: var(--navy); font-size: 13px; }
.sd-hero__photo-badge span { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }
.sd-stats { position: relative; border-top: 1px solid var(--border); background: rgba(255,255,255,.82); padding: 20px 0 28px; }
.sd-stats .stats-bar__inner { padding-inline: 48px; }

.sd-cases .cases { padding: 0; }
.sd-cases .cases__inner { max-width: none; padding: 0; }
.sd-cases .cases__head { margin-bottom: 30px; }
.sd-cases .cases__grid { margin-top: 0; }
.sd-cases .ccase { min-width: 0; }

.sd-problems__head { margin-bottom: 38px; }
.sd-problems__list { display: grid; gap: 15px; }
.sd-problem { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 20px; padding: 25px 28px; border: 1.5px solid var(--border); border-radius: 19px; background: #fff; box-shadow: 0 8px 28px rgba(15,23,42,.04); }
.sd-problem__icon { width: 52px; height: 52px; display: grid; place-items: center; color: var(--accent); border-radius: 15px; background: #eff6ff; }
.sd-problem__icon svg { width: 25px; height: 25px; }
.sd-problem h3 { margin: 1px 0 8px; color: var(--navy); font-size: 20px; letter-spacing: -.4px; }
.sd-problem p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.sd-problem a { display: inline-flex; margin-top: 10px; color: var(--accent); font-size: 12.5px; font-weight: 750; }

.sd-wide-cta { padding: 70px 0; color: #fff; background: var(--navy); }
.sd-wide-cta__grid { display: grid; grid-template-columns: minmax(0,1fr) 230px; gap: 68px; align-items: center; }
.sd-wide-cta h2 { max-width: 760px; margin: 0; color: #fff; font-size: clamp(30px,3.5vw,46px); line-height: 1.08; letter-spacing: -1.6px; }
.sd-wide-cta p { max-width: 760px; margin: 16px 0 0; color: rgba(255,255,255,.6); font-size: 15px; line-height: 1.7; }
.sd-wide-cta .sd-btn--primary { margin-top: 26px; white-space: nowrap; border-color: #3b82f6; background: #2563eb; }
.sd-wide-cta__visual { width: 210px; height: 210px; display: grid; place-items: center; justify-self: end; border: 1px solid rgba(255,255,255,.12); border-radius: 46px; background: rgba(255,255,255,.06); box-shadow: 0 24px 70px rgba(29,78,216,.22); }
.sd-wide-cta__visual img { width: 150px; height: 150px; image-rendering: auto; filter: drop-shadow(0 18px 35px rgba(0,0,0,.22)); }

.sd-about__grid { display: grid; grid-template-columns: 420px 1fr; gap: 52px; align-items: start; margin-top: 42px; }
.sd-about__photo { overflow: hidden; border-radius: 20px; border: 1px solid var(--border); box-shadow: 0 20px 50px rgba(15,23,42,.1); width: 100%; max-width: 420px; }
.sd-about__photo img { display: block; width: 100%; height: auto; object-fit: cover; }
#what-is-vedenie .sd-about__grid { grid-template-columns: minmax(0, 1fr) 400px; gap: 52px; }
#what-is-vedenie .sd-about__photo { width: 400px; max-width: 400px; line-height: 0; background: transparent; }
#what-is-vedenie .sd-about__photo img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: cover; }

.sd-about__copy > p { margin: 0 0 26px; color: var(--muted); font-size: 16px; line-height: 1.78; }
.sd-achievements { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.sd-achievement { padding: 18px 19px; border: 1px solid var(--border); border-radius: 15px; background: var(--soft); }
.sd-achievement strong { display: block; color: var(--navy); font-size: 14px; line-height: 1.4; }
.sd-achievement span { display: block; margin-top: 5px; color: var(--muted); font-size: 11.5px; line-height: 1.5; }
.sd-certs { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; margin-top: 24px; }
.sd-cert { min-height: 130px; display: flex; align-items: center; justify-content: center; padding: 12px; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.sd-cert img { max-width: 100%; max-height: 108px; object-fit: contain; }

.sd-pricing .service-section__inner { max-width: none; padding: 0; }
.sd-pricing .service-card { height: 100%; }

.sd-site-cta { position: relative; overflow: hidden; padding: 78px 0; background: linear-gradient(135deg,#eef5ff,#f8fbff); border-block: 1px solid var(--border); }
.sd-site-cta::after { content: ''; position: absolute; width: 290px; height: 290px; right: 8%; top: -70px; border-radius: 50%; background: rgba(59,130,246,.10); }
.sd-site-cta__inner { position: relative; z-index: 1; max-width: 780px; }
.sd-site-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 29px; }
.sd-inactive { cursor: default; opacity: .72; }

.service-detail .reviews { border-top: 1px solid var(--border); }
.service-detail .articles { border-top: 1px solid var(--border); }

@media (max-width: 980px) {
  .sd-hero__grid { grid-template-columns: 1fr minmax(270px,.55fr); gap: 42px; }
  .sd-wide-cta__grid { grid-template-columns: 1fr; }
  .sd-wide-cta__visual { justify-self: start; }
  .sd-about__grid { gap: 38px; }
  .sd-certs { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 760px) {
  .sd-container { padding: 0 22px; }
  .sd-stats .stats-bar__inner { padding-inline: 22px; }
  .sd-section { padding: 70px 0; }
  .sd-hero { padding-top: 116px; }
  .sd-hero__grid { grid-template-columns: 1fr; padding-bottom: 55px; }
  .sd-hero h1 { font-size: clamp(35px,9.6vw,44px); letter-spacing: -1.8px; }
  .sd-hero__line { display: inline; white-space: normal; }
  .sd-hero__line + .sd-hero__line::before { content: ' '; }
  .sd-hero__photo { justify-self: center; max-width: 340px; }
  .sd-hero__photo-badge { left: -8px; }
  #what-is-vedenie .sd-about__grid { grid-template-columns: 1fr; }
  #what-is-vedenie .sd-about__photo { width: 100%; max-width: 400px; }
  .sd-about__grid { grid-template-columns: 1fr; }
  .sd-about__photo { max-width: 360px; }
  .sd-cases .cases__grid { margin-inline: -22px; }
  .sd-cases .cases__grid > .ccase:first-child { margin-left: 22px; }
  .sd-cases .cases__grid > .ccase:last-child { margin-right: 22px; }
}
@media (max-width: 540px) {
  .sd-container { padding: 0 17px; }
  .sd-stats .stats-bar__inner { padding-inline: 17px; }
  .sd-section { padding: 58px 0; }
  .sd-title { font-size: 34px; letter-spacing: -1.4px; }
  .sd-hero { padding-top: 104px; }
  .sd-hero h1 { font-size: 35px; }
  .sd-hero__actions,.sd-hero__actions .sd-btn { width: 100%; }
  .sd-problem { grid-template-columns: 1fr; padding: 22px; }
  .sd-wide-cta { padding: 54px 0; }
  .sd-wide-cta .sd-btn { width: 100%; white-space: normal; }
  .sd-wide-cta__visual { width: 160px; height: 160px; border-radius: 36px; }
  .sd-wide-cta__visual img { width: 112px; height: 112px; }
  .sd-achievements,.sd-certs { grid-template-columns: 1fr; }
  .sd-site-cta__actions,.sd-site-cta__actions .sd-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .service-detail *, .service-detail *::before, .service-detail *::after { animation: none !important; transition: none !important; }
}
