/* Kelly Creative — shared service-page contract */
:is(.audit-page, .request-audit-page, .care-plans-page, .repair-page, .agency-support-page, .contact-page) {
  --service-bg: var(--oa-color-canvas);
  --service-bg-deep: var(--oa-color-canvas-deep);
  --service-surface: var(--oa-color-surface);
  --service-surface-soft: var(--oa-color-surface-soft);
  --service-panel: var(--oa-color-panel);
  --service-panel-deep: var(--oa-color-panel-deep);
  --service-border: var(--oa-color-border);
  --service-border-soft: var(--oa-color-border-soft);
  --service-text: var(--oa-color-text);
  --service-muted: var(--oa-color-muted);
  --service-dim: var(--oa-color-dim);
  --service-accent: var(--oa-color-accent);
  --service-accent-hover: var(--oa-color-accent-hover);
  --service-ink: var(--oa-color-ink);
  --service-wrap: min(1180px, calc(100% - 2.5rem));
  width: 100vw;
  max-width: 100vw;
  margin: 0 calc(50% - 50vw);
  color: var(--service-text);
  background: var(--service-bg);
  font-family: var(--oa-font-body);
  overflow: clip;
}
.editor-styles-wrapper :is(.audit-page, .request-audit-page, .care-plans-page, .repair-page, .agency-support-page, .contact-page),
.block-editor-block-list__layout :is(.audit-page, .request-audit-page, .care-plans-page, .repair-page, .agency-support-page, .contact-page) {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
.service-page-body .site-header { margin-bottom: 0; }
.service-page-body .kc-service-page,
.service-page-body .kc-service-page__article,
.service-page-body .kc-service-page .entry-content { margin: 0; padding: 0; }
.service-page-body .kc-service-page .entry-content > * + * { margin-top: 0; }

:is(.audit-page, .request-audit-page, .care-plans-page, .repair-page, .agency-support-page, .contact-page),
:is(.audit-page, .request-audit-page, .care-plans-page, .repair-page, .agency-support-page, .contact-page) * { box-sizing: border-box; }
:is(.audit-page, .request-audit-page, .care-plans-page, .repair-page, .agency-support-page, .contact-page) :where(
  .wp-block-group, .wp-block-columns, .wp-block-column, .wp-block-buttons, .wp-block-button,
  .wp-block-shortcode, .wp-block-details, p, ul, ol, h1, h2, h3, h4, details
) { margin-block: 0; }
:is(.audit-page, .request-audit-page, .care-plans-page, .repair-page, .agency-support-page, .contact-page) :where(.wp-block-group, .wp-block-column) { min-width: 0; max-width: none; }

:is(.audit-wrap, .request-audit-wrap, .care-wrap, .repair-wrap, .agency-wrap, .contact-wrap) {
  display: block !important;
  width: var(--service-wrap);
  max-width: none;
  margin-inline: auto !important;
}
:is(.audit-wrap, .request-audit-wrap, .care-wrap, .repair-wrap, .agency-wrap, .contact-wrap) > .wp-block-group__inner-container { width: 100%; min-width: 0; max-width: none; margin: 0; }

:is(.audit-section, .request-audit-section, .care-section, .repair-section, .agency-section, .contact-section) {
  position: relative;
  display: block !important;
  margin-block: 0;
  padding-block: clamp(4.5rem, 7vw, 6.75rem);
  background: var(--service-bg);
  isolation: isolate;
}
:is(.audit-section, .request-audit-section, .care-section, .repair-section, .agency-section, .contact-section) + :is(.audit-section, .request-audit-section, .care-section, .repair-section, .agency-section, .contact-section) { margin-top: 0; }

:is(.audit-eyebrow, .request-audit-eyebrow, .care-eyebrow, .repair-eyebrow, .agency-eyebrow, .contact-eyebrow) {
  margin-bottom: 1rem !important;
  color: var(--service-accent);
  font-size: clamp(0.75rem, 0.7rem + 0.15vw, 0.86rem);
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
}
:is(.audit-display, .request-audit-display, .care-display, .repair-display, .agency-display, .contact-display) {
  max-width: 17ch;
  color: var(--service-text);
  font-family: var(--oa-font-display);
  font-size: clamp(2.5rem, 4.2vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.99;
  text-wrap: balance;
}
:is(.audit-section__lead, .request-audit-section__lead, .care-section__lead, .repair-section__lead, .agency-section__lead, .contact-section__lead) {
  max-width: 47rem;
  color: #e5e7e8;
  font-size: clamp(1.05rem, 0.98rem + 0.3vw, 1.3rem);
  line-height: 1.65;
}
:is(.audit-section__intro, .request-audit-section__intro, .request-audit-form-intro, .care-section__intro, .repair-section__intro, .agency-section__intro, .contact-section__intro) > .wp-block-group__inner-container > * + *,
:is(.audit-section__intro, .request-audit-section__intro, .request-audit-form-intro, .care-section__intro, .repair-section__intro, .agency-section__intro, .contact-section__intro):not(:has(> .wp-block-group__inner-container)) > * + * { margin-top: 1.35rem; }

:is(.audit-actions, .request-audit-actions, .care-actions, .repair-actions, .agency-actions, .contact-actions),
:is(.audit-actions, .request-audit-actions, .care-actions, .repair-actions, .agency-actions, .contact-actions) > .wp-block-buttons__inner-container {
  display: flex !important;
  width: auto;
  min-width: 0;
  max-width: none;
  gap: 0.75rem;
  align-items: stretch;
  flex-wrap: wrap;
}
:is(.audit-actions, .request-audit-actions, .care-actions, .repair-actions, .agency-actions, .contact-actions) > .wp-block-buttons__inner-container { margin: 0; }
:is(.audit-actions, .request-audit-actions, .care-actions, .repair-actions, .agency-actions, .contact-actions) .wp-block-button__link {
  display: inline-flex;
  min-height: 3.25rem;
  padding: 0.88rem 1.15rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--service-accent);
  border-radius: 0;
  color: var(--service-ink);
  background: var(--service-accent);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
:is(.audit-actions, .request-audit-actions, .care-actions, .repair-actions, .agency-actions, .contact-actions) .wp-block-button__link:hover { color: var(--service-ink); background: var(--service-accent-hover); transform: translateY(-2px); }
:is(.audit-button--secondary, .request-audit-button--secondary, .care-button--secondary, .repair-button--secondary, .agency-button--secondary, .contact-button--secondary) .wp-block-button__link {
  color: var(--service-text);
  background: transparent;
  border-color: #63696b;
}
:is(.audit-button--secondary, .request-audit-button--secondary, .care-button--secondary, .repair-button--secondary, .agency-button--secondary, .contact-button--secondary) .wp-block-button__link:is(:hover, :focus-visible) {
  color: var(--service-ink);
  background: var(--service-accent);
  border-color: var(--service-accent);
}

:is(.audit-hero, .request-audit-hero, .care-hero, .repair-hero, .agency-hero, .contact-hero) {
  padding-top: clamp(4rem, 7vw, 6.75rem);
  padding-bottom: 0;
  background: radial-gradient(circle at 76% 27%, rgb(138 225 0 / 0.08), transparent 28%), linear-gradient(118deg, #171918 0%, #202322 58%, #171918 100%);
  overflow: hidden;
}
:is(.audit-hero, .request-audit-hero, .care-hero, .repair-hero, .agency-hero, .contact-hero)::before {
  position: absolute;
  inset: auto -5rem -10rem auto;
  width: 35rem;
  aspect-ratio: 1;
  border: 1px solid rgb(138 225 0 / 0.08);
  border-radius: 50%;
  content: "";
  z-index: -1;
}
:is(.audit-hero__title, .request-audit-hero__title, .care-hero__title, .repair-hero__title, .agency-hero__title, .contact-hero__title) {
  max-width: 15ch;
  font-family: var(--oa-font-display);
  font-size: clamp(2.8125rem, 1.875rem + 3.125vw, 4.375rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.97;
  text-wrap: balance;
}
:is(.audit-hero__lead, .request-audit-hero__lead, .care-hero__lead, .repair-hero__lead, .agency-hero__lead, .contact-hero__lead) {
  max-width: 46rem;
  margin-top: 1.7rem !important;
  color: #d9ddde;
  font-size: clamp(1.08rem, 1rem + 0.35vw, 1.35rem);
  line-height: 1.62;
}
:is(.audit-hero__actions, .request-audit-hero__actions, .care-hero__actions, .repair-hero__actions, .agency-hero__actions, .contact-hero__actions) { margin-top: 2rem !important; }
:is(.audit-hero__note, .request-audit-hero__note, .care-hero__note, .repair-hero__note, .agency-hero__note, .contact-hero__note) {
  max-width: 46rem;
  margin-top: 1.15rem !important;
  color: var(--service-dim);
  font-size: 0.8rem;
  letter-spacing: 0.025em;
  line-height: 1.55;
}

:is(.audit-section--faq, .request-audit-section--faq, .care-section--faq, .repair-section--faq, .agency-section--faq, .contact-section--faq) { background: #171a1b; }
:is(.audit-faq__items, .request-audit-faq__items, .care-faq__items, .repair-faq__items, .agency-faq__items, .contact-faq__items, .audit-faq-list, .request-audit-faq-list, .care-faq-list) {
  border-top: 1px solid var(--service-border);
  interpolate-size: allow-keywords;
}
:is(.audit-faq__item, .request-audit-faq__item, .care-faq__item, .repair-faq__item, .agency-faq__item, .contact-faq__item, .wp-block-details) { padding: 0; border-bottom: 1px solid var(--service-border); }
:is(.audit-faq__item, .request-audit-faq__item, .care-faq__item, .repair-faq__item, .agency-faq__item, .contact-faq__item, .wp-block-details) > summary {
  position: relative;
  padding: 1.35rem 2.75rem 1.35rem 0;
  color: var(--service-text);
  cursor: pointer;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
  list-style: none;
}
:is(.audit-faq__item, .request-audit-faq__item, .care-faq__item, .repair-faq__item, .agency-faq__item, .contact-faq__item, .wp-block-details) > summary::-webkit-details-marker { display: none; }
:is(.audit-faq__item, .request-audit-faq__item, .care-faq__item, .repair-faq__item, .agency-faq__item, .contact-faq__item, .wp-block-details) > summary::before,
:is(.audit-faq__item, .request-audit-faq__item, .care-faq__item, .repair-faq__item, .agency-faq__item, .contact-faq__item, .wp-block-details) > summary::after {
  position: absolute;
  top: 50%;
  right: 0.2rem;
  width: 1rem;
  height: 2px;
  background: var(--service-accent);
  content: "";
  transform: translateY(-50%);
  transition: transform 180ms ease;
}
:is(.audit-faq__item, .request-audit-faq__item, .care-faq__item, .repair-faq__item, .agency-faq__item, .contact-faq__item, .wp-block-details) > summary::after { transform: translateY(-50%) rotate(90deg); }
:is(.audit-faq__item, .request-audit-faq__item, .care-faq__item, .repair-faq__item, .agency-faq__item, .contact-faq__item, .wp-block-details)[open] > summary::after { transform: translateY(-50%) rotate(0); }
:is(.audit-faq__item, .request-audit-faq__item, .care-faq__item, .repair-faq__item, .agency-faq__item, .contact-faq__item, .wp-block-details) > :not(summary) { max-width: 54rem; padding-right: 2.75rem; padding-bottom: 1.35rem; color: var(--service-muted); font-size: 0.93rem; line-height: 1.7; }

:is(.audit-final, .request-audit-final, .care-final, .repair-final, .agency-final, .contact-final) {
  background: radial-gradient(circle at 50% 110%, rgb(138 225 0 / 0.08), transparent 35%), #121514;
  text-align: center;
}
:is(.audit-final__inner, .request-audit-final__inner, .care-final__inner, .repair-final__inner, .agency-final__inner, .contact-final__inner),
:is(.audit-final__inner, .request-audit-final__inner, .care-final__inner, .repair-final__inner, .agency-final__inner, .contact-final__inner) > .wp-block-group__inner-container { display: flex !important; flex-direction: column; align-items: center; }

@media (max-width: 52rem) {
  :is(.audit-wrap, .request-audit-wrap, .care-wrap, .repair-wrap, .agency-wrap, .contact-wrap) { width: min(100% - 2rem, 1180px); }
  :is(.audit-section, .request-audit-section, .care-section, .repair-section, .agency-section, .contact-section) { padding-block: 4.5rem; }
}
@media (max-width: 43.75rem) {
  :is(.audit-section, .request-audit-section, .care-section, .repair-section, .agency-section, .contact-section) { padding-block: 4.25rem; }
  :is(.audit-hero, .request-audit-hero, .care-hero, .repair-hero, .agency-hero, .contact-hero) { padding-top: 3.5rem; }
  :is(.audit-actions, .request-audit-actions, .care-actions, .repair-actions, .agency-actions, .contact-actions),
  :is(.audit-actions, .request-audit-actions, .care-actions, .repair-actions, .agency-actions, .contact-actions) > .wp-block-buttons__inner-container,
  :is(.audit-actions, .request-audit-actions, .care-actions, .repair-actions, .agency-actions, .contact-actions) .wp-block-button,
  :is(.audit-actions, .request-audit-actions, .care-actions, .repair-actions, .agency-actions, .contact-actions) .wp-block-button__link { width: 100%; }
}
