/* Desktop adaptation. Deliberately inert below the shared 992px boundary. */
@media (min-width: 992px) {
  :root {
    --desktop-display-size: clamp(2.3625rem, 3.3075vw, 3.4125rem);
    --desktop-title-size: clamp(2rem, 2.65vw, 2.5rem);
    --desktop-heading-weight: var(--heading-weight);
    --desktop-body-size: 1rem;
    --desktop-eyebrow-size: .75rem;
    --desktop-control-size: .9375rem;
    --desktop-heading-space: 32px;
    --desktop-column-gap: clamp(28px, 3vw, 44px);
    --desktop-eyebrow-line: 120px;
    --desktop-control-radius: 10px;
    --desktop-heading-accent: var(--color-heading-accent-on-light);
    --section-edge-space: clamp(64px, 5vw, 80px);
  }

  main > section[id]:not(.hero) { min-height: 0; }
  main > section .container > * { min-width: 0; }

  .objectives__heading h2,
  .consultation__intro h2,
  .results__intro h2,
  .reviews__heading h2,
  .instagram-showcase__heading h2,
  .about__heading h2,
  .office__copy h2,
  .faq__intro h2 {
    font-size: var(--desktop-title-size);
    font-weight: var(--desktop-heading-weight);
    line-height: 1.14;
    letter-spacing: -.025em;
  }

  .objectives__heading h2 em,
  .results__intro h2 em,
  .reviews__heading h2 strong,
  .instagram-showcase__heading h2 strong,
  .office__copy h2 em,
  .faq__intro h2 em { color: var(--desktop-heading-accent); }

  /* Keep the highlighted words at the same weight as the rest of the title. */
  .instagram-showcase__heading h2 strong { font-weight: inherit; }

  .hero__eyebrow,
  .objectives__eyebrow,
  .consultation__intro .eyebrow,
  .results__eyebrow,
  .reviews__eyebrow,
  .instagram-showcase__eyebrow,
  .about__heading .eyebrow,
  .office__copy .eyebrow,
  .faq__intro .eyebrow {
    font-size: var(--desktop-eyebrow-size);
    font-weight: var(--weight-label);
    line-height: 1.35;
    letter-spacing: .1em;
    margin-bottom: 12px;
  }

  /* One editorial marker, with the existing light/dark colors preserved. */
  .objectives__eyebrow,
  .consultation__intro .eyebrow,
  .results__eyebrow,
  .reviews__eyebrow,
  .instagram-showcase__eyebrow,
  .about__heading .eyebrow,
  .office__copy .eyebrow { gap: 12px; }

  .objectives__eyebrow::after,
  .consultation__intro .eyebrow::after,
  .results__eyebrow::after,
  .reviews__eyebrow::after,
  .instagram-showcase__eyebrow::after,
  .about__heading .eyebrow::after,
  .office__copy .eyebrow::after {
    width: var(--desktop-eyebrow-line);
    flex: 0 1 var(--desktop-eyebrow-line);
  }

  .objectives__heading p:last-child,
  .consultation__intro > p:last-child,
  .results__subtitle,
  .reviews__support-text,
  .about__bio,
  .office__copy > p:not(.eyebrow),
  .faq__intro > p:not(.eyebrow) {
    font-size: var(--desktop-body-size);
    line-height: 1.6;
  }

  .site-nav a { font-size: var(--desktop-body-size); font-weight: var(--weight-copy); }
  .site-nav--desktop { padding-inline-start: 16px; }
  .site-header__cta,
  main .button,
  .site-footer .button {
    min-height: 48px;
    font-size: var(--desktop-control-size);
    font-weight: var(--weight-button);
    line-height: 1.25;
  }

  .hero {
    height: auto;
    min-height: 100vh;
    min-height: 100svh;
  }
  .hero__grid {
    height: auto;
    min-height: 100vh;
    min-height: 100svh;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  }
  .hero__content { padding-block: calc(120px + var(--admin-bar-offset, 0px)) 40px; }
  .hero h1 {
    font-size: var(--desktop-display-size);
    font-size: min(var(--desktop-display-size), 8cqi);
    font-weight: var(--desktop-heading-weight);
    line-height: 1.12;
    letter-spacing: -.015em;
    margin-bottom: 24px;
  }
  .hero__title-fixed .hero__title-line { line-height: 1.12; }
  /* Move the media itself: object-position alone cannot shift an exact-fit video. */
  .hero__fallback img,
  .hero__video {
    --hero-ambient-offset: clamp(140px, 13vw, 250px);
    left: calc(-1 * var(--hero-ambient-offset));
    right: auto;
    width: 100%;
    max-width: none;
    object-position: 40% center;
    /* Fade only sideways into the ambient color; keep top/bottom untouched. */
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 84%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 84%, transparent 100%);
  }
  .hero__photo-frame {
    width: clamp(960px, 84vw, 1500px);
    max-width: 155svh;
    left: clamp(-150px, -7vw, -50px);
    bottom: -122px;
    aspect-ratio: 3 / 2;
  }
  .hero__photo { transform: rotate(2deg); }
  .hero__eyebrow { gap: 10px; }
  .hero__eyebrow::before {
    content: "";
    width: 18px;
    height: 1px;
    flex: 0 0 18px;
    background: currentColor;
    opacity: .65;
  }
  .hero__subtitle { max-width: 64ch; font-size: var(--desktop-body-size); line-height: 1.6; margin-bottom: 0; }
  .hero__differentials { display: none; }
  .hero__actions--desktop { margin-top: 28px; }

  main > section.objectives[id] {
    display: grid;
    min-height: 100vh;
    min-height: 100svh;
    align-items: center;
    padding-block: var(--section-edge-space);
  }
  .objectives__inner {
    display: grid;
    grid-template-columns: 208px minmax(0, 1fr);
    gap: 0 24px;
    align-items: stretch;
  }
  .objectives__heading {
    grid-column: 1 / -1;
    max-width: 100%;
    margin-bottom: var(--desktop-heading-space);
  }
  .objectives__heading h2 { max-width: 100%; }
  .objectives__heading p:last-child { max-width: 62ch; margin-top: 12px; }
  .objectives__tabs-scroll {
    grid-column: 1;
    grid-row: 2;
    display: grid;
    align-items: stretch;
    margin: 0;
    overflow: visible;
  }
  .objectives__tabs {
    display: grid;
    width: 100%;
    height: 100%;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(4, minmax(82px, 1fr));
    gap: 12px;
    padding: 0;
  }
  .objectives__tabs .objectives__tab {
    aspect-ratio: auto;
    flex-direction: row;
    min-height: 82px;
    justify-content: flex-start;
    gap: 12px;
    padding: 16px;
    text-align: left;
    transform: none;
    color: #5b634d;
    background: transparent;
  }
  .objectives__tabs .objectives__tab-label {
    font-size: .95rem;
    font-weight: var(--weight-label);
    line-height: 1.35;
    text-align: left;
    text-wrap: pretty;
  }
  .objectives__tab-label br { display: none; }
  .objectives__tabs .objectives__tab[aria-selected="true"] {
    color: var(--color-brand-olive-dark);
    background: rgba(193, 233, 104, .28);
    transform: none;
    box-shadow: none;
  }
  .objectives__tabs .objectives__tab::after {
    content: "";
    top: 50%;
    right: auto;
    bottom: auto;
    left: 0;
    width: 3px;
    height: 32px;
    background: var(--color-brand-olive-dark);
    opacity: 0;
    transform: translateY(-50%);
    transition: opacity 180ms ease;
  }
  .objectives__tabs .objectives__tab[aria-selected="true"]::after { width: 3px; height: 32px; opacity: 1; }
  .objectives__tabs .objectives__tab-icon,
  .objectives__tabs .objectives__tab[aria-selected="true"] .objectives__tab-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: var(--color-brand-olive-dark);
    background: rgba(72, 85, 43, .07);
    transform: none;
  }
  .objectives__tabs .objectives__tab[aria-selected="true"] .objectives__tab-icon { background: var(--color-brand-lime); }
  .objectives__tabs .objectives__tab:focus-visible { outline: 3px solid #48552b; outline-offset: 4px; }
  .objectives__panels,
  .objectives--ready.objectives--desktop .objectives__panels {
    grid-column: 2;
    grid-row: 2;
    display: block;
    padding-bottom: 0;
    min-height: max(clamp(400px, 46svh, 480px), var(--objectives-desktop-panel-height, 0px));
  }
  .objectives__panel,
  .objectives--ready.objectives--desktop .objectives__panel {
    display: grid;
    position: relative;
    grid-area: auto;
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    width: 100%;
    height: auto;
    min-height: max(clamp(400px, 46svh, 480px), var(--objectives-desktop-panel-height, 0px));
    z-index: auto;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    will-change: auto;
    cursor: auto;
    touch-action: auto;
    transition: none;
    border: 0;
    border-radius: 16px;
  }
  .objectives--desktop .objectives__panel[hidden] { display: none; }
  .objectives__media { height: 100%; min-height: 0; aspect-ratio: auto; }
  .objectives__media picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
  .objectives__media::after { display: none; }
  .objectives__panel--massa-muscular .objectives__image {
    object-fit: cover;
    object-position: center;
    transform: none;
  }
  .objectives__content { justify-content: center; padding: clamp(24px, 2.2vw, 32px); container-type: inline-size; }
  .objectives__content h3 { font-size: clamp(1.375rem, 1.75vw, 1.625rem); font-weight: var(--desktop-heading-weight); line-height: 1.2; letter-spacing: -.02em; }
  .objectives__panel-kicker { font-size: var(--desktop-eyebrow-size); margin-bottom: 12px; letter-spacing: .08em; }
  .objectives__description { font-size: var(--desktop-body-size); line-height: 1.6; margin-top: 16px; }
  .objectives__description--desktop { display: block; }
  .objectives__description--mobile { display: none; }
  .objectives__benefits { gap: 10px; margin: 20px 0; }
  .objectives__benefits li { font-size: .9rem; }
  main .objectives__cta { width: 100%; padding-inline: 32px 16px; gap: 8px; font-size: clamp(.8125rem, 3.6cqi, .9375rem); white-space: normal; color: var(--color-brand-olive-dark); }
  .objectives__cta > span:first-child { font-size: inherit; }
  .objectives__cta:active,
  .objectives__cta:focus-visible { color: var(--color-brand-olive-dark); }
  .objectives__cta:focus-visible { outline: 3px solid #48552b; outline-offset: 4px; }
  @media (hover: hover) and (pointer: fine) {
    .objectives__cta:hover { color: var(--color-brand-olive-dark); }
  }
  .objectives:not(.objectives--ready) .objectives__panel + .objectives__panel { margin-top: 24px; }

  .consultation { display: block; min-height: 0; }
  /* Closed controls leave an optical inset below their last visible content. */
  main > section.consultation[id]:not(:has(.consultation__item.is-open)) {
    padding-bottom: calc(var(--section-edge-space) - 8px);
  }
  .consultation__layout {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    grid-template-areas: "intro media" "details media";
    gap: 24px var(--desktop-column-gap);
    align-items: start;
  }
  .consultation__intro { grid-area: intro; }
  .consultation__intro h2 { max-width: 22ch; margin-bottom: 16px; }
  .consultation__intro > p:last-child { max-width: 62ch; }
  .consultation__media { grid-area: media; align-self: start; }
  .consultation__details { grid-area: details; }
  .consultation__trigger { min-height: 64px; font-size: 1rem; font-weight: 600; padding-block: 12px; }
  .consultation__panel p { padding: 0 16px 20px 64px; font-size: 1rem; line-height: 1.6; }
  .consultation__cta { min-width: 0; width: 100%; max-width: none; margin-top: 20px; }
  .results__intro h2 { max-width: 100%; }
  .results__intro { display: block; max-width: 100%; margin: 0; }
  .results__subtitle-before { margin-top: 12px; text-align: left; }
  .results__subtitle { max-width: 54ch; text-wrap: pretty; }
  .results { --results-card-width: clamp(224px, 18vw, 264px); }
  .results-carousel { margin-top: var(--desktop-heading-space); }
  .results__controls { margin-top: 24px; }
  .results__controls button,
  .reviews-slider__arrow,
  .reviews-slider__dot,
  .office-gallery__arrow,
  .office-gallery__dots button { border-radius: var(--desktop-control-radius); }

  /* Dark focus rings remain legible on pale section surfaces. */
  .results__controls button:focus-visible,
  .reviews-slider__arrow:focus-visible,
  .reviews-slider__dot:focus-visible,
  .review-card__read-more:focus-visible,
  .office-gallery__dots button:focus-visible,
  main .instagram-profile__cta:focus-visible,
  main .office__cta:focus-visible,
  .location-action:focus-visible,
  .faq-item button:focus-visible {
    outline: 3px solid var(--color-brand-olive);
    outline-offset: 4px;
  }

  .reviews__heading { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: var(--desktop-heading-space); }
  .reviews__support-text { max-width: 62ch; }
  .reviews__layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.4fr); gap: 24px; align-items: stretch; }
  .reviews__summary-column { display: flex; min-width: 0; align-self: stretch; }
  .reviews-summary { flex: 1; min-height: 0; align-self: stretch; justify-content: flex-start; gap: 0; padding: 24px 28px 28px; border: 0; }
  .reviews-summary__snapshot { position: relative; z-index: 1; flex: 1; justify-content: flex-start; }
  .reviews-summary__source { margin-bottom: 46px; }
  .reviews-summary__source img { height: 34px; }
  .reviews-summary__label { font-size: .8125rem; letter-spacing: .06em; margin-bottom: 14px; }
  .reviews-summary__score-layout { grid-template-columns: max-content minmax(0, 1fr); gap: 16px; }
  .reviews-summary__rating { gap: 8px; }
  .reviews-summary__rating strong { font-size: clamp(3.35rem, 16cqi, 4rem); letter-spacing: -.025em; }
  .reviews-summary__rating span { font-size: 1rem; }
  .reviews-summary .reviews-stars { font-size: clamp(1.45rem, 11cqi, 2.6rem); letter-spacing: 0; }
  .reviews-summary__count { margin-top: 28px; font-size: .9375rem; white-space: normal; }
  main .reviews-summary__cta { position: relative; z-index: 1; flex: 0 0 auto; font-size: .875rem; margin-top: 28px; padding-inline: 20px; gap: 10px; }
  .reviews__content { min-height: 0; padding: 24px; border: 0; }
  .reviews-slider__header { align-items: center; gap: 16px; margin-bottom: 20px; }
  .reviews-slider__header > div:first-child { min-width: 0; }
  .reviews-slider__header h3 { max-width: 30ch; font-size: 1.125rem; font-weight: var(--weight-subheading); line-height: 1.3; letter-spacing: -.015em; }
  .reviews-slider__kicker { font-size: .6875rem; }
  .reviews-slider__viewport { margin-right: 0; }
  .reviews-slider__viewport::after { display: none; }
  .reviews-slider__track { grid-auto-columns: 100%; align-items: stretch; gap: 16px; padding: 0; }
  .review-card,
  .review-card.is-active,
  .review-card:hover,
  .review-card.is-expanded { height: auto; min-height: 288px; padding: 20px; transform: none; box-shadow: none; transition: none; }
  .review-card blockquote { font-size: 1rem; line-height: 1.5; }
  .review-card__author strong { font-size: .875rem; font-weight: var(--weight-subheading); }
  .review-card__read-more { font-size: .875rem; padding-top: 16px; }
  .reviews-slider:not(.is-ready) .review-card blockquote p { display: block; overflow: visible; -webkit-line-clamp: unset; }
  .reviews-slider:not(.is-ready) .review-card { overflow: visible; }

  .instagram-showcase__shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "heading heading" "profile follow" "gallery gallery";
    column-gap: 32px;
  }
  .instagram-showcase__heading { grid-area: heading; grid-template-columns: minmax(0, 1fr); margin-bottom: var(--desktop-heading-space); }
  .instagram-profile { grid-area: profile; display: block; padding: 0; border: 0; }
  .instagram-profile__cta { grid-area: follow; align-self: center; margin: 0; }
  .instagram-profile__copy strong { font-size: 1.25rem; font-weight: var(--weight-subheading); }
  .instagram-profile__copy span { font-size: .875rem; }
  .instagram-profile__photo { width: 64px; height: 64px; }
  .instagram-profile__cta { min-width: 0; }
  .instagram-gallery { grid-area: gallery; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 24px; gap: 16px; }
  .instagram-gallery__item { aspect-ratio: 3 / 4; }
  .instagram-gallery__image { object-position: center 30%; }
  .instagram-gallery__item:nth-child(n+7) { display: block; }
  .instagram-gallery__item figure,
  .instagram-gallery__item:nth-child(n+10) figure { -webkit-mask-image: none; mask-image: none; }
}

@media (min-width: 992px) and (max-width: 1199px) {
  /* Keep full CTA labels at the desktop boundary without shifting their start. */
  main .objectives__cta { padding-inline-end: 8px; gap: 6px; }
}

@media (min-width: 1280px) {
  .objectives__inner { grid-template-columns: clamp(220px, 17.5vw, 248px) minmax(0, 1fr); gap: 0 28px; }
  .reviews__layout { grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); }
  .reviews-slider__track { grid-auto-columns: calc((100% - 16px) / 2); }
  .reviews-summary { padding: 24px 32px 32px; }
  .instagram-gallery { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

@media (min-width: 992px) and (hover: hover) and (pointer: fine) {
  .reviews-slider__arrow:not(:disabled):hover {
    border-color: var(--color-brand-olive);
    background: rgba(193, 233, 104, .2);
  }
}

/* Keep breathing room in low windows; let the section grow rather than crop content. */
@media (min-width: 992px) and (max-height: 700px) {
  .hero__content { padding-block: calc(104px + var(--admin-bar-offset, 0px)) 24px; }
  .hero h1 {
    font-size: min(var(--desktop-display-size), 8cqi, clamp(2.1rem, 6.72svh, 3.15rem));
    margin-bottom: 20px;
  }
  .hero__actions--desktop { margin-top: 24px; }
  main > section.objectives[id] { padding-block: var(--section-edge-space); }
  .objectives__content { padding: 26px; }
}

@media (min-width: 992px) and (prefers-reduced-motion: reduce) {
  .objectives__tabs .objectives__tab,
  .objectives__tabs .objectives__tab::after { transition: none; }
}
