/* Layout only: typography and rounded buttons use the existing service template. */
.web-page section[id] { scroll-margin-top: 100px; background-color: #fff; }
.web-page section.gray-bg { background-color: #fafafa; }
.web-page .h2-title { margin-bottom: 30px; }
/* Keep the original left-hand section rail; fixed targets avoid jumping dots. */
.web-page .web-navigation { gap: 0; top: calc(50% + 40px); }
.web-page .web-navigation .navigation__link { width: 22px; height: 22px; justify-content: center; flex-shrink: 0; }
.web-page .web-navigation .navifation__divider { height: clamp(0px, calc(7.14vh - 38.6px), 18px); flex-shrink: 0; }
.web-page .web-navigation .navigation__text { color: #676767; }
.web-page .web-navigation .navigation__link.active::before,
.web-page .web-navigation .navigation__link:hover::before,
.web-page .web-navigation .navigation__link:focus-visible::before { width: 22px; height: 22px; border-color: #dedede; background-color: transparent; }
.web-page .web-navigation .navigation__link:focus-visible .navigation__text { opacity: 1; }
@media (max-height: 500px) {
  .web-page .web-navigation { display: none; }
}
.web-page .web-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.web-page .web-actions .black-btn { margin: 0; }
.web-page .web-hero-budget { padding: 24px; border: 1px solid rgba(10,10,10,.2); border-radius: 16px; min-width: 0; }
.web-page .web-hero-budget span { display: block; }
.web-page .web-hero-budget strong { display: block; margin: 10px 0 16px; }
.web-page #price .web-actions { margin-top: 30px; }
.web-page a[href]:not(.black-btn):not(.others__link):not(.navigation__link),
.web-page a[href]:not(.black-btn):not(.others__link):not(.navigation__link):visited,
.web-page a[href]:not(.black-btn):not(.others__link):not(.navigation__link):hover,
.web-page a[href]:not(.black-btn):not(.others__link):not(.navigation__link):focus { color: #ff560b; }
.web-page .web-link { font-family: "Segoe UI", sans-serif; font-size: 18px; line-height: 29px; text-decoration: underline; text-underline-offset: 4px; }
.web-page .web-lead { max-width: 980px; margin: 0 0 30px; }
.web-page .web-note { margin: 20px 0; }
.web-page .web-table-wrap { overflow-x: auto; border: 1px solid rgba(10,10,10,.2); border-radius: 16px; }
.web-page .web-table { border-collapse: collapse; width: 100%; min-width: 760px; }
.web-page .web-table caption { text-align: left; padding: 18px 22px; color: inherit; }
.web-page .web-table th, .web-page .web-table td { padding: 20px; text-align: left; vertical-align: top; border-top: 1px solid rgba(10,10,10,.2); }
.web-page .web-table thead { background: #fafafa; }
.web-page .web-table tbody th { width: 19%; font-weight: 400; }
.web-page .web-table td:nth-child(2), .web-page .web-table td:nth-child(3) { width: 17%; }
.web-page .web-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.web-page .web-card { padding: 28px; border: 1px solid rgba(10,10,10,.2); border-radius: 18px; }
.web-page .web-card h3 { margin: 0 0 20px; }
.web-page .web-card p { margin: 0; }
/* All FAQ items use the reference page's typography and arrow. */
.web-page .web-faq { border-bottom: 1px solid rgba(10,10,10,.2); }
.web-page .web-faq summary { cursor: pointer; list-style: none; }
.web-page .web-faq summary::-webkit-details-marker { display: none; }
.web-page .web-faq summary svg { flex-shrink: 0; color: #0a0a0a; transition: transform .3s; }
.web-page .web-faq[open] summary svg { transform: rotate(180deg); }
.web-page .web-faq-answer p { margin-top: 0; }
.web-page a:focus-visible, .web-page button:focus-visible, .web-page summary:focus-visible, .web-page [tabindex]:focus-visible { outline: 3px solid #ff560b; outline-offset: 4px; }
.web-page #clients .tab__img-1 { object-fit: contain; height: auto; max-height: 440px; }
.web-page .web-glossary { display: grid; grid-template-columns: 140px 1fr; gap: 12px 24px; margin: 0; }
.web-page .web-glossary dt { font-weight: 600; }
.web-page .web-glossary dd { margin: 0; }
.web-page .web-contact-links { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 24px; }
@media (max-width: 767px) {
  .web-page .web-grid { grid-template-columns: 1fr; }
  .web-page .web-card { padding: 22px; }
  .web-page .web-actions { width: 100%; }
  .web-page .web-actions .black-btn { max-width: 100%; }
  .web-page .web-glossary { grid-template-columns: 1fr; gap: 6px; }
  .web-page .web-glossary dd { margin-bottom: 16px; }
}
@media (max-width: 576px) {
  .web-page .web-link { font-size: 14px; line-height: 150%; }
}
/* This stylesheet is loaded only on this page; keep the footer tooltip in view. */
@media (max-width: 575px) {
  .footer-copy-button .svg-button-copy__tooltip { left: auto; right: 0; transform: none; }
  .footer-copy-button .svg-button-copy__tooltip::after { left: auto; right: 4px; transform: rotate(45deg); }
}

.web-page .web-navigation a.navigation__link { color: #676767; }
.web-page .web-navigation .navigation__link:focus-visible { outline-color: #676767; }
.web-page #develop .web-actions { flex-direction: column; align-items: center; gap: 16px; }
.web-page #steps .steps__title { border-bottom: 0; padding-bottom: 0; }
.web-page .web-trust, .web-page .web-type-details { margin-top: 30px; }
.web-page #clients .tabs__btns { flex-wrap: wrap; }
.web-page #tech .web-table th, .web-page #tech .web-table td { width: auto; }
.web-page #steps .web-table { min-width: 880px; }
.web-page #steps .web-table th, .web-page #steps .web-table td { width: 25%; }
.web-page .web-table-heading { margin: 0; font: inherit; color: inherit; }
