/* Editorial content additions use the existing site typography and palette. */
.portfolio__detail-text p + p { margin-top: 1.25em; }
.related-projects li { margin-top: 2rem; }
.related-projects a { text-decoration: underline; text-underline-offset: .2em; font-size: 1.25rem; }
.related-projects p { margin-top: .75rem; }
.thankyou a { text-decoration: underline; text-underline-offset: .2em; }

/* Keep the fixed navigation readable over content while scrolling. */
.header__area-2.sticky-2 { background-color: #000; background-blend-mode: normal; mix-blend-mode: normal; }
.blog__detail-content p a { color: var(--purple); text-decoration: underline; }
.post-updated { font-size: 14px; margin: 12px 0; }

/* Shared enquiry forms: consistent fields, native controls and clear spacing. */
.contact__form form { display: grid; gap: 28px; }
.contact__form #form-messages:empty { display: none; }
.contact__form .form-label { display: block; margin-bottom: 8px; font-size: 16px; line-height: 1.5; }
.contact__form input:not([type="checkbox"]),
.contact__form select,
.contact__form textarea {
  display: block; box-sizing: border-box; width: 100%; margin: 0; scroll-margin-block: 100px;
  padding: 12px 0; border: 0; border-bottom: 1px solid #aaa; border-radius: 0;
  background-color: transparent; color: #171717; font: inherit; font-size: 16px; line-height: 1.5;
}
.contact__form select { min-height: 50px; padding-right: 12px; cursor: pointer; }
.contact__form textarea { min-height: 150px; resize: vertical; }
.contact__form input:not([type="checkbox"]):focus,
.contact__form select:focus,
.contact__form textarea:focus { outline: none; border-bottom: 2px solid var(--purple); }
.contact__form .consent-row { display: flex; align-items: flex-start; gap: 12px; }
.contact__form .consent-row input[type="checkbox"] {
  flex: 0 0 20px; width: 20px; height: 20px; margin: 3px 0 0; padding: 0;
  accent-color: var(--purple); cursor: pointer;
}
.contact__form .consent-row label { margin: 0; font-size: 16px; line-height: 1.65; cursor: pointer; }
.contact__form .consent-row a { color: var(--purple); text-decoration: underline; text-underline-offset: 3px; }
/* Preserve the original circular submit design without magnetic movement. */
.contact__form .form-submit { margin: 4px 0 0; cursor: pointer; }
.contact__form .form-submit:disabled { opacity: .6; cursor: wait; }
.contact__form .form-submit:focus-visible,
.contact__form input[type="checkbox"]:focus-visible { outline: 2px solid var(--purple); outline-offset: 4px; }
.request_offer > .container { padding-bottom: 100px; }
@media (max-width: 767px) {
  .request_offer.contact__area-6 .sec-title-2 { font-size: 36px; line-height: 1.15; }
  .contact__form form { gap: 24px; }
  .request_offer > .container { padding-bottom: 64px; }
}

footer [data-consent-settings] {
  border: 0; background: transparent; color: #ddd; font: inherit;
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
  margin-left: 12px; padding: 4px 0;
}
footer [data-consent-settings]:focus-visible { outline: 2px solid var(--sec); outline-offset: 4px; }

/* Service links must remain legible against the dark section. */
.service__area-6 .wc-btn-secondary { color: #f5f5f5; border-color: #888; }
.service__area-6 .wc-btn-secondary .arrow_icon { filter: invert(1); }
.service__area-6 .wc-btn-secondary:hover { background: var(--sec); color: #171717; border-color: var(--sec); }
.service__area-6 .wc-btn-secondary:hover .arrow_icon { filter: none; }
.service__item-6 p { color: #ccc; }
@media (max-width: 767px) {
  .solution__btm ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 24px; text-align: center; }
  .solution__btm li { padding-right: 0; font-size: 16px; }
  .solution__btm li::after { display: none; }
}

/* Keep portfolio category text readable on the lime cards in dark sections. */
.dark .portfolio__info p { color: var(--black-2); }
