.local-hero {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .8fr);
}
.local-hero .actions {
  flex-wrap: wrap;
  row-gap: 10px;
}
.local-hero-proof {
  margin: -5px 0 14px;
  color: var(--gold);
  font-size: .85rem;
}
.local-hero-proof > span[aria-hidden] {
  margin-inline: .2em;
}
.local-coach-portrait {
  width: min(100%, 385px);
  justify-self: center;
}
.local-coach-portrait img {
  aspect-ratio: .92;
}
.local-approach,
.local-triskel,
.local-contact {
  border-top: 1px solid var(--line);
}
.local-approach .section-heading > p:not(.eyebrow),
.local-triskel .section-heading > p:not(.eyebrow),
.local-contact .section-heading > p:not(.eyebrow) {
  max-width: 42rem;
  margin-top: 13px;
  color: var(--muted);
}
.local-credentials {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 19px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  color: var(--gold);
  font-size: .77rem;
}
.local-credentials li::before {
  content: '·';
  margin-right: 7px;
}
.local-method,
.progress-measures,
.local-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
}
.local-method article,
.progress-measures article {
  border-top: 1px solid var(--line);
  padding: 14px 0 0;
}
.local-method article > span,
.progress-measures article > span {
  color: var(--gold);
  font-size: .72rem;
  letter-spacing: .12em;
}
.local-method h3,
.progress-measures h3,
.local-formats h3 {
  margin: 5px 0 6px;
  font: 400 1.55rem/1.15 var(--serif);
}
.local-method p,
.progress-measures p,
.local-formats p,
.faq-list p {
  color: var(--muted);
  font-size: .94rem;
}
.local-progress {
  background: #e9e1d0;
  color: #17231a;
  color-scheme: light;
}
.local-progress .eyebrow,
.local-progress h2 em,
.progress-measures article > span {
  color: #65491f;
}
.local-progress .section-heading > p:last-child,
.progress-measures p {
  color: #465345;
}
.progress-story,
.local-triskel-layout,
.local-page .faq {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .84fr);
  gap: clamp(22px, 6vw, 72px);
}
.progress-story {
  align-items: center;
}
.everyday-win {
  border-left: 1px solid #9d8150;
  padding: 5px 0 5px 21px;
}
.everyday-win p {
  font: italic clamp(1.3rem, 2.6vw, 2rem)/1.28 var(--serif);
}
.everyday-win cite {
  display: block;
  margin-top: 11px;
  color: #465345;
  font-size: .8rem;
  font-style: normal;
}
.progress-measures article {
  border-color: #a5a995;
}
.local-review,
.local-formats article {
  border: 1px solid #4f5b46;
  border-radius: 3px;
  background: var(--panel);
  padding: 20px;
}
.local-review {
  display: flex;
  flex-direction: column;
}
.review-stars {
  color: var(--gold);
  font-size: .8rem;
  letter-spacing: .12em;
}
.local-review h3 {
  margin: 8px 0 10px;
  font: 400 1.35rem/1.15 var(--serif);
}
.local-review blockquote {
  color: var(--muted);
  font-size: .92rem;
}
.local-review-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 12px;
  margin-top: auto;
  padding-top: 12px;
  font-size: .82rem;
}
.screen-open {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--gold);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.screen-open:hover {
  text-decoration: underline;
}
.more-local-reviews {
  margin-top: 16px;
  border-top: 1px solid var(--line);
}
.more-local-reviews summary,
.faq-list summary {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding-block: 12px;
  cursor: pointer;
  font-weight: 600;
}
.more-local-reviews summary::-webkit-details-marker,
.faq-list summary::-webkit-details-marker {
  display: none;
}
.more-local-reviews summary span,
.faq-list summary span {
  color: var(--gold);
}
.more-local-reviews[open] > summary span,
.faq-list details[open] > summary span {
  transform: rotate(45deg);
}
.more-local-reviews .local-reviews-grid {
  margin-top: 4px;
}
.local-client-stories {
  margin-top: 12px;
  font-size: .87rem;
}
.local-options,
.local-contact {
  background: radial-gradient(ellipse at 50% 0, #202e20, #101b13 70%);
}
.local-formats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.local-formats .eyebrow {
  color: var(--gold);
}
.local-table-wrap {
  margin-top: 20px;
}
.local-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}
.local-table-wrap caption {
  text-align: left;
  padding: 0 0 7px;
  color: var(--muted);
  font-size: .86rem;
}
.local-table-wrap th,
.local-table-wrap td {
  border-bottom: 1px solid var(--line);
  padding: 12px 9px;
}
.local-table-wrap thead th {
  color: var(--gold);
  font-size: .79rem;
}
.local-table-wrap td strong {
  color: var(--cream);
  font: 400 clamp(1.35rem, 3vw, 1.95rem)/1 var(--serif);
}
.local-table-wrap td span {
  display: block;
  color: var(--muted);
  font-size: .72rem;
}
.local-included {
  margin: 14px 0 18px;
  color: var(--muted);
  font-size: .88rem;
}
.local-triskel {
  background: #101b13;
}
.local-triskel-layout {
  align-items: center;
}
.local-triskel-layout .text-link {
  margin-top: 13px;
}
.local-app-frame {
  display: grid;
  justify-items: center;
  gap: 10px;
}
.local-app-frame img {
  width: auto;
  max-height: 310px;
  border: 1px solid #998552;
  border-radius: 10px;
  box-shadow: 0 15px 34px #0009, 0 0 0 5px #0e170f;
}
.preview-label {
  color: var(--gold);
  font-size: .68rem;
  text-align: center;
  letter-spacing: .11em;
}
.faq-list details {
  border-top: 1px solid var(--line);
}
.faq-list p {
  padding-bottom: 13px;
}
.local-contact-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  margin-top: 20px;
}
.local-contact .micro,
.local-footer small {
  font-size: .75rem;
}
.local-footer > div {
  display: grid;
  gap: 5px;
  font-size: .82rem;
  color: var(--muted);
}
.local-footer small {
  color: var(--muted);
}
.local-review-dialog .eyebrow {
  margin-bottom: 4px;
}
@media (max-width: 600px) {
  .local-hero,
  .progress-story,
  .local-triskel-layout,
  .local-page .faq,
  .local-method,
  .progress-measures,
  .local-reviews-grid,
  .local-formats {
    grid-template-columns: 1fr;
  }
  .local-coach-portrait {
    max-width: 360px;
    justify-self: start;
  }
  .local-coach-portrait img {
    aspect-ratio: 1.04;
  }
  .local-method,
  .progress-measures,
  .local-reviews-grid {
    margin-top: 20px;
  }
  .local-hero .button {
    padding-inline: .88em;
    font-size: .9rem;
  }
  .local-table-wrap th,
  .local-table-wrap td {
    padding-inline: 5px;
  }
}
