/* graphic design pricing table styles */

.rich-content .pricing-container {
  max-width: 800px;
  margin: 20px auto;
  font-family: arial, sans-serif;
}

.rich-content .pricing-table {
  width: 100%;
  border-collapse: collapse;
  background-color: #ffffff;
  border: 2px solid #ffffff;
}

/* Column Width Controls */
.rich-content .pricing-table th:nth-child(1) { width: 65%; }
.rich-content .pricing-table th:nth-child(2) { width: 15%; }
.rich-content .pricing-table th:nth-child(3) { width: 20%; }

.rich-content .pricing-table th,
.rich-content .pricing-table td {
  padding: 10px 16px;
  text-align: left;
  border: 2px solid #ffffff;
  vertical-align: middle;
}

.rich-content .pricing-table th {
  background-color: #dcecf9;
  color: #2074a4;
  font-weight: 600;
  font-size: 0.9em;
}

.rich-content .pricing-table th.center,
.rich-content .pricing-table td.center {
  text-align: center;
}

.rich-content .pricing-table tbody tr:nth-child(odd) td {
  background-color: #ffffff;
}

.rich-content .pricing-table tbody tr:nth-child(even) td {
  background-color: #dcecf9;
}

.rich-content .pricing-table .project-title {
  font-weight: 600;
  color: #2074a4;
  margin-bottom: 5px;
  display: block;
}

.rich-content .pricing-table .description {
  font-size: 0.85em;
  color: #666666;
  line-height: 1.2;
}

/* Neutralise p/div margins and line-height injected by TinyMCE inside table cells */
.rich-content .pricing-table td p,
.rich-content .pricing-table td div {
  margin: 0;
  line-height: inherit;
}

.rich-content .pricing-table .price-main {
  font-weight: 600;
  color: #2074a4;
  font-size: 1.1em;
}

.rich-content .pricing-table .price-range {
  font-weight: 600;
  color: #2074a4;
}

.rich-content .pricing-table .footer-row td {
  text-align: center;
  color: #555555;
  font-style: italic;
  font-size: 0.9em;
}

/* responsive mobile design */
@media (max-width: 600px) {
  .rich-content .pricing-table thead {
    display: none;
  }
  .rich-content .pricing-table,
  .rich-content .pricing-table tbody,
  .rich-content .pricing-table tr,
  .rich-content .pricing-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .rich-content .pricing-table tr {
    margin-bottom: 16px;
  }
  .rich-content .pricing-table td {
    text-align: right;
    padding: 9px 16px 9px 42%;
    position: relative;
    border-bottom: 2px solid #ffffff;
    width: 100%;
    min-height: 44px;
    font-size: 1em;
  }
  .rich-content .pricing-table td::before {
    content: attr(data-label);
    position: absolute;
    left: 16px;
    top: 9px;
    width: 37%;
    text-align: left;
    font-weight: 700;
    color: #484b4f;
    font-size: 1em;
    line-height: 1.3;
  }
  .rich-content .pricing-table .price-main {
    font-size: calc(1.1em + 2px);
  }
  .rich-content .pricing-table td br {
    display: none;
  }
  .rich-content .pricing-table .project-title {
    text-align: center;
    margin-bottom: 0;
    line-height: 1.2;
  }
  .rich-content .pricing-table .price-range {
    font-size: calc(1em + 2px);
  }
  .rich-content .pricing-table td .description {
    text-align: center;
    margin-top: -4px;
    padding-top: 7px;
    display: block;
    font-size: 0.85em;
    line-height: 1.2;
  }
  .rich-content .pricing-table td.full-width {
    padding: 16px;
    text-align: center;
    padding-left: 16px;
    min-height: 0;
  }
  .rich-content .pricing-table td.full-width::before {
    display: none;
  }
} /* end @media (max-width: 600px) */

/* Base — used everywhere */
ul.about-list {
  list-style: none !important;
  padding-left: 0;
  margin: 1em 0;
}

ul.about-list li {
  display: flex;
  align-items: baseline;
  gap: 0.4em;
  margin-bottom: 0.5em;
  list-style: none !important;
}

ul.about-list li::before {
  content: "›";
  color: #fcb44c;
  font-weight: bold;
  font-size: 1.2em;
  line-height: 1;
  flex-shrink: 0;
}

/* Modifier — tighter spacing for inner pages */
ul.about-list--tight li {
  margin-bottom: 0.2em; !important;
line-height: 0.5;
}

.about-us {
    display: flex;
    flex-direction: column;
}

.about-us__label {
    font-size: var(--font-size-section-title);
    font-weight: 700;
    color: var(--color-text-heading);
    line-height: 1.2;
    margin: 0 0 var(--space-sm);
}

.about-us__heading {
    font-size: 39px;
    font-weight: 700;
    color: var(--color-primary);
    line-height: 1.15;
    margin: 0 0 var(--space-lg);
}

.about-us__body {
    font-size: var(--font-size-body);
    color: var(--color-text-body);
    line-height: 1.6;
    margin: 0 0 var(--space-xl);
}

.about-us__buttons {
    display: flex;
    gap: var(--space-md);
    flex-wrap: wrap;
    margin-top: auto;
}

@media (max-width: 767px) {
    .about-us__heading {
        font-size: 22px;
    }

    .about-us__buttons {
        flex-direction: column;
    }
}
