@media (max-width: 1100px) {
  .hf-site .hf-hero {
    gap: var(--hf-space-8);
  }

  .hf-site .hf-product-layout,
  .hf-site .hf-faq-layout {
    gap: var(--hf-space-10);
  }

  .hf-finder-layout {
    gap: var(--hf-space-8);
  }

  .hf-header-row {
    gap: var(--hf-space-4);
  }

  :root {
    --hf-gutter: var(--hf-space-6);
    --hf-section-space: var(--hf-space-20);
    --hf-featured-offset: 0px;
  }

  .hf-site .hf-menu-toggle {
    display: inline-flex;
    margin-inline-start: auto;
    min-block-size: var(--hf-touch-target);
    padding: var(--hf-space-2-5) var(--hf-space-4);
  }

  .hf-site .hf-header-cta {
    display: none;
  }

  #hf-navigation {
    display: none;
    position: absolute;
    inset-block-start: 100%;
    inset-inline: 0;
    max-block-size: calc(100dvh - var(--hf-header-height) - var(--hf-admin-bar-height));
    overflow: auto;
    overscroll-behavior: contain;
    background: var(--hf-primary-dark);
    color: var(--hf-on-dark);
    --hf-focus-color: var(--hf-on-dark);
    padding: var(--hf-space-6);
    border-block-end: 1px solid var(--hf-red-soft);
  }

  #hf-navigation.is-open {
    display: block;
  }

  #hf-navigation ul {
    display: grid;
    gap: 0;
  }

  #hf-navigation a {
    min-block-size: 52px;
    padding-block: var(--hf-space-3);
    font-size: var(--hf-font-size-subtitle);
    border-block-end: 1px solid rgba(255,255,255,.15);
  }

  .hf-site .hf-goal-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .hf-site .hf-goal-tile {
    grid-column: auto;
    --hf-goal-height: 440px;
  }

  .hf-site .hf-process-layout {
    gap: var(--hf-space-10);
  }

  .hf-site .hf-trust-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .hf-trust-grid>.elementor-widget:nth-child(odd) {
    border-inline-start: 0;
    padding-inline-start: 0;
  }

  .hf-site .hf-footer-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }

}

/* Tablet: retain editorial rhythm without squeezing desktop columns. */
@media (min-width: 768px) and (max-width: 1023px) {
  .hf-site .hf-hero-section {
    min-block-size: 0;
    --hf-section-padding: var(--hf-space-16) var(--hf-space-20);
  }

  .hf-site .hf-hero {
    grid-template-columns: minmax(0,1fr);
    gap: var(--hf-space-10);
  }

  .hf-site .hf-hero-copy {
    max-inline-size: 680px;
  }

  .hf-site .hf-performance-stage {
    inline-size: 100%;
    max-inline-size: 680px;
    --hf-hero-height: 660px;
    margin-inline: auto;
  }

  .hf-site .hf-product-layout,
  .hf-site .hf-editorial-grid,
  .hf-site .hf-faq-layout,
  .hf-site .hf-about-story,
  .hf-site .hf-process-layout,
  .hf-finder-layout {
    grid-template-columns: minmax(0,1fr);
    gap: var(--hf-space-10);
  }

  .hf-site .hf-goal-tile {
    --hf-goal-height: 420px;
    margin-block-start: 0;
  }

  .hf-site .hf-timeline {
    grid-template-columns: repeat(2,minmax(0,1fr));
    row-gap: var(--hf-space-8);
  }

  .hf-site .hf-steps {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: var(--hf-space-10) var(--hf-space-8);
  }

  .hf-site .hf-packages,
  .hf-site .hf-pricing-comparison {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .hf-site .hf-packages .featured {
    grid-column: 1/-1;
    order: -1;
  }

  .hf-site .hf-packages .featured ul {
    columns: 2;
    column-gap: var(--hf-space-8);
  }

  .hf-site .hf-packages .featured li {
    break-inside: avoid;
  }

  .hf-site .hf-pricing-card,
  .hf-site .hf-pricing-card.featured {
    padding: var(--hf-space-7);
  }

}

/* Mobile is a separate composition, with shared rules across 320–430px. */
@media (max-width: 767px) {
  :root {
    --hf-gutter: var(--hf-space-4-5);
    --hf-section-space: var(--hf-space-16);
    --hf-logo-size: 44px;
    --hf-font-size-body: 1rem;
    --hf-principle-number: 2.75rem;
    --hf-principle-column: 3.5rem;
    --hf-why-heading: clamp(1.5rem,6.7vw,1.875rem);
    --hf-header-height: 68px;
    --hf-header-height-compact: 68px;
    --hf-control-height: 50px;
    --hf-goal-heading: 1.875rem;
    --hf-heading-1: clamp(2.375rem,10vw,3rem);
    --hf-hero-heading: clamp(2.25rem,10vw,2.75rem);
    --hf-heading-2: clamp(1.875rem,8vw,2.375rem);
    --hf-heading-3: 1.75rem;
  }

  .hf-brand {
    min-inline-size: 0;
  }

  .hf-site .hf-menu-toggle {
    flex-shrink: 0;
  }

  .hf-site .hf-hero-section {
    min-block-size: 0;
    --hf-section-padding: var(--hf-space-10) var(--hf-space-14);
  }

  .hf-site .hf-hero,
  .hf-site .hf-product-layout,
  .hf-site .hf-editorial-grid,
  .hf-site .hf-faq-layout,
  .hf-site .hf-about-story,
  .hf-site .hf-process-layout,
  .hf-finder-layout {
    grid-template-columns: minmax(0,1fr);
    gap: var(--hf-space-7);
  }

  .hf-site .hf-hero h1 {
    max-inline-size: none;
  }

  .hf-site .hf-hero {
    gap: var(--hf-space-4);
  }

  /* A campaign sequence: headline, primary action, athlete, then supporting copy. */
  .hf-site .hf-hero-copy,
  .hf-site .elementor .hf-hero .hf-actions {
    display: contents;
  }

  .hf-hero-eyebrow {
    grid-row: 1;
  }

  .hf-hero-title {
    grid-row: 2;
  }

  .hf-hero .hf-primary-cta {
    grid-row: 3;
  }

  .hf-site .hf-hero .hf-performance-stage {
    grid-row: 4;
  }

  .hf-hero-intro {
    grid-row: 5;
  }

  .hf-hero .hf-secondary-cta {
    grid-row: 6;
  }

  .hf-hero-assurances {
    grid-row: 7;
  }

  .hf-site .hf-hero .hf-secondary-cta .elementor-button {
    --hf-control-border: transparent;
    --hf-control-bg: transparent;
    --hf-control-hover: transparent;
    padding-block: var(--hf-space-2);
    min-block-size: var(--hf-touch-target);
  }

  .hf-site .hf-hero-copy .elementor-heading-title {
    line-height: 1.35;
    letter-spacing: 0;
  }

  .hf-site .hf-lead {
    font-size: var(--hf-font-size-body);
    line-height: var(--hf-line-body);
  }

  .hf-site .elementor .hf-actions {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: var(--hf-space-2-5);
  }

  .hf-site .elementor .hf-actions .elementor-widget-button,
  .hf-site .hf-actions .elementor-button {
    inline-size: 100%;
  }

  .hf-trust-list {
    display: grid;
    gap: var(--hf-space-1-5);
    margin-block: 0;
  }

  .hf-site .hf-performance-stage {
    --hf-hero-height: clamp(440px,116vw,500px);
    padding: var(--hf-space-3-5);
  }

  .hf-site .hf-campaign-overlay {
    padding: var(--hf-space-4-5) var(--hf-space-3-5);
    gap: var(--hf-space-2-5);
  }

  .hf-site .hf-interface-label {
    flex-wrap: wrap;
    font-size: var(--hf-font-size-xs);
    letter-spacing: .05em;
  }

  .hf-site .hf-trust-band {
    --hf-trust-space: var(--hf-space-8);
  }

  .hf-site .hf-trust-grid {
    gap: var(--hf-space-6) var(--hf-space-4);
  }

  .hf-trust-grid strong {
    font-size: var(--hf-font-size-emphasis);
  }

  .hf-trust-grid small {
    font-size: var(--hf-font-size-meta);
  }

  .hf-site .hf-goal-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0,calc(100% - var(--hf-goal-peek)));
    gap: var(--hf-space-4);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    overscroll-behavior-x: contain;
    padding-block-end: var(--hf-space-4);
  }

  .hf-site .hf-goal-tile {
    grid-column: auto;
    --hf-goal-height: 430px;
    margin-block-start: 0;
    padding: var(--hf-space-5-5);
    scroll-snap-align: start;
  }

  .hf-site .hf-goal-content {
    max-inline-size: 100%;
    padding: 0;
  }

  .hf-goal-hint {
    display: block;
    font-size: var(--hf-font-size-sm);
  }

  .hf-site .hf-brand-statement h2 {
    font-size: clamp(2.25rem,9.5vw,3rem);
    line-height: var(--hf-line-display);
  }

  .hf-site .hf-statement-line {
    font-size: var(--hf-font-size-title);
    line-height: var(--hf-line-caption);
  }

  .hf-site .hf-principle-row {
    grid-template-columns: minmax(0,1fr);
    gap: var(--hf-space-5);
    margin-block-start: var(--hf-space-2);
  }

  .hf-site .hf-principle {
    gap: var(--hf-space-2);
    padding-block-start: var(--hf-space-5);
  }

  .hf-site .hf-principle h3 {
    font-size: var(--hf-font-size-title);
  }

  .hf-site .hf-filter-dimension {
    padding-block: var(--hf-space-5);
  }

  .hf-site .hf-filters {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: var(--hf-space-2);
  }

  .hf-site .hf-filters button {
    min-inline-size: 0;
    min-block-size: var(--hf-filter-height);
    padding: var(--hf-space-3) var(--hf-space-4);
    font-size: var(--hf-font-size-control);
    text-align: start;
  }

  .hf-site .hf-finder-result {
    padding: var(--hf-space-6) var(--hf-space-5);
    min-block-size: 0;
  }

  .hf-site .hf-finder-result h3 {
    font-size: 1.75rem;
  }

  .hf-site .hf-finder-result .hf-button {
    inline-size: 100%;
  }

  .hf-site .hf-timeline {
    grid-template-columns: minmax(0,1fr);
    border-inline-start: 1px solid var(--hf-primary);
  }

  .hf-site .hf-timeline-step {
    grid-template-columns: 44px minmax(0,1fr);
    grid-template-rows: auto auto;
    border-block-start: 0;
    padding-inline: var(--hf-space-4) 0;
    gap: var(--hf-space-2) var(--hf-space-4);
    padding-block: var(--hf-space-5-5);
  }

  .hf-timeline-step>.elementor-widget {
    grid-column: 2;
  }

  .hf-timeline-step>.elementor-widget:first-child {
    grid-column: 1;
    grid-row: 1/span 2;
  }

  .hf-site .hf-timeline-step::before {
    inset-inline-start: calc(var(--hf-space-1) * -1);
    inset-block-start: var(--hf-space-6);
  }

  .hf-step-point {
    font-size: 2.25rem;
  }

  .hf-site .hf-process-visual {
    grid-template-columns: minmax(0,1fr);
    gap: var(--hf-space-4);
    order: -1;
  }

  .hf-process-photo img {
    block-size: auto;
    aspect-ratio: 4/3;
    object-position: 45% 18%;
  }

  .hf-site .hf-photo-caption {
    font-size: var(--hf-font-size-emphasis);
  }

  .hf-site .hf-timeline-step h3 {
    font-size: var(--hf-font-size-heading-sm);
  }

  .hf-site .hf-product-interface {
    padding: var(--hf-space-6-5) var(--hf-space-5);
  }

  .hf-site .hf-product-details {
    grid-template-columns: minmax(0,1fr);
  }

  .hf-week-board strong {
    font-size: var(--hf-font-size-emphasis);
  }

  .hf-site .hf-packages,
  .hf-site .hf-pricing-comparison,
  .hf-site .hf-cards,
  .hf-grid {
    grid-template-columns: minmax(0,1fr);
  }

  .hf-site .hf-packages .featured {
    order: -1;
  }

  .hf-site .hf-pricing-card,
  .hf-site .hf-pricing-card.featured {
    padding: var(--hf-space-6) var(--hf-space-5);
    gap: var(--hf-space-3);
  }

  .hf-site .hf-pricing-card .elementor-button {
    inline-size: 100%;
  }

  .hf-site .hf-faq-layout {
    gap: var(--hf-space-7);
  }

  .hf-site .hf-why-editorial {
    --hf-section-padding: var(--hf-space-14);
  }

  .hf-site .hf-final-cta h2 {
    font-size: clamp(3rem,13vw,3.75rem);
  }

  .hf-site .hf-final-cta .elementor-widget-button,
  .hf-site .hf-final-cta .elementor-button {
    inline-size: 100%;
  }

  .hf-site .hf-cta-route {
    inline-size: 420px;
    inset-inline-end: -180px;
    inset-block-end: 10px;
    opacity: .1;
  }

  .hf-site .elementor-widget-accordion .elementor-accordion .elementor-tab-title {
    padding-block: var(--hf-space-5-5);
    font-size: var(--hf-font-size-emphasis);
    line-height: var(--hf-line-caption);
  }

  .hf-site .elementor-widget-accordion .elementor-accordion .elementor-tab-content {
    padding-block-end: var(--hf-space-5-5);
    font-size: var(--hf-font-size-control);
  }

  .hf-site .hf-service-row {
    grid-template-columns: minmax(0,1fr);
    gap: var(--hf-space-4);
  }

  .hf-site .hf-service-row .elementor-widget {
    grid-column: 1;
  }

  .hf-post-featured {
    grid-template-columns: minmax(0,1fr);
  }

  .hf-form {
    padding: var(--hf-space-6) var(--hf-space-4-5);
  }

  .hf-fields {
    grid-template-columns: minmax(0,1fr);
  }

  .hf-field input,
  .hf-field select,
  .hf-field textarea {
    font-size: var(--hf-font-size-control);
  }

  .hf-site .hf-footer {
    padding-block-start: var(--hf-space-14);
  }

  .hf-site .hf-footer-brand {
    grid-template-columns: minmax(0,1fr);
    gap: var(--hf-space-5);
    padding-block-end: var(--hf-space-7);
    margin-block-end: var(--hf-space-7);
  }

  .hf-site .hf-footer-brand h2 {
    font-size: clamp(3.375rem,16vw,4.5rem);
  }

  .hf-site .hf-footer-signoff {
    font-size: var(--hf-font-size-heading-sm);
  }

  .hf-site .hf-footer-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: var(--hf-space-7) var(--hf-space-4);
  }

  .hf-site .hf-footer-column:last-child {
    grid-column: 1/-1;
    order: -1;
    padding-block-end: var(--hf-space-6);
    border-block-end: 1px solid var(--hf-border-on-dark);
  }

  .hf-footer-column li {
    margin: 0;
  }

  .hf-footer-column a,
  .hf-footer-bottom a {
    display: inline-flex;
    align-items: center;
    min-block-size: var(--hf-touch-target);
  }

  .hf-footer-bottom nav {
    gap: var(--hf-space-1) var(--hf-space-4);
  }

  .hf-search {
    flex-wrap: wrap;
  }

  .hf-search input {
    flex: 1 1 200px;
  }

  .hf-site .hf-block {
    --padding-top: var(--hf-space-12);
    --padding-bottom: var(--hf-space-12);
  }

  .hf-steps {
    grid-template-columns: minmax(0,1fr);
  }

  body.admin-bar {
    --hf-admin-bar-height: 46px;
  }

  .hf-mobile-cta {
    position: fixed;
    z-index: var(--hf-z-sticky);
    inset-block-end: 0;
    inset-inline: 0;
    display: flex;
    gap: var(--hf-space-2);
    padding: var(--hf-space-3) var(--hf-space-4-5) calc(var(--hf-space-3) + env(safe-area-inset-bottom));
    background: var(--hf-primary-dark);
    border-block-start: 1px solid var(--hf-border-on-dark);
  }

  .hf-site .hf-mobile-cta .hf-button {
    flex: 1;
    min-inline-size: 0;
    font-size: var(--hf-font-size-control);
  }

  .hf-site .hf-mobile-cta button {
    flex: 0 0 var(--hf-touch-target);
    min-block-size: 48px;
    padding: 0;
    color: var(--hf-on-dark);
    background: transparent;
    border-color: var(--hf-border-on-dark-strong);
    font-size: var(--hf-font-size-title);
  }

  .hf-has-mobile-cta {
    padding-block-end: calc(var(--hf-sticky-clearance) + env(safe-area-inset-bottom));
  }

  .hf-site .hf-filter-dimension--place .hf-filters {
    grid-template-columns: minmax(0,1fr);
  }

  .hf-site .hf-product-interface .hf-plan-example table {
    table-layout: fixed;
  }

  .hf-plan-example th,
  .hf-plan-example td {
    padding-inline: var(--hf-space-1);
    overflow-wrap: anywhere;
  }

}

@media (max-width: 359px) {
  .hf-site .hf-hero-copy .elementor-heading-title {
    font-size: var(--hf-hero-heading);
  }

  .hf-site .hf-footer-brand h2 {
    font-size: 3.375rem;
  }

}

/* Inner pages have their own composition breakpoints; homepage rules stay intact. */
@media (max-width: 1023px) {
  .hf-site .hf-inner-hero-grid,
  .hf-site .hf-inner-story,
  .hf-site .hf-form-spread {
    grid-template-columns: minmax(0,1fr);
    gap: var(--hf-space-8);
  }

  .hf-site .hf-inner-hero-grid .hf-inner-photo {
    max-inline-size: 680px;
    inline-size: 100%;
  }

  .hf-site .hf-inner-hero-grid .hf-inner-photo img {
    aspect-ratio: 4/3;
    object-position: 50% 12%;
  }

  .hf-site .hf-feature-row {
    grid-template-columns: var(--hf-space-12) minmax(0,1fr);
    gap: var(--hf-space-4);
  }

  .hf-site .hf-feature-row > .elementor-widget:last-child {
    grid-column: 2;
  }

  .hf-site .hf-service-link-row {
    grid-template-columns: minmax(0,1fr) minmax(0,1.2fr);
    gap: var(--hf-space-4);
  }

  .hf-site .hf-service-link-row > .elementor-widget-button {
    grid-column: 2;
  }
}

@media (max-width: 767px) {
  .hf-site .hf-inner-hero {
    --hf-section-padding: var(--hf-space-10) var(--hf-space-12);
  }

  .hf-site .hf-inner-hero h1 {
    font-size: clamp(2rem,8.9vw,2.75rem);
    max-inline-size: none;
    line-height: 1.35;
  }

  .hf-site .hf-inner-closing h2,
  .hf-site .hf-inner-statement h2 {
    font-size: clamp(2.125rem,9vw,3rem);
  }

  .hf-site .hf-service-leads {
    grid-template-columns: minmax(0,1fr);
    gap: var(--hf-space-5);
  }

  .hf-site .hf-service-poster {
    min-block-size: 440px;
    padding: var(--hf-space-6);
  }

  .hf-site .hf-service-link-row {
    grid-template-columns: minmax(0,1fr);
    gap: var(--hf-space-3);
  }

  .hf-site .hf-service-link-row > .elementor-widget-button {
    grid-column: 1;
  }

  .hf-site .hf-form-content {
    padding: var(--hf-space-6) var(--hf-space-4);
  }

  .hf-post-row,
  .hf-post-row--featured {
    grid-template-columns: minmax(0,1fr);
    gap: var(--hf-space-5);
    padding-block: var(--hf-space-8);
  }

  .hf-post-row--featured {
    padding-inline: var(--hf-space-4);
  }

  .hf-article-body {
    padding-block: var(--hf-space-10);
    font-size: var(--hf-font-size-body);
  }

  .hf-article-header h1 {
    font-size: clamp(2rem,8.9vw,2.75rem);
  }

  .hf-site .hf-inner-closing .elementor-button {
    inline-size: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* External Elementor effects must also respect the user’s motion preference. */
  html {
    scroll-behavior: auto;
  }

  .hf-site *,
  .hf-site *::before,
  .hf-site *::after {
    scroll-behavior: auto;
    transition: none !important;
    animation: none !important;
  }

  :root {
    --hf-control-lift: 0px;
    --hf-control-press: 0px;
    --hf-image-hover-scale: 1;
  }

}
