/* Our Approach page - styles specific to this template.
   Shared components (page-hero, breadcrumb-nav, section-kicker, media-row,
   icon-pill-row, icon-stat-grid, care-accent, section-band-dark,
   balance-cta-section) live in assets/css/custom.css and are reused as-is. */

/* Understanding You: 4-step process row. The connecting arrow is rendered
   as ::after on the image itself (not a separate grid column/element), so
   it always stays vertically centred on the image no matter how long the
   heading or caption text below it runs. */
.oa-process-row {
    --oa-gap: clamp(46px, 8vw, 150px);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: var(--oa-gap);
    margin-top: 50px;
    text-align: center;
}
.oa-process-row__image-wrap {
    position: relative;
    display: block;
}
.oa-process-row__image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 2px;
}
.oa-process-row__item:not(:last-child) .oa-process-row__image-wrap::after {
    content: '';
    position: absolute;
    top: 0;
    right: calc(-1 * var(--oa-gap));
    width: var(--oa-gap);
    height: 100%;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 18' fill='none' stroke='%239b5533' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9h31M25 2l8 7-8 7'/%3E%3C/svg%3E") center / 36px 18px no-repeat;
}
.oa-process-row__title {
    margin: 18px 0 0;
    color: var(--color-primary);
    font-family: var(--font-secondary);
    font-size: var(--fs-h3);
    font-weight: 600;
}
.oa-process-row__sub {
    margin: 0;
    color: var(--color-secondary, #666);
    font-family: var(--font-secondary);
    font-size: var(--fs-lead);
}
.oa-process-row__caption {
    margin: 36px 0 0;
    color: var(--color-primary);
    font-family: var(--font-secondary);
    font-size: var(--fs-h4);
    font-style: italic;
    font-weight: 600;
    text-align: center;
}
@media (max-width: 991px) {
    .oa-process-row {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 40px;
    }
    .oa-process-row__item:not(:last-child) .oa-process-row__image-wrap::after {
        display: none;
    }
}
@media (max-width: 575px) {
    .oa-process-row {
        grid-template-columns: 1fr;
    }
}

/* Health Begins in Balance: circular Body / Mind / Breath diagram */
.oa-balance {
    background: #fff;
}

/* Body. Breath. Mind. - full-width image cards (outside .container), 4px
   white gaps, photo over a solid colour panel. */
.oa-triad-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    margin-top: 34px;
}
.oa-triad-grid__card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.oa-triad-grid__card img {
    display: block;
    width: 100%;
    aspect-ratio: 2.3 / 1;
    object-fit: cover;
}
.oa-triad-grid__body {
    flex: 1;
    padding: 26px 24px 30px clamp(24px, 4vw, 54px);
    color: #fff;
}
.oa-triad-grid__body h3 {
    margin: 0;
    color: #fff;
    font-family: var(--font-secondary);
    font-size: var(--fs-h3);
    font-weight: 400;
}
.oa-triad-grid__body .rule-gold {
    width: 38px;
    height: 1px;
    margin: 12px 0 16px !important;
    background: rgb(255 255 255 / 70%) !important;
}
.oa-triad-grid__body p {
    max-width: 290px;
    margin: 0;
    color: rgb(255 255 255 / 92%);
    font-size: var(--fs-body);
    line-height: 1.55;
}
.oa-triad-grid__card--green .oa-triad-grid__body {
    background: #485239;
}
.oa-triad-grid__card--rust .oa-triad-grid__body {
    background: #935639;
}
.oa-triad-grid__card--brown .oa-triad-grid__body {
    background: #4a382a;
}
@media (max-width: 767px) {
    .oa-triad-grid {
        grid-template-columns: 1fr;
    }
}

/* Your Path to Healing: numbered vertical steps */

/* Care Guided by Knowledge & Experience: tighten the 6-up band */

/* The Himalayan Touch tagline */

/* Ayurveda as a Way of Living: 4-up image grid */

/* Our Approach page layout. */
body.page-template-our-approach-page main {
    color: #3f271a;
    background: #fff;
}

body.page-template-our-approach-page .section-padding {
    padding-top: 62px;
    padding-bottom: 62px;
}
body.page-template-our-approach-page .oa-understanding,
body.page-template-our-approach-page .oa-path,
body.page-template-our-approach-page .oa-living {
    background: #fbf7ef;
}
body.page-template-our-approach-page .oa-balance,
body.page-template-our-approach-page .oa-wholeness,
body.page-template-our-approach-page .oa-guided {
    background: #fff;
}
body.page-template-our-approach-page .oa-section-heading {
    max-width: 1080px;
}
body.page-template-our-approach-page .section-title,
body.page-template-our-approach-page .section-description,
body.page-template-our-approach-page .oa-guided .section-title,
body.page-template-our-approach-page .oa-guided .section-description,
body.page-template-our-approach-page .oa-guided__item h3 {
    color: #3f271a !important;
}
/* The process row is a touch wider than the text column above it. */
body.page-template-our-approach-page .oa-process-row {
    width: min(1300px, calc(100vw - 48px));
    margin: 38px 0 0 calc(50% - min(650px, 50vw - 24px));
}
body.page-template-our-approach-page .oa-process-row__caption {
    margin-top: 22px;
}
body.page-template-our-approach-page .oa-guided {
    padding-top: 58px;
    padding-bottom: 58px;
}
body.page-template-our-approach-page .oa-guided .section-header--center {
    margin-bottom: 38px;
}
body.page-template-our-approach-page .balance-cta-section .section-title,
body.page-template-our-approach-page .balance-cta-section .section-description {
    color: #fff !important;
}

@media (max-width: 991px) {
    body.page-template-our-approach-page .section-padding {
        padding-top: 52px;
        padding-bottom: 52px;
    }
}

/* Understanding You -
   !important is needed to beat the page-wide brown text rule above. */
body.page-template-our-approach-page .oa-understanding {
    background: #fdf9f0;
}
body.page-template-our-approach-page .oa-understanding .section-kicker {
    color: #975b3a;
}
body.page-template-our-approach-page .oa-understanding .section-kicker::after {
    content: '';
    display: block;
    width: 46px;
    height: 2px;
    margin: 14px auto 0;
    background: #9a5f40;
}
body.page-template-our-approach-page .oa-understanding .section-title {
    color: #0b2e2a !important;
}
body.page-template-our-approach-page .oa-understanding .section-description {
    color: #606464 !important;
}
body.page-template-our-approach-page .oa-understanding .oa-process-row__title {
    color: #17322d;
}
body.page-template-our-approach-page .oa-understanding .rule-gold {
    background: #9a5f40;
}
body.page-template-our-approach-page .oa-understanding .oa-process-row__sub {
    color: #5c6162;
}
body.page-template-our-approach-page .oa-understanding .oa-process-row__caption {
    color: #253936;
    font-weight: 400;
}
body.page-template-our-approach-page .oa-understanding .oa-process-row__caption::before {
    content: '';
    display: block;
    width: 46px;
    height: 2px;
    margin: 0 auto 26px;
    background: #9a5f40;
}

/* Health Begins in Balance.
   Diagram geometry is a 480x450 design box expressed in %, with type in cqw
   so the whole diagram scales as one piece. */
body.page-template-our-approach-page .oa-balance {
    position: relative;
    overflow: hidden;
    background: #fefefe;
}
.oa-balance__watermark {
    position: absolute;
    bottom: -30px;
    left: -20px;
    width: 230px;
    fill: #dfe5d6;
    stroke: #cfd8c3;
    stroke-width: 1.2;
    opacity: .55;
    pointer-events: none;
}
.oa-balance__watermark path:first-child {
    fill: none;
}
.oa-balance .container {
    position: relative;
}
.oa-triad {
    container-type: inline-size;
    position: relative;
    width: 100%;
    max-width: 480px;
    aspect-ratio: 480 / 450;
    margin: 0 auto;
}
.oa-triad__ring {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #969b7c;
    stroke-width: 1.5;
}
.oa-triad__ring .oa-triad__dot {
    fill: #7c8453;
    stroke: none;
}
.oa-triad__node {
    position: absolute;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    border-radius: 50%;
    text-align: center;
}
.oa-triad__node svg {
    width: 12.5cqw;
    height: 12.5cqw;
    margin-bottom: 1.6cqw;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.oa-triad__node strong {
    font-family: var(--font-secondary);
    font-size: 3.9cqw;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}
.oa-triad__node em {
    margin-top: .6cqw;
    color: #3a4a43;
    font-size: 2.8cqw;
    font-style: normal;
}
.oa-triad__node--body {
    top: 2.67%;
    left: 33.75%;
    width: 32.5%;
    background: #dde1d0;
    color: #16332e;
}
.oa-triad__node--mind {
    top: 52.9%;
    left: .83%;
    width: 30.83%;
    background: #efddc7;
    color: #8b4619;
}
.oa-triad__node--breath {
    top: 52.9%;
    left: 68.33%;
    width: 30.83%;
    background: #e3b6a1;
    color: #8a4617;
}
.oa-triad__center {
    position: absolute;
    top: 44%;
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 40%;
    transform: translateX(-50%);
    text-align: center;
}
.oa-triad__center svg {
    width: 58%;
    fill: #c5cfb6;
    stroke: #a0ad8e;
    stroke-width: 1.2;
    stroke-linejoin: round;
}
.oa-triad__center .oa-triad__stem {
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
}
.oa-triad__center-text {
    margin-top: 2.4cqw;
    color: #26403c;
    font-family: var(--font-secondary);
    font-size: 3.75cqw;
    font-weight: 600;
    letter-spacing: .06em;
    line-height: 1.25;
    text-transform: uppercase;
}
.oa-triad__center-text::after {
    content: '';
    display: block;
    width: 9cqw;
    height: 2px;
    margin: 2.6cqw auto 0;
    background: #bc967d;
}

.oa-balance__text {
    max-width: 560px;
}
body.page-template-our-approach-page .oa-balance .section-kicker {
    color: #9e603b;
    font-size: var(--fs-xs);
    letter-spacing: 1.5px;
}
body.page-template-our-approach-page .oa-balance .section-kicker::after {
    content: '';
    display: block;
    width: 62px;
    height: 2px;
    margin: 18px 0 26px;
    background: #bb9378;
}
body.page-template-our-approach-page .oa-balance .section-title {
    margin-bottom: 22px;
    color: #0a2e2c !important;
    font-size: var(--fs-h2);
}
body.page-template-our-approach-page .oa-balance .section-description {
    color: #6b6e78 !important;
    font-size: var(--fs-lead);
    line-height: 1.6;
}
.oa-balance__lead {
    margin: 0;
    color: #394e4d;
    font-family: var(--font-secondary);
    font-size: var(--fs-h3);
    font-style: italic;
    font-weight: 400;
    line-height: 1.4;
}
.oa-balance__lead::before {
    content: '';
    display: block;
    width: 62px;
    height: 2px;
    margin: 36px 0 30px;
    background: #bb9378;
}
@media (min-width: 992px) {
    .oa-balance__text {
        /* Both rows are split 6/6, so their column edge is the page centre.
           Pull this divider back over half the gutter so it sits on that edge,
           in line with the divider in "Your Path to Healing" and with the
           centred section below. The text stays where it was. */
        margin-left: calc(var(--bs-gutter-x) * -.5);
        padding: 24px 0 24px calc(64px + var(--bs-gutter-x) * .5);
        border-left: 1px solid #d7bbaf;
    }
}
@media (max-width: 575px) {
    .oa-balance__watermark {
        width: 150px;
    }
}

/* Body. Breath. Mind. - header colours; cards run to the section
   edge so there is no bottom padding. */
body.page-template-our-approach-page .oa-wholeness {
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    background: #fdfdfd;
}
body.page-template-our-approach-page .oa-triad-grid__card {
    height: auto;
    border: 0;
    box-shadow: none;
}
body.page-template-our-approach-page .oa-wholeness .section-kicker {
    color: #a26f58;
    font-weight: 500;
}
body.page-template-our-approach-page .oa-wholeness .section-kicker::after {
    content: '';
    display: block;
    width: 42px;
    height: 1px;
    margin: 14px auto 0;
    background: #c9a493;
}
body.page-template-our-approach-page .oa-wholeness .section-title {
    color: #163f3d !important;
}
body.page-template-our-approach-page .oa-wholeness .section-description {
    color: #5f6366 !important;
}

/* Your Path to Healing. */
body.page-template-our-approach-page .oa-path {
    background: #fdfaf3;
}
body.page-template-our-approach-page .oa-path .section-kicker {
    color: #a85d3b;
    font-size: var(--fs-xs);
    letter-spacing: 1.5px;
}
body.page-template-our-approach-page .oa-path .section-kicker::after,
.oa-path__quote::before {
    content: '';
    display: block;
    width: 48px;
    height: 2px;
    margin: 26px 0 24px;
    background: #c9926f;
}
body.page-template-our-approach-page .oa-path .section-title {
    margin-bottom: 14px;
    color: #173b36 !important;
    font-size: var(--fs-h2);
    line-height: 1.12;
}
body.page-template-our-approach-page .oa-path .section-description {
    color: #55595c !important;
    font-size: var(--fs-lead);
    line-height: 1.6;
}
.oa-path__quote {
    margin: 0;
    color: #2f4a45;
    font-family: var(--font-secondary);
    font-size: var(--fs-h3);
    font-style: italic;
    line-height: 1.4;
}
.oa-path__intro {
    padding-left: clamp(0px, 6vw, 110px);
}
.oa-path-steps {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}
.oa-path-steps__item {
    position: relative;
    display: grid;
    grid-template-columns: 64px 50px 1fr;
    column-gap: 26px;
    align-items: start;
    padding-bottom: 22px;
}
.oa-path-steps__item:last-child {
    padding-bottom: 0;
}
.oa-path-steps__item:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 64px;
    bottom: 0;
    left: 31.5px;
    width: 1px;
    background: #c9b9a5;
}
.oa-path-steps__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
}
.oa-path-steps__icon svg {
    width: 40px;
    height: 40px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.oa-path-steps__item--consult .oa-path-steps__icon { background: #7d864f; }
.oa-path-steps__item--understand .oa-path-steps__icon { background: #c7a278; }
.oa-path-steps__item--personalise .oa-path-steps__icon { background: #b87153; }
.oa-path-steps__item--restore .oa-path-steps__icon { background: #706c3f; }
.oa-path-steps__item--sustain .oa-path-steps__icon { background: #ad5828; }
.oa-path-steps__num {
    padding-top: 6px;
    color: #b0623a;
    font-size: 19px;
    font-weight: 500;
    letter-spacing: 1px;
}
.oa-path-steps__text h3 {
    margin: 0 0 4px;
    color: #173b36;
    font-family: var(--font-secondary);
    font-size: var(--fs-h4);
    font-weight: 600;
}
.oa-path-steps__text p {
    margin: 0;
    color: #5f6366;
    font-size: var(--fs-small);
    line-height: 1.55;
}
@media (min-width: 992px) {
    .oa-path__steps-col {
        padding-left: 80px;
        border-left: 1px solid #d7c7b6;
    }
}
@media (max-width: 991px) {
    .oa-path__intro {
        margin-bottom: 40px;
        padding-left: 0;
    }
    .oa-path-steps__text p br {
        display: none;
    }
}
@media (max-width: 575px) {
    .oa-path-steps__item {
        grid-template-columns: 52px 34px 1fr;
        column-gap: 14px;
    }
    .oa-path-steps__icon { width: 52px; height: 52px; }
    .oa-path-steps__icon svg { width: 32px; height: 32px; }
    .oa-path-steps__item:not(:last-child)::after { top: 52px; left: 25.5px; }
}

/* Physician-Guided Care. */
body.page-template-our-approach-page .oa-guided {
    padding-top: 64px;
    padding-bottom: 64px;
    background: #fefefe;
}
body.page-template-our-approach-page .oa-guided .section-kicker {
    color: #a06245;
    font-size: var(--fs-xs);
    letter-spacing: 1.2px;
}
body.page-template-our-approach-page .oa-guided .section-kicker::after {
    content: '';
    display: block;
    width: 42px;
    height: 2px;
    margin: 14px auto 0;
    background: #c9926f;
}
body.page-template-our-approach-page .oa-guided .section-title {
    color: #0b3130 !important;
    font-size: var(--fs-h2);
}
body.page-template-our-approach-page .oa-guided .section-description {
    color: #676b73 !important;
    font-size: var(--fs-body);
    line-height: 1.6;
}
.oa-care-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
    text-align: center;
}
.oa-care-grid__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    margin-bottom: 14px;
    border-radius: 50%;
}
.oa-care-grid__icon svg {
    width: 46px;
    height: 46px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.oa-care-grid__item--therapies .oa-care-grid__icon { background: #727a55; }
.oa-care-grid__item--panchakarma .oa-care-grid__icon { background: #aa5e3a; }
.oa-care-grid__item--nutrition .oa-care-grid__icon { background: #ba9676; }
.oa-care-grid__item--lifestyle .oa-care-grid__icon { background: #b27966; }
.oa-care-grid__item--supportive .oa-care-grid__icon { background: #7f7c6b; }
.oa-care-grid__item--ongoing .oa-care-grid__icon { background: #5b3a27; }
.oa-care-grid__item h3 {
    margin: 0;
    color: #354747;
    font-family: var(--font-secondary);
    font-size: var(--fs-h4);
    font-weight: 600;
}
.oa-care-grid__item h3::after {
    content: '';
    display: block;
    width: 38px;
    height: 2px;
    margin: 10px auto 12px;
    background: #a9775c;
}
.oa-care-grid__item p {
    margin: 0;
    color: #6a6e75;
    font-size: var(--fs-small);
    line-height: 1.45;
}
@media (max-width: 1199px) {
    .oa-care-grid {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 40px;
    }
}
@media (max-width: 575px) {
    .oa-care-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .oa-care-grid__item p br {
        display: none;
    }
}
body.page-template-our-approach-page .oa-guided .section-title {
    margin-bottom: 18px;
}
body.page-template-our-approach-page .oa-guided .section-description {
    margin-bottom: 10px !important;
}
body.page-template-our-approach-page .oa-guided .section-kicker {
    margin-bottom: 18px;
}
.oa-care-grid__icon svg {
    width: 52px;
    height: 52px;
}

/* The Himalayan Touch: text only, centred in the page container. */
.oa-himalayan {
    background: #fefefe;
}
.oa-himalayan__content {
    text-align: center;
}
body.page-template-our-approach-page .oa-himalayan .section-description,
.oa-himalayan__features,
.oa-himalayan__tagline {
    margin-right: auto;
    margin-left: auto;
}
body.page-template-our-approach-page .oa-himalayan .section-kicker {
    color: #a85d3b;
    font-size: var(--fs-xs);
    letter-spacing: 1.2px;
}
body.page-template-our-approach-page .oa-himalayan .section-kicker::after {
    content: '';
    display: block;
    width: 42px;
    height: 2px;
    margin: 18px auto 20px;
    background: #c9926f;
}
body.page-template-our-approach-page .oa-himalayan .section-title {
    margin-bottom: 18px;
    color: #173b36 !important;
    font-size: var(--fs-h2);
    line-height: 1.08;
}
body.page-template-our-approach-page .oa-himalayan .section-description {
    max-width: 640px;
    color: #5f6366 !important;
    font-size: var(--fs-body);
    line-height: 1.6;
}
.oa-himalayan__features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 600px;
    margin: 34px auto 0;
    padding: 0;
    list-style: none;
    text-align: center;
}
.oa-himalayan__feature {
    padding: 0 14px;
}
.oa-himalayan__feature + .oa-himalayan__feature {
    border-left: 1px solid #dccfc2;
}
.oa-himalayan__feature svg {
    width: 44px;
    height: 44px;
    fill: none;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.oa-himalayan__feature--air svg { stroke: #6b7a45; }
.oa-himalayan__feature--healing svg { stroke: #b0623a; }
.oa-himalayan__feature--clarity svg { stroke: #6b7a45; }
.oa-himalayan__feature h3 {
    margin: 10px 0 0;
    color: #173b36;
    font-family: var(--font-secondary);
    font-size: var(--fs-lead);
    font-weight: 600;
}
.oa-himalayan__feature h3::after {
    content: '';
    display: block;
    width: 30px;
    height: 2px;
    margin: 8px auto 10px;
    background: #c9926f;
}
.oa-himalayan__feature p {
    margin: 0;
    color: #5f6366;
    font-size: var(--fs-small);
    line-height: 1.5;
}
.oa-himalayan__tagline {
    display: flex;
    align-items: center;
    gap: 18px;
    max-width: 600px;
    margin: 38px auto 0;
    color: #2f4a45;
    font-family: var(--font-secondary);
    font-size: var(--fs-h4);
    font-style: italic;
    white-space: nowrap;
}
.oa-himalayan__tagline::before,
.oa-himalayan__tagline::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #c9926f;
}
@media (max-width: 575px) {
    .oa-himalayan__features {
        grid-template-columns: 1fr;
        row-gap: 24px;
    }
    .oa-himalayan__feature + .oa-himalayan__feature {
        border-left: 0;
    }
    .oa-himalayan__tagline {
        white-space: normal;
    }
}

/* Ayurveda as a Way of Living - full-width carousel. */
body.page-template-our-approach-page .oa-living {
    position: relative;
    overflow: hidden;
    padding-right: 0;
    padding-left: 0;
    background: #f7f3ed;
}
.oa-living .container {
    position: relative;
    z-index: 1;
}
.oa-living__leaf {
    position: absolute;
    width: 200px;
    fill: #c9d2bb;
    stroke: #a9b597;
    stroke-width: 1.2;
    opacity: .6;
    pointer-events: none;
}
.oa-living__leaf path:first-child {
    fill: none;
}
.oa-living__leaf--top {
    top: -40px;
    left: -30px;
    transform: rotate(150deg);
}
.oa-living__leaf--bottom {
    right: -40px;
    bottom: -60px;
    width: 170px;
    transform: rotate(-20deg);
}
body.page-template-our-approach-page .oa-living .section-kicker {
    color: #a85d3b;
    font-size: var(--fs-xs);
    letter-spacing: 1.2px;
}
body.page-template-our-approach-page .oa-living .section-kicker::after {
    content: '';
    display: block;
    width: 42px;
    height: 2px;
    margin: 14px auto 0;
    background: #c9926f;
}
body.page-template-our-approach-page .oa-living .section-title {
    color: #1d4a44 !important;
    font-size: var(--fs-h2);
}
body.page-template-our-approach-page .oa-living .section-description {
    color: #5f6366 !important;
    font-size: var(--fs-body);
    line-height: 1.65;
}
.ui-carousel.oa-living-carousel {
    --per-view: 3;
    --gap: 8px;
    margin-top: 30px;
}
.oa-living-card {
    margin: 0;
    text-align: center;
}
.oa-living-card img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
.oa-living-card figcaption {
    margin-top: 18px;
    color: #2b3a37;
    font-size: var(--fs-small);
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
}
.oa-living-card figcaption::after {
    content: '';
    display: block;
    width: 34px;
    height: 2px;
    margin: 12px auto 0;
    background: #c9926f;
}
.oa-living .ui-carousel__progress {
    margin-top: 28px;
}
.oa-living__quote {
    margin: 30px 0 0;
    color: #1d4a44;
    font-family: var(--font-secondary);
    font-size: var(--fs-h4);
    font-style: italic;
    text-align: center;
}
.oa-living__quote::after {
    content: '';
    display: block;
    width: 42px;
    height: 2px;
    margin: 22px auto 0;
    background: #c9926f;
}
@media (max-width: 991px) {
    .ui-carousel.oa-living-carousel {
        --per-view: 2;
    }
}
@media (max-width: 575px) {
    .ui-carousel.oa-living-carousel {
        --per-view: 1;
        --gap: 0px;
    }
    .oa-living__leaf {
        width: 130px;
    }
}
