/* Final shared audit pass. Load last; opt in with body.audit-pass. */
body.audit-pass {
  --audit-forest: #233b32;
  --audit-cream: #EFEBE5;
  --audit-paper: #F7F2EA;
  --audit-line: #d4cdc3;
}

/* support() is shared by 23 routes. Its editorial columns became cards in
   premium-services.css without gaining card insets. Shared intrinsic rows
   align labels, headings, descriptions and lists even when headings wrap. */
.audit-pass .ps-premium-scenes .ps-support-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}
.audit-pass .ps-premium-scenes .ps-support-grid > article {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: subgrid;
  grid-row: span 4;
  align-content: start;
  row-gap: 0;
  min-width: 0;
  padding: 32px;
  border: 1px solid var(--audit-line);
  border-radius: 20px;
  background: var(--audit-paper);
  box-shadow: 0 7px 15px -13px #24231f35;
}
.audit-pass .ps-premium-scenes .ps-support-grid > article > * {
  grid-column: 1;
  grid-row: auto;
  min-width: 0;
}
.audit-pass .ps-premium-scenes .ps-support-grid h3 {
  font-size: 25px;
  line-height: 1.22;
  font-weight: 500;
  margin: 24px 0 18px;
}
.audit-pass .ps-premium-scenes .ps-support-grid p {
  font-size: 15px;
  line-height: 1.8;
  color: #625f5a;
}
.audit-pass .ps-premium-scenes .ps-support-grid ul {
  align-self: start;
  margin-top: 24px;
  font-size: 13px;
  line-height: 1.7;
  gap: 10px;
}
.audit-pass .ps-premium-scenes .ps-support-centered .ps-support-title {
  margin-bottom: 36px;
}
@media (max-width: 810px) {
  .audit-pass .ps-premium-scenes .ps-support-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  .audit-pass .ps-premium-scenes .ps-support-grid > article {
    grid-template-rows: auto auto auto auto;
    grid-row: auto;
  }
}

/* Static explanations stay still. A hover affordance belongs to a control. */
.audit-pass :is(.ps-support-grid > article, .po-page-map article,
  .po-call-columns article, .lp-decision-stages article, .pe-role-board article,
  .local-facts > div, .gs-stage-grid article):hover {
  transform: none;
  translate: none;
}
.audit-pass .ps-premium-scenes .ps-support-grid > article:hover {
  box-shadow: 0 7px 15px -13px #24231f35;
}

/* Preserve the homepage composition; square up the remaining state papers. */
.audit-pass .premium-location :is(.pl-fl-site > .pl-paper,
  .pl-ga-brochure, .pl-centered-story > .pl-paper) {
  transform: none;
}
.audit-pass .premium-location .pl-paper:hover { transform: none; }
.audit-pass :is(.ps-scene-photo figcaption > b, .ps-place-details > .serif,
  .ps-room-real-card > b, .ps-tracking-lead > b, .ps-handoff-intro > b,
  .pe-path-reach > b, .source-facts b, .evidence-table th, .evidence-table td) {
  font-weight: 500;
}

/* Every native interactive element receives pointer and keyboard feedback.
   No generic article, figure, span or decorative browser panel is made clickable. */
.audit-pass :is(a[href], button, summary, input, select, textarea,
  [role="button"], [contenteditable="true"]) {
  -webkit-tap-highlight-color: #233b3225;
  transition: color .18s ease, background-color .18s ease,
    border-color .18s ease, box-shadow .18s ease, opacity .18s ease,
    filter .18s ease;
}
.audit-pass :is(a[href], button, summary, [role="button"]):not(:disabled) {
  cursor: pointer;
}
body.audit-pass :is(a[href], button, summary, input, select, textarea,
  [role="button"], [contenteditable="true"]):focus-visible {
  outline: 2px solid var(--audit-forest);
  outline-offset: 5px;
  box-shadow: 0 0 0 5px var(--audit-paper);
}
.audit-pass :is(input, select, textarea) { accent-color: var(--audit-forest); }
.audit-pass label:has(input:is([type="checkbox"], [type="radio"])) {
  cursor: pointer;
}
@media (hover: hover) {
  .audit-pass a[href]:hover {
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: .22em;
  }
  .audit-pass a.wordmark:hover { text-decoration: none; opacity: .72; }
  .audit-pass a.btn:hover { text-decoration: none; filter: brightness(.87); }
  .audit-pass :is(button, summary, [role="button"]):not(:disabled):hover {
    filter: brightness(.87);
    box-shadow: inset 0 0 0 1px currentColor;
  }
  .audit-pass :is(input, select, textarea):not(:disabled):hover {
    border-color: var(--audit-forest);
    box-shadow: 0 0 0 2px #233b3218;
  }
  .audit-pass label:has(input:is([type="checkbox"], [type="radio"])):hover {
    text-decoration: underline;
    text-underline-offset: .2em;
  }
  .audit-pass a:is(.related-card, .library-card, .hub-community-picture,
    .hub-row-link, .hub-suggested-link):hover {
    box-shadow: 0 10px 24px -12px #233b3240, inset 0 0 0 1px #233b3270;
  }
}
.audit-pass :is(button, input, select, textarea):disabled {
  cursor: not-allowed;
  opacity: .6;
}

@media (prefers-reduced-motion: reduce) {
  .audit-pass *, .audit-pass *::before, .audit-pass *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
  .audit-pass :is(.home-role-photo, .home-process-photo, .po-photo-story figure,
    .pg-device-media, .rr-room-photo, .ps-photo-story-images,
    .ps-product-scene):hover img {
    scale: 1 !important;
    transform: none !important;
  }
}
.audit-pass.motion-paused *, .audit-pass.motion-paused *::before,
.audit-pass.motion-paused *::after {
  transition: none !important;
}
.audit-pass.motion-paused :is(.home-role-photo, .home-process-photo,
  .po-photo-story figure, .pg-device-media, .rr-room-photo,
  .ps-photo-story-images, .ps-product-scene):hover img {
  scale: 1 !important;
  transform: none !important;
}

/* The wide photo should show the people, not crop them at the neck. */
.audit-pass .feature-photo img.audit-photo { object-position: 50% 15%; }

/* A portfolio discussion brief is distinct from the split inquiry form below. */
.audit-pass .audit-brief {
  grid-template-columns: minmax(0, 1fr);
  gap: 36px;
}
.audit-pass .audit-brief > div {
  max-width: 730px;
  margin: auto;
  text-align: center;
  justify-items: center;
}
.audit-pass .audit-brief > div > .pill { justify-self: center; }
.audit-pass .audit-brief dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.audit-pass .audit-brief dl > div {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: 0;
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--audit-line);
  border-radius: 20px;
  background: var(--audit-paper);
  box-shadow: 0 7px 15px -13px #24231f35;
}
.audit-pass .audit-brief dl > div:last-child { border: 1px solid var(--audit-line); }
@media (max-width: 810px) {
  .audit-pass .audit-brief dl { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .audit-pass .audit-brief dl > div { grid-template-rows: auto auto; grid-row: auto; }
}

/* Journey boards follow a centered waitlist scene on several care pages.
   Give their introduction an editorial split rather than repeat that header. */
@media (min-width: 811px) {
  .audit-pass .gs-journey > .gs-heading {
    max-width: none;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 55px;
    row-gap: 20px;
    text-align: left;
    justify-items: start;
    align-items: start;
  }
  .audit-pass .gs-journey > .gs-heading > .pill { grid-column: 1; grid-row: 1; }
  .audit-pass .gs-journey > .gs-heading > h2 { grid-column: 1; grid-row: 2 / span 2; }
  .audit-pass .gs-journey > .gs-heading > p:not(.pill) { grid-column: 2; grid-row: 2; }
  .audit-pass .gs-journey > .gs-heading > .gs-action { grid-column: 2; grid-row: 3; }
  .audit-pass .gs-journey > .gs-heading > .audit-source-note { grid-column: 2; grid-row: 4; }
}

/* Match editorial frames to the photos instead of cutting away the people. */
.audit-pass .ps-premium-scenes .ps-browser-picture {
  height: auto;
  aspect-ratio: 3 / 2;
}
.audit-pass .ps-premium-scenes .ps-wide > .ps-visual.ps-browser .ps-browser-picture {
  height: auto;
}
.audit-pass .hub-community-picture {
  height: auto;
  aspect-ratio: 3 / 2;
}
.audit-pass .premium-panel .pe-problem-paths > a > img {
  height: auto;
  aspect-ratio: 3 / 2;
}
.audit-pass .hub-choice-photo {
  min-height: 0;
  aspect-ratio: 1;
  align-self: center;
}
.audit-pass .hub-choice-photo > img { object-position: 50% 20%; }

/* This retained landscape scene needs a landscape frame beside the inquiry. */
.audit-pass .gs-inquiry-scene:has([data-photo-id="photo-who-we-serve-memory-care-marketing-02"]) {
  grid-template-columns: 1fr;
}
.audit-pass .gs-inquiry-scene:has([data-photo-id="photo-who-we-serve-memory-care-marketing-02"]) > figure {
  min-height: 0;
  height: auto;
  aspect-ratio: 3 / 2;
}
.audit-pass .gs-inquiry-scene > figure > [data-photo-id="photo-who-we-serve-memory-care-marketing-02"] {
  min-height: 0;
  height: 100%;
}
.audit-pass .gs-inquiry-scene:has([data-photo-id="photo-who-we-serve-memory-care-marketing-02"]) .gs-inquiry-record {
  margin: -24px 30px 0;
}
@media (max-width: 1100px) {
  .audit-pass .hub-choice-photo { aspect-ratio: 2 / 1; }
}
@media (max-width: 540px) {
  .audit-pass .hub-choice-photo { aspect-ratio: 4 / 3; }
  .audit-pass .ps-premium-scenes .ps-photo-story .ps-photo-story-images {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }
  .audit-pass .ps-premium-scenes .ps-photo-story .ps-photo-story-images > img:nth-child(n) {
    display: block;
    height: auto;
    margin: 0;
    transform: none;
  }
  .audit-pass .gs-inquiry-scene:has([data-photo-id="photo-who-we-serve-memory-care-marketing-02"]) .gs-inquiry-record {
    margin: -14px 8px 0;
  }
}

/* Preserve the subject in the remaining editorial thumbnails and state covers. */
.audit-pass :is(.rr-preview-photo, .rr-source-photo),
.audit-pass .premium-location .pl-nc-home > .pl-photo {
  height: auto;
}
.audit-pass .premium-location .pl-ca-cover,
.audit-pass .rr-location-cover {
  height: auto;
  aspect-ratio: 3 / 2;
}
.audit-pass .rr-location-cover .rr-search-preview {
  top: auto;
  bottom: 16px;
}
.audit-pass .hub-market-visual .hub-search-preview {
  top: auto;
  bottom: 145px;
  left: 17px;
  right: 17px;
  width: auto;
}
.audit-pass .hub-opening-story > .hub-opening-tour > img { height: auto; }

/* Two portrait photos need their full width; the invitation belongs beneath them. */
.audit-pass .rr-life-photo-pair {
  height: auto;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-content: start;
}
.audit-pass .rr-life-photo-pair > img { height: auto; }
.audit-pass .rr-life-photo-pair > .lp-invite {
  position: static;
  grid-column: 1 / -1;
  max-width: none;
}

/* The nested Arizona setting cards were squeezed into a second narrow column. */
.audit-pass .premium-location .pl-scene-arizona { grid-template-columns: 1fr; }
.audit-pass .premium-location .pl-house-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
}
.audit-pass .premium-location .pl-house-row .rr-setting-photo { height: auto; }
@media (max-width: 540px) {
  .audit-pass .pg-photo-media .pg-media-window { aspect-ratio: auto; }
  .audit-pass .pg-photo-media img { height: auto; }
}
@media (max-width: 810px) {
  .audit-pass .hub-market-visual {
    max-width: 480px;
    height: auto;
    aspect-ratio: 2 / 3;
    margin-inline: auto;
  }
}

/* The care tabs mix portrait and landscape photos; let each keep its composition. */
.audit-pass .hub-message-board [role=tabpanel] > figure {
  min-height: 0;
  height: auto;
  align-self: center;
}
.audit-pass .hub-message-board [role=tabpanel] > figure > img { height: auto; }

/* Every contact action uses the same quiet, low-pressure treatment. */
.audit-pass a.btn[data-talk-cta] { background: #000; color: #f7f2ea; border-color: #000; }
.audit-pass a.btn[data-talk-cta]:hover { background: #292825; border-color: #292825; }
.audit-pass a[data-talk-cta]:not(.btn),
.audit-pass a[data-talk-cta]:not(.btn):hover { color: inherit; }

/* Seven-fix audit: readable labels and a separate workflow caption. */
#services .service-type,
#personas .persona-grid article > p {
  color: #625f5a;
}
/* Proposed pilot only; append after homepage breakpoint rules. */
#services .task-card { padding-top: 15px; }
#services .task-card .task { padding-block: 8px; }
