/* DvorService.by homepage v1 */
/* Homepage strengthening pass */
.photo-slot span,
.service-photo span {
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  max-width: none !important;
  display: block !important;
  padding: 14px 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(17,26,17,0), rgba(17,26,17,.78)) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.35) !important;
}

.photo-slot small {
  left: 16px !important;
  right: 16px !important;
  bottom: 40px !important;
  max-width: none !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.photo-slot {
  background-size: cover !important;
}

main {
  display: flex;
  flex-direction: column;
}

.hero {
  order: 1;
}

.benefits-band {
  order: 2;
}

.intro {
  order: 3;
}

.proof-strip {
  order: 4;
}

.services {
  order: 5;
}

.works {
  order: 6;
}

.prices {
  order: 7;
}

.factors {
  order: 8;
}

.geo {
  order: 9;
}

.conditions {
  order: 10;
}

.estimate {
  order: 11;
}

.situations {
  order: 12;
}

.process {
  order: 13;
}

.tools {
  order: 14;
}

.clients {
  order: 15;
}

.next-pages {
  order: 16;
}

.seo-text {
  order: 17;
}

.faq {
  order: 18;
}

.final-cta {
  order: 19;
}

.contact-page {
  display: block;
}

.contact-hero {
  background:
    radial-gradient(circle at 78% 18%, rgba(184, 219, 90, 0.28), transparent 34%),
    var(--bg);
}

.contact-hero-grid,
.contact-form-grid,
.contact-map-grid {
  display: grid;
  grid-template-columns: 1fr 0.95fr;
  gap: 44px;
  align-items: center;
}

.contact-hero h1,
.contact-form-grid h2,
.contact-map-grid h2 {
  margin: 0;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.contact-lead {
  max-width: 720px;
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 20px;
}

.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.contact-card {
  position: relative;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 30px;
  border-radius: var(--radius-lg);
  color: #fff;
  overflow: hidden;
  background: linear-gradient(135deg, #a9d68b, #246127);
  box-shadow: var(--shadow);
}

.contact-card:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(20, 40, 18, 0.05), rgba(20, 40, 18, 0.84)),
    repeating-linear-gradient(115deg, rgba(255,255,255,.1) 0 2px, transparent 2px 22px);
}

.contact-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contact-card-label {
  position: relative;
  z-index: 2;
  width: fit-content;
  margin-bottom: 16px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  font-weight: 800;
}

.contact-card strong {
  position: relative;
  z-index: 2;
  display: block;
  font-size: 32px;
  line-height: 1.1;
}

.contact-card p {
  position: relative;
  z-index: 2;
  margin: 12px 0 0;
  color: rgba(255, 255, 255, 0.86);
}

.contact-info {
  background: #fff;
}

.contact-info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.contact-info-grid article {
  min-height: 220px;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.contact-info-grid span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  background: var(--green-soft);
  color: var(--green-dark);
  font-weight: 900;
}

.contact-info-grid h2 {
  margin: 20px 0 8px;
  font-size: 24px;
}

.contact-info-grid a,
.contact-info-grid strong {
  display: inline-block;
  color: var(--green-dark);
  font-size: 20px;
  font-weight: 900;
  text-decoration: none;
}

.contact-info-grid p {
  margin: 12px 0 0;
  color: var(--muted);
}

.contact-map-section {
  background: linear-gradient(135deg, #edf5e6, #f9fbf5);
}

.contact-map {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 50% 50%, rgba(63, 143, 52, 0.22), transparent 26%),
    repeating-radial-gradient(circle at 50% 50%, rgba(63, 143, 52, 0.18) 0 2px, transparent 2px 82px),
    linear-gradient(135deg, #f7fbf3, #dcefd4);
  box-shadow: var(--shadow-soft);
}

.contact-map strong,
.contact-map span {
  position: absolute;
  left: 24px;
  z-index: 1;
}

.contact-map strong {
  bottom: 64px;
  font-size: 28px;
}

.contact-map span {
  bottom: 30px;
  color: var(--muted);
}

.contact-map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  filter: saturate(0.9) contrast(0.95);
}

.contact-map:after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.92));
  pointer-events: none;
}

.contact-map strong,
.contact-map span {
  z-index: 2;
}

.contact-form-section {
  background: var(--surface-2);
}

.hero {
  padding-top: 38px !important;
}

.hero-grid {
  gap: 34px !important;
  align-items: start !important;
}

.hero h1 {
  font-size: clamp(34px, 4.35vw, 56px) !important;
  max-width: 720px !important;
}

.hero-lead {
  font-size: 18px !important;
  margin-top: 18px !important;
}

.hero-badges {
  margin-top: 22px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 14px !important;
  max-width: 640px !important;
}

.hero-actions {
  margin-top: 24px !important;
}

.hero-price {
  margin-top: 0 !important;
}

.hero-price-panel {
  grid-column: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  max-width: none;
  margin-top: -8px;
}

.hero-visual.hero-photo-single {
  display: block !important;
  min-height: 0 !important;
  position: relative !important;
  padding-top: 0 !important;
}

.hero-main-photo {
  min-height: 430px !important;
  width: 100% !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow) !important;
}

.hero-main-photo span {
  max-width: 78% !important;
}

.hero-badges span {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  padding: 10px 12px !important;
  border: 1px dashed rgba(63, 143, 52, 0.46) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.58) !important;
  box-shadow: none !important;
  font-size: 13px !important;
}

.hero-badges span:before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-top: 2px solid var(--green);
  border-right: 2px solid var(--green);
  transform: rotate(45deg);
}

.benefits-band {
  background: #fff;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 26px 0;
}

.benefits-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px;
}

.benefit-item {
  display: grid;
  grid-template-columns: 64px 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 16px;
  row-gap: 2px;
}

.benefit-icon {
  grid-row: 1 / 3;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--green);
  color: #fff;
  font-weight: 900;
  box-shadow: 0 14px 30px rgba(63, 143, 52, 0.22);
}

.benefit-item strong {
  line-height: 1.15;
  font-size: 18px;
}

.benefit-item small {
  color: var(--muted);
  line-height: 1.35;
}

.price-calc-band {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 28px;
  align-items: stretch;
  padding: 34px;
  margin-bottom: 26px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(220, 229, 210, 0.9);
  background:
    linear-gradient(90deg, rgba(22, 33, 21, 0.64), rgba(22, 33, 21, 0.2)),
    repeating-linear-gradient(108deg, rgba(255, 255, 255, 0.16) 0 2px, transparent 2px 18px),
    linear-gradient(135deg, #5d9a38, #194b22 74%);
  box-shadow: var(--shadow);
}

.price-info-panel,
.calc-widget {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: var(--radius-md);
  padding: 26px;
  box-shadow: 0 16px 36px rgba(20, 40, 18, 0.16);
}

.price-info-panel h3 {
  margin: 0 0 12px;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.1;
}

.price-info-panel p {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 17px;
}

.price-info-panel ul {
  margin: 0 0 22px;
  padding-left: 20px;
  color: var(--green-dark);
  font-weight: 700;
}

.calc-widget {
  align-self: center;
}

.calc-widget > strong {
  display: block;
  font-size: 22px;
  margin-bottom: 18px;
}

.calc-options {
  display: grid;
  gap: 12px;
  margin-bottom: 18px;
}

.calc-option {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  cursor: pointer;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  font: inherit;
}

.calc-option i {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--green-dark);
  flex: 0 0 auto;
}

.calc-option.is-selected i {
  box-shadow: inset 0 0 0 4px #fff;
  background: var(--green);
}

.calc-range {
  display: grid;
  gap: 8px;
  margin: 6px 0 18px;
  color: var(--muted);
  font-style: italic;
}

.calc-range input {
  width: 100%;
  padding: 0;
  accent-color: var(--green);
  background: transparent;
}

.calc-range b {
  display: block;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--green) 0 58%, #d5d8d2 58%);
}

.calc-total {
  padding: 12px 16px;
  border-radius: 8px;
  background: var(--green-dark);
  color: #fff;
  font-size: 22px;
  font-weight: 800;
  text-align: center;
}

.calc-widget small {
  display: block;
  margin-top: 14px;
  color: var(--muted);
}

.visual-card.service-card {
  padding: 0 !important;
  overflow: hidden !important;
}

.visual-card .service-photo {
  width: 100% !important;
  min-height: 180px !important;
  margin: 0 0 18px !important;
  border: 0 !important;
  border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
  box-shadow: none !important;
}

.visual-card .service-icon,
.visual-card h3,
.visual-card p,
.visual-card .card-bottom {
  margin-left: 22px !important;
  margin-right: 22px !important;
}

.visual-card .card-bottom {
  padding-bottom: 22px !important;
  justify-content: center !important;
  align-items: center !important;
}

.visual-card .card-bottom a {
  display: inline-flex !important;
  width: 100% !important;
  min-height: 46px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--green-soft) !important;
  color: var(--green-dark) !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-decoration: none !important;
}

.visual-card .card-bottom a:hover {
  background: var(--green) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.visual-card.service-card-accent .card-bottom a {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
}

#services .section-head {
  max-width: none !important;
  width: 100% !important;
}

#services .section-head h2 {
  white-space: nowrap;
}

#services .section-head p:not(.eyebrow) {
  max-width: 100% !important;
}

.nav-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* Мост между кнопкой и меню — иначе курсор теряет :hover в зазоре */
.nav-dropdown::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 14px;
  z-index: 219;
}

.nav-dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  cursor: pointer;
  font: inherit;
}

.nav-dropdown-toggle:after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .2s ease;
}

.nav-dropdown-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  z-index: 220;
  display: grid;
  min-width: 330px;
  padding: 12px 0;
  border: 1px solid var(--border);
  border-radius: 0 0 16px 16px;
  background: #fff;
  box-shadow: 0 22px 46px rgba(17, 26, 17, .14);
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) translateY(8px);
  visibility: hidden;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.nav-dropdown-menu a {
  display: block;
  padding: 11px 24px !important;
  color: var(--muted) !important;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

.nav-dropdown-menu a:hover {
  background: var(--surface-2);
  color: var(--green-dark) !important;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.is-open .nav-dropdown-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
  visibility: visible;
}

.nav-dropdown:hover .nav-dropdown-toggle:after,
.nav-dropdown:focus-within .nav-dropdown-toggle:after,
.nav-dropdown.is-open .nav-dropdown-toggle:after {
  transform: translateY(2px) rotate(225deg);
}

.service-help-card {
  margin-top: 32px;
  padding: 26px;
  border: 1px solid rgba(63, 143, 52, .22);
  border-radius: var(--radius-md);
  background:
    radial-gradient(circle at 90% 0%, rgba(184, 219, 90, .38), transparent 38%),
    #fff;
  box-shadow: var(--shadow-soft);
}

.service-help-card > span {
  display: block;
  color: var(--green-dark);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.15;
}

.service-help-card p {
  margin: 10px 0 0;
  color: var(--muted);
}

.service-help-card ul {
  display: grid;
  gap: 9px;
  margin: 18px 0 22px;
  padding: 0;
  list-style: none;
}

.service-help-card li {
  position: relative;
  padding-left: 28px;
  color: var(--text);
  font-weight: 700;
}

.service-help-card li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: inset 0 0 0 6px rgba(255, 255, 255, .72);
}

.service-help-card div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.service-help-card .btn {
  padding: 12px 18px;
}

.logo-image {
  display: block;
  width: auto;
  max-width: min(240px, 52vw);
  height: auto;
  max-height: 52px;
  object-fit: contain;
  background: transparent;
}

.logo-footer .logo-image {
  max-width: 200px;
  max-height: 46px;
}

@media (max-width: 720px) {
  .logo-image {
    max-width: min(190px, 58vw);
    max-height: 44px;
  }

  .logo-text small {
    display: none;
  }
}

.contact-owner {
  display: block;
  margin: 12px 0 0;
  color: var(--green-dark);
  font-weight: 800;
  line-height: 1.35;
}

.final-actions .contact-owner {
  color: rgba(255, 255, 255, .82);
  text-align: center;
}

.detail-related-grid,
.choice-list,
.page-links {
  align-items: stretch !important;
}

.detail-related-grid .related-card,
.choice-list .related-card,
.page-links .related-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  background: #fff !important;
  box-shadow: var(--shadow-soft) !important;
  color: var(--text) !important;
  text-decoration: none !important;
}

.related-card-photo {
  width: 100% !important;
  min-height: 150px !important;
  border: 0 !important;
  border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
  box-shadow: none !important;
}

.related-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 18px;
}

.related-card-body h3 {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1.2;
  text-wrap: balance;
}

.related-card-body p {
  margin: 0;
  color: var(--muted);
  line-height: 1.4;
}

.related-card-body span {
  display: inline-flex !important;
  width: 100% !important;
  min-height: 44px !important;
  margin-top: auto !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--green-soft) !important;
  color: var(--green-dark) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
}

.detail-related-grid .related-card:hover,
.choice-list .related-card:hover,
.page-links .related-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow) !important;
}

.detail-related-grid .related-card:hover .related-card-body span,
.choice-list .related-card:hover .related-card-body span,
.page-links .related-card:hover .related-card-body span {
  background: var(--green) !important;
  color: #fff !important;
}

.seo-text .narrow {
  max-width: 820px !important;
  margin-left: max(16px, calc((100% - var(--container)) / 2)) !important;
  margin-right: auto !important;
}

.seo-wide {
  max-width: var(--container) !important;
}

.seo-wide h2 {
  max-width: 760px;
}

#faq .faq-list {
  max-width: none !important;
  width: 100%;
}

.situations {
  background:
    radial-gradient(circle at 12% 18%, rgba(184, 219, 90, 0.2), transparent 32%),
    linear-gradient(135deg, #edf5e6, #f9fbf5) !important;
}

.situation-showcase {
  display: grid;
  grid-template-columns: minmax(340px, 0.9fr) minmax(0, 1.1fr);
  gap: 42px;
  align-items: stretch;
}

.situation-before-after {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-self: center;
}

.situation-square {
  min-height: 0 !important;
  aspect-ratio: 1 / 1;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-soft) !important;
}

.situation-photo-card {
  position: relative;
  z-index: 2;
  padding: 20px;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.74);
  box-shadow: 0 18px 42px rgba(17, 35, 15, 0.22);
}

.situation-photo-card strong {
  display: block;
  font-size: 20px;
  line-height: 1.2;
}

.situation-photo-card p {
  margin: 8px 0 0;
  color: var(--muted);
}

.situation-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.situation-content h2 {
  margin: 0;
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1;
  letter-spacing: -0.04em;
}

.situation-content > .muted {
  max-width: 680px;
  margin: 16px 0 28px;
  font-size: 18px;
}

.situation-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 28px;
}

.situation-cards article {
  position: relative;
  min-height: 198px;
  padding: 20px 18px 18px;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.situation-cards article:before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, var(--green), var(--lime));
}

.situation-cards span {
  display: inline-grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  background: var(--green-soft);
  color: var(--green-dark);
  font-weight: 900;
  font-size: 13px;
}

.situation-cards h3 {
  margin: 14px 0 8px;
  font-size: 19px;
  line-height: 1.18;
}

.situation-cards p {
  margin: 0 0 16px;
  color: var(--muted);
  line-height: 1.35;
}

.situation-cards b {
  margin-top: auto;
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f1f7ec;
  color: var(--green-dark);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.hero-visual.hero-photo-collage .hero-floating-card {
  position: static !important;
  grid-column: 1 / -1 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  transform: none !important;
}

.hero-visual.hero-photo-collage {
  grid-template-rows: 1fr 1fr auto !important;
}

.hero-visual.hero-photo-collage .photo-slot-main {
  grid-row: 1 / span 2 !important;
}

.service-photo {
  min-height: 160px !important;
  margin: -1px -1px 20px !important;
  border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
  overflow: hidden !important;
}

.service-photo:after {
  display: none !important;
}

.visual-card {
  padding-top: 0 !important;
}

.cost-scenes {
  display: grid !important;
  gap: 18px !important;
}

.cost-scenes article {
  display: grid !important;
  grid-template-columns: 280px 1fr !important;
  gap: 22px !important;
  align-items: center !important;
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-soft) !important;
  padding: 14px 20px 14px 14px !important;
}

.cost-scenes .photo-slot {
  min-height: 180px !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: none !important;
}

@media (max-width:720px) {
  .cost-scenes article {
    grid-template-columns: 1fr !important;
    padding: 14px !important;
  }

  .hero {
    padding-top: 28px !important;
  }

  .hero h1 {
    font-size: clamp(30px, 9vw, 40px) !important;
  }

  .hero-main-photo {
    min-height: 280px !important;
  }

  .contact-hero-grid,
  .contact-form-grid,
  .contact-map-grid,
  .contact-info-grid {
    grid-template-columns: 1fr;
  }

  .contact-card,
  .contact-map {
    min-height: 300px;
  }

  .hero-badges,
  .hero-price {
    grid-template-columns: 1fr !important;
  }

  .hero-price-panel {
    max-width: none;
    margin-top: 0;
  }

  .benefits-row,
  .price-calc-band {
    grid-template-columns: 1fr;
  }

  .benefits-band {
    padding: 20px 0;
  }

  .price-calc-band {
    padding: 18px;
  }

  .price-info-panel,
  .calc-widget {
    padding: 20px;
  }

  .situation-showcase,
  .situation-cards {
    grid-template-columns: 1fr;
  }

  .situation-before-after {
    gap: 14px;
  }

  .situation-square {
    aspect-ratio: 1 / 1;
  }

  .situation-content h2 {
    font-size: clamp(34px, 10vw, 46px);
  }

  .situation-cards article {
    min-height: 176px;
  }
}

.hero-visual.hero-photo-collage {
  align-items: stretch;
  grid-template-columns: 1.08fr .92fr;
  grid-template-rows: 1fr 1fr auto;
  gap: 16px;
  min-height: 0;
}

.hero-visual.hero-photo-collage .photo-slot {
  width: 100%;
}

.hero-visual.hero-photo-collage .photo-slot-main {
  grid-row: 1 / span 2;
  min-height: 500px;
}

.hero-visual.hero-photo-collage .photo-before,
.hero-visual.hero-photo-collage .photo-team {
  min-height: 242px;
}

.hero-visual.hero-photo-collage .hero-floating-card {
  position: static;
  grid-column: 1 / -1;
  width: auto;
  max-width: none;
  min-width: 0;
  transform: none;
}

.cost-scenes {
  display: grid;
  gap: 18px;
}

.cost-scenes article {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 22px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
  padding: 14px 20px 14px 14px;
}

.cost-scenes .photo-slot {
  min-height: 180px;
  border-radius: var(--radius-sm);
  box-shadow: none;
}

.cost-scenes h3 {
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.2;
}

.cost-scenes p {
  margin: 0;
  color: var(--muted);
}

.cost-scenes strong {
  display: inline-flex;
  margin-top: 14px;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--green-soft);
  color: var(--green-dark);
  font-size: 13px;
}

@media (max-width:1080px) {
  .hero-main-photo {
    min-height: 360px !important;
  }

  .contact-hero-grid,
  .contact-form-grid,
  .contact-map-grid {
    grid-template-columns: 1fr;
  }

  .contact-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-grid {
    grid-template-columns: 1fr !important;
  }

  .hero-visual.hero-photo-single {
    padding-top: 0 !important;
  }

  .hero-price-panel {
    grid-column: 1 !important;
    max-width: none;
    margin-top: 0;
  }

  .benefits-row,
  .price-calc-band {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .situation-showcase {
    grid-template-columns: 1fr;
  }

  .situation-before-after {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  .situation-photo-card {
    grid-column: 1 / -1;
  }

  .hero-visual.hero-photo-collage {
    grid-template-columns: 1fr 1fr;
  }

  .hero-visual.hero-photo-collage .photo-slot-main {
    min-height: 360px;
  }
}

@media (max-width:720px) {
  .hero-visual.hero-photo-collage {
    grid-template-columns: 1fr;
  }

  .hero-visual.hero-photo-collage .photo-slot-main,
  .hero-visual.hero-photo-collage .photo-before,
  .hero-visual.hero-photo-collage .photo-team {
    grid-row: auto;
    min-height: 230px;
  }

  .cost-scenes article {
    grid-template-columns: 1fr;
    padding: 14px;
  }
}

.photo-slot {
  position: relative;
  min-height: 180px;
  overflow: hidden;
  border: 1px solid rgba(220, 229, 210, .95);
  border-radius: var(--radius-md, 20px);
  background: linear-gradient(135deg, #dfead5, #8fb46b);
  box-shadow: var(--shadow-soft, 0 14px 36px rgba(35, 67, 32, .09));
}

.photo-slot:before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(0, 0, 0, .18)),
    repeating-linear-gradient(115deg, rgba(255,255,255,.12) 0 2px, transparent 2px 22px);
}

.photo-slot span,
.photo-slot small {
  position: absolute;
  left: 16px;
  z-index: 1;
  max-width: calc(100% - 32px);
}

.photo-slot span {
  bottom: 42px;
  display: inline-flex;
  width: fit-content;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, .56);
  border-radius: 999px;
  background: rgba(255, 255, 255, .88);
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 800;
}

.photo-slot small {
  bottom: 16px;
  color: rgba(255, 255, 255, .92);
  font-size: 13px;
  font-weight: 700;
  text-shadow: 0 1px 8px rgba(0,0,0,.35);
}

.texture-grass { background: linear-gradient(135deg, #d9efc8 0%, #74a948 52%, #335c2a 100%); }
.texture-tall { background: linear-gradient(135deg, #efe3a6 0%, #9f9f42 45%, #35582c 100%); }
.texture-weeds { background: linear-gradient(135deg, #d7d3ad 0%, #7d8b3d 42%, #2f4f25 100%); }
.texture-lawn { background: linear-gradient(135deg, #dff5cf 0%, #6ead49 50%, #2e6f34 100%); }
.texture-bush { background: linear-gradient(135deg, #b8d79a 0%, #4f8b3b 45%, #1f4b24 100%); }
.texture-clearing { background: linear-gradient(135deg, #d6e7c5 0%, #8d9c64 46%, #4c6b38 100%); }
.texture-tree { background: linear-gradient(135deg, #c9e5c2 0%, #667b45 48%, #3c2619 100%); }
.texture-branches { background: linear-gradient(135deg, #ddd6bd 0%, #83684b 46%, #3f2b20 100%); }
.texture-phone { background: linear-gradient(135deg, #eef4e4, #74a948); }
.texture-map { background: linear-gradient(135deg, #dff0fb, #7fb36a); }
.texture-tools { background: linear-gradient(135deg, #d7e7cc, #506755); }
.texture-work { background: linear-gradient(135deg, #e1e7bd, #49783b); }
.texture-result { background: linear-gradient(135deg, #e8f7d9, #74a948 55%, #2b6a31); }

.hero-visual.hero-photo-collage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 16px;
  min-height: 560px;
}

.photo-slot-main {
  grid-row: 1 / span 2;
  min-height: 560px;
}

.photo-before,
.photo-team {
  min-height: 272px;
}

.hero-photo-collage .hero-floating-card {
  right: 22px;
  bottom: 22px;
}

.proof-strip {
  background: #fbfcf8;
  border-top: 1px solid rgba(220, 229, 210, .7);
  border-bottom: 1px solid rgba(220, 229, 210, .7);
}

.proof-grid,
.factor-layout,
.geo-layout {
  display: grid;
  grid-template-columns: .72fr 1fr;
  gap: 42px;
  align-items: center;
}

.proof-copy h2,
.factor-layout h2,
.geo-layout h2 {
  margin: 0;
  line-height: 1.08;
  font-size: clamp(30px, 4vw, 46px);
}

.proof-copy p:not(.eyebrow) {
  color: var(--muted);
  font-size: 18px;
}

.proof-photos {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.proof-photos .photo-slot {
  min-height: 220px;
}

.visual-card {
  padding-top: 0 !important;
  overflow: hidden;
}

.service-photo {
  min-height: 142px;
  margin: -1px -1px 20px;
  position: relative;
}

.service-photo:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .18));
}

.service-photo span {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 1;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 800;
}

.visual-price-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}

.visual-price {
  min-height: 240px;
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  padding: 18px;
  color: #fff;
  box-shadow: var(--shadow-soft);
}

.visual-price:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.48));
}

.visual-price span,
.visual-price strong,
.visual-price small {
  position: relative;
  z-index: 1;
  display: block;
}

.visual-price span {
  font-weight: 800;
}

.visual-price strong {
  margin-top: 92px;
  font-size: 30px;
}

.visual-price small {
  margin-top: 6px;
  color: rgba(255,255,255,.88);
  font-weight: 700;
}

.factor-layout {
  align-items: stretch;
}

.plot-map {
  min-height: 430px;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.14) 1px, transparent 1px),
    linear-gradient(135deg, #dcefd4, #8db76b 55%, #52783f);
  background-size: 44px 44px, 44px 44px, auto;
  box-shadow: var(--shadow);
}

.plot-map:before {
  content: "";
  position: absolute;
  left: 12%;
  top: 16%;
  width: 68%;
  height: 62%;
  border: 3px solid rgba(255,255,255,.72);
  border-radius: 28% 18% 26% 18%;
  transform: rotate(-5deg);
}

.plot-path {
  position: absolute;
  left: 14%;
  right: 12%;
  bottom: 20%;
  height: 22px;
  border-radius: 999px;
  background: rgba(255,255,255,.5);
  transform: rotate(-8deg);
}

.plot-label {
  position: absolute;
  z-index: 2;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.6);
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 800;
}

.plot-area { left: 12%; top: 12%; }
.plot-grass { right: 14%; top: 18%; }
.plot-bush { left: 18%; bottom: 24%; }
.plot-access { right: 10%; bottom: 18%; }
.plot-waste { left: 42%; bottom: 8%; }

.photo-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.photo-steps article {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}

.photo-steps .photo-slot {
  min-height: 170px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.photo-steps h3,
.photo-steps p {
  margin-left: 18px;
  margin-right: 18px;
}

.photo-steps h3 {
  margin-top: 18px;
  margin-bottom: 8px;
  line-height: 1.2;
}

.photo-steps p {
  margin-top: 0;
  margin-bottom: 20px;
  color: var(--muted);
}

.case-stack {
  display: grid;
  gap: 22px;
}

.case-row {
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: 24px;
  align-items: stretch;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 18px;
  box-shadow: var(--shadow-soft);
}

.before-after {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.before-after .photo-slot {
  min-height: 330px;
}

.case-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.case-copy h3 {
  margin: 0 0 14px;
  font-size: 26px;
  line-height: 1.12;
}

.case-copy p {
  margin: 0 0 10px;
  color: var(--muted);
}

.geo-map {
  min-height: 390px;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at center, rgba(255,255,255,.9) 0 3px, transparent 4px),
    radial-gradient(circle at center, rgba(63,143,52,.22), transparent 34%),
    linear-gradient(135deg, #eef4e4, #d7ead1);
  box-shadow: var(--shadow-soft);
}

.geo-map:before,
.geo-map:after {
  content: "";
  position: absolute;
  inset: 54px;
  border: 1px solid rgba(63,143,52,.22);
  border-radius: 50%;
}

.geo-map:after {
  inset: 100px;
}

.geo-map strong,
.geo-point {
  position: absolute;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-weight: 800;
}

.geo-map strong {
  left: 50%;
  top: 50%;
  width: 118px;
  height: 118px;
  transform: translate(-50%, -50%);
  background: var(--green);
  color: #fff;
  box-shadow: 0 18px 36px rgba(63,143,52,.28);
}

.geo-point {
  padding: 9px 12px;
  background: #fff;
  border: 1px solid var(--border);
  color: var(--green-dark);
}

.p1 { left: 12%; top: 20%; }
.p2 { right: 16%; top: 18%; }
.p3 { left: 10%; bottom: 22%; }
.p4 { right: 10%; bottom: 26%; }
.p5 { left: 42%; bottom: 10%; }

@media (max-width:1080px) {
  .proof-grid,
  .factor-layout,
  .geo-layout,
  .case-row {
    grid-template-columns: 1fr;
  }

  .hero-photo-collage .hero-floating-card {
    position: static;
    grid-column: 1 / -1;
    width: auto;
    max-width: none;
  }

  .photo-steps,
  .visual-price-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .proof-photos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #services .section-head h2 {
    white-space: normal;
  }

  .main-nav .nav-dropdown::after {
    display: none;
  }

  .main-nav .nav-dropdown {
    display: grid;
    width: 100%;
  }

  .main-nav .nav-dropdown-toggle {
    width: 100%;
    justify-content: space-between;
    padding: 10px 8px;
  }

  .main-nav .nav-dropdown-menu {
    position: static;
    min-width: 0;
    margin: 4px 0 6px;
    padding: 6px;
    border-radius: 16px;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
    display: none;
  }

  .main-nav .nav-dropdown.is-open .nav-dropdown-menu {
    display: grid;
  }

  .main-nav .nav-dropdown-menu a {
    padding: 10px 12px !important;
    text-align: left;
    white-space: normal;
  }

}

@media (max-width:720px) {
  .hero-visual.hero-photo-collage,
  .before-after,
  .photo-steps,
  .visual-price-grid,
  .proof-photos {
    grid-template-columns: 1fr;
  }

  .photo-slot-main,
  .photo-before,
  .photo-team,
  .before-after .photo-slot {
    min-height: 240px;
  }

  .hero-visual.hero-photo-collage {
    min-height: auto;
  }

  .plot-map,
  .geo-map {
    min-height: 330px;
  }
}

#services,
#estimate,
#prices,
#works,
#faq,
#contacts {
  scroll-margin-top: calc(var(--header-height) + 24px);
}

.hero h1,
.section-head h2,
.split h2,
.estimate h2,
.seo-text h2,
.final-cta h2,
.logo-mark {
  letter-spacing: 0 !important;
}

.trust {
  background: #fbfcf8;
  border-top: 1px solid rgba(220, 229, 210, .7);
  border-bottom: 1px solid rgba(220, 229, 210, .7);
}

.trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.trust-card,
.price-summary div,
.page-links a {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-soft);
}

.trust-card {
  padding: 18px;
}

.trust-card strong,
.trust-card span,
.price-summary strong,
.price-summary span {
  display: block;
}

.trust-card strong,
.price-summary strong {
  color: var(--green-dark);
  font-size: 18px;
}

.trust-card span,
.price-summary span,
.price-note {
  color: var(--muted);
}

.trust-card span,
.price-summary span {
  margin-top: 6px;
  font-size: 14px;
}

.price-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 18px;
}

.price-summary div {
  padding: 16px;
}

.price-note {
  margin: 16px 0 0;
  font-size: 14px;
}

.next-pages {
  background: #fbfcf8;
}

.page-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.page-links a {
  color: var(--green-dark);
  font-weight: 800;
  padding: 14px 16px;
  text-decoration: none;
}

.page-links a:hover {
  border-color: var(--green);
  transform: translateY(-1px);
}

a[data-future-url] {
  text-underline-offset: 3px;
}

@media (max-width:1080px) {
  .trust-grid,
  .price-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:720px) {
  .trust-grid,
  .price-summary,
  .page-links {
    grid-template-columns: 1fr;
  }
}

.about-page h1,
.about-page h2 {
  letter-spacing: 0;
}

.portfolio-page h1,
.portfolio-page h2 {
  letter-spacing: 0;
}

.portfolio-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(246, 248, 242, .96), rgba(238, 244, 228, .9)),
    radial-gradient(circle at 84% 10%, rgba(184, 219, 90, .28), transparent 34%);
}

.portfolio-hero:before {
  content: "";
  position: absolute;
  right: -160px;
  bottom: -260px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: rgba(63, 143, 52, .12);
}

.portfolio-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .94fr 1.06fr;
  gap: 54px;
  align-items: center;
}

.portfolio-hero h1 {
  margin: 0;
  max-width: 820px;
  font-size: clamp(42px, 5.3vw, 72px);
  line-height: 1.04;
}

.portfolio-hero-photo {
  min-height: 520px;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.portfolio-page .portfolio-hero-photo:after,
.portfolio-page .portfolio-hero-photo span,
.portfolio-page .portfolio-hero-photo small,
.portfolio-page .case-photos .photo-slot:after,
.portfolio-page .case-photos .photo-slot span,
.portfolio-page .case-photos .photo-slot small,
.portfolio-page .portfolio-gallery-grid .photo-slot:after,
.portfolio-page .portfolio-gallery-grid .photo-slot span,
.portfolio-page .portfolio-gallery-grid .photo-slot small {
  display: none;
}

.portfolio-filter {
  background: #fff;
  border-top: 1px solid rgba(220, 229, 210, .8);
  border-bottom: 1px solid rgba(220, 229, 210, .8);
}

.portfolio-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.portfolio-filter-row a {
  border: 1px dashed rgba(63, 143, 52, .46);
  border-radius: 999px;
  padding: 11px 16px;
  background: #fbfcf8;
  color: var(--green-dark);
  font-weight: 800;
  text-decoration: none;
}

.portfolio-filter-row a[aria-current="page"],
.portfolio-filter-row a:hover {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}

.portfolio-cases {
  background: #fbfcf8;
}

.case-grid {
  display: grid;
  gap: 24px;
}

.portfolio-case {
  display: grid;
  grid-template-columns: 1.18fr .82fr;
  gap: 22px;
  align-items: stretch;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
}

.case-photos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.case-photos .photo-slot {
  min-height: 360px;
}

.case-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 8px 8px 8px 0;
}

.case-type {
  margin: 0 0 10px;
  color: var(--green-dark);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 13px;
}

.case-content h3 {
  margin: 0;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.08;
}

.case-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.case-tags span {
  border-radius: 999px;
  padding: 8px 11px;
  background: var(--green-soft);
  color: var(--green-dark);
  font-weight: 800;
  font-size: 13px;
}

.case-content dl {
  display: grid;
  gap: 14px;
  margin: 22px 0;
}

.case-content dt {
  color: var(--text);
  font-weight: 800;
}

.case-content dd {
  margin: 4px 0 0;
  color: var(--muted);
}

.portfolio-scenarios {
  background: #fff;
}

.scenario-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.scenario-grid article {
  min-height: 210px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 22px;
  background: #fbfcf8;
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
}

.scenario-grid span {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: var(--green-soft);
  color: var(--green-dark);
  font-weight: 800;
}

.scenario-grid h3 {
  margin: auto 0 10px;
  font-size: 22px;
  line-height: 1.15;
}

.scenario-grid p {
  margin: 0;
  color: var(--muted);
}

.portfolio-gallery {
  background: #fbfcf8;
}

.portfolio-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.portfolio-gallery-grid .photo-slot {
  min-height: 230px;
}

.portfolio-note {
  background: var(--green-dark);
  color: #fff;
}

.portfolio-note-box {
  display: grid;
  grid-template-columns: .72fr 1fr;
  gap: 44px;
  align-items: center;
}

.portfolio-note .eyebrow,
.portfolio-note p {
  color: rgba(255,255,255,.78);
}

.portfolio-note h2 {
  margin: 0;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
}

.portfolio-note-box > p {
  margin: 0;
  font-size: 18px;
}

@media (max-width:1080px) {
  .portfolio-hero-grid,
  .portfolio-case,
  .portfolio-note-box {
    grid-template-columns: 1fr;
  }

  .case-content {
    padding: 0;
  }

  .scenario-grid,
  .portfolio-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:720px) {
  .portfolio-hero-photo {
    min-height: 320px;
  }

  .case-photos,
  .scenario-grid,
  .portfolio-gallery-grid {
    grid-template-columns: 1fr;
  }

  .case-photos .photo-slot,
  .portfolio-gallery-grid .photo-slot {
    min-height: 240px;
  }

  .portfolio-case {
    padding: 12px;
  }
}

.about-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(246, 248, 242, .96), rgba(238, 244, 228, .9)),
    radial-gradient(circle at 84% 10%, rgba(184, 219, 90, .28), transparent 34%);
}

.about-hero:before {
  content: "";
  position: absolute;
  right: -160px;
  bottom: -260px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: rgba(63, 143, 52, .12);
}

.about-hero-grid,
.about-story-grid,
.about-proof-grid,
.about-geo-grid,
.about-honest-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .96fr 1.04fr;
  gap: 54px;
  align-items: center;
}

.about-hero h1 {
  margin: 0;
  max-width: 820px;
  font-size: clamp(42px, 5.3vw, 72px);
  line-height: 1.04;
}

.about-hero-photo {
  min-height: 520px;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.about-page .about-hero-photo:after,
.about-page .about-hero-photo span,
.about-page .about-hero-photo small,
.about-page .about-photo-grid .photo-slot:after,
.about-page .about-client-grid .photo-slot:after,
.about-page .about-client-grid .photo-slot span,
.about-page .about-client-grid .photo-slot small,
.about-page .about-photo-grid .photo-slot span,
.about-page .about-photo-grid .photo-slot small {
  display: none;
}

.about-facts {
  background: #fff;
  border-top: 1px solid rgba(220, 229, 210, .8);
  border-bottom: 1px solid rgba(220, 229, 210, .8);
}

.about-facts-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.about-facts-grid article {
  min-height: 150px;
  border: 1px dashed rgba(63, 143, 52, .4);
  border-radius: var(--radius-md);
  padding: 20px;
  background: #fbfcf8;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.about-facts-grid strong {
  color: var(--green-dark);
  font-size: 26px;
  line-height: 1.05;
}

.about-facts-grid span {
  margin-top: 10px;
  color: var(--muted);
  font-weight: 700;
}

.about-story {
  background: #fbfcf8;
}

.about-story h2,
.about-proof h2,
.about-geo h2,
.about-honest h2 {
  margin: 0;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
}

.about-principles {
  background: #fff;
}

.principles-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.principles-grid article,
.about-timeline article,
.about-client-grid article {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
}

.principles-grid article {
  min-height: 280px;
  padding: 22px;
  display: flex;
  flex-direction: column;
}

.principles-grid span,
.about-timeline span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: var(--green-soft);
  color: var(--green-dark);
  font-weight: 800;
}

.principles-grid h3 {
  margin: auto 0 10px;
  font-size: 22px;
  line-height: 1.15;
}

.principles-grid p,
.about-timeline p,
.about-client-grid p,
.about-client-grid li {
  color: var(--muted);
}

.about-process {
  background: linear-gradient(135deg, #edf5e6, #f9fbf5);
}

.about-timeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.about-timeline article {
  min-height: 250px;
  padding: 22px;
  position: relative;
}

.about-timeline h3 {
  margin: 58px 0 10px;
  font-size: 22px;
  line-height: 1.15;
}

.about-proof {
  background: #fff;
}

.about-photo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.about-photo-grid .photo-slot {
  min-height: 240px;
}

.about-clients {
  background: #fbfcf8;
}

.about-client-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.about-client-grid article {
  overflow: hidden;
}

.about-client-grid .photo-slot {
  min-height: 290px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.about-client-grid h3,
.about-client-grid p,
.about-client-grid ul {
  margin-left: 24px;
  margin-right: 24px;
}

.about-client-grid h3 {
  margin-top: 24px;
  margin-bottom: 10px;
  font-size: 28px;
  line-height: 1.1;
}

.about-client-grid ul {
  padding-left: 18px;
  margin-bottom: 26px;
}

.about-geo {
  background: #fff;
}

.about-honest {
  background: var(--green-dark);
  color: #fff;
}

.about-honest .eyebrow,
.about-honest p {
  color: rgba(255,255,255,.76);
}

.about-honest .check-list li {
  color: rgba(255,255,255,.88);
}

.about-honest .check-list li:before {
  background: #fff;
  color: var(--green-dark);
}

@media (max-width:1080px) {
  .about-hero-grid,
  .about-story-grid,
  .about-proof-grid,
  .about-geo-grid,
  .about-honest-grid {
    grid-template-columns: 1fr;
  }

  .about-facts-grid,
  .principles-grid,
  .about-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:720px) {
  .about-hero-photo {
    min-height: 320px;
  }

  .about-facts-grid,
  .principles-grid,
  .about-timeline,
  .about-photo-grid,
  .about-client-grid {
    grid-template-columns: 1fr;
  }

  .principles-grid article,
  .about-timeline article {
    min-height: auto;
  }

  .about-timeline h3 {
    margin-top: 34px;
  }

  .about-client-grid .photo-slot {
    min-height: 230px;
  }
}

.prices-page .price-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(246, 248, 242, .96), rgba(238, 244, 228, .94)),
    radial-gradient(circle at 82% 8%, rgba(184, 219, 90, .32), transparent 34%);
}

.prices-page .price-hero:before {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -220px;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: rgba(63, 143, 52, .12);
}

.prices-page .price-hero .container {
  position: relative;
  z-index: 1;
}

.price-hero-grid,
.price-calc-layout,
.price-factor-grid {
  display: grid;
  grid-template-columns: 1fr .82fr;
  gap: 46px;
  align-items: center;
}

.price-hero h1 {
  margin: 0;
  max-width: 780px;
  font-size: clamp(42px, 5.4vw, 72px);
  line-height: 1.04;
  letter-spacing: 0;
}

.price-hero-copy .hero-lead {
  max-width: 640px;
}

.price-hero-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 30px;
}

.price-hero-points span {
  min-height: 78px;
  display: flex;
  align-items: center;
  border: 1px dashed rgba(63, 143, 52, .46);
  border-radius: var(--radius-sm);
  padding: 14px 16px 14px 38px;
  background: rgba(255,255,255,.72);
  color: var(--green-dark);
  font-weight: 800;
  position: relative;
}

.price-hero-points span:before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--green);
  border-right: 2px solid var(--green);
  transform: translateY(-50%) rotate(45deg);
}

.price-hero-board {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: stretch;
}

.price-hero-photo {
  min-height: 520px;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.price-hero-photo:after,
.price-hero-photo span,
.price-hero-photo small {
  display: none;
}

.price-board-main,
.price-board-side article,
.price-board-note {
  border: 1px solid rgba(220, 229, 210, .9);
  box-shadow: var(--shadow-soft);
}

.price-board-main {
  grid-row: span 2;
  min-height: 430px;
  border-radius: var(--radius-lg);
  padding: 28px;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(10, 34, 13, .08), rgba(10, 34, 13, .72)),
    repeating-linear-gradient(112deg, rgba(255,255,255,.13) 0 2px, transparent 2px 18px),
    linear-gradient(135deg, #d5e7aa, #4c983d 54%, #143a18);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.price-board-main span,
.price-board-main strong,
.price-board-main small,
.price-board-side b,
.price-board-side span,
.price-board-note strong,
.price-board-note p {
  display: block;
}

.price-board-main span {
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  font-size: 13px;
}

.price-board-main strong {
  margin-top: 10px;
  font-size: clamp(48px, 6vw, 72px);
  line-height: .95;
}

.price-board-main small {
  margin-top: 10px;
  color: rgba(255,255,255,.84);
  font-size: 16px;
}

.price-board-side {
  display: grid;
  gap: 14px;
}

.price-board-side article {
  min-height: 150px;
  border-radius: var(--radius-md);
  padding: 22px;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.price-board-side b {
  color: var(--green-dark);
  font-size: 28px;
  line-height: 1.05;
}

.price-board-side span {
  margin-top: 8px;
  color: var(--muted);
  font-weight: 700;
}

.price-board-note {
  grid-column: 1 / -1;
  border-radius: var(--radius-md);
  padding: 22px;
  background: #111a11;
  color: #fff;
}

.price-board-note p {
  margin: 8px 0 0;
  color: rgba(255,255,255,.76);
}

.price-calc-section {
  background: #fff;
  border-top: 1px solid rgba(220, 229, 210, .8);
  border-bottom: 1px solid rgba(220, 229, 210, .8);
}

.prices.price-calc-section {
  background: #fff;
}

.price-calc-section .price-info-panel,
.price-calc-section .calc-widget {
  border-radius: var(--radius-lg);
}

.price-levels {
  background: #fbfcf8;
}

.price-levels-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.price-levels-grid article {
  min-height: 230px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 20px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.84)),
    repeating-linear-gradient(112deg, rgba(63,143,52,.08) 0 2px, transparent 2px 18px);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
}

.price-levels-grid span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--green-soft);
  color: var(--green-dark);
  font-weight: 800;
}

.price-levels-grid strong {
  margin-top: 22px;
  font-size: 20px;
}

.price-levels-grid b {
  margin-top: auto;
  color: var(--green-dark);
  font-size: 26px;
  line-height: 1.05;
}

.price-levels-grid p {
  margin: 12px 0 22px;
  color: var(--muted);
}

.price-hero-card {
  min-height: 360px;
  border: 1px solid rgba(220, 229, 210, .9);
  border-radius: var(--radius-lg);
  padding: 32px;
  color: #fff;
  background: linear-gradient(180deg, rgba(12, 41, 18, .08), rgba(12, 41, 18, .72)), repeating-linear-gradient(110deg, rgba(255,255,255,.12) 0 2px, transparent 2px 18px), linear-gradient(135deg, #c6db8e, #3f8f34 58%, #17441f);
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.price-hero-card span,
.price-hero-card strong,
.price-hero-card p,
.price-hero-mini {
  display: block;
}

.price-hero-card span {
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 13px;
}

.price-hero-card strong {
  margin-top: 8px;
  font-size: 52px;
  line-height: 1;
}

.price-hero-card p {
  max-width: 420px;
  margin: 16px 0 0;
  color: rgba(255,255,255,.84);
}

.price-hero-mini {
  align-self: flex-start;
  margin-top: 24px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.12);
}

.price-hero-mini b,
.price-hero-mini small {
  display: block;
}

.price-hero-mini b {
  font-size: 20px;
}

.price-hero-mini small {
  color: rgba(255,255,255,.8);
}

.price-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.price-quick-grid article,
.price-factor-list article,
.price-package {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
}

.price-quick-grid article {
  padding: 20px;
}

.price-quick-grid span,
.price-factor-list span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--green-soft);
  color: var(--green-dark);
  font-weight: 800;
}

.price-quick-grid strong {
  display: block;
  margin-top: 18px;
  font-size: 24px;
  color: var(--green-dark);
}

.price-quick-grid p,
.price-factor-list p,
.price-package p {
  color: var(--muted);
}

.price-calc-layout {
  align-items: stretch;
}

.price-calc-layout .price-info-panel h2,
.price-factor-grid h2 {
  margin: 0;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: 0;
}

.price-page-calc {
  min-height: 100%;
}

.price-factor-grid {
  align-items: start;
}

.price-factor-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.price-factor-list article {
  padding: 20px;
}

.price-factor-list strong {
  display: block;
  margin-top: 16px;
  font-size: 18px;
}

.price-factor-list p {
  margin-bottom: 0;
}

.price-packages {
  background: #fbfcf8;
}

.price-package-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.price-package {
  overflow: hidden;
}

.price-package .photo-slot {
  min-height: 230px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.price-package h3,
.price-package p,
.price-package strong {
  margin-left: 22px;
  margin-right: 22px;
}

.price-package h3 {
  margin-top: 22px;
  margin-bottom: 8px;
  font-size: 24px;
}

.price-package strong {
  display: block;
  margin-top: 18px;
  margin-bottom: 24px;
  color: var(--green-dark);
  font-size: 20px;
}

@media (max-width:1080px) {
  .price-hero-grid,
  .price-calc-layout,
  .price-factor-grid {
    grid-template-columns: 1fr;
  }

  .price-quick-grid,
  .price-factor-list,
  .price-levels-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:720px) {
  .price-quick-grid,
  .price-factor-list,
  .price-package-grid,
  .price-hero-points,
  .price-hero-board,
  .price-levels-grid {
    grid-template-columns: 1fr;
  }

  .price-board-main {
    min-height: 280px;
  }

  .price-hero-photo {
    min-height: 320px;
  }

  .price-hero-card {
    min-height: 280px;
    padding: 24px;
  }

  .price-hero-card strong {
    font-size: 40px;
  }
}
:root{--bg:#f6f8f2;--surface:#fff;--surface-2:#eef4e4;--text:#162115;--muted:#647061;--green:#3f8f34;--green-dark:#255f22;--green-soft:#dcefd4;--lime:#b8db5a;--border:#dce5d2;--shadow:0 22px 60px rgba(35,67,32,.13);--shadow-soft:0 14px 36px rgba(35,67,32,.09);--radius-lg:30px;--radius-md:20px;--radius-sm:14px;--container:1180px;--header-height:76px;--font:Arial,"Helvetica Neue",Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.5}a{color:inherit}button,input,select,textarea{font:inherit}.container{width:min(var(--container),calc(100% - 32px));margin:0 auto}.narrow{max-width:900px}.section-pad{padding:88px 0}.section-pad-sm{padding:64px 0}.skip-link{position:absolute;left:-999px;top:16px;background:var(--text);color:#fff;padding:10px 14px;border-radius:10px;z-index:1000}.skip-link:focus{left:16px}.site-header{position:sticky;top:0;z-index:100;height:var(--header-height);background:rgba(246,248,242,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,229,210,.8)}.header-inner{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;min-width:fit-content}.logo-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;display:grid;place-items:center;font-weight:800;letter-spacing:-.04em}.logo-text{display:grid}.logo-text strong{font-size:18px;line-height:1.1}.logo-text small{color:var(--muted);font-size:12px}.main-nav{display:flex;align-items:center;gap:22px;color:var(--muted);font-size:15px}.main-nav a{text-decoration:none}.main-nav a:hover,.phone-link:hover{color:var(--green-dark)}.header-actions{display:flex;align-items:center;gap:12px}.phone-link{font-weight:700;text-decoration:none;white-space:nowrap}.nav-toggle{width:44px;height:44px;border:1px solid var(--border);border-radius:13px;background:#fff;display:none;flex-direction:column;justify-content:center;gap:5px;padding:0 11px;cursor:pointer}.nav-toggle span{height:2px;background:var(--text);border-radius:999px;transition:.2s}.nav-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.is-active span:nth-child(2){opacity:0}.nav-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:14px 22px;border:1px solid transparent;text-decoration:none;font-weight:800;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--green);color:#fff;box-shadow:0 14px 32px rgba(63,143,52,.28)}.btn-primary:hover{background:var(--green-dark)}.btn-secondary{background:#fff;border-color:var(--border);color:var(--green-dark)}.btn-ghost{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}.btn-small{padding:10px 16px;font-size:14px}.btn-full{width:100%}.eyebrow{margin:0 0 12px;color:var(--green-dark);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.hero{padding-top:64px;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;inset:-160px -120px auto auto;width:520px;height:520px;border-radius:50%;background:rgba(184,219,90,.28);filter:blur(10px);z-index:-1}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:54px}.hero h1,.section-head h2,.split h2,.estimate h2,.seo-text h2,.final-cta h2{margin:0;line-height:1.06;letter-spacing:-.04em}.hero h1{font-size:clamp(42px,6vw,78px);max-width:850px}.hero-lead{font-size:20px;color:var(--muted);max-width:680px;margin:24px 0 0}.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0}.hero-badges span,.geo-tags span,.situation-list span{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid var(--border);color:var(--green-dark);font-weight:700;font-size:14px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.hero-price{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hero-price div{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;box-shadow:var(--shadow-soft)}.hero-price strong{display:block;font-size:18px}.hero-price span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.note,.form-note,.muted{color:var(--muted)}.note{font-size:14px;margin:18px 0 0}.hero-visual{position:relative;min-height:550px}.image-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid rgba(220,229,210,.9);box-shadow:var(--shadow);overflow:hidden;position:relative}.image-card-main{min-height:520px}.image-label{position:absolute;top:18px;left:18px;background:rgba(255,255,255,.86);border:1px solid var(--border);border-radius:999px;padding:8px 12px;color:var(--muted);font-weight:700;font-size:13px;z-index:2}.placeholder-illustration{position:absolute;inset:0;background:linear-gradient(180deg,#dff0fb 0%,#eef8e9 48%,#92bb5c 49%,#507b3b 100%)}.sun{position:absolute;right:72px;top:74px;width:76px;height:76px;border-radius:50%;background:#f4d66c;box-shadow:0 0 80px rgba(244,214,108,.7)}.field{position:absolute;left:-10%;bottom:0;width:120%;height:48%;background:repeating-linear-gradient(112deg,rgba(255,255,255,.12) 0 2px,transparent 2px 18px),linear-gradient(180deg,#79a84c,#365d2c);border-radius:50% 50% 0 0/18% 18% 0 0}.grass{position:absolute;bottom:120px;width:220px;height:160px;background:linear-gradient(135deg,rgba(26,76,24,.9),rgba(118,166,54,.85));clip-path:polygon(0 100%,10% 18%,20% 100%,30% 5%,42% 100%,55% 22%,68% 100%,78% 10%,90% 100%,100% 26%,100% 100%);opacity:.9}.grass-1{left:30px}.grass-2{right:20px;transform:scaleX(-1) scale(.9)}.worker{position:absolute;right:145px;bottom:128px;width:70px;height:150px;background:linear-gradient(180deg,#243b22 0 28%,#e6a450 28% 55%,#263e2e 55% 100%);border-radius:42px 42px 12px 12px;box-shadow:-42px 88px 0 -24px #222,38px 90px 0 -24px #222}.hero-floating-card{position:absolute;right:-10px;bottom:48px;width:min(270px,72%);padding:18px;background:rgba(255,255,255,.92);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow)}.hero-floating-card strong,.hero-floating-card span{display:block}.hero-floating-card span{margin-top:4px;color:var(--muted)}.split{display:grid;grid-template-columns:.72fr 1fr;gap:54px;align-items:start}.split h2,.section-head h2,.estimate h2,.seo-text h2{font-size:clamp(30px,4vw,48px)}.rich-text p{color:var(--muted);font-size:18px;margin:0 0 16px}.services,.prices,.tools,.faq{background:var(--surface)}.section-head{max-width:720px;margin-bottom:36px}.section-head p:not(.eyebrow){margin:12px 0 0;color:var(--muted);font-size:18px}.cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service-card,.simple-card,.mini-card,.step,.tools-grid article,.work-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.service-card{padding:22px;min-height:270px;display:flex;flex-direction:column}.service-card-accent{background:linear-gradient(135deg,var(--green-dark),var(--green));color:#fff}.service-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--green-soft);color:var(--green-dark);font-weight:800}.service-card-accent .service-icon{background:rgba(255,255,255,.18);color:#fff}.service-card h3,.simple-card h3,.mini-card h3,.tools-grid h3,.step h3,.work-card h3{margin:18px 0 10px;line-height:1.2}.service-card p,.simple-card p,.mini-card p,.tools-grid p,.step p,.work-card p{color:var(--muted);margin:0}.service-card-accent p{color:rgba(255,255,255,.82)}.card-bottom{margin-top:auto;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.card-bottom a{color:var(--green-dark);font-weight:800;text-decoration:none}.service-card-accent .card-bottom a{color:#fff}.estimate{background:radial-gradient(circle at top left,rgba(184,219,90,.28),transparent 36%),var(--surface-2)}.estimate-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:46px;align-items:start}.estimate-content p{color:var(--muted);font-size:18px}.check-list{padding:0;margin:24px 0 0;list-style:none;display:grid;gap:12px}.check-list li{position:relative;padding-left:30px}.check-list li:before{content:"✓";position:absolute;left:0;top:0;width:21px;height:21px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800}.estimate-form{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:grid;gap:7px;margin-bottom:14px}label span{font-weight:800;font-size:14px}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:14px;padding:13px 14px;background:#fbfcf8;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(63,143,52,.12)}textarea{resize:vertical}.file-field input{padding:11px 14px}.form-note,.form-status{font-size:13px;margin:12px 0 0}.form-status{color:var(--green-dark);font-weight:800}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.price-table{width:100%;border-collapse:collapse;background:#fff;min-width:720px}.price-table th,.price-table td{padding:18px;text-align:left;border-bottom:1px solid var(--border)}.price-table th{background:var(--surface-2);font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--green-dark)}.price-table tr:last-child td{border-bottom:0}.price-table td:nth-child(2){font-weight:800;color:var(--green-dark);white-space:nowrap}.center-action{display:flex;justify-content:center;margin-top:28px}.mini-grid,.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mini-card,.tools-grid article,.simple-card,.step{padding:22px}.situations{background:linear-gradient(135deg,#edf5e6,#f9fbf5)}.situation-list,.geo-tags{display:flex;flex-wrap:wrap;gap:12px}.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.step span{width:36px;height:36px;background:var(--green);color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:800}.cards-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.work-card{overflow:hidden}.work-image{min-height:210px;background:linear-gradient(135deg,rgba(63,143,52,.28),rgba(184,219,90,.32)),repeating-linear-gradient(45deg,#dfead5 0 12px,#edf4e5 12px 24px);position:relative}.work-image:after{content:"фото до/после";position:absolute;left:18px;bottom:18px;padding:8px 12px;background:rgba(255,255,255,.9);border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:13px;font-weight:800}.work-body{padding:22px}.conditions{background:var(--green-dark);color:#fff}.conditions-box{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.conditions .eyebrow,.conditions p{color:rgba(255,255,255,.76)}.check-list-dark li:before{background:#fff;color:var(--green-dark)}.seo-text{background:#fbfcf8}.faq-list{display:grid;gap:12px;max-width:900px}.faq-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0;box-shadow:var(--shadow-soft)}.faq-item summary{cursor:pointer;padding:18px 20px;font-weight:800;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green-dark);flex:0 0 28px}.faq-item[open] summary:after{content:"−"}.faq-item p{margin:0;padding:0 20px 20px;color:var(--muted)}.final-cta{background:var(--surface-2)}.final-cta-box{background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;border-radius:var(--radius-lg);padding:42px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;box-shadow:var(--shadow)}.final-cta-box .eyebrow,.final-cta-box p{color:rgba(255,255,255,.82)}.final-actions{display:grid;gap:12px;min-width:250px}.site-footer{background:#111a11;color:#fff;padding:52px 0 28px}.site-footer a,.site-footer span{color:rgba(255,255,255,.76);text-decoration:none;display:block;margin-top:8px}.site-footer p{color:rgba(255,255,255,.68);max-width:330px}.logo-footer{color:#fff;margin-bottom:16px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:36px}.footer-grid h3{margin:0 0 14px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:32px;padding-top:18px;display:flex;justify-content:space-between;gap:18px}.mobile-sticky{display:none}@media (max-width:1080px){.main-nav{position:fixed;left:16px;right:16px;top:calc(var(--header-height) + 12px);background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:16px;display:none;flex-direction:column;align-items:stretch}.main-nav.is-open{display:flex}.main-nav a{padding:10px 8px}.nav-toggle{display:flex}.header-actions .btn-small{display:none}.hero-grid,.estimate-grid,.split,.conditions-box,.final-cta-box{grid-template-columns:1fr}.hero-visual{min-height:440px}.image-card-main{min-height:430px}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-grid,.tools-grid,.cards-grid-compact,.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.final-actions{display:flex;flex-wrap:wrap}}@media (max-width:720px){body{padding-bottom:72px}.container{width:min(100% - 24px,var(--container))}.section-pad{padding:58px 0}.section-pad-sm{padding:46px 0}.phone-link{display:none}.logo-text small{display:none}.hero{padding-top:36px}.hero h1{font-size:40px}.hero-lead,.rich-text p,.section-head p:not(.eyebrow),.estimate-content p{font-size:16px}.hero-price,.form-row,.cards-grid,.mini-grid,.tools-grid,.cards-grid-compact,.works-grid,.steps,.footer-grid{grid-template-columns:1fr}.hero-visual{min-height:350px}.image-card-main{min-height:350px}.hero-floating-card{right:12px;bottom:12px}.estimate-form,.final-cta-box{padding:20px}.price-table th,.price-table td{padding:14px}.footer-bottom{flex-direction:column}.mobile-sticky{position:fixed;left:10px;right:10px;bottom:10px;z-index:120;background:#111a11;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 28px rgba(0,0,0,.22);border-radius:18px;padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-sticky a{text-align:center;text-decoration:none;color:#fff;background:var(--green);border-radius:14px;padding:12px 10px;font-weight:800;font-size:14px}.mobile-sticky a:first-child{background:#fff;color:var(--green-dark)}}@media (max-width:420px){.hero h1{font-size:34px}.btn{width:100%}.hero-actions,.final-actions{width:100%}}
.services-page h1,.services-page h2{letter-spacing:-.04em}.services-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 18%,rgba(184,219,90,.34),transparent 34%),linear-gradient(135deg,#f6f8f2 0%,#eef6e8 100%)}.services-hero:before{content:"";position:absolute;right:-130px;bottom:-180px;width:440px;height:440px;border-radius:50%;background:rgba(63,143,52,.16)}.services-hero-grid{position:relative;display:grid;grid-template-columns:.96fr 1.04fr;gap:56px;align-items:center}.services-hero h1{margin:0;max-width:740px;font-size:clamp(42px,6vw,76px);line-height:1.04}.service-hero-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px}.service-hero-points span,.scenario-chips span{border:1px dashed rgba(63,143,52,.45);border-radius:999px;background:rgba(255,255,255,.72);color:var(--green-dark);font-weight:800;padding:12px 16px}.services-hero-photo{min-height:500px;border-radius:30px;box-shadow:var(--shadow)}.service-catalog{background:var(--surface)}.service-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-directory-card{display:flex;flex-direction:column;min-height:420px;padding:14px 14px 18px;border:1px solid var(--border);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.service-directory-card:hover{transform:translateY(-4px);border-color:rgba(63,143,52,.42);box-shadow:var(--shadow)}.service-directory-card .photo-slot{min-height:168px;border-radius:16px;margin-bottom:18px}.service-directory-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--green-soft);color:var(--green-dark);font-weight:900}.service-directory-card h3{margin:18px 0 9px;font-size:23px;line-height:1.1}.service-directory-card p{margin:0;color:var(--muted)}.service-directory-card b{margin-top:auto;padding-top:20px;color:var(--green-dark)}.service-scenarios{background:linear-gradient(135deg,#edf5e6,#f9fbf5)}.service-scenarios-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:start}.service-scenarios h2,.service-prices h2,.service-choice h2,.service-complex h2{margin:0;font-size:clamp(32px,4vw,52px);line-height:1.05}.service-scenarios p:not(.eyebrow),.service-prices p{color:var(--muted);font-size:18px}.scenario-chips{display:flex;flex-wrap:wrap;gap:12px}.service-prices-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:42px;align-items:center}.service-price-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-price-cards article{min-height:118px;padding:18px;border:1px dashed rgba(63,143,52,.38);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}.service-price-cards strong,.service-price-cards span{display:block}.service-price-cards strong{font-size:20px;line-height:1.15}.service-price-cards span{margin-top:10px;color:var(--muted)}.service-choice{background:var(--green-dark);color:#fff}.service-choice .eyebrow{color:rgba(255,255,255,.72)}.service-choice-box{display:grid;grid-template-columns:.7fr 1.3fr;gap:46px;align-items:start}.choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.choice-list a{position:relative;min-height:142px;padding:20px 20px 18px 58px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none}.choice-list a:first-child{grid-column:span 2}.choice-list span{position:absolute;left:20px;top:20px;width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:#fff;color:var(--green-dark);font-weight:900}.choice-list strong,.choice-list p{display:block}.choice-list strong{font-size:18px}.choice-list p{margin:8px 0 0;color:rgba(255,255,255,.72)}.complex-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.complex-grid article{padding:14px 14px 20px;border:1px solid var(--border);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft)}.complex-grid .photo-slot{min-height:190px;border-radius:16px}.complex-grid h3{margin:18px 4px 8px;font-size:22px}.complex-grid p{margin:0 4px;color:var(--muted)}@media (max-width:1080px){.services-hero-grid,.service-scenarios-grid,.service-prices-grid,.service-choice-box{grid-template-columns:1fr}.service-directory-grid,.service-price-cards,.complex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-hero-photo{min-height:420px}}@media (max-width:720px){.services-hero h1{font-size:38px}.service-hero-points,.service-directory-grid,.service-price-cards,.choice-list,.complex-grid{grid-template-columns:1fr}.choice-list a:first-child{grid-column:auto}.services-hero-photo{min-height:330px}.service-directory-card{min-height:0}}
.service-detail-page h1,.service-detail-page h2{letter-spacing:-.04em}.service-detail-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 14%,rgba(184,219,90,.32),transparent 34%),linear-gradient(135deg,#f6f8f2 0%,#eef6e8 100%)}.service-detail-hero:before{content:"";position:absolute;right:-160px;bottom:-190px;width:480px;height:480px;border-radius:50%;background:rgba(63,143,52,.15)}.service-detail-hero-grid{position:relative;display:grid;grid-template-columns:1fr .94fr;gap:56px;align-items:center}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;color:var(--muted);font-size:14px}.breadcrumbs a{text-decoration:none;color:var(--green-dark);font-weight:800}.service-detail-hero h1{margin:0;max-width:820px;font-size:clamp(40px,5.6vw,72px);line-height:1.04}.detail-hero-visual{position:relative}.detail-photo-main{min-height:520px;border-radius:30px;box-shadow:var(--shadow)}.detail-hero-card{position:absolute;right:22px;bottom:22px;width:min(260px,70%);padding:22px;border:1px solid var(--border);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:var(--shadow-soft)}.detail-hero-card strong,.detail-hero-card span{display:block}.detail-hero-card strong{font-size:28px;color:var(--green-dark);line-height:1.1}.detail-hero-card span{margin-top:6px;color:var(--muted);font-weight:800}.detail-fit-grid,.detail-price-grid,.detail-proof-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:46px;align-items:start}.detail-fit h2,.detail-types h2,.detail-price-band h2,.detail-proof h2,.detail-process h2,.detail-related h2{margin:0;font-size:clamp(32px,4vw,52px);line-height:1.05}.detail-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-check-grid article,.detail-process-grid article,.detail-price-list article,.detail-related-grid a{border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft);padding:20px}.detail-check-grid span,.detail-process-grid span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--green-soft);color:var(--green-dark);font-weight:900}.detail-check-grid strong{display:block;margin-top:16px;font-size:20px;line-height:1.15}.detail-check-grid p,.detail-type-grid p,.detail-process-grid p,.detail-related-grid p{margin:8px 0 0;color:var(--muted)}.detail-types,.detail-proof,.detail-related{background:var(--surface)}.detail-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.detail-type-grid article{overflow:hidden;border:1px solid var(--border);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft)}.detail-type-grid .photo-slot{min-height:230px;border:0;border-radius:0;box-shadow:none}.detail-type-grid h3,.detail-type-grid p,.detail-type-grid strong{margin-left:22px;margin-right:22px}.detail-type-grid h3{margin-top:22px;margin-bottom:8px;font-size:24px}.detail-type-grid strong{display:block;margin-top:18px;margin-bottom:24px;color:var(--green-dark);font-size:20px}.detail-price-band{background:linear-gradient(135deg,#edf5e6,#f9fbf5)}.detail-price-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-price-list article{min-height:118px;border-style:dashed}.detail-price-list strong,.detail-price-list span{display:block}.detail-price-list strong{font-size:22px}.detail-price-list span{margin-top:9px;color:var(--muted)}.before-after-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.before-after-pair .photo-slot{min-height:390px;border-radius:26px}.detail-process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.detail-process-grid article{min-height:210px}.detail-process-grid h3{margin:18px 0 8px;font-size:21px;line-height:1.15}.detail-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.detail-related-grid a{position:relative;min-height:160px;padding-left:58px;text-decoration:none}.detail-related-grid span{position:absolute;left:20px;top:20px;width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:var(--green);color:#fff;font-weight:900}.detail-related-grid strong{display:block;font-size:18px;line-height:1.15;color:var(--green-dark)}@media (max-width:1080px){.service-detail-hero-grid,.detail-fit-grid,.detail-price-grid,.detail-proof-grid{grid-template-columns:1fr}.detail-type-grid,.detail-process-grid,.detail-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-photo-main{min-height:430px}}@media (max-width:720px){.service-detail-hero h1{font-size:38px}.detail-check-grid,.detail-type-grid,.detail-price-list,.before-after-pair,.detail-process-grid,.detail-related-grid{grid-template-columns:1fr}.detail-photo-main{min-height:330px}.before-after-pair .photo-slot{min-height:260px}.detail-related-grid a{min-height:0}}

/* Sitewide layout polish */
.service-detail-page,
.services-page,
.prices-page,
.portfolio-page,
.about-page,
.contact-page {
  overflow-x: hidden;
}

.service-detail-hero-grid,
.services-hero-grid,
.contact-hero-grid,
.price-hero-grid,
.portfolio-hero-grid,
.about-hero-grid,
.detail-fit-grid,
.detail-price-grid,
.detail-proof-grid,
.service-scenarios-grid,
.service-prices-grid,
.service-choice-box {
  min-width: 0;
}

.service-detail-hero h1,
.services-hero h1,
.hero h1,
.section-head h2,
.detail-fit h2,
.detail-types h2,
.detail-price-band h2,
.detail-proof h2,
.detail-process h2,
.detail-related h2 {
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.service-detail-hero {
  padding-top: 56px;
}

.service-detail-hero-grid {
  align-items: center;
  gap: clamp(28px, 4vw, 56px);
}

.service-detail-hero h1 {
  font-size: clamp(42px, 5vw, 66px);
  line-height: 1.02;
}

.service-detail-hero .hero-lead {
  max-width: 720px;
}

.service-hero-points {
  align-items: stretch;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  max-width: 640px;
}

.service-hero-points span {
  display: flex;
  min-height: 76px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 22px;
  line-height: 1.28;
  text-wrap: balance;
  overflow-wrap: normal;
}

.detail-photo-main {
  min-height: clamp(360px, 42vw, 500px);
}

.detail-check-grid article,
.detail-process-grid article,
.detail-price-list article,
.service-price-cards article {
  min-width: 0;
}

.detail-check-grid strong,
.detail-process-grid h3,
.detail-related-grid strong,
.service-price-cards strong {
  text-wrap: balance;
}

.detail-related-grid a,
.choice-list a {
  padding: 22px 20px 20px 62px;
  min-width: 0;
}

.detail-related-grid span,
.choice-list span {
  left: 20px;
  top: 22px;
  width: 28px;
  height: 28px;
  line-height: 1;
}

.detail-related-grid p,
.choice-list p {
  line-height: 1.4;
}

.detail-price-list article {
  min-height: 104px;
}

.detail-price-list strong {
  line-height: 1.15;
}

.service-directory-card,
.service-card,
.simple-card,
.portfolio-case,
.price-package,
.complex-grid article {
  min-width: 0;
}

.service-directory-card h3,
.service-card h3,
.price-package h3,
.complex-grid h3 {
  text-wrap: balance;
}

.card-bottom {
  align-items: flex-end;
}

.card-bottom strong {
  line-height: 1.2;
}

.card-bottom a {
  white-space: nowrap;
}

.consent-field {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 4px 0 16px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.consent-field input {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  padding: 0;
  accent-color: var(--green);
  flex: 0 0 auto;
}

.consent-field span {
  font-weight: 600;
}

.consent-field a {
  color: var(--green-dark);
  font-weight: 800;
}

.file-field {
  position: relative;
}

.file-field input[type="file"] {
  min-height: 48px;
  cursor: pointer;
  color: transparent;
}

.file-field input[type="file"]::file-selector-button {
  width: 128px;
  min-height: 28px;
  margin-right: 12px;
  border: 0;
  border-radius: 999px;
  background: var(--green-soft);
  color: transparent;
  cursor: pointer;
}

.file-field::after {
  content: "Выбрать фото";
  position: absolute;
  left: 12px;
  bottom: 22px;
  max-width: 112px;
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  pointer-events: none;
}

.detail-related-grid .related-card .related-card-photo,
.choice-list .related-card .related-card-photo,
.page-links .related-card .related-card-photo {
  position: relative !important;
  min-height: 170px !important;
  overflow: hidden !important;
  background: var(--green-soft) !important;
}

.detail-related-grid .related-card .related-card-photo img,
.choice-list .related-card .related-card-photo img,
.page-links .related-card .related-card-photo img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.detail-related-grid .related-card .related-card-body span,
.choice-list .related-card .related-card-body span,
.page-links .related-card .related-card-body span {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 44px !important;
  margin-top: auto !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--green-soft) !important;
  color: var(--green-dark) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.photo-slot img,
.service-photo img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.photo-slot img {
  border-radius: inherit;
}

.photo-slot:has(img),
.service-photo:has(img) {
  background: #dfead5;
}

.photo-slot:has(img):before,
.service-photo:has(img):before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.28)),
    linear-gradient(0deg, rgba(17, 26, 17, 0.32), transparent 46%);
}

.photo-slot:has(img) span,
.photo-slot:has(img) small,
.service-photo:has(img) span {
  z-index: 2;
}

@media (max-width: 1080px) {
  .service-detail-hero {
    padding-top: 44px;
  }

  .service-detail-hero-grid {
    align-items: start;
  }

  .service-hero-points {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .detail-process-grid,
  .detail-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .service-detail-hero h1,
  .services-hero h1 {
    font-size: clamp(34px, 10vw, 42px);
  }

  .service-hero-points {
    grid-template-columns: 1fr;
    gap: 10px;
    max-width: none;
  }

  .service-hero-points span {
    min-height: 0;
    padding: 12px 14px;
    border-radius: 16px;
  }

  .detail-hero-card {
    left: 14px;
    right: 14px;
    bottom: 14px;
    width: auto;
    padding: 16px;
  }

  .detail-hero-card strong {
    font-size: 22px;
  }

  .detail-related-grid a,
  .choice-list a {
    padding: 18px 18px 18px 56px;
  }

  .detail-related-grid span,
  .choice-list span {
    left: 18px;
    top: 18px;
  }

  .card-bottom {
    gap: 10px;
  }
}

@media (max-width: 420px) {
  .service-detail-hero h1,
  .services-hero h1,
  .hero h1 {
    letter-spacing: -0.055em;
  }

  .card-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

.seo-text h1 {
  margin: 0 0 20px;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.05;
  letter-spacing: -0.04em;
}
