/* Olejki — dedicated page module. The full-width section backgrounds stay fluid;
 * all content is constrained by the shared 1500px shell. */
body.gnnh-oils-route {
    background: #fff4eb;
}

body.gnnh-oils-route .gnnh-header,
body.gnnh-oils-route .gnnh-header.is-scrolled {
    background: #fff4eb;
}

.gnnh-oils-page {
    background: #fff4eb;
}

.gnnh-oils-hero {
    position: relative;
    width: 100%;
    background: #f7e8da;
    overflow: hidden;
}

.gnnh-oils-hero__inner {
    position: relative;
    display: flex;
    min-height: 690px;
    align-items: stretch;
}


.gnnh-oils-hero__content {
    position: relative;
    z-index: 3;
    display: flex;
    flex: 0 1 48%;
    max-width: 690px;
    padding: 88px 64px 82px 0;
    flex-direction: column;
    justify-content: center;
}

.gnnh-oils-hero h1 {
    margin: 0 0 4px;
    color: #111111;
    font-size: 70px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: -0.055em;
    line-height: 1.02;
}

.gnnh-oils-hero h2 {
    margin: 0 0 28px;
    color: #2d2525;
    font-size: 30px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 1.15;
}

.gnnh-oils-hero__text {
    max-width: 625px;
}

.gnnh-oils-hero__text p {
    margin: 0 0 18px;
    color: #2d2525;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.42;
}

.gnnh-oils-hero__text strong {
    font-weight: 600;
}

.gnnh-oils-hero .gnnh-button {
    align-self: flex-start;
    margin-top: 18px;
}

.gnnh-oils-hero__media {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #f7e8da;
    pointer-events: none;
}

.gnnh-oils-hero__media::after {
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(90deg, #f7e8da 0%, #f7e8da 28%, rgba(247, 232, 218, 0.97) 36%, rgba(247, 232, 218, 0.72) 46%, rgba(247, 232, 218, 0.16) 58%, rgba(247, 232, 218, 0) 70%);
    content: "";
    pointer-events: none;
}

.gnnh-oils-hero__media img {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: auto;
    max-width: none;
    height: 100%;
    object-fit: contain;
    object-position: right center;
}

.gnnh-oils-benefits {
    position: relative;
    width: 100%;
    padding: 62px 0 0;
    background: #6ba594;
    color: #ffffff;
    overflow: hidden;
}

.gnnh-oils-benefits__layout {
    display: flex;
    align-items: flex-end;
    gap: 76px;
    min-height: 790px;
}

.gnnh-oils-benefits__media {
    position: relative;
    flex: 0 1 47.5%;
    align-self: end;
    min-width: 0;
    overflow: hidden;
}

.gnnh-oils-benefits__media::after {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 19%;
    background: linear-gradient(180deg, rgba(107, 165, 148, 0) 0%, rgba(107, 165, 148, 0.48) 68%, #6ba594 100%);
    content: "";
    pointer-events: none;
}

.gnnh-oils-benefits__media img {
    display: block;
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    border-radius: 0;
    object-fit: contain;
    object-position: center bottom;
    box-shadow: none;
}

.gnnh-oils-benefits__content {
    display: flex;
    flex: 1 1 52.5%;
    min-width: 0;
    padding: 0 0 62px;
    flex-direction: column;
    justify-content: center;
}

.gnnh-oils-benefits__heading {
    margin: 0 0 28px;
}

.gnnh-oils-benefits__heading h2 {
    margin: 0 0 14px;
    color: #ffffff;
    font-size: 40px;
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.1;
}

.gnnh-oils-benefits__heading p {
    max-width: 620px;
    margin: 0;
    color: rgba(255, 255, 255, 0.96);
    font-size: 16px;
    line-height: 1.35;
}

.gnnh-oils-benefits__list {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 18px;
}

.gnnh-oils-benefit {
    display: flex;
    align-items: center;
    gap: 22px;
    min-height: 105px;
    padding: 15px 22px;
    border: 1px solid rgba(65, 119, 107, 0.28);
    border-radius: 13px;
    background: #ffffff;
    color: #1c1b1f;
    box-shadow: 0 8px 22px rgba(45, 37, 37, 0.08);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.gnnh-oils-benefit:hover,
.gnnh-oils-benefit:focus-within {
    border-color: var(--gnn-a11y-sage-hover, #3d7065);
    box-shadow: 0 13px 30px rgba(45, 37, 37, 0.12);
    transform: translateX(3px);
}

.gnnh-oils-benefit img {
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.gnnh-oils-benefit h3 {
    margin: 0 0 4px;
    color: #111111;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.2;
}

.gnnh-oils-benefit p {
    margin: 0;
    color: #2d2525;
    font-size: 15px;
    line-height: 1.32;
}

.gnnh-oils-benefits__action {
    display: flex;
    justify-content: flex-start;
    padding-top: 28px;
}

.gnnh-oils-benefits__action .gnnh-button--outline {
    border-color: #ffffff;
    background: #ffffff;
    color: #2d2525;
}

.gnnh-oils-benefits__action .gnnh-button--outline:hover,
.gnnh-oils-benefits__action .gnnh-button--outline:focus-visible {
    border-color: var(--gnn-a11y-sage-hover, #3d7065);
    background: var(--gnn-a11y-sage-hover, #3d7065);
    color: #ffffff;
}

.gnnh-oils-reviews {
    padding: 70px 0 78px;
    background: #dcece8;
    overflow: hidden;
}

.gnnh-oils-reviews__heading {
    margin: 0 0 42px;
    text-align: center;
}

.gnnh-oils-reviews__heading h2 {
    margin: 0 0 10px;
    color: #2d2525;
    font-size: 34px;
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.1;
}

.gnnh-oils-reviews__heading p {
    margin: 0 auto;
    max-width: 720px;
    color: #2d2525;
    font-size: 15px;
    line-height: 1.35;
}

.gnnh-oils-reviews__viewport {
    position: relative;
    margin: 0 auto;
}

.gnnh-oils-reviews__list {
    display: flex;
    width: 100%;
    align-items: stretch;
    gap: 30px;
    overflow: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
}

.gnnh-oils-review {
    display: flex;
    height: 330px;
    flex: 0 0 calc((100% - 60px) / 3);
    min-width: 0;
    padding: 36px 34px 30px;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    border: 1px solid var(--gnn-a11y-sage, #498074);
    border-radius: 14px;
    background: #ffffff;
    color: #2d2525;
    text-align: center;
    scroll-snap-align: start;
    box-shadow: 0 10px 26px rgba(45, 37, 37, 0.06);
}

.gnnh-oils-review h3 {
    margin: 0 0 8px;
    color: #2d2525;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.2;
}

.gnnh-oils-review__stars {
    margin: 0 0 14px;
    color: #f3a600;
    font-size: 18px;
    letter-spacing: 2px;
}

.gnnh-oils-review p {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: #2d2525;
    font-size: 15px;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
}

.gnnh-oils-review time {
    display: block;
    margin-top: auto;
    padding-top: 16px;
    color: var(--gnn-a11y-muted, #776f6b);
    font-size: 12px;
}

.gnnh-oils-reviews .gnnh-carousel-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--gnn-a11y-sage, #498074);
    color: #ffffff;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background-color 180ms ease, transform 180ms ease, opacity 180ms ease;
}

.gnnh-oils-reviews .gnnh-carousel-arrow--prev {
    left: -24px;
}

.gnnh-oils-reviews .gnnh-carousel-arrow--next {
    right: -24px;
}

.gnnh-oils-reviews .gnnh-carousel-arrow:hover,
.gnnh-oils-reviews .gnnh-carousel-arrow:focus-visible {
    background: var(--gnn-a11y-sage-hover, #3d7065);
    transform: translateY(-50%) scale(1.04);
}

.gnnh-oils-reviews .gnnh-carousel-arrow:disabled {
    opacity: 0.28;
    cursor: default;
}

.gnnh-oils-story {
    padding: 86px 0 92px;
    background: #fff7ef;
}

.gnnh-oils-story__layout {
    display: flex;
    align-items: center;
    gap: 74px;
}

.gnnh-oils-story__content {
    flex: 0 1 46.5%;
}

.gnnh-oils-story__media {
    flex: 1 1 53.5%;
}

.gnnh-oils-story__content,
.gnnh-oils-story__media {
    min-width: 0;
}

.gnnh-oils-story__content {
    max-width: 720px;
}

.gnnh-oils-story h2 {
    margin: 0 0 22px;
    color: #2d2525;
    font-size: 42px;
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.1;
}

.gnnh-oils-story__text p {
    margin: 0 0 26px;
    color: #2d2525;
    font-size: 18px;
    font-weight: 450;
    line-height: 1.5;
}

.gnnh-oils-story ul {
    display: flex;
    margin: 0 0 30px;
    padding: 0;
    flex-direction: column;
    border-top: 1px solid rgba(45, 37, 37, 0.12);
    list-style: none;
}

.gnnh-oils-story li {
    position: relative;
    min-height: 64px;
    padding: 18px 0 18px 56px;
    border-bottom: 1px solid rgba(45, 37, 37, 0.12);
    color: #2d2525;
    font-size: 16px;
    line-height: 1.42;
}

.gnnh-oils-story li::before {
    position: absolute;
    top: 50%;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 28px;
    border: 1px solid var(--gnn-a11y-sage, #498074);
    border-radius: 999px;
    color: var(--gnn-a11y-sage-text, #467a6e);
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23569788' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 55%;
    font-size: 14px;
    font-weight: 500;
    transform: translateY(-50%);
}

.gnnh-oils-story li strong {
    font-weight: 600;
}

.gnnh-oils-story__media img {
    display: block;
    width: 100%;
    border-radius: 18px;
    object-fit: cover;
    box-shadow: 0 15px 34px rgba(45, 37, 37, 0.07);
}

/* FAQ is intentionally aligned with the approved homepage component. */
.gnnh-oils-faq {
    padding-top: 54px;
    padding-bottom: 78px;
    overflow-anchor: none;
}

.gnnh-oils-faq::before {
    background-image: linear-gradient(
        180deg,
        #fff7ef 0%,
        rgba(255, 247, 239, 0.92) 4%,
        rgba(255, 247, 239, 0.56) 10%,
        rgba(255, 247, 239, 0) 20%,
        rgba(255, 247, 239, 0) 82%,
        rgba(255, 247, 239, 0.58) 93%,
        #fff7ef 100%
    ), var(--gnnh-faq-background);
    background-position: center center, center center;
    background-size: 100% 100%, cover;
}

.gnnh-oils-faq .gnnh-faq__layout {
    align-items: flex-end;
    gap: 58px;
}

.gnnh-oils-faq .gnnh-faq__content h2 {
    margin-bottom: 14px;
    font-size: 42px;
    line-height: 1.2;
    white-space: nowrap;
}

.gnnh-oils-faq .gnnh-faq__content > p {
    max-width: 610px;
    margin-bottom: 24px;
    font-size: 14px;
}

.gnnh-oils-faq .gnnh-accordion {
    gap: 9px;
    min-height: 0;
}

.gnnh-oils-faq .gnnh-accordion__item > button {
    min-height: 58px;
    padding: 8px 12px 8px 19px;
    font-size: 14px;
}

.gnnh-oils-faq .gnnh-accordion__icon {
    width: 42px;
    height: 42px;
}

.gnnh-oils-faq .gnnh-accordion__panel-inner {
    padding: 0 62px 18px 19px;
}

.gnnh-oils-faq .gnnh-faq__image {
    position: relative;
    align-self: flex-end;
}

.gnnh-oils-faq .gnnh-faq__image img {
    display: block;
    width: 100%;
    max-height: 780px;
    aspect-ratio: auto;
    border-radius: 0;
    object-fit: contain;
    object-position: center bottom;
}

@media (max-width: 1200px) {
    .gnnh-oils-hero__inner {
        min-height: 600px;
    }

    .gnnh-oils-hero__content {
        flex-basis: 45%;
        padding-right: 40px;
    }

    .gnnh-oils-hero__media {
        flex-basis: 55%;
    }

    .gnnh-oils-hero h1 {
        font-size: 58px;
    }

    .gnnh-oils-benefits__layout {
        gap: 42px;
    }

    .gnnh-oils-story__layout {
        gap: 46px;
    }
}

@media (max-width: 1024px) {
    .gnnh-oils-hero__inner {
        min-height: 540px;
    }

    .gnnh-oils-hero__content,
    .gnnh-oils-hero__media {
        flex-basis: 50%;
    }

    .gnnh-oils-hero__content {
        padding: 56px 30px 56px 0;
    }

    .gnnh-oils-hero h1 {
        font-size: 50px;
    }

    .gnnh-oils-hero h2 {
        font-size: 26px;
    }

    .gnnh-oils-benefits__layout {
        gap: 30px;
        min-height: 700px;
    }

    .gnnh-oils-benefits__media {
        flex-basis: 45%;
    }

    .gnnh-oils-benefits__content {
        flex-basis: 55%;
    }

    .gnnh-oils-benefit {
        min-height: 92px;
        padding: 12px 15px;
    }

    .gnnh-oils-benefit img {
        flex-basis: 54px;
        width: 54px;
        height: 54px;
    }

    .gnnh-oils-review {
        flex-basis: calc((100% - 24px) / 2);
    }

    .gnnh-oils-reviews__list {
        gap: 24px;
    }

    .gnnh-oils-story__layout {
        gap: 34px;
    }

    .gnnh-oils-story__content,
    .gnnh-oils-story__media {
        flex-basis: 50%;
    }

    .gnnh-oils-story h2 {
        font-size: 36px;
    }
}

@media (max-width: 767px) {
    body.gnnh-oils-route .gnnh-header,
    body.gnnh-oils-route .gnnh-header.is-scrolled {
        background: #fff4eb;
    }

    .gnnh-oils-hero__inner {
        display: flex;
        min-height: 0;
        flex-direction: column;
    }

    .gnnh-oils-hero__media {
        order: 1;
        min-height: 0;
        margin-inline: -16px;
    }

    .gnnh-oils-hero__media img {
        width: 100%;
        height: auto;
        max-height: 520px;
        object-fit: cover;
        object-position: center top;
    }

    .gnnh-oils-hero__content {
        order: 2;
        width: 100%;
        max-width: none;
        padding: 30px 0 46px;
    }

    .gnnh-oils-hero h1 {
        font-size: 43px;
    }

    .gnnh-oils-hero h2 {
        margin-bottom: 18px;
        font-size: 25px;
    }

    .gnnh-oils-hero__text p {
        font-size: 14px;
        line-height: 1.45;
    }

    .gnnh-oils-hero .gnnh-button {
        width: 100%;
        justify-content: center;
    }

    .gnnh-oils-benefits {
        padding: 42px 0 50px;
    }

    .gnnh-oils-benefits__layout {
        display: flex;
        min-height: 0;
        flex-direction: column;
        gap: 24px;
    }

    .gnnh-oils-benefits__media {
        order: 1;
        width: 100%;
    }

    .gnnh-oils-benefits__media img {
        width: 100%;
        max-width: 520px;
        max-height: 600px;
    }

    .gnnh-oils-benefits__content {
        order: 2;
        width: 100%;
        padding-bottom: 0;
    }

    .gnnh-oils-benefits__heading h2 {
        font-size: 31px;
    }

    .gnnh-oils-benefits__heading p {
        font-size: 14px;
    }

    .gnnh-oils-benefit {
        min-height: 78px;
        gap: 14px;
        padding: 11px 13px;
    }

    .gnnh-oils-benefit img {
        flex-basis: 50px;
        width: 50px;
        height: 50px;
    }

    .gnnh-oils-benefit h3 {
        font-size: 15px;
    }

    .gnnh-oils-benefit p {
        font-size: 13.5px;
    }

    .gnnh-oils-benefits__action .gnnh-button {
        width: 100%;
        justify-content: center;
    }

    .gnnh-oils-reviews {
        padding: 50px 0 56px;
    }

    .gnnh-oils-reviews__heading {
        margin-bottom: 30px;
    }

    .gnnh-oils-reviews__heading h2 {
        font-size: 29px;
    }

    .gnnh-oils-reviews__list {
        gap: 16px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .gnnh-oils-reviews__list::-webkit-scrollbar {
        display: none;
    }

    .gnnh-oils-review {
        flex: 0 0 86%;
        min-height: 250px;
        padding: 28px 24px;
    }

    .gnnh-oils-reviews .gnnh-carousel-arrow {
        width: 42px;
        height: 42px;
    }

    .gnnh-oils-reviews .gnnh-carousel-arrow--prev {
        left: -8px;
    }

    .gnnh-oils-reviews .gnnh-carousel-arrow--next {
        right: -8px;
    }

    .gnnh-oils-story {
        padding: 46px 0 54px;
    }

    .gnnh-oils-story__layout {
        display: flex;
        flex-direction: column;
        gap: 28px;
    }

    .gnnh-oils-story__content {
        order: 2;
        max-width: none;
    }

    .gnnh-oils-story__media {
        order: 1;
    }

    .gnnh-oils-story h2 {
        font-size: 30px;
    }

    .gnnh-oils-story__text p {
        font-size: 14px;
    }

    .gnnh-oils-story li {
        padding-left: 52px;
        font-size: 13.5px;
    }

    .gnnh-oils-story .gnnh-button {
        width: 100%;
        justify-content: center;
    }

    .gnnh-oils-faq {
        padding-top: 42px;
        padding-bottom: 56px;
    }

    .gnnh-oils-faq .gnnh-faq__layout {
        flex-direction: column;
        align-items: stretch;
        gap: 18px;
    }

    .gnnh-oils-faq .gnnh-faq__image {
        order: 1;
        width: 100%;
    }

    .gnnh-oils-faq .gnnh-faq__content {
        order: 2;
        width: 100%;
    }

    .gnnh-oils-faq .gnnh-faq__image img {
        max-height: 430px;
    }

    .gnnh-oils-faq .gnnh-faq__content h2 {
        font-size: 28px;
        white-space: normal;
    }
}

/* 2.15.7 — final oils polish */
@media (max-width: 1200px) and (min-width: 768px) {
    .gnnh-oils-hero__media { width: 100%; }
    .gnnh-oils-hero__media::after { background: linear-gradient(90deg, #f7e8da 0%, #f7e8da 30%, rgba(247, 232, 218, 0.94) 40%, rgba(247, 232, 218, 0.6) 52%, rgba(247, 232, 218, 0) 70%); }
    .gnnh-oils-hero__content { flex-basis: 50%; padding-right: 34px; }
}

@media (max-width: 767px) {
    .gnnh-oils-hero { background: #fff4eb; }
    .gnnh-oils-hero__inner { min-height: 0; flex-direction: column; }
    .gnnh-oils-hero__media { position: relative; inset: auto; order: 1; width: calc(100% + 32px); height: auto; margin-inline: -16px; }
    .gnnh-oils-hero__media::after { background: linear-gradient(180deg, rgba(247, 232, 218, 0) 72%, #fff4eb 100%); }
    .gnnh-oils-hero__media img { position: relative; width: 100%; max-width: 100%; height: auto; max-height: none; object-fit: contain; object-position: center top; }
    .gnnh-oils-hero__content { order: 2; padding-top: 18px; }
    .gnnh-oils-benefits__media::after { height: 14%; }
    .gnnh-oils-review { height: 305px; }
    .gnnh-oils-story__text p { font-size: 15px; line-height: 1.5; }
    .gnnh-oils-story li { min-height: 58px; font-size: 14px; line-height: 1.42; }
}

/* 2.15.8 — full-bleed oils hero, softer benefits transition and compact reviews */
.gnnh-oils-hero__media { left: 50%; right: auto; width: 100vw; transform: translateX(-50%); }
.gnnh-oils-hero__media img { right: 0; width: 58vw; height: 100%; object-fit: cover; object-position: center center; }
.gnnh-oils-hero__media::after {
    background: linear-gradient(90deg, #f7e8da 0%, #f7e8da 25%, rgba(247,232,218,.98) 33%, rgba(247,232,218,.82) 42%, rgba(247,232,218,.34) 53%, rgba(247,232,218,.06) 62%, rgba(247,232,218,0) 70%);
}
.gnnh-oils-benefits__media { overflow: visible; }
.gnnh-oils-benefits__media img {
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 76%, rgba(0,0,0,.9) 83%, rgba(0,0,0,.38) 93%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 76%, rgba(0,0,0,.9) 83%, rgba(0,0,0,.38) 93%, transparent 100%);
}
.gnnh-oils-benefits__media::after { right: -10%; left: -10%; height: 25%; background: linear-gradient(180deg, rgba(107,165,148,0) 0%, rgba(107,165,148,.42) 52%, #6ba594 100%); filter: blur(4px); }
.gnnh-oils-review { height: 238px; padding: 25px 28px 22px; }
.gnnh-oils-review h3 { margin-bottom: 6px; }
.gnnh-oils-review__stars { margin-bottom: 10px; font-size: 17px; }
.gnnh-oils-review p { font-size: 14.5px; line-height: 1.4; -webkit-line-clamp: 4; }
.gnnh-oils-review time { padding-top: 10px; }
@media (max-width: 1200px) { .gnnh-oils-hero__media img { width: 60vw; } }
@media (max-width: 1024px) { .gnnh-oils-hero__media img { width: 62vw; } .gnnh-oils-review { height: 230px; } }
@media (max-width: 767px) {
    .gnnh-oils-hero__media { position: relative; top: auto; right: auto; bottom: auto; left: auto; width: calc(100% + 32px); margin-inline: -16px; transform: none; }
    .gnnh-oils-hero__media::after { background: linear-gradient(180deg, rgba(247,232,218,0) 62%, #f7e8da 100%); }
    .gnnh-oils-hero__media img { position: relative; top: auto; right: auto; width: 100%; height: auto; max-height: 500px; object-fit: cover; object-position: 58% center; }
    .gnnh-oils-benefits__media { overflow: hidden; border-radius: 0 0 24px 24px; }
    .gnnh-oils-benefits__media img { -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 78%, rgba(0,0,0,.76) 89%, transparent 100%); mask-image: linear-gradient(180deg, #000 0%, #000 78%, rgba(0,0,0,.76) 89%, transparent 100%); }
    .gnnh-oils-review { height: 226px; min-height: 0; padding: 23px 20px 20px; }
    .gnnh-oils-review p { -webkit-line-clamp: 4; }
}
@media (max-width: 430px) { .gnnh-oils-review { flex-basis: 92%; height: 218px; } .gnnh-oils-review p { font-size: 13.5px; } }

/* Hero starts behind the navigation so the image/background is continuous with the menu. */
body.gnnh-oils-route .gnnh-header {
    position: fixed;
    top: 0;
    left: 0;
    background: transparent;
    border-bottom-color: transparent;
}
body.gnnh-oils-route .gnnh-header.is-scrolled {
    background: rgba(255, 244, 235, 0.94);
    box-shadow: 0 9px 26px rgba(45, 37, 37, 0.06);
    backdrop-filter: blur(14px);
}
body.admin-bar.gnnh-oils-route .gnnh-header { top: 32px; }
.gnnh-oils-hero__inner { min-height: 780px; }
@media (max-width: 1200px) { .gnnh-oils-hero__inner { min-height: 700px; } }
@media (max-width: 1024px) { .gnnh-oils-hero__inner { min-height: 620px; } }
@media (max-width: 782px) { body.admin-bar.gnnh-oils-route .gnnh-header { top: 46px; } }
@media (max-width: 767px) {
    .gnnh-oils-hero__inner { min-height: 0; padding-top: 68px; }
    body.gnnh-oils-route .gnnh-header,
    body.gnnh-oils-route .gnnh-header.is-scrolled { background: rgba(255, 244, 235, 0.94); }
}

/* 2.15.8b — final oils page geometry. */
.gnnh-oils-hero {
    min-height: 780px;
}
.gnnh-oils-hero__inner {
    max-width: 1500px;
    min-height: 780px;
}
.gnnh-oils-hero__media {
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    transform: none;
}
.gnnh-oils-hero__media img {
    top: 0;
    right: 0;
    width: 62vw;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: 54% center;
}
.gnnh-oils-hero__media::after {
    background: linear-gradient(90deg, #f7e8da 0%, #f7e8da 29%, rgba(247,232,218,.98) 36%, rgba(247,232,218,.84) 43%, rgba(247,232,218,.45) 51%, rgba(247,232,218,.12) 60%, rgba(247,232,218,0) 69%);
}
.gnnh-oils-reviews__list {
    align-items: stretch;
}
.gnnh-oils-review {
    height: 236px;
    min-height: 236px;
    max-height: 236px;
}
.gnnh-oils-review p {
    -webkit-line-clamp: 4;
}
@media (max-width: 1200px) {
    .gnnh-oils-hero, .gnnh-oils-hero__inner { min-height: 700px; }
    .gnnh-oils-hero__media img { width: 66vw; }
}
@media (max-width: 1024px) {
    .gnnh-oils-hero, .gnnh-oils-hero__inner { min-height: 620px; }
    .gnnh-oils-hero__media img { width: 70vw; }
    .gnnh-oils-review { height: 228px; min-height: 228px; max-height: 228px; }
}
@media (max-width: 767px) {
    .gnnh-oils-hero { min-height: 0; }
    .gnnh-oils-hero__inner { min-height: 0; }
    .gnnh-oils-hero__media {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        width: calc(100% + 32px);
        margin: 0 -16px;
        transform: none;
    }
    .gnnh-oils-hero__media img {
        position: relative;
        width: 100%;
        height: auto;
        max-height: 520px;
        object-fit: cover;
        object-position: 60% center;
    }
    .gnnh-oils-review { height: 220px; min-height: 220px; max-height: 220px; }
}
@media (max-width: 430px) {
    .gnnh-oils-review { height: 214px; min-height: 214px; max-height: 214px; }
}
