

.legalPage {
  background: #ffffff;
  padding-top: 3rem;
}

.legalHead {
  max-width: 52rem;
  margin-bottom: 2rem;
}

.legalHead h1 {
  font-size: 2.4rem;
  margin-bottom: 0.8rem;
}

.legalStamp {
  color: #666666;
  font-size: 0.9rem;
  margin-bottom: 0;
}

.legalBody {
  max-width: 52rem;
}

.legalBody h2 {
  font-size: 1.45rem;
  margin-top: 2rem;
  margin-bottom: 0.9rem;
}

.legalBody h3 {
  font-size: 1.12rem;
  margin-top: 1.4rem;
  margin-bottom: 0.6rem;
}

.legalBody li {
  padding-left: 1.2rem;
  position: relative;
}

.legalBody li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: #666666;
}

.legalNote {
  border-left: 3px solid #111111;
  padding: 1rem 1.25rem;
  background: #f5f5f5;
  border-radius: 0 12px 12px 0;
  margin-bottom: 1.25rem;
}

.legalNote p:last-child { margin-bottom: 0; }

.addressBlock {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.02rem;
  background: #f5f5f5;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  margin-bottom: 1.25rem;
}

.confirmPage {
  padding-top: 4rem;
  min-height: 55vh;
}

.confirmCard {
  max-width: 40rem;
  border: 2px solid #111111;
  border-radius: 14px;
  padding: 2rem;
}

.confirmCard h1 {
  font-size: 2.2rem;
  margin-bottom: 1rem;
}

.confirmList li {
  padding-left: 1.4rem;
  position: relative;
}

.confirmList li::before {
  content: "✓";
  position: absolute;
  left: 0;
  font-weight: 700;
}


@media (max-width: 1024px) {
  .splitLayout,
  .orderLayout,
  .profileGrid { grid-template-columns: 1fr; }

  h1 { font-size: 2.4rem; }

  .headerPhone { display: none; }
}

@media (max-width: 768px) {
  
  .decorativeRule { display: none; }

  .trustItem:nth-child(n + 3) { display: none; }

  h1 { font-size: 2rem; }

  h2 { font-size: 1.6rem; }

  section { padding: 1.5rem 1rem; }

  .serviceOfferings,
  .contactInformation { padding: 2rem 1rem; }

  .bannerSlider { min-height: 78vh; }

  .bannerFrame { padding: 3rem 0; }

  .portfolioGrid,
  .contextSteps { grid-template-columns: 1fr; }

  .compositionRow { flex-direction: column; gap: 0.2rem; }

  .compositionName { flex: 1 1 auto; }

  .footerTop { grid-template-columns: 1fr; }

  .orderPanel { padding: 1.25rem; }

  .orderWidget {
    left: 4%;
    right: 4%;
    width: 92%;
    max-width: none;
  }

  .navList {
    flex-direction: column;
    gap: 0.2rem;
  }

  .navLink {
    font-size: 1.35rem;
    padding: 0.75rem 1.5rem;
    border-bottom: none;
  }

  .brandName { font-size: 1.15rem; }
}

@media (max-width: 520px) {
  .priceNow { font-size: 1.8rem; }

  .bannerActions .actionButton,
  .bannerActions .quietButton { width: 100%; }

  .footerColumns { grid-template-columns: 1fr; }

  .legalHead h1 { font-size: 1.9rem; }
}
