/* rem and em do NOT depend on html font-size in media queries! Instead, 1rem = 1em = 16px */

/**************************/
/* BELOW 1344px (Smaller desktops) */
/**************************/

@media (max-width: 84em) {
  .hero {
    max-width: 120rem;
  }

  .heading-primary {
    font-size: 4.4rem;
  }

  .gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}

/**************************/
/* BELOW 1200px (Landscape Tablets) */
/**************************/

@media (max-width: 75em) {
  html {
    /* 9px / 16px  */
    font-size: 56.25%;
  }

  .grid {
    column-gap: 4.8rem;
    row-gap: 6.4rem;
  }

  .heading-secondary {
    font-size: 3.6rem;
  }

  .heading-tertiary {
    font-size: 2.4rem;
  }

  .header {
    padding: 0 3.2rem;
  }

  .main-nav-list {
    gap: 3.2rem;
  }

  .hero {
    gap: 4.8rem;
  }

  .testimonials-container {
    padding: 9.6rem 3.2rem;
  }
}

/**************************/
/* BELOW 944px (Tablets) */
/**************************/

@media (max-width: 59em) {
  html {
    /* 8px / 16px = 0.5 = 50% */
    font-size: 50%;
  }

  .hero {
    height: 80vh;
  }

  .hero::before {
    background:
      linear-gradient(
        125deg,
        rgba(10, 20, 16, 0.72) 0%,
        rgba(10, 20, 16, 0.56) 34%,
        rgba(10, 20, 16, 0.26) 62%,
        rgba(10, 20, 16, 0.08) 100%
      ),
      radial-gradient(
        circle at 18% 18%,
        rgba(0, 0, 0, 0.3) 0%,
        rgba(0, 0, 0, 0.14) 42%,
        rgba(0, 0, 0, 0) 74%
      );
  }

  .hero-text-box {
    padding: 3.2rem 2.4rem;
    max-width: 75rem;
    transform: translateY(-0.8rem);
  }

  .hero-text-box .heading-primary {
    font-size: 4rem;
  }

  .hero-description {
    font-size: 1.8rem;
    line-height: 1.65;
    margin-bottom: 2rem;
  }

  .hero-problem-chips {
    max-width: 54rem;
    column-gap: 1rem;
    row-gap: 1.15rem;
    margin-bottom: 2.9rem;
  }

  .hero-chip {
    font-size: 1.25rem;
    padding: 0.5rem 1rem;
    background: rgba(255, 254, 250, 0.22);
    border-color: rgba(255, 254, 250, 0.48);
  }

  .about-grid {
    grid-template-columns: 1fr;
    gap: 2.8rem;
  }

  .about-content {
    max-width: 100%;
  }

  .section-about {
    padding: 7.2rem 0 4.8rem;
  }

  .header {
    height: 7rem;
    padding: 0 2rem;
  }

  .logo {
    height: 5rem;
  }

  .about-image {
    aspect-ratio: 4 / 4.8;
    max-height: 39rem;
    object-fit: cover;
    object-position: center 18%;
  }

  .about-person {
    padding: 1.6rem 1.6rem 1.7rem;
  }

  .about-person-name {
    font-size: 1.85rem;
    margin-bottom: 0.7rem;
  }

  .about-credential {
    font-size: 1.5rem;
  }

  .about-credentials {
    column-gap: 1.4rem;
  }

  .about-title {
    font-size: 2.8rem;
    line-height: 1.18;
    margin-bottom: 1rem;
  }

  .about-description {
    font-size: 1.65rem;
    line-height: 1.55;
    margin-bottom: 1.2rem;
  }

  .about-description:last-of-type {
    margin-bottom: 1.4rem;
  }

  .about-highlights {
    gap: 1rem;
    margin-bottom: 1.2rem;
  }

  .about-highlight {
    column-gap: 1.2rem;
    padding: 0.5rem 0;
  }

  .about-highlight h3 {
    font-size: 1.65rem;
    margin-bottom: 0.2rem;
  }

  .about-highlight p {
    font-size: 1.45rem;
    line-height: 1.55;
  }

  .about-icon {
    width: 3rem;
    height: 3rem;
    margin-top: 0.1rem;
  }

  .about-tags {
    gap: 0.7rem;
    flex-wrap: nowrap;
    margin-top: 0;
  }

  .about-tag {
    font-size: 1.2rem;
    padding: 0.55rem 0.9rem;
    gap: 0.45rem;
  }

  .about-tag ion-icon {
    font-size: 1.3rem;
  }

  .about-page-hero-grid,
  .about-page-grid,
  .training-page-hero-grid,
  .training-page-grid,
  .training-feature-grid {
    grid-template-columns: 1fr;
  }

  .about-page-intro,
  .about-page-text,
  .about-approach-media {
    grid-column: auto;
    grid-row: auto;
  }

  .about-approach-media {
    order: 0;
    display: flex;
    justify-content: center;
  }

  .about-approach-placeholder {
    width: 100%;
    max-width: 36rem;
  }

  .about-page-panels {
    grid-template-columns: repeat(auto-fit, minmax(26rem, 1fr));
    gap: 1.6rem;
  }

  .about-page-highlight {
    margin-top: 2.8rem;
    padding-top: 1.4rem;
    font-size: 2rem;
    max-width: none;
  }

  .section-experience {
    padding: 6rem 0 6.4rem;
  }

  .experience-intro {
    grid-template-columns: 1fr;
    gap: 3.2rem;
    margin-bottom: 4rem;
  }

  .experience-media {
    order: 0;
  }

  .experience-intro .heading-secondary {
    max-width: none;
    margin-bottom: 1.8rem;
  }

  .experience-text {
    font-size: 1.75rem;
    max-width: none;
    margin-bottom: 1.4rem;
  }

  .experience-entries {
    columns: 1;
  }

  .experience-step {
    margin-bottom: 2.8rem;
  }

  .experience-placeholder {
    max-width: 42rem;
  }

  .section-personal {
    padding: 6.4rem 0 7.2rem;
  }

  .life-media {
    gap: 1.4rem;
  }

  .personal-top {
    grid-template-columns: 1fr;
    gap: 3.2rem;
    margin-bottom: 4rem;
  }

  .personal-bottom {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }

  .personal-media {
    order: 0;
  }

  .personal-intro .heading-secondary {
    max-width: none;
    margin-bottom: 2rem;
  }

  .personal-text {
    font-size: 1.75rem;
    max-width: 65ch;
    margin-bottom: 1.6rem;
  }

  .personal-results-title {
    font-size: 2.2rem;
    margin-bottom: 2rem;
  }

  .section-statement--personal {
    margin-bottom: 3.2rem;
  }

  .personal-highlight {
    margin: 2.8rem 0 2rem;
    padding-top: 1.4rem;
    font-size: 2rem;
    max-width: none;
  }

  .personal-labels {
    margin: 2rem 0 0;
  }

  .personal-placeholder {
    max-width: 36rem;
  }

  .section-movement {
    padding: 6.4rem 0 7.2rem;
  }

  .movement-grid {
    grid-template-columns: 1fr;
    gap: 3.6rem;
    justify-items: center;
  }

  .movement-copy .heading-secondary {
    max-width: none;
    margin-bottom: 2rem;
  }

  .movement-text {
    font-size: 1.75rem;
    max-width: none;
    margin-bottom: 1.6rem;
  }

  .movement-labels {
    margin-top: 2rem;
  }

  .movement-video-placeholder {
    max-width: 28rem;
    max-height: 48rem;
  }

  .section-life {
    padding: 6.4rem 0 7.2rem;
  }

  .section-about-cta {
    padding-bottom: 7.2rem;
  }

  .about-cta {
    padding: 4.8rem 3.2rem;
  }

  .about-cta-text {
    font-size: 1.75rem;
    margin-bottom: 2.8rem;
  }

  .life-grid {
    grid-template-columns: 1fr;
    gap: 3.6rem;
    justify-items: center;
  }

  .life-media {
    order: 0;
  }

  .life-copy .heading-secondary {
    max-width: none;
    margin-bottom: 2rem;
  }

  .life-text {
    font-size: 1.75rem;
    max-width: none;
    margin-bottom: 1.6rem;
  }

  .life-quote {
    margin-top: 2.8rem;
    padding-top: 1.4rem;
    font-size: 2rem;
    max-width: none;
  }

  .life-placeholder {
    max-width: 34rem;
  }

  .training-payment-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .about-title {
    font-size: 3.2rem;
  }

  .delivered-meals {
    justify-content: center;
    margin-top: 3.2rem;
  }

  .logos img {
    height: 2.4rem;
  }

  .step-number {
    font-size: 7.4rem;
  }

  .meal-content {
    padding: 2.4rem 3.2rem 3.2rem 3.2rem;
  }

  .section-testimonials {
    grid-template-columns: 1fr;
  }

  .gallery {
    grid-template-columns: repeat(6, 1fr);
  }

  .cta {
    /* 3/5 = 60% + 2/5 = 40% */
    grid-template-columns: 3fr 2fr;
  }

  .cta-form {
    grid-template-columns: 1fr;
  }

  .btn--form {
    margin-top: 1.2rem;
  }

  /* MOBILE NAVIGATION */
  .btn-mobile-nav {
    display: block;
    z-index: 9999;
  }

  .main-nav {
    background-color: rgba(255, 255, 255, 0.9);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(10px);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    transform: translateX(100%);

    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8rem 2.4rem;
    overflow-y: auto;
    transition: all 0.5s ease-in;

    /* Hide navigation */
    /* Allows NO transitions at all */
    /* display: none; */

    /* 1) Hide it visually */
    opacity: 0;

    /* 2) Make it unaccessible to mouse and keyboard */
    pointer-events: none;

    /* 3) Hide it from screen readers */
    visibility: hidden;
  }

  .nav-open .main-nav {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translateX(0);
  }

  .nav-open .icon-mobile-nav[name="close-outline"] {
    display: block;
  }

  .nav-open .icon-mobile-nav[name="menu-outline"] {
    display: none;
  }

  .main-nav-list {
    flex-direction: column;
    align-items: center;
    gap: 0;
    width: min(100%, 42rem);
  }

  .main-nav-link:link,
  .main-nav-link:visited,
  .main-nav-trigger {
    font-size: 3rem;
  }

  .main-nav-list > li:not(:last-child) {
    margin-bottom: 5rem;
  }

  .main-nav-list .has-dropdown {
    width: 100%;
  }

  .main-nav-trigger {
    min-height: 44px;
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .main-nav-list .dropdown {
    position: static;
    min-width: 0;
    padding: 1.4rem 0 0;
    box-shadow: none;
    background: transparent;
    text-align: center;
  }

  .main-nav-list .dropdown a,
  .main-nav-list .dropdown-unavailable {
    min-height: 44px;
    padding: 1.1rem 1.2rem;
    font-size: 2.3rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
  }

  .main-nav-list .dropdown li + li {
    margin-top: 0.4rem;
  }

  .main-nav-list .dropdown a[aria-current="page"] {
    color: #00793d;
    font-weight: 500;
  }

  .main-nav-list .has-dropdown:not(.is-open) .main-nav-trigger {
    color: #ff5601 !important;
  }

  .main-nav-list
    .has-dropdown:not(.is-open)
    .main-nav-trigger
    .dropdown-trigger-label::before,
  .main-nav-list
    .has-dropdown:not(.is-open)
    .main-nav-trigger
    .dropdown-trigger-label::after {
    width: 0;
    border-color: transparent;
  }

  .main-nav-list .has-dropdown.is-open .main-nav-trigger {
    color: #00793d !important;
  }

  .main-nav-list .has-dropdown.is-open .dropdown-trigger-label::before,
  .main-nav-list .has-dropdown.is-open .dropdown-trigger-label::after {
    width: 70%;
    border-color: #00793d;
  }

  .breadcrumb {
    font-size: 1.3rem;
    margin-bottom: 1.3rem;
  }

  .pricing-tabs {
    display: flex;
    width: 100%;
    justify-content: center;
    margin-bottom: 2.6rem;
  }

  .pricing-tab {
    flex: 1;
    text-align: center;
    padding: 1rem 1.2rem;
  }

  .section-pricing {
    padding: 7.2rem 0;
  }

  .section-pricing .heading-secondary {
    margin-bottom: 2.4rem;
  }

  .section-pricing .grid--3-cols {
    row-gap: 2.6rem;
  }
  @media (max-width: 44em) {
    .plan-continuation {
      margin-top: 0.8rem;
      margin-bottom: 1.6rem;
    }

    .plan-continuation strong {
      font-size: 1.6rem;
    }
  }
  .section-pricing .pricing-card,
  .section-pricing .pricing-card-inner {
    min-height: 0;
  }

  .section-pricing .pricing-plan,
  .section-pricing .pricing-plan--starter,
  .section-pricing .pricing-plan--complete,
  #andre-muligheder .pricing-card .pricing-plan {
    padding: 4rem 2.2rem 2rem;
  }

  .section-pricing .plan-header {
    margin-bottom: 1.2rem;
  }

  .section-pricing .list {
    gap: 1.15rem;
    padding-bottom: 1.2rem;
  }

  .section-pricing .plan-exclusion {
    margin-top: 1.6rem;
    margin-bottom: 1.4rem;
  }

  .section-pricing .plan-sing-up {
    padding-top: 2.4rem;
    padding-bottom: 1.6rem;
  }

  .section-pricing .plan-details {
    margin-top: -0.4rem;
  }

  .section-privacy {
    padding: 6.4rem 0;
  }

  .privacy-container {
    max-width: 100%;
  }

  .privacy-title {
    margin-bottom: 1.8rem;
  }

  .privacy-lead {
    font-size: 1.75rem;
    line-height: 1.65;
    margin-bottom: 2.2rem;
  }

  .privacy-section h3 {
    font-size: 2rem;
  }

  .privacy-section p {
    font-size: 1.65rem;
    line-height: 1.65;
  }

  .cookie-banner {
    left: 1.6rem;
    right: 1.6rem;
    bottom: 1.6rem;
    padding: 1.6rem;
    align-items: flex-start;
    flex-direction: column;
    gap: 1.4rem;
  }

  .cookie-banner__content {
    max-width: 100%;
  }

  .cookie-banner__actions {
    width: 100%;
    justify-content: flex-end;
  }
}

@media (max-width: 68.75em) {
  #for-dig-og-nytte .editorial-layout {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }

  #for-dig-og-nytte .editorial-copy {
    max-width: none;
  }

  #for-dig-og-nytte .training-focus-grid {
    max-width: none;
  }

  #for-dig-og-nytte .section-image--training {
    width: 80%;
    max-width: 65rem;
    margin: 0 auto;
  }
}

@media (max-width: 68.75em) {
  .about-page-hero-grid,
  .training-page-hero-grid {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }

  .about-page-card {
    max-width: 46rem;
    margin-inline: auto;
  }

  .training-page-hero-media {
    width: min(100%, 60rem);
    justify-self: center;
  }

  .training-page-card--hero {
    margin-top: 1.6rem;
  }
}

/**************************/
/* BELOW 704px (Smaller tablets) */
/**************************/

@media (max-width: 44em) {
  .grid--3-cols,
  .grid--4-cols {
    grid-template-columns: repeat(2, 1fr);
  }

  .diets {
    grid-column: 1 / -1;
    justify-self: center;
  }

  .heading-secondary {
    margin-bottom: 4.8rem;
  }

  .hero {
    height: auto;
    min-height: calc(100vh - 6.8rem);
    min-height: calc(100svh - 6.8rem);
    align-items: flex-start;
  }

  .hero-text-box {
    padding: 2.4rem 1.6rem;
    max-width: 65rem;
  }

  .hero-text-box .heading-primary {
    font-size: 3.6rem;
  }

  .pricing-plan {
    width: 100%;
  }

  .section-pricing .grid--3-cols {
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }

  .section-pricing .pricing-tabs {
    margin-bottom: 2.2rem;
  }

  .section-pricing .pricing-tab {
    font-size: 1.6rem;
    padding: 0.95rem 1rem;
  }

  .section-pricing .pricing-plan,
  .section-pricing .pricing-plan--starter,
  .section-pricing .pricing-plan--complete,
  #andre-muligheder .pricing-card .pricing-plan {
    padding: 3.7rem 2rem 1.9rem;
  }

  .section-pricing .plan-text {
    margin-bottom: 0.8rem;
  }

  .section-pricing .plan-price {
    margin-bottom: 0.8rem;
  }

  .section-pricing .list-item {
    font-size: 1.65rem;
    line-height: 1.42;
  }

  .section-pricing .plan-exclusion {
    font-size: 1.45rem;
    margin-top: 1.7rem;
    margin-bottom: 1.5rem;
  }

  .section-pricing .plan-exclusion-icon {
    width: 2.6rem;
    height: 2.6rem;
  }

  .section-pricing .plan-sing-up {
    padding-top: 2.3rem;
  }
}

/**************************/
/* BELOW 544px (Phones) */
/**************************/

@media (max-width: 34em) {
  .grid {
    row-gap: 3.6rem;
  }

  .about-page-panels {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }

  .about-approach-placeholder {
    width: 90%;
    max-width: none;
    border-radius: 2rem;
  }

  .about-page-panel {
    padding: 1.6rem 1.8rem;
  }

  .about-page-panel-icon {
    width: 4rem;
    height: 4rem;
    margin-bottom: 1rem;
  }

  .section-experience {
    padding: 4.8rem 0 5.2rem;
  }

  .experience-intro {
    gap: 2.4rem;
    margin-bottom: 3.2rem;
  }

  .experience-text {
    font-size: 1.7rem;
    line-height: 1.7;
    margin-bottom: 1.4rem;
  }

  .experience-labels {
    gap: 0.7rem;
    margin-top: 2rem;
  }

  .experience-label {
    font-size: 1.35rem;
    padding: 0.55rem 1.2rem;
  }

  .experience-placeholder {
    width: 90%;
    max-width: 36rem;
    border-radius: 2rem;
  }

  .experience-step {
    padding-left: 1.6rem;
    margin-bottom: 2.4rem;
  }

  .experience-step-meta::before {
    left: -2.1rem;
  }

  .experience-step-text {
    font-size: 1.55rem;
  }

  .section-personal {
    padding: 5.2rem 0 5.8rem;
  }

  .personal-top,
  .personal-bottom {
    gap: 2.8rem;
  }

  .personal-top {
    margin-bottom: 3.2rem;
  }

  .personal-text {
    font-size: 1.7rem;
    line-height: 1.7;
    margin-bottom: 1.4rem;
  }

  .personal-labels {
    gap: 0.7rem;
    margin: 1.8rem 0 0;
  }

  .personal-results-title {
    font-size: 2.05rem;
    margin-bottom: 1.8rem;
  }

  .personal-stats {
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 0.8rem;
    margin-bottom: 2.2rem;
  }

  .personal-stat {
    padding: 1.2rem 1.2rem;
    border-radius: 1.2rem;
  }

  .personal-stat-value {
    font-size: 2.2rem;
  }

  .personal-stat-label {
    font-size: 1.3rem;
  }

  .personal-label {
    font-size: 1.35rem;
    padding: 0.55rem 1.2rem;
  }

  .personal-highlight {
    margin: 2.4rem 0 1.8rem;
    padding-top: 1.2rem;
    font-size: 1.9rem;
  }

  .personal-placeholder {
    width: 90%;
    max-width: 32rem;
    border-radius: 2rem;
  }

  .section-movement {
    padding: 5.2rem 0 5.8rem;
  }

  .movement-grid {
    gap: 2.8rem;
  }

  .movement-text {
    font-size: 1.7rem;
    line-height: 1.7;
    margin-bottom: 1.4rem;
  }

  .movement-labels {
    gap: 0.7rem;
    margin-top: 1.8rem;
  }

  .movement-label {
    font-size: 1.35rem;
    padding: 0.55rem 1.2rem;
  }

  .movement-video-placeholder {
    width: 76%;
    max-width: 26rem;
    max-height: min(70vh, 42rem);
    border-radius: 2rem;
  }

  .movement-play {
    width: 5.2rem;
    height: 5.2rem;
    font-size: 2.1rem;
  }

  .section-life {
    padding: 5.2rem 0 5.8rem;
  }

  .section-about-cta {
    padding-bottom: 5.8rem;
  }

  .about-cta {
    padding: 3.6rem 2rem;
    border-radius: 2rem;
  }

  .about-cta-text {
    font-size: 1.7rem;
    line-height: 1.65;
    margin-bottom: 2.4rem;
  }

  .about-cta-actions {
    flex-direction: column;
    gap: 1.2rem;
  }

  .about-cta-actions .btn {
    width: 100%;
  }

  .life-grid {
    gap: 2.8rem;
  }

  .life-text {
    font-size: 1.7rem;
    line-height: 1.7;
    margin-bottom: 1.4rem;
  }

  .life-quote {
    margin-top: 2.4rem;
    padding-top: 1.2rem;
    font-size: 1.9rem;
  }

  .life-placeholder {
    max-width: 28rem;
    border-radius: 2rem;
  }

  .about-grid > .about-image-column {
    display: none;
  }

  .about-image-column--mobile {
    display: flex;
    gap: 0.8rem;
    margin-bottom: 1.8rem;
  }

  .section-about {
    padding: 5.8rem 0 3.2rem;
  }

  .about-grid {
    gap: 2.2rem;
  }

  .about-content .subheading {
    margin-bottom: 1rem;
  }

  .about-title {
    font-size: 2.55rem;
    line-height: 1.2;
    margin-bottom: 1rem;
  }

  .about-description {
    margin-bottom: 1.2rem;
  }

  .about-description:last-of-type {
    margin-bottom: 1.6rem;
  }

  .about-highlights {
    gap: 1rem;
    margin-bottom: 1.2rem;
  }

  .about-highlight {
    padding: 0.35rem 0;
  }

  .about-highlight h3 {
    margin-bottom: 0.3rem;
    line-height: 1.25;
  }

  .about-icon {
    margin-top: 0.15rem;
  }

  .about-image-card {
    border-radius: 2rem;
  }

  .about-image {
    border-radius: 2rem 2rem 0 0;
    /* keep the original mobile crop and height */
    aspect-ratio: 4 / 5;
    max-height: 42rem;
    object-position: center 18%;
  }

  .about-person {
    padding: 1.45rem 1.5rem 1.55rem;
  }

  .about-credentials {
    column-gap: 1.2rem;
    row-gap: 0.5rem;
  }

  .about-image-actions {
    margin-top: 0.2rem;
  }

  .about-tags {
    flex-wrap: nowrap;
    gap: 0.6rem;
  }

  .about-tag {
    font-size: 1.15rem;
    padding: 0.5rem 0.8rem;
  }

  .section-privacy {
    padding: 5.2rem 0;
  }

  .privacy-title {
    font-size: 3.2rem;
    line-height: 1.2;
  }

  .privacy-lead {
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 1.8rem;
  }

  .privacy-sections {
    gap: 0.8rem;
  }

  .privacy-section h3 {
    font-size: 1.85rem;
    margin-bottom: 0.6rem;
  }

  .privacy-section p {
    font-size: 1.5rem;
    line-height: 1.6;
  }

  .privacy-updated {
    margin-top: 2rem;
    font-size: 1.4rem;
  }

  .cookie-banner {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    padding: 1.4rem;
    border-radius: 1.2rem;
  }

  .cookie-banner h3 {
    font-size: 1.8rem;
  }

  .cookie-banner p {
    font-size: 1.4rem;
  }

  .cookie-banner__actions {
    justify-content: stretch;
  }

  .cookie-banner__actions .btn,
  .cookie-banner__actions .btn:link,
  .cookie-banner__actions .btn:visited {
    flex: 1;
    padding: 1.2rem 1rem;
    font-size: 1.35rem;
  }

  .grid--2-cols,
  .grid--3-cols,
  .grid--4-cols {
    grid-template-columns: 1fr;
  }

  .pricing-tabs {
    padding: 0.4rem;
    gap: 0.4rem;
  }

  .pricing-tab {
    font-size: 1.4rem;
    padding: 1rem 1rem;
  }

  .section-pricing {
    padding: 6.2rem 0;
  }

  .section-pricing .heading-secondary {
    margin-bottom: 2rem;
  }

  .section-pricing .pricing-tabs {
    margin-top: 0.6rem;
    margin-bottom: 2rem;
  }

  .section-pricing .pricing-tab {
    font-size: 1.55rem;
    padding: 0.9rem 0.9rem;
  }

  .section-pricing .pricing-plan,
  .section-pricing .pricing-plan--starter,
  .section-pricing .pricing-plan--complete,
  #andre-muligheder .pricing-card .pricing-plan {
    padding: 3.3rem 1.9rem 1.7rem;
  }

  .section-pricing .plan-name {
    margin-bottom: 0.8rem;
  }

  .section-pricing .plan-price {
    font-size: 5.4rem;
  }

  .section-pricing .plan-price span {
    font-size: 2.6rem;
  }

  .section-pricing .plan-duration {
    margin-bottom: 1rem;
  }

  .section-pricing .plan-text {
    margin-bottom: 0.9rem;
  }

  .section-pricing .list {
    gap: 1.05rem;
    padding-bottom: 1.1rem;
  }

  .section-pricing .list-item {
    font-size: 1.62rem;
  }

  .section-pricing .plan-exclusion {
    font-size: 1.4rem;
    margin-top: 1.8rem;
    margin-bottom: 1.4rem;
  }

  .section-pricing .plan-sing-up {
    padding-top: 2.5rem;
    padding-bottom: 1.2rem;
  }

  .section-pricing .plan-details {
    font-size: 1.45rem;
    margin-top: 0.2rem;
  }

  .btn,
  .btn:link,
  .btn:visited {
    padding: 1.8rem 1.6rem;
  }

  .section-hero {
    padding: 0;
  }

  .hero {
    height: auto;
    min-height: calc(100vh - 6.8rem);
    min-height: calc(100svh - 6.8rem);
    align-items: flex-start;
  }

  .hero-text-box {
    padding: 3.2rem 1.6rem 4rem;
    max-width: 100%;
    transform: none;
  }

  .hero-text-box .heading-primary {
    font-size: 3rem;
    margin-bottom: 2rem;
  }

  .hero-description {
    font-size: 1.7rem;
    line-height: 1.62;
    margin-bottom: 1.8rem;
  }

  .hero-problem-chips {
    column-gap: 0.85rem;
    row-gap: 1rem;
    margin-bottom: 2.6rem;
  }

  .hero-chip {
    font-size: 1.2rem;
    padding: 0.45rem 0.9rem;
    background: rgba(255, 254, 250, 0.24);
    border-color: rgba(255, 254, 250, 0.52);
  }

  .logos img {
    height: 1.2rem;
  }

  .step-img-box:nth-child(2) {
    grid-row: 1;
  }

  .step-img-box:nth-child(6) {
    grid-row: 5;
  }

  .step-img-box {
    transform: translateY(2.4rem);
  }

  .testimonials {
    grid-template-columns: 1fr;
  }

  .gallery {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.2rem;
  }

  .cta {
    grid-template-columns: 1fr;
  }

  .header {
    height: 6.8rem;
    padding: 0 1.6rem;
  }

  .logo {
    height: 4.6rem;
  }

  .about-page-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .final-cta .about-page-actions {
    align-items: center;
    max-width: 36rem;
    margin: 0 auto;
  }

  .final-cta .about-page-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .cta-text-box {
    padding: 3.2rem;
  }

  .cta-img-box {
    height: 32rem;
    grid-row: 1;
  }
}

@media (max-width: 23.75em) {
  .about-tags {
    display: none;
  }
}

/**************************/
/* MOBILE TYPOGRAPHY SCALE */
/**************************/

@media (max-width: 48em) {
  :root {
    --mobile-h1: clamp(34px, 5.1vw, 40px);
    --mobile-h2: clamp(28px, 4.4vw, 34px);
    --mobile-h3: clamp(20px, 3.3vw, 24px);
    --mobile-body: clamp(17px, 2.35vw, 18px);
    --mobile-label: clamp(14px, 2vw, 16px);
    --mobile-button: clamp(17px, 2.4vw, 18px);
  }

  .heading-primary,
  .hero-text-box .heading-primary {
    font-size: var(--mobile-h1);
    line-height: 1.12;
    font-weight: 700;
    text-wrap: balance;
  }

  .heading-secondary,
  .about-title,
  .privacy-title,
  .booking-copy .heading-secondary,
  .final-cta .heading-secondary,
  .cta .heading-secondary,
  .testimonials-container .heading-secondary {
    font-size: var(--mobile-h2);
    line-height: 1.2;
  }

  .heading-tertiary,
  .about-highlight h3,
  .meal-title,
  .feature-title,
  .plan-name,
  .faq-question,
  .callback-modal-content h3,
  .booking-secondary-card h3,
  .process-step-card-copy h3 {
    font-size: var(--mobile-h3);
    line-height: 1.25;
  }

  .hero-description,
  .about-description,
  .about-highlight p,
  .privacy-lead,
  .privacy-section p,
  .plan-text,
  .plan-duration,
  .plan-details,
  .feature-text,
  .step-description,
  .meal-text,
  .testimonial-text,
  .cta-text,
  .alternatives-intro,
  .booking-checklist li,
  .booking-helper-text,
  .faq-answer,
  .callback-success p,
  .cookie-banner p,
  .contacts,
  .footer-link:link,
  .footer-link:visited,
  .copyright,
  .contact-note,
  .list-item,
  #andre-muligheder .pricing-card .list-item {
    font-size: var(--mobile-body);
    line-height: 1.62;
  }

  .subheading,
  .heading-featured-in,
  .privacy-updated,
  .callback-request-form label,
  .callback-choice-group legend,
  .callback-choice-option,
  .cta-form label,
  .hero-chip,
  .about-tag,
  .plan-toggle,
  .plan-extended {
    font-size: var(--mobile-label);
    line-height: 1.4;
  }

  .btn,
  .btn:link,
  .btn:visited,
  .pricing-tab,
  .cookie-banner__actions .btn,
  .cookie-banner__actions .btn:link,
  .cookie-banner__actions .btn:visited {
    font-size: var(--mobile-button);
    min-height: 48px;
  }

  .section-about {
    padding-top: 7.4rem;
  }

  .about-title {
    line-height: 1.22;
    margin-bottom: 1.2rem;
  }

  .about-description {
    line-height: 1.62;
    margin-bottom: 1.35rem;
  }

  .about-description:last-of-type {
    margin-bottom: 1.75rem;
  }

  .about-image-column--mobile {
    gap: 0.9rem;
    margin-bottom: 2rem;
  }

  .about-image-actions {
    margin-top: 0;
  }

  .about-highlights {
    gap: 1.1rem;
  }

  .about-highlight {
    column-gap: 1.2rem;
    padding: 0.4rem 0;
  }

  .about-highlight h3 {
    margin-bottom: 0.35rem;
  }

  .about-highlight p {
    font-size: clamp(16px, 2.2vw, 17px);
    line-height: 1.58;
  }

  .training-page-copy .heading-primary,
  .about-page-copy .heading-primary,
  .subpage-hero .heading-primary {
    font-size: clamp(3.2rem, 4.8vw, 4.4rem);
    line-height: 1.08;
  }

  .training-page-copy .heading-primary,
  .about-page-copy .heading-primary {
    max-width: 56rem;
  }

  .training-page-description,
  .about-page-description,
  .subpage-hero .hero-description {
    font-size: clamp(1.7rem, 2.35vw, 1.8rem);
    line-height: 1.6;
  }

  .training-page-description {
    margin-bottom: 2.8rem;
    max-width: 60rem;
  }

  .training-page-copy .about-page-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.2rem;
    max-width: 36rem;
  }

  .training-page-copy .about-page-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .training-page-copy .hero-badges {
    margin-top: 1.4rem;
    gap: 0.8rem;
  }

  .training-page-card--hero {
    margin-top: 0;
    gap: 1.3rem;
  }

  .training-page-card--hero .program-overview-list {
    gap: 1.1rem;
  }

  .training-page-card--hero .program-overview-item {
    padding: 1.1rem 1.05rem;
  }

  #for-dig-og-nytte {
    padding-top: 5.6rem;
    padding-bottom: 5.6rem;
  }

  #for-dig-og-nytte .training-focus-grid {
    gap: 1.6rem;
  }

  #for-dig-og-nytte .training-focus-item {
    min-height: 0;
    padding: 2rem;
  }

  #for-dig-og-nytte .training-focus-item p {
    font-size: 1.7rem;
    line-height: 1.58;
  }

  #for-dig-og-nytte .section-image--training {
    width: 90%;
    max-width: 50rem;
    margin: 2.8rem auto 0;
  }

  #for-dig-og-nytte .training-image-support {
    margin-top: 2rem;
  }
}

@media (max-width: 34em) {
  .about-page-hero,
  .training-page-hero {
    padding-bottom: 3.2rem;
  }

  .training-page-hero-media {
    width: 92%;
    margin: 0 auto;
    border-radius: 1.8rem;
    -webkit-mask-image: linear-gradient(
      to bottom,
      #000 0%,
      #000 82%,
      transparent 100%
    );
    mask-image: linear-gradient(to bottom, #000 0%, #000 82%, transparent 100%);
  }

  .training-page-card--hero {
    margin-top: 1.4rem;
    width: 100%;
    padding: 2.4rem;
  }

  .program-overview-list {
    grid-template-columns: 1fr;
  }

  #for-dig-og-nytte .training-focus-grid {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }

  #for-dig-og-nytte .training-focus-item {
    padding: 1.8rem;
  }

  #for-dig-og-nytte .section-image--training {
    width: 90%;
    max-width: 50rem;
    margin: 2.8rem auto 0;
  }

  #for-dig-og-nytte .training-image-support {
    margin-top: 1.8rem;
  }

  #for-dig-og-nytte .training-image-support p {
    font-size: 1.55rem;
  }

  #for-dig-og-nytte .training-type-labels {
    gap: 0.8rem;
    margin-top: 1.4rem;
  }

  #for-dig-og-nytte .training-type-labels span {
    font-size: 1.4rem;
    padding: 0.55rem 0.85rem;
  }
}

@media (min-width: 34.01em) and (max-width: 44em) {
  .training-page-card--hero .program-overview-list {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 48.01em) and (max-width: 68.75em) {
  #for-dig-og-nytte .section-image--training {
    width: 72%;
    max-width: 50rem;
    margin: 0 auto;
  }

  #for-dig-og-nytte .training-focus-grid {
    gap: 1.8rem;
  }

  #for-dig-og-nytte .training-focus-item {
    padding: 1.8rem;
  }
}

@media (max-width: 34em) {
  .heading-primary,
  .hero-text-box .heading-primary {
    font-size: clamp(34px, 9vw, 38px);
    line-height: 1.1;
    text-wrap: pretty;
  }

  .training-page-copy .heading-primary,
  .about-page-copy .heading-primary,
  .subpage-hero .heading-primary {
    font-size: clamp(3.1rem, 8.3vw, 3.6rem);
    line-height: 1.08;
  }

  .training-page-copy .heading-primary,
  .about-page-copy .heading-primary {
    max-width: 34rem;
  }

  .training-page-description {
    margin-bottom: 2.4rem;
  }

  .training-page-copy .about-page-actions {
    gap: 1.1rem;
    max-width: 100%;
  }

  .training-page-card--hero {
    padding: 2rem;
  }
}

/**************************/
/* MOBILE FOOTER LAYOUT */
/**************************/

@media (max-width: 48em) {
  .process-step-meta::before {
    background: repeating-linear-gradient(
      to bottom,
      rgba(0, 121, 61, 0.28) 0,
      rgba(0, 121, 61, 0.28) 0.95rem,
      transparent 0.95rem,
      transparent 1.65rem
    );
  }

  .footer {
    padding: 7.2rem 0 6.4rem;
  }

  .grid--footer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "follow company"
      "resources resources"
      "brand brand"
      "contact contact";
    column-gap: 2.4rem;
    row-gap: 3.2rem;
  }

  .grid--footer > .nav-col:nth-of-type(1) {
    grid-area: follow;
    margin-bottom: 0;
  }

  .grid--footer > .nav-col:nth-of-type(2) {
    grid-area: company;
    margin-bottom: 0;
  }

  .grid--footer > .nav-col:nth-of-type(3) {
    grid-area: resources;
    margin-bottom: 0;
  }

  .logo-col {
    grid-area: brand;
    border-top: 1px solid rgba(0, 121, 61, 0.12);
    padding-top: 2.8rem;
  }

  .address-col {
    grid-area: contact;
    margin-bottom: 0;
  }

  .footer-logo {
    margin-bottom: 1.6rem;
  }

  .footer-logo .logo {
    height: 5.4rem;
  }

  .footer-heading {
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 1.4rem;
    line-height: 1.35;
  }

  .footer-nav {
    gap: 1rem;
  }

  .footer-link:link,
  .footer-link:visited,
  .contacts,
  .copyright {
    font-size: 1.55rem;
    line-height: 1.55;
  }

  .contact-line {
    margin-bottom: 0.9rem;
    gap: 1rem;
  }

  .contact-note {
    margin-top: 1.2rem;
    font-size: 1.5rem;
    line-height: 1.5;
  }

  .footer-link--with-icon {
    padding: 0.5rem 0;
    gap: 1rem;
  }

  .footer-link-icon,
  .contact-icon {
    width: 2rem;
    height: 2rem;
  }

  .address-col .footer-link[href^="mailto:"] {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .grid--footer
    > .nav-col:nth-of-type(2)
    .footer-nav
    li:last-child
    .footer-link {
    white-space: nowrap;
  }
}

@media (max-width: 34em) {
  .grid--footer {
    column-gap: 2rem;
    row-gap: 3rem;
  }

  .footer {
    padding: 6.4rem 0 5.8rem;
  }
}

/* 
- Font sizes (px)
10 / 12 / 14 / 16 / 18 / 20 / 24 / 30 / 36 / 44 / 52 / 62 / 74 / 86 / 98

- Spacing system (px)
2 / 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 80 / 96 / 128
*/

/**************************/
/* Fixing Safari flexbox gap */
/**************************/

.no-flexbox-gap .main-nav-list li:not(:last-child) {
  margin-right: 4.8rem;
}

.no-flexbox-gap .list-item:not(:last-child) {
  margin-bottom: 1.6rem;
}

.no-flexbox-gap .list-icon:not(:last-child) {
  margin-right: 1.6rem;
}

.no-flexbox-gap .delivered-faces {
  margin-right: 1.6rem;
}

.no-flexbox-gap .meal-attribute:not(:last-child) {
  margin-bottom: 2rem;
}

.no-flexbox-gap .meal-icon {
  margin-right: 1.6rem;
}

.no-flexbox-gap .footer-row div:not(:last-child) {
  margin-right: 6.4rem;
}

.no-flexbox-gap .social-links li:not(:last-child) {
  margin-right: 2.4rem;
}

.no-flexbox-gap .footer-nav li:not(:last-child) {
  margin-bottom: 2.4rem;
}

@media (min-width: 945px) {
  .btn-mobile-nav {
    display: none;
  }

  .main-nav {
    position: static;
    display: block;
    width: auto;
    height: auto;
    transform: none;
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    background: transparent;
  }

  .main-nav-list {
    flex-direction: row;
    align-items: center;
    width: auto;
    gap: 1.8rem;
  }

  .main-nav-trigger,
  .main-nav-link:link,
  .main-nav-link:visited {
    min-height: 0;
    width: auto;
    font-size: 1.8rem;
    text-align: initial;
  }

  .main-nav-list .dropdown {
    position: absolute;
    min-width: 18rem;
    padding: 0.8rem 0;
    background: #fffefa;
    box-shadow: 0 1.2rem 2.4rem rgba(0, 0, 0, 0.06);
  }

  .main-nav-list .dropdown a,
  .main-nav-list .dropdown-unavailable {
    min-height: 0;
    padding: 1rem 1.6rem;
    font-size: 1.6rem;
  }
}

@media (max-width: 75em) {
  .no-flexbox-gap .main-nav-list li:not(:last-child) {
    margin-right: 3.2rem;
  }
}

@media (max-width: 59em) {
  .no-flexbox-gap .main-nav-list li:not(:last-child) {
    margin-right: 0;
    margin-bottom: 4.8rem;
  }
}

/**************************/
/* HOMEPAGE HERO — REAL MOBILE/TABLET BEHAVIOUR */
/**************************/

/* Tablets: compact chips, but a step larger than phones */
@media (min-width: 44.0625em) and (max-width: 59em) {
  .hero-problem-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px 10px;
  }

  .hero-chip {
    flex: 0 1 auto;
    max-width: 100%;
    font-size: 15px;
    line-height: 1.3;
    padding: 6px 12px;
  }
}

@media (max-width: 44em) {
  /* Content must define the hero height on real devices, where dynamic
     browser chrome makes vh taller than the visible viewport. */
  .hero {
    height: auto;
    min-height: calc(100vh - 6.8rem);
    min-height: calc(100svh - 6.8rem);
    align-items: flex-start;
  }

  .hero-text-box {
    padding-bottom: calc(3.2rem + env(safe-area-inset-bottom));
  }

  .hero-description {
    margin-bottom: 1.6rem;
  }

  .hero-problem-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 6px 8px;
    max-width: 100%;
    margin-bottom: 2rem;
  }

  .hero-chip {
    flex: 0 1 auto;
    width: auto;
    max-width: 100%;
    font-size: 14px;
    line-height: 1.25;
    padding: 5px 10px;
  }

  .hero-text-box .btn,
  .hero-text-box .btn:link,
  .hero-text-box .btn:visited {
    max-width: 100%;
  }
}
