.brand, body { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; }
h1, h2, h3, .stamp strong, .aligner-price strong { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; }

.brand-mark {
  width: 50px;
  height: 50px;
  display: block;
  flex: 0 0 auto;
  overflow: hidden;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 3px 14px rgba(16, 34, 61, .16);
}

.legal-page { background: #f7f7f2; }
.legal-header { position: static; }
.legal-main { width: min(850px, calc(100% - 40px)); margin: 0 auto; padding: 85px 0 120px; }
.legal-main .eyebrow { margin-bottom: 24px; }
.legal-main h1 { margin-bottom: 60px; font-size: clamp(45px, 7vw, 78px); }
.legal-content { color: #526579; font-size: 16px; line-height: 1.75; }
.legal-content h2 { margin: 48px 0 14px; color: #10223d; font-size: 27px; letter-spacing: -.025em; }
.legal-content h3 { margin: 28px 0 8px; color: #10223d; font-size: 19px; }
.legal-content p { margin: 0 0 18px; }
.legal-content a { color: #087b76; }
.legal-note { margin-top: 55px !important; padding: 20px 24px; border-left: 3px solid #21b7af; background: #dff4ef; font-size: 13px; }

.brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.footer-brand .brand-mark {
  width: 58px;
  height: 58px;
  border-color: rgba(255,255,255,.8);
}

.service-card.sport {
  grid-column: span 2;
  min-height: 330px;
  color: #fff;
  background: linear-gradient(125deg, #118f89, #21b7af);
}

.service-card.sport h3 { margin-top: 58px; }
.service-card.sport a span { color: #10223d; }
.sport-ring {
  position: absolute;
  top: 42px;
  right: 48px;
  display: grid;
  width: 100px;
  height: 100px;
  place-items: center;
  border: 13px solid rgba(255,255,255,.32);
  border-radius: 50%;
  font: 700 15px Manrope, sans-serif;
  letter-spacing: .12em;
}

.service-details { margin-top: 110px; border-top: 1px solid #dce2df; }
.detail-block { scroll-margin-top: 105px; }
.detail-block { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; padding: 72px 0; border-bottom: 1px solid #dce2df; }
.detail-title span,.detail-number { display: block; margin-bottom: 28px; color: #21b7af; font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.detail-title h3,.visual-detail h3 { max-width: 470px; font-size: clamp(32px,4vw,48px); line-height: 1.08; }
.detail-text { line-height: 1.75; color: #526579; }
.detail-text>p:first-of-type { margin-top: 0; }
.detail-text h4 { margin-top: 30px; color: #10223d; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
.detail-text ul { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 30px; padding: 0; list-style: none; }
.detail-text li::before { content: "✓"; margin-right: 10px; color: #21b7af; font-weight: 700; }
.benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; margin: 30px 0; border-top: 1px solid #dce2df; }
.benefits span { padding: 15px 0; border-bottom: 1px solid #dce2df; color: #10223d; font-size: 14px; font-weight: 600; }
.benefits span::before { content: "+"; margin-right: 10px; color: #21b7af; }
.note { padding-left: 18px; border-left: 3px solid #21b7af; font-size: 13px; }
.aligner-price { display: inline-flex; align-items: center; gap: 20px; margin: 18px 0 5px; padding: 14px 18px; color: #fff; background: #10223d; }
.aligner-price small { text-transform: uppercase; letter-spacing: .1em; font-size: 9px; }
.aligner-price strong { color: #21b7af; font: 700 22px Manrope, sans-serif; white-space: nowrap; }
.visual-detail { grid-template-columns: 1fr 1fr; padding: 0; gap: 0; overflow: hidden; background: #e9e7dc; }
.detail-photo { min-height: 480px; }
.detail-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.visual-detail .detail-text { padding: clamp(45px,6vw,85px); }
.sport-detail { padding-left: clamp(28px,5vw,70px); padding-right: clamp(28px,5vw,70px); background: #dff4ef; }
.sport-detail .button { margin-top: 26px; color: #fff; line-height: 1.2; }

@media (max-width: 900px) {
  .service-card.sport { grid-column: auto; }
  .detail-block,.visual-detail { grid-template-columns: 1fr; gap: 35px; }
  .detail-photo { min-height: 360px; }
}

@media (max-width: 560px) {
  .service-details { margin-top: 70px; }
  .detail-block { padding: 50px 0; }
  .visual-detail { padding: 0; }
  .detail-text ul,.benefits { grid-template-columns: 1fr; }
  .sport-ring { width: 76px; height: 76px; right: 25px; top: 25px; border-width: 10px; }
}
