/* Premium typography — safe when CSS is loaded from the site root */
@import url("https://fonts.googleapis.com/css2?family=Marcellus&family=Poppins:wght@400;500;600;700&display=swap");

/* ============================================================
   KAP3 — KERALA AYURVEDA PACKAGES
   FLATSOME SAFE — COMPLETE CORRECTED CSS
   ============================================================ */

.kap3,
.kap3 * {
    box-sizing: border-box;
}

.kap3 {
    --kap-green: #173d32;
    --kap-deep: #0c2b22;
    --kap-gold: #b08d57;
    --kap-gold2: #dfc18d;
    --kap-cream: #f7f3ea;
    --kap-white: #ffffff;
    --kap-text: #294139;
    --kap-muted: #718078;

    width: 100%;
    max-width: 100%;
    overflow: hidden;
    background: #ffffff;
    color: var(--kap-text);
    font-family: "Poppins", Arial, sans-serif;
}

.kap3 a {
    text-decoration: none !important;
}

.kap3 img {
    max-width: 100%;
}

.kap3 h1,
.kap3 h2,
.kap3 h3,
.kap3 h4,
.kap3 p {
    margin-top: 0;
}

.kap3-wrap {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */

.kap3-eyebrow {
    color: var(--kap-gold2) !important;
    font: 700 11px/1.3 "Poppins", Arial, sans-serif !important;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.kap3-eyebrow--dark {
    color: var(--kap-gold) !important;
}

.kap3-heading {
    display: grid;
    grid-template-columns: 1fr 0.7fr;
    gap: 60px;
    align-items: end;
    margin: 0 0 42px;
}

.kap3-heading--center {
    display: block;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.kap3-heading h2,
.kap3-copy h2,
.kap3-final h2 {
    color: var(--kap-green) !important;
    font: 400 50px/1.12 "Marcellus", Georgia, serif !important;
    margin: 8px 0 14px !important;
}

.kap3-heading h2 em,
.kap3-copy h2 em,
.kap3-final h2 em {
    color: var(--kap-gold) !important;
    font-style: normal;
}

.kap3-heading p,
.kap3-copy p {
    color: var(--kap-muted) !important;
    font: 400 14px/1.85 "Poppins", Arial, sans-serif !important;
    margin: 0 !important;
}

.kap3-heading > p {
    max-width: 470px;
}

/* ============================================================
   BUTTONS
   ============================================================ */

.kap3-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.kap3-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px;
    padding: 13px 22px !important;
    border-radius: 50px !important;
    font: 700 12px/1.25 "Poppins", Arial, sans-serif !important;
    transition: all 0.25s ease !important;
}

.kap3-btn--gold {
    background: var(--kap-gold) !important;
    color: #ffffff !important;
    border: 1px solid var(--kap-gold) !important;
}

.kap3-btn--gold:hover {
    background: #92703f !important;
    border-color: #92703f !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}

.kap3-btn--light {
    background: transparent !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.5) !important;
}

.kap3-btn--light:hover {
    background: #ffffff !important;
    color: var(--kap-green) !important;
    border-color: #ffffff !important;
}

/* ============================================================
   HERO
   ============================================================ */

.kap3-hero {
    position: relative;
    min-height: 690px;
    display: flex;
    align-items: center;
    background: var(--kap-deep);
}

.kap3-hero__image,
.kap3-hero__shade,
.kap3-final__image,
.kap3-final__shade {
    position: absolute;
    inset: 0;
}

.kap3-hero__image {
    background:
        url("https://images.unsplash.com/photo-1544161515-4ab6ce6db874?auto=format&fit=crop&w=2000&q=85")
        center center / cover no-repeat;
}

.kap3-hero__shade {
    background:
        linear-gradient(
            90deg,
            rgba(5,28,21,.94) 0%,
            rgba(5,28,21,.72) 48%,
            rgba(5,28,21,.18) 100%
        );
}

.kap3-hero__content {
    position: relative;
    z-index: 2;
    min-height: 690px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.kap3-hero__copy {
    max-width: 700px;
}

.kap3-hero h1 {
    color: #ffffff !important;
    font: 400 72px/1.02 "Marcellus", Georgia, serif !important;
    margin: 13px 0 20px !important;
}

.kap3-hero h1 span {
    color: var(--kap-gold2) !important;
}

.kap3-hero__copy > p {
    max-width: 650px;
    color: rgba(255,255,255,.78) !important;
    font: 400 15px/1.85 "Poppins", Arial, sans-serif !important;
    margin: 0 0 26px !important;
}

.kap3-hero__card {
    flex: 0 0 235px;
    padding: 25px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 20px;
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(8px);
}

.kap3-hero__card-mark {
    display: block;
    color: var(--kap-gold2);
    font-size: 20px;
    margin-bottom: 14px;
}

.kap3-hero__card strong {
    display: block;
    color: #ffffff;
    font: 400 23px/1.25 "Marcellus", Georgia, serif;
}

.kap3-hero__card small {
    display: block;
    color: rgba(255,255,255,.6);
    font: 400 10px/1.65 "Poppins", Arial, sans-serif;
    margin-top: 10px;
}

/* ============================================================
   GENERAL SECTIONS
   ============================================================ */

.kap3-section {
    padding: 100px 0;
}

.kap3-intro,
.kap3-listings,
.kap3-faq {
    background: #ffffff;
}

.kap3-trending,
.kap3-destinations,
.kap3-pillars {
    background: var(--kap-cream);
}

.kap3-duration,
.kap3-treatments {
    background: var(--kap-green);
}

/* ============================================================
   INTRO
   ============================================================ */

.kap3-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}

.kap3-photo {
    min-height: 500px;
    border-radius: 24px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.kap3-photo--kerala {
    background-image:
        url("https://images.unsplash.com/photo-1602216056096-3b40cc0c9944?auto=format&fit=crop&w=1100&q=85");
}

.kap3-copy h2 {
    font-size: 50px !important;
}

.kap3-copy p {
    margin-bottom: 14px !important;
}

.kap3-checks {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 25px;
    padding-top: 22px;
    border-top: 1px solid #e6e0d6;
}

.kap3-checks span {
    color: var(--kap-green);
    font: 600 11px/1.55 "Poppins", Arial, sans-serif;
}

/* ============================================================
   TRENDING
   ============================================================ */

.kap3-trending-grid {
    display: grid;
    grid-template-columns: 1.35fr .825fr .825fr;
    grid-template-rows: 260px 260px;
    gap: 15px;
}

.kap3-feature,
.kap3-mini {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    display: flex;
    align-items: flex-end;
    min-width: 0;
}

.kap3-feature {
    grid-row: 1 / 3;
}

.kap3-feature__bg,
.kap3-mini__bg {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    transition: transform .5s ease;
}

.kap3-feature:hover .kap3-feature__bg,
.kap3-mini:hover .kap3-mini__bg {
    transform: scale(1.05);
}

.kap3-feature__shade,
.kap3-mini__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            0deg,
            rgba(5,28,21,.94),
            rgba(5,28,21,.05) 75%
        );
}

.kap3-bg-rejuv {
    background-image:
        url("https://images.unsplash.com/photo-1544161515-4ab6ce6db874?auto=format&fit=crop&w=1200&q=85");
}

.kap3-bg-panch {
    background-image:
        url("https://images.unsplash.com/photo-1552693673-1bf958298935?auto=format&fit=crop&w=900&q=85");
}

.kap3-bg-stress {
    background-image:
        url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=900&q=85");
}

.kap3-bg-weight {
    background-image:
        url("https://images.unsplash.com/photo-1518611012118-696072aa579a?auto=format&fit=crop&w=900&q=85");
}

.kap3-bg-wellness {
    background-image:
        url("https://images.unsplash.com/photo-1506126613408-eca07ce68773?auto=format&fit=crop&w=900&q=85");
}

.kap3-cardcopy {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 24px;
}

.kap3-cardcopy span {
    display: block;
    color: var(--kap-gold2) !important;
    font: 700 10px/1.3 "Poppins", Arial, sans-serif !important;
    letter-spacing: 1.5px;
    margin-bottom: 7px;
}

.kap3-cardcopy h3 {
    color: #ffffff !important;
    font: 400 26px/1.15 "Marcellus", Georgia, serif !important;
    margin: 0 0 7px !important;
}

.kap3-feature .kap3-cardcopy h3 {
    font-size: 50px !important;
}

.kap3-cardcopy p {
    color: rgba(255,255,255,.7) !important;
    font: 400 12px/1.65 "Poppins", Arial, sans-serif !important;
    margin: 0 0 9px !important;
}

.kap3-cardcopy b {
    color: var(--kap-gold2) !important;
    font: 700 11px/1.3 "Poppins", Arial, sans-serif !important;
}

/* ============================================================
   DURATION
   ============================================================ */

.kap3-duration .kap3-heading h2 {
    color: #ffffff !important;
}

.kap3-duration .kap3-heading h2 em {
    color: var(--kap-gold2) !important;
}

.kap3-duration-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.kap3-duration-grid > a {
    min-height: 235px;
    padding: 24px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 18px;
    background: rgba(255,255,255,.035);
    transition: all .25s ease;
}

.kap3-duration-grid > a:hover,
.kap3-duration-grid > .kap3-duration--featured {
    background: #f7f3ea;
    transform: translateY(-4px);
}

.kap3-duration-grid strong {
    display: block;
    color: #ffffff;
    font: 400 50px/1 "Marcellus", Georgia, serif;
}

.kap3-duration-grid span {
    display: block;
    color: var(--kap-gold2);
    font: 700 10px/1.3 "Poppins", Arial, sans-serif;
    letter-spacing: 1px;
    margin: 5px 0 22px;
}

.kap3-duration-grid b {
    display: block;
    color: #ffffff;
    font: 400 21px/1.25 "Marcellus", Georgia, serif;
}

.kap3-duration-grid small {
    display: block;
    color: rgba(255,255,255,.58);
    font: 400 11px/1.65 "Poppins", Arial, sans-serif;
    margin-top: 8px;
}

.kap3-duration-grid > a:hover strong,
.kap3-duration-grid > .kap3-duration--featured strong {
    color: var(--kap-green);
}

.kap3-duration-grid > a:hover b,
.kap3-duration-grid > .kap3-duration--featured b {
    color: var(--kap-green);
}

.kap3-duration-grid > a:hover small,
.kap3-duration-grid > .kap3-duration--featured small {
    color: var(--kap-muted);
}

.kap3-duration-grid > a:hover span,
.kap3-duration-grid > .kap3-duration--featured span {
    color: var(--kap-gold);
}

/* ============================================================
   PACKAGE LISTINGS
   ============================================================ */

.kap3-list-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.kap3-list-card {
    position: relative;
    overflow: hidden;
    border: 1px solid #e9e3d9;
    border-radius: 18px;
    background: #ffffff;
    transition: all .3s ease;
}

.kap3-list-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(20,55,43,.1);
}

/* All package images */
.kap3-list-image {
    position: relative;
    width: 100%;
    height: 225px;
    overflow: hidden;
    background-color: #e8e1d4;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

/* ============================================================
   MARARI
   ============================================================ */

.kap3-list-marari {
    background-image:
        url("https://images.unsplash.com/photo-1602216056096-3b40cc0c9944?auto=format&fit=crop&w=900&q=85");
}

/* ============================================================
   UDAY SAMUDRA
   ============================================================ */

.kap3-list-uday {
    background-image:
        url("https://images.unsplash.com/photo-1518509562904-e7ef99cdcc86?auto=format&fit=crop&w=900&q=85");
}

/* ============================================================
   ISOLA DI COCCO
   ============================================================ */

.kap3-list-isola {
    background-image:
        url("https://images.unsplash.com/photo-1540541338287-41700207dee6?auto=format&fit=crop&w=900&q=85");
}

/* ============================================================
   KALARI KOVILAKOM
   ============================================================ */

/*
 IMPORTANT:
 Replace ONLY the URL below with the exact File URL of the
 existing Kalari Kovilakom image from:

 WordPress > Media > Library > Kalari Kovilakom > File URL

 Do NOT use the previous generic Unsplash image.
*/

.kap3-list-kalari {
    background-image:
        url("PASTE-YOUR-ACTUAL-KALARI-KOVILAKOM-IMAGE-URL-HERE") !important;

    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-color: #d8d0c2 !important;
}

/*
 Keep Kalari image correctly framed.
*/
.kap3-list-card.kap3-kalari-card .kap3-list-image {
    background-position: center center !important;
    background-size: cover !important;
}

/* ============================================================
   SOMATHEERAM
   ============================================================ */

.kap3-list-soma {
    background-image:
        url("https://images.unsplash.com/photo-1506126613408-eca07ce68773?auto=format&fit=crop&w=900&q=85");
}

/* ============================================================
   RIVER RETREAT
   ============================================================ */

.kap3-list-river {
    background-image:
        url("https://images.unsplash.com/photo-1564501049412-61c2a3083791?auto=format&fit=crop&w=900&q=85");
}

/* ============================================================
   IMAGE HOVER
   ============================================================ */

.kap3-list-card .kap3-list-image {
    transition:
        transform .5s ease,
        background-size .5s ease,
        background-position .5s ease;
}

.kap3-list-card:hover .kap3-list-image {
    background-size: 105% !important;
}

/* Don't zoom Kalari too much */
.kap3-list-card.kap3-kalari-card:hover .kap3-list-image {
    background-size: cover !important;
}

/* ============================================================
   PACKAGE CARD CONTENT
   ============================================================ */

.kap3-list-body {
    padding: 22px;
}

.kap3-list-body span {
    display: block;
    color: var(--kap-gold);
    font: 700 10px/1.3 "Poppins", Arial, sans-serif;
    letter-spacing: 1px;
    margin-bottom: 6px;
}

.kap3-list-body h3 {
    color: var(--kap-green) !important;
    font:  400 22px/1.25 "Marcellus", Georgia, serif !important;
    margin: 0 0 8px !important;
}

.kap3-list-body p {
    min-height: 42px;
    color: var(--kap-muted) !important;
    font:  400 12px/1.7 "Poppins", Arial, sans-serif !important;
    margin: 0 0 10px !important;
}

.kap3-list-body b {
    color: var(--kap-green) !important;
    font: 700 11px/1.3 "Poppins", Arial, sans-serif !important;
}

.kap3-center {
    text-align: center;
    margin-top: 30px;
}

.kap3-pill {
    display: inline-flex;
    padding: 13px 22px;
    border-radius: 50px;
    background: var(--kap-green);
    color: #ffffff !important;
    font: 700 11px/1.25 "Poppins", Arial, sans-serif !important;
}

/* ============================================================
   DESTINATIONS
   ============================================================ */

.kap3-dest-grid {
    display: grid;
    grid-template-columns: 1.35fr .825fr .825fr;
    grid-template-rows: 230px 230px;
    gap: 15px;
}

.kap3-dest {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-width: 0;
    padding: 24px;
    border-radius: 20px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.kap3-dest--large {
    grid-row: 1 / 3;
}

.kap3-dest:after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            0deg,
            rgba(5,28,21,.92),
            rgba(5,28,21,.05) 72%
        );
}

.kap3-dest > * {
    position: relative;
    z-index: 2;
}

.kap3-dest span {
    color: var(--kap-gold2);
    font: 800 8px/1.2 Poppins, Arial, sans-serif;
    letter-spacing: 1.5px;
}

.kap3-dest h3 {
    color: #ffffff !important;
    font: 400 31px/1.1 "Marcellus", Georgia, serif !important;
    margin: 6px 0 !important;
}

.kap3-dest b {
    color: var(--kap-gold2) !important;
    font: 700 10px/1.25 "Poppins", Arial, sans-serif;
}

.kap3-dest-alleppey {
    background-image:
        url("https://images.unsplash.com/photo-1602216056096-3b40cc0c9944?auto=format&fit=crop&w=1200&q=85");
}

.kap3-dest-kovalam {
    background-image:
        url("https://images.unsplash.com/photo-1518509562904-e7ef99cdcc86?auto=format&fit=crop&w=900&q=85");
}

.kap3-dest-munnar {
    background-image:
        url("https://images.unsplash.com/photo-1605649487212-47bdab064df7?auto=format&fit=crop&w=900&q=85");
}

.kap3-dest-kochi {
    background-image:
        url("https://images.unsplash.com/photo-1593693411515-c20261bcad6e?auto=format&fit=crop&w=900&q=85");
}

.kap3-dest-thekkady {
    background-image:
        url("https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=900&q=85");
}

/* ============================================================
   TREATMENTS
   ============================================================ */

.kap3-treatments .kap3-heading h2,
.kap3-treatments .kap3-heading p {
    color: #ffffff !important;
}

.kap3-treatments .kap3-heading h2 em {
    color: var(--kap-gold2) !important;
}

.kap3-treatment-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 28px;
}

.kap3-treatment-main {
    position: relative;
    min-height: 510px;
    overflow: hidden;
    border-radius: 22px;
    display: flex;
    align-items: flex-end;
}

.kap3-treatment-main__image {
    position: absolute;
    inset: 0;
    background:
        url("https://images.unsplash.com/photo-1544161515-4ab6ce6db874?auto=format&fit=crop&w=1000&q=85")
        center / cover no-repeat;
}

.kap3-treatment-main__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            0deg,
            rgba(5,28,21,.95),
            rgba(5,28,21,.05) 70%
        );
}

.kap3-treatment-main__copy {
    position: relative;
    z-index: 2;
    padding: 30px;
}

.kap3-treatment-main__copy span {
    color: var(--kap-gold2);
    font: 800 8px/1.2 Poppins, Arial, sans-serif;
    letter-spacing: 1.5px;
}

.kap3-treatment-main__copy h3 {
    color: #ffffff !important;
    font: 400 38px/1.1 "Marcellus", Georgia, serif !important;
    margin: 8px 0 !important;
}

.kap3-treatment-main__copy p {
    color: rgba(255,255,255,.7) !important;
    font: 400 13px/1.75 "Poppins", Arial, sans-serif !important;
    margin: 0 !important;
}

.kap3-treatment-items {
    display: flex;
    flex-direction: column;
}

.kap3-treatment-items a {
    display: grid;
    grid-template-columns: 45px 1fr 30px;
    align-items: center;
    gap: 15px;
    padding: 19px 0;
    border-top: 1px solid rgba(255,255,255,.14);
}

.kap3-treatment-items a:last-child {
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.kap3-treatment-items > a > span {
    color: var(--kap-gold2);
    font: 400 18px/1 "Marcellus", Georgia, serif;
}

.kap3-treatment-items b {
    display: block;
    color: #ffffff;
    font: 400 23px/1.25 "Marcellus", Georgia, serif;
}

.kap3-treatment-items small {
    display: block;
    color: rgba(255,255,255,.56);
    font: 400 11px/1.6 "Poppins", Arial, sans-serif;
    margin-top: 4px;
}

.kap3-treatment-items i {
    width: 30px;
    height: 30px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--kap-gold2);
    font-style: normal;
}

/* ============================================================
   PILLARS
   ============================================================ */

.kap3-pillar-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.kap3-pillar-grid > a {
    padding: 30px;
    border: 1px solid #e6dfd3;
    border-radius: 19px;
    background: #ffffff;
    transition: all .25s ease;
}

.kap3-pillar-grid > a:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 35px rgba(20,55,43,.09);
}

.kap3-pillar-grid span {
    color: var(--kap-gold);
    font: 700 10px/1.25 "Poppins", Arial, sans-serif;
}

.kap3-pillar-grid strong {
    display: block;
    color: var(--kap-green);
    font: 400 29px/1.2 "Marcellus", Georgia, serif;
    margin: 7px 0;
}

.kap3-pillar-grid p {
    color: var(--kap-muted);
    font: 400 12px/1.75 "Poppins", Arial, sans-serif;
    margin: 0 0 13px;
}

.kap3-pillar-grid b {
    color: var(--kap-green);
    font: 800 10px/1.2 Poppins, Arial, sans-serif;
}

/* ============================================================
   FAQ
   ============================================================ */

.kap3-faq-wrap {
    max-width: 980px;
}

.kap3-faq-list {
    border-top: 1px solid #ded8cd;
}

.kap3-faq-list details {
    border-bottom: 1px solid #ded8cd;
}

.kap3-faq-list summary {
    position: relative;
    list-style: none;
    cursor: pointer;
    padding: 21px 42px 21px 2px;
    color: var(--kap-green);
    font: 400 20px/1.45 "Marcellus", Georgia, serif;
}

.kap3-faq-list summary::-webkit-details-marker {
    display: none;
}

.kap3-faq-list summary:after {
    content: "+";
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border: 1px solid #d8d1c4;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font: 400 18px/1 Arial, sans-serif;
}

.kap3-faq-list details[open] summary {
    color: var(--kap-gold);
}

.kap3-faq-list details[open] summary:after {
    content: "−";
    background: var(--kap-green);
    border-color: var(--kap-green);
    color: #ffffff;
}

.kap3-faq-list details p {
    padding: 0 45px 22px 2px !important;
    color: var(--kap-muted) !important;
    font: 400 13px/1.85 "Poppins", Arial, sans-serif !important;
    margin: 0 !important;
}

/* ============================================================
   FINAL CTA
   ============================================================ */

.kap3-final {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
    text-align: center;
    background: var(--kap-deep);
}

.kap3-final__image {
    background:
        url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=1800&q=85")
        center / cover no-repeat;
}

.kap3-final__shade {
    background: rgba(5,30,23,.82);
}

.kap3-final__content {
    position: relative;
    z-index: 2;
}

.kap3-final h2 {
    color: #ffffff !important;
    font-size: 64px !important;
}

.kap3-final h2 em {
    color: var(--kap-gold2) !important;
}

.kap3-final p {
    max-width: 610px;
    margin: 0 auto 24px !important;
    color: rgba(255,255,255,.72) !important;
    font: 400 14px/1.85 "Poppins", Arial, sans-serif !important;
}

.kap3-actions--center {
    justify-content: center;
}

/* ============================================================
   FINAL TYPOGRAPHY + SPACING POLISH
   ============================================================ */

.kap3 .kap3-eyebrow {
    font-size: 11px !important;
    letter-spacing: 2.4px !important;
}

.kap3 .kap3-heading h2,
.kap3 .kap3-copy h2 {
    font-size: 50px !important;
    line-height: 1.12 !important;
    letter-spacing: -.25px;
}

.kap3 .kap3-heading p,
.kap3 .kap3-copy p {
    font-size: 14px !important;
    line-height: 1.85 !important;
}

.kap3 .kap3-hero h1 {
    font-size: 72px !important;
    line-height: 1.03 !important;
    letter-spacing: -.5px;
}

.kap3 .kap3-hero__copy > p {
    font-size: 15px !important;
    line-height: 1.85 !important;
}

.kap3 .kap3-cardcopy h3 {
    font-size: 26px !important;
    line-height: 1.18 !important;
}

.kap3 .kap3-feature .kap3-cardcopy h3 {
    font-size: 40px !important;
}

.kap3 .kap3-cardcopy p {
    font-size: 12px !important;
    line-height: 1.7 !important;
}

.kap3 .kap3-duration-grid strong {
    font-size: 50px;
}

.kap3 .kap3-duration-grid b {
    font-size: 21px;
}

.kap3 .kap3-duration-grid small {
    font-size: 11px;
    line-height: 1.7;
}

.kap3 .kap3-list-body h3 {
    font-size: 22px !important;
    line-height: 1.25 !important;
}

.kap3 .kap3-list-body p {
    font-size: 12px !important;
    line-height: 1.7 !important;
}

.kap3 .kap3-list-body b {
    font-size: 11px !important;
}

.kap3 .kap3-dest h3 {
    font-size: 31px !important;
}

.kap3 .kap3-treatment-main__copy h3 {
    font-size: 38px !important;
}

.kap3 .kap3-treatment-main__copy p {
    font-size: 13px !important;
    line-height: 1.75 !important;
}

.kap3 .kap3-treatment-items b {
    font-size: 23px;
}

.kap3 .kap3-treatment-items small {
    font-size: 11px;
    line-height: 1.6;
}

.kap3 .kap3-pillar-grid strong {
    font-size: 29px;
}

.kap3 .kap3-pillar-grid p {
    font-size: 12px;
    line-height: 1.75;
}

.kap3 .kap3-faq-list summary {
    font-size: 20px;
    line-height: 1.45;
}

.kap3 .kap3-faq-list details p {
    font-size: 13px !important;
    line-height: 1.85 !important;
}

.kap3 .kap3-final h2 {
    font-size: 64px !important;
    line-height: 1.08 !important;
}

.kap3 .kap3-final p {
    font-size: 14px !important;
    line-height: 1.85 !important;
}

.kap3 .kap3-btn {
    min-height: 50px;
    padding: 14px 25px !important;
    font-size: 12px !important;
    letter-spacing: .15px;
}

/* Remove artificial image zoom that can make cards look blurry */
.kap3 .kap3-list-card .kap3-list-image {
    transition: transform .35s ease, background-position .35s ease;
}

.kap3 .kap3-list-card:hover .kap3-list-image {
    background-size: cover !important;
    transform: scale(1.015);
}

.kap3 .kap3-list-card.kap3-kalari-card:hover .kap3-list-image {
    background-size: cover !important;
    transform: scale(1.01);
}

/* ============================================================ */

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .kap3-hero h1 {
        font-size: 46px !important;
    }

    .kap3-hero__card {
        display: none;
    }

    .kap3-two {
        gap: 40px;
    }

    .kap3-heading {
        grid-template-columns: 1fr .8fr;
        gap: 35px;
    }

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

    .kap3-duration-grid {
        grid-template-columns: 1fr 1fr;
    }

    .kap3-trending-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 320px 220px 220px;
    }

    .kap3-feature {
        grid-column: 1 / 3;
        grid-row: auto;
    }

    .kap3-dest-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 280px 220px 220px;
    }

    .kap3-dest--large {
        grid-column: 1 / 3;
        grid-row: auto;
    }

    .kap3-treatment-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 650px) {

    .kap3-wrap {
        padding-left: 15px;
        padding-right: 15px;
    }

    .kap3-section {
        padding: 60px 0;
    }

    .kap3-hero,
    .kap3-hero__content {
        min-height: 650px;
    }

    .kap3-hero__image {
        background-position: 55% center;
    }

    .kap3-hero__shade {
        background:
            linear-gradient(
                180deg,
                rgba(5,28,21,.62),
                rgba(5,28,21,.94)
            );
    }

    .kap3-hero h1 {
        font-size: 46px !important;
    }

    .kap3-hero__copy > p {
        font-size: 13px !important;
    }

    .kap3-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .kap3-btn {
        width: 100%;
    }

    .kap3-heading {
        display: block;
        text-align: center;
        margin-bottom: 32px;
    }

    .kap3-heading h2,
    .kap3-copy h2 {
        font-size: 37px !important;
    }

    .kap3-heading > p {
        margin: 14px auto 0 !important;
    }

    .kap3-two {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .kap3-photo {
        min-height: 350px;
    }

    .kap3-checks {
        grid-template-columns: 1fr;
    }

    /* Trending */
    .kap3-trending-grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .kap3-feature {
        grid-column: auto;
        min-height: 380px;
    }

    .kap3-mini {
        min-height: 250px;
    }

    .kap3-feature .kap3-cardcopy h3 {
        font-size: 31px !important;
    }

    /* Duration */
    .kap3-duration-grid {
        grid-template-columns: 1fr;
    }

    .kap3-duration-grid > a {
        min-height: 200px;
    }

    /* Package cards */
    .kap3-list-grid {
        grid-template-columns: 1fr;
    }

    .kap3-list-image {
        height: 220px;
    }

    /* Kalari mobile */
    .kap3-list-card.kap3-kalari-card .kap3-list-image {
        height: 220px !important;
        background-position: center center !important;
        background-size: cover !important;
    }

    /* Destinations */
    .kap3-dest-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .kap3-dest,
    .kap3-dest--large {
        grid-column: auto;
        grid-row: auto;
        min-height: 280px;
    }

    /* Treatments */
    .kap3-treatment-main {
        min-height: 370px;
    }

    .kap3-treatment-items > a {
        grid-template-columns: 35px 1fr 30px;
        gap: 9px;
    }

    .kap3-treatment-items b {
        font-size: 18px;
    }

    /* Pillars */
    .kap3-pillar-grid {
        grid-template-columns: 1fr;
    }

    /* FAQ */
    .kap3-faq-list summary {
        font-size: 16px;
        padding-right: 40px;
    }

    /* Final */
    .kap3-final {
        min-height: 480px;
    }

    .kap3-final h2 {
        font-size: 43px !important;
    }

    .kap3-final p {
        font-size: 12px !important;
    }
}

/* ============================================================
   RESPONSIVE TYPOGRAPHY POLISH
   ============================================================ */

@media (max-width: 1000px) {
    .kap3 .kap3-hero h1 {
        font-size: 56px !important;
    }

    .kap3 .kap3-heading h2,
    .kap3 .kap3-copy h2 {
        font-size: 43px !important;
    }

    .kap3 .kap3-feature .kap3-cardcopy h3 {
        font-size: 36px !important;
    }

    .kap3 .kap3-list-body h3 {
        font-size: 21px !important;
    }

    .kap3 .kap3-section {
        padding: 85px 0;
    }
}

@media (max-width: 650px) {
    .kap3 .kap3-wrap {
        padding-left: 18px;
        padding-right: 18px;
    }

    .kap3 .kap3-section {
        padding: 68px 0;
    }

    .kap3 .kap3-hero h1 {
        font-size: 45px !important;
        line-height: 1.04 !important;
    }

    .kap3 .kap3-hero__copy > p {
        font-size: 14px !important;
        line-height: 1.8 !important;
    }

    .kap3 .kap3-heading h2,
    .kap3 .kap3-copy h2 {
        font-size: 37px !important;
        line-height: 1.13 !important;
    }

    .kap3 .kap3-heading p,
    .kap3 .kap3-copy p {
        font-size: 13px !important;
        line-height: 1.8 !important;
    }

    .kap3 .kap3-feature .kap3-cardcopy h3 {
        font-size: 34px !important;
    }

    .kap3 .kap3-cardcopy h3 {
        font-size: 25px !important;
    }

    .kap3 .kap3-cardcopy p {
        font-size: 12px !important;
    }

    .kap3 .kap3-duration-grid strong {
        font-size: 46px;
    }

    .kap3 .kap3-duration-grid b {
        font-size: 20px;
    }

    .kap3 .kap3-duration-grid small {
        font-size: 11px;
    }

    .kap3 .kap3-list-image {
        height: 220px;
    }

    .kap3 .kap3-list-body {
        padding: 22px;
    }

    .kap3 .kap3-list-body h3 {
        font-size: 22px !important;
    }

    .kap3 .kap3-list-body p {
        font-size: 12px !important;
        min-height: 0;
    }

    .kap3 .kap3-dest h3 {
        font-size: 29px !important;
    }

    .kap3 .kap3-treatment-main__copy h3 {
        font-size: 34px !important;
    }

    .kap3 .kap3-treatment-items b {
        font-size: 20px;
    }

    .kap3 .kap3-pillar-grid strong {
        font-size: 27px;
    }

    .kap3 .kap3-faq-list summary {
        font-size: 18px;
    }

    .kap3 .kap3-faq-list details p {
        font-size: 12px !important;
    }

    .kap3 .kap3-final h2 {
        font-size: 44px !important;
    }

    .kap3 .kap3-final p {
        font-size: 13px !important;
    }

    .kap3 .kap3-btn {
        min-height: 52px;
        font-size: 12px !important;
    }

    /* Kalari — mobile */
    .kap3 .kap3-list-card.kap3-kalari-card .kap3-list-image {
        height: 220px !important;
        background-position: center center !important;
        background-size: cover !important;
    }
}

/* ============================================================
   SMALL MOBILE
   ============================================================ */

@media (max-width: 380px) {

    .kap3-hero h1 {
        font-size: 46px !important;
    }

    .kap3-final h2 {
        font-size: 43px !important;
    }

    .kap3-list-image {
        height: 200px;
    }
}

/* ============================================================
   KAP3 — READABILITY / RESPONSIVE TYPOGRAPHY PATCH
   Append after all previous KAP3 CSS.
   ============================================================ */

.kap3{
  -webkit-text-size-adjust:100%;
  text-rendering:optimizeLegibility;
}

/* Desktop */
.kap3 .kap3-eyebrow{
  font-size:12px !important;
  letter-spacing:2.2px !important;
}

.kap3 .kap3-heading h2,
.kap3 .kap3-copy h2{
  font-size:50px !important;
  line-height:1.12 !important;
}

.kap3 .kap3-heading p,
.kap3 .kap3-copy p{
  font-size:15px !important;
  line-height:1.85 !important;
}

.kap3 .kap3-hero h1{
  font-size:72px !important;
  line-height:1.04 !important;
}

.kap3 .kap3-hero__copy > p{
  font-size:16px !important;
  line-height:1.85 !important;
}

.kap3 .kap3-btn{
  min-height:50px !important;
  padding:15px 25px !important;
  font-size:13px !important;
}

.kap3 .kap3-cardcopy{
  padding:28px !important;
}

.kap3 .kap3-cardcopy span{
  font-size:10px !important;
  letter-spacing:1.7px !important;
}

.kap3 .kap3-cardcopy h3{
  font-size:27px !important;
  line-height:1.18 !important;
}

.kap3 .kap3-feature .kap3-cardcopy h3{
  font-size:40px !important;
}

.kap3 .kap3-cardcopy p{
  font-size:13px !important;
  line-height:1.7 !important;
}

.kap3 .kap3-cardcopy b{
  font-size:12px !important;
}

.kap3 .kap3-duration-grid strong{
  font-size:48px !important;
}

.kap3 .kap3-duration-grid span{
  font-size:10px !important;
}

.kap3 .kap3-duration-grid b{
  font-size:21px !important;
}

.kap3 .kap3-duration-grid small{
  font-size:12px !important;
  line-height:1.7 !important;
}

.kap3 .kap3-list-body{
  padding:23px !important;
}

.kap3 .kap3-list-body span{
  font-size:10px !important;
  letter-spacing:1.2px !important;
}

.kap3 .kap3-list-body h3{
  font-size:23px !important;
  line-height:1.25 !important;
}

.kap3 .kap3-list-body p{
  font-size:13px !important;
  line-height:1.7 !important;
  min-height:0 !important;
}

.kap3 .kap3-list-body b{
  font-size:12px !important;
}

.kap3 .kap3-pill{
  padding:15px 25px !important;
  font-size:12px !important;
}

.kap3 .kap3-dest{
  padding:28px !important;
}

.kap3 .kap3-dest span{
  font-size:10px !important;
}

.kap3 .kap3-dest h3{
  font-size:31px !important;
}

.kap3 .kap3-dest b{
  font-size:11px !important;
}

.kap3 .kap3-treatment-main__copy{
  padding:34px !important;
}

.kap3 .kap3-treatment-main__copy span{
  font-size:10px !important;
}

.kap3 .kap3-treatment-main__copy h3{
  font-size:40px !important;
}

.kap3 .kap3-treatment-main__copy p{
  font-size:13px !important;
  line-height:1.75 !important;
}

.kap3 .kap3-treatment-items a{
  padding:23px 0 !important;
}

.kap3 .kap3-treatment-items > a > span{
  font-size:18px !important;
}

.kap3 .kap3-treatment-items b{
  font-size:23px !important;
}

.kap3 .kap3-treatment-items small{
  font-size:12px !important;
  line-height:1.6 !important;
}

.kap3 .kap3-pillar-grid > a{
  padding:32px !important;
}

.kap3 .kap3-pillar-grid span{
  font-size:10px !important;
}

.kap3 .kap3-pillar-grid strong{
  font-size:29px !important;
}

.kap3 .kap3-pillar-grid p{
  font-size:13px !important;
  line-height:1.75 !important;
}

.kap3 .kap3-pillar-grid b{
  font-size:12px !important;
}

.kap3 .kap3-faq-list summary{
  font-size:21px !important;
  line-height:1.45 !important;
  padding-top:24px !important;
  padding-bottom:24px !important;
}

.kap3 .kap3-faq-list details p{
  font-size:14px !important;
  line-height:1.8 !important;
  padding-bottom:25px !important;
}

.kap3 .kap3-final h2{
  font-size:64px !important;
  line-height:1.08 !important;
}

.kap3 .kap3-final p{
  font-size:15px !important;
  line-height:1.85 !important;
}


/* ============================================================
   TABLET — 651px to 1000px
   ============================================================ */

@media (max-width:1000px){

  .kap3 .kap3-hero h1{
    font-size:58px !important;
  }

  .kap3 .kap3-heading h2,
  .kap3 .kap3-copy h2{
    font-size:44px !important;
  }

  .kap3 .kap3-heading p,
  .kap3 .kap3-copy p{
    font-size:14px !important;
  }

  .kap3 .kap3-hero__copy > p{
    font-size:15px !important;
  }

  .kap3 .kap3-cardcopy h3{
    font-size:25px !important;
  }

  .kap3 .kap3-feature .kap3-cardcopy h3{
    font-size:36px !important;
  }

  .kap3 .kap3-list-body h3{
    font-size:21px !important;
  }

  .kap3 .kap3-list-body p{
    font-size:12px !important;
  }

  .kap3 .kap3-treatment-items b{
    font-size:21px !important;
  }

  .kap3 .kap3-pillar-grid strong{
    font-size:26px !important;
  }

  .kap3 .kap3-faq-list summary{
    font-size:20px !important;
  }
}


/* ============================================================
   MOBILE — 481px to 650px
   ============================================================ */

@media (max-width:650px){

  .kap3 .kap3-wrap{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .kap3 .kap3-section{
    padding-top:68px !important;
    padding-bottom:68px !important;
  }

  .kap3 .kap3-eyebrow{
    font-size:10px !important;
    letter-spacing:1.8px !important;
  }

  .kap3 .kap3-hero,
  .kap3 .kap3-hero__content{
    min-height:680px !important;
  }

  .kap3 .kap3-hero h1{
    font-size:45px !important;
    line-height:1.08 !important;
    margin-bottom:20px !important;
  }

  .kap3 .kap3-hero__copy > p{
    font-size:14px !important;
    line-height:1.8 !important;
    margin-bottom:24px !important;
  }

  .kap3 .kap3-btn{
    min-height:52px !important;
    padding:15px 20px !important;
    font-size:13px !important;
  }

  .kap3 .kap3-heading{
    margin-bottom:38px !important;
  }

  .kap3 .kap3-heading h2,
  .kap3 .kap3-copy h2{
    font-size:38px !important;
    line-height:1.15 !important;
  }

  .kap3 .kap3-heading p,
  .kap3 .kap3-copy p{
    font-size:14px !important;
    line-height:1.8 !important;
  }

  .kap3 .kap3-photo{
    min-height:360px !important;
  }

  .kap3 .kap3-checks{
    gap:12px !important;
    margin-top:26px !important;
  }

  .kap3 .kap3-checks span{
    font-size:12px !important;
  }

  /* Trending cards */
  .kap3 .kap3-feature{
    min-height:400px !important;
  }

  .kap3 .kap3-mini{
    min-height:265px !important;
  }

  .kap3 .kap3-cardcopy{
    padding:25px !important;
  }

  .kap3 .kap3-cardcopy span{
    font-size:9px !important;
  }

  .kap3 .kap3-cardcopy h3,
  .kap3 .kap3-feature .kap3-cardcopy h3{
    font-size:30px !important;
    line-height:1.18 !important;
  }

  .kap3 .kap3-cardcopy p{
    font-size:12px !important;
    line-height:1.7 !important;
  }

  .kap3 .kap3-cardcopy b{
    font-size:12px !important;
  }

  /* Duration */
  .kap3 .kap3-duration-grid{
    gap:14px !important;
  }

  .kap3 .kap3-duration-grid > a{
    min-height:205px !important;
    padding:25px !important;
  }

  .kap3 .kap3-duration-grid strong{
    font-size:43px !important;
  }

  .kap3 .kap3-duration-grid span{
    font-size:9px !important;
    margin-bottom:18px !important;
  }

  .kap3 .kap3-duration-grid b{
    font-size:20px !important;
  }

  .kap3 .kap3-duration-grid small{
    font-size:12px !important;
  }

  /* Package cards */
  .kap3 .kap3-list-image{
    height:235px !important;
  }

  .kap3 .kap3-list-body{
    padding:22px !important;
  }

  .kap3 .kap3-list-body span{
    font-size:9px !important;
  }

  .kap3 .kap3-list-body h3{
    font-size:23px !important;
    line-height:1.25 !important;
  }

  .kap3 .kap3-list-body p{
    font-size:13px !important;
    line-height:1.7 !important;
  }

  .kap3 .kap3-list-body b{
    font-size:12px !important;
  }

  /* Destinations */
  .kap3 .kap3-dest,
  .kap3 .kap3-dest--large{
    min-height:300px !important;
    padding:26px !important;
  }

  .kap3 .kap3-dest span{
    font-size:9px !important;
  }

  .kap3 .kap3-dest h3{
    font-size:30px !important;
  }

  .kap3 .kap3-dest b{
    font-size:11px !important;
  }

  /* Treatments */
  .kap3 .kap3-treatment-main{
    min-height:390px !important;
  }

  .kap3 .kap3-treatment-main__copy{
    padding:27px !important;
  }

  .kap3 .kap3-treatment-main__copy h3{
    font-size:34px !important;
  }

  .kap3 .kap3-treatment-main__copy p{
    font-size:12px !important;
    line-height:1.75 !important;
  }

  .kap3 .kap3-treatment-items a{
    padding:21px 0 !important;
  }

  .kap3 .kap3-treatment-items b{
    font-size:20px !important;
  }

  .kap3 .kap3-treatment-items small{
    font-size:11px !important;
    line-height:1.6 !important;
  }

  /* Pillars */
  .kap3 .kap3-pillar-grid > a{
    padding:27px !important;
  }

  .kap3 .kap3-pillar-grid strong{
    font-size:27px !important;
  }

  .kap3 .kap3-pillar-grid p{
    font-size:13px !important;
    line-height:1.75 !important;
  }

  /* FAQ */
  .kap3 .kap3-faq-list summary{
    font-size:18px !important;
    line-height:1.45 !important;
    padding:22px 44px 22px 2px !important;
  }

  .kap3 .kap3-faq-list summary:after{
    width:32px !important;
    height:32px !important;
    font-size:18px !important;
  }

  .kap3 .kap3-faq-list details p{
    font-size:13px !important;
    line-height:1.8 !important;
    padding:0 42px 24px 2px !important;
  }

  /* Final CTA */
  .kap3 .kap3-final{
    min-height:510px !important;
  }

  .kap3 .kap3-final h2{
    font-size:44px !important;
    line-height:1.1 !important;
  }

  .kap3 .kap3-final p{
    font-size:14px !important;
    line-height:1.8 !important;
  }
}


/* ============================================================
   SMALL MOBILE — up to 480px
   ============================================================ */

@media (max-width:480px){

  .kap3 .kap3-section{
    padding-top:58px !important;
    padding-bottom:58px !important;
  }

  .kap3 .kap3-hero,
  .kap3 .kap3-hero__content{
    min-height:650px !important;
  }

  .kap3 .kap3-hero h1{
    font-size:40px !important;
    line-height:1.08 !important;
  }

  .kap3 .kap3-hero__copy > p{
    font-size:14px !important;
  }

  .kap3 .kap3-heading h2,
  .kap3 .kap3-copy h2{
    font-size:34px !important;
  }

  .kap3 .kap3-heading p,
  .kap3 .kap3-copy p{
    font-size:13.5px !important;
  }

  .kap3 .kap3-feature{
    min-height:365px !important;
  }

  .kap3 .kap3-mini{
    min-height:245px !important;
  }

  .kap3 .kap3-cardcopy h3,
  .kap3 .kap3-feature .kap3-cardcopy h3{
    font-size:28px !important;
  }

  .kap3 .kap3-list-image{
    height:220px !important;
  }

  .kap3 .kap3-list-body h3{
    font-size:22px !important;
  }

  .kap3 .kap3-list-body p{
    font-size:13px !important;
  }

  .kap3 .kap3-treatment-items b{
    font-size:19px !important;
  }

  .kap3 .kap3-faq-list summary{
    font-size:17px !important;
  }

  .kap3 .kap3-faq-list details p{
    font-size:13px !important;
  }

  .kap3 .kap3-final h2{
    font-size:40px !important;
  }
}


/* ============================================================
   VERY SMALL PHONES — up to 380px
   Keep readable; do NOT shrink typography excessively.
   ============================================================ */

@media (max-width:380px){

  .kap3 .kap3-wrap{
    padding-left:15px !important;
    padding-right:15px !important;
  }

  .kap3 .kap3-hero h1{
    font-size:36px !important;
  }

  .kap3 .kap3-hero__copy > p{
    font-size:13.5px !important;
  }

  .kap3 .kap3-heading h2,
  .kap3 .kap3-copy h2{
    font-size:31px !important;
  }

  .kap3 .kap3-cardcopy h3,
  .kap3 .kap3-feature .kap3-cardcopy h3{
    font-size:26px !important;
  }

  .kap3 .kap3-list-body h3{
    font-size:21px !important;
  }

  .kap3 .kap3-list-body p{
    font-size:12.5px !important;
  }

  .kap3 .kap3-faq-list summary{
    font-size:16.5px !important;
  }

  .kap3 .kap3-faq-list details p{
    font-size:12.5px !important;
  }

  .kap3 .kap3-final h2{
    font-size:36px !important;
  }
}


/* ============================================================
   KAP3 — EXTRA LARGE / HIGH READABILITY TYPOGRAPHY
   Final override — place AFTER all previous KAP3 CSS
   ============================================================ */

/* Large desktop */
@media (min-width:1001px){

  .kap3 .kap3-eyebrow{
    font-size:13px !important;
    letter-spacing:2.5px !important;
  }

  .kap3 .kap3-heading h2,
  .kap3 .kap3-copy h2{
    font-size:56px !important;
    line-height:1.1 !important;
  }

  .kap3 .kap3-heading p,
  .kap3 .kap3-copy p{
    font-size:16px !important;
    line-height:1.9 !important;
  }

  .kap3 .kap3-hero h1{
    font-size:78px !important;
    line-height:1.03 !important;
  }

  .kap3 .kap3-hero__copy > p{
    font-size:17px !important;
    line-height:1.9 !important;
  }

  .kap3 .kap3-cardcopy h3{
    font-size:30px !important;
  }

  .kap3 .kap3-feature .kap3-cardcopy h3{
    font-size:44px !important;
  }

  .kap3 .kap3-cardcopy p{
    font-size:14px !important;
    line-height:1.75 !important;
  }

  .kap3 .kap3-cardcopy b{
    font-size:13px !important;
  }

  .kap3 .kap3-duration-grid strong{
    font-size:52px !important;
  }

  .kap3 .kap3-duration-grid b{
    font-size:23px !important;
  }

  .kap3 .kap3-duration-grid small{
    font-size:13px !important;
  }

  .kap3 .kap3-list-body h3{
    font-size:25px !important;
  }

  .kap3 .kap3-list-body p{
    font-size:14px !important;
    line-height:1.75 !important;
  }

  .kap3 .kap3-list-body b{
    font-size:13px !important;
  }

  .kap3 .kap3-dest h3{
    font-size:34px !important;
  }

  .kap3 .kap3-treatment-main__copy h3{
    font-size:44px !important;
  }

  .kap3 .kap3-treatment-main__copy p{
    font-size:14px !important;
  }

  .kap3 .kap3-treatment-items b{
    font-size:25px !important;
  }

  .kap3 .kap3-treatment-items small{
    font-size:13px !important;
  }

  .kap3 .kap3-pillar-grid strong{
    font-size:31px !important;
  }

  .kap3 .kap3-pillar-grid p{
    font-size:14px !important;
  }

  .kap3 .kap3-faq-list summary{
    font-size:23px !important;
  }

  .kap3 .kap3-faq-list details p{
    font-size:15px !important;
  }

  .kap3 .kap3-final h2{
    font-size:70px !important;
  }

  .kap3 .kap3-final p{
    font-size:16px !important;
  }
}


/* ============================================================
   TABLET / IPAD
   ============================================================ */

@media (min-width:651px) and (max-width:1000px){

  .kap3 .kap3-hero h1{
    font-size:62px !important;
  }

  .kap3 .kap3-heading h2,
  .kap3 .kap3-copy h2{
    font-size:48px !important;
  }

  .kap3 .kap3-heading p,
  .kap3 .kap3-copy p{
    font-size:15px !important;
  }

  .kap3 .kap3-hero__copy > p{
    font-size:16px !important;
  }

  .kap3 .kap3-cardcopy h3{
    font-size:28px !important;
  }

  .kap3 .kap3-feature .kap3-cardcopy h3{
    font-size:39px !important;
  }

  .kap3 .kap3-cardcopy p{
    font-size:13px !important;
  }

  .kap3 .kap3-list-body h3{
    font-size:23px !important;
  }

  .kap3 .kap3-list-body p{
    font-size:13px !important;
  }

  .kap3 .kap3-duration-grid b{
    font-size:21px !important;
  }

  .kap3 .kap3-duration-grid small{
    font-size:12px !important;
  }

  .kap3 .kap3-treatment-items b{
    font-size:22px !important;
  }

  .kap3 .kap3-faq-list summary{
    font-size:21px !important;
  }

  .kap3 .kap3-faq-list details p{
    font-size:14px !important;
  }
}


/* ============================================================
   MOBILE — LARGE, COMFORTABLE READING
   ============================================================ */

@media (max-width:650px){

  .kap3 .kap3-eyebrow{
    font-size:11px !important;
    letter-spacing:1.8px !important;
  }

  .kap3 .kap3-hero h1{
    font-size:48px !important;
    line-height:1.07 !important;
  }

  .kap3 .kap3-hero__copy > p{
    font-size:15px !important;
    line-height:1.85 !important;
  }

  .kap3 .kap3-btn{
    min-height:54px !important;
    padding:16px 22px !important;
    font-size:14px !important;
  }

  .kap3 .kap3-heading h2,
  .kap3 .kap3-copy h2{
    font-size:41px !important;
    line-height:1.12 !important;
  }

  .kap3 .kap3-heading p,
  .kap3 .kap3-copy p{
    font-size:15px !important;
    line-height:1.85 !important;
  }

  .kap3 .kap3-checks span{
    font-size:13px !important;
  }

  /* Trending */
  .kap3 .kap3-cardcopy{
    padding:27px !important;
  }

  .kap3 .kap3-cardcopy span{
    font-size:10px !important;
  }

  .kap3 .kap3-cardcopy h3,
  .kap3 .kap3-feature .kap3-cardcopy h3{
    font-size:32px !important;
    line-height:1.15 !important;
  }

  .kap3 .kap3-cardcopy p{
    font-size:13px !important;
    line-height:1.75 !important;
  }

  .kap3 .kap3-cardcopy b{
    font-size:13px !important;
  }

  /* Duration */
  .kap3 .kap3-duration-grid > a{
    min-height:220px !important;
    padding:28px !important;
  }

  .kap3 .kap3-duration-grid strong{
    font-size:48px !important;
  }

  .kap3 .kap3-duration-grid span{
    font-size:10px !important;
  }

  .kap3 .kap3-duration-grid b{
    font-size:22px !important;
  }

  .kap3 .kap3-duration-grid small{
    font-size:13px !important;
    line-height:1.75 !important;
  }

  /* Package cards */
  .kap3 .kap3-list-image{
    height:245px !important;
  }

  .kap3 .kap3-list-body{
    padding:25px !important;
  }

  .kap3 .kap3-list-body span{
    font-size:10px !important;
  }

  .kap3 .kap3-list-body h3{
    font-size:25px !important;
    line-height:1.2 !important;
  }

  .kap3 .kap3-list-body p{
    font-size:14px !important;
    line-height:1.75 !important;
  }

  .kap3 .kap3-list-body b{
    font-size:13px !important;
  }

  /* Destinations */
  .kap3 .kap3-dest,
  .kap3 .kap3-dest--large{
    min-height:315px !important;
    padding:28px !important;
  }

  .kap3 .kap3-dest span{
    font-size:10px !important;
  }

  .kap3 .kap3-dest h3{
    font-size:34px !important;
  }

  .kap3 .kap3-dest b{
    font-size:12px !important;
  }

  /* Treatments */
  .kap3 .kap3-treatment-main{
    min-height:410px !important;
  }

  .kap3 .kap3-treatment-main__copy{
    padding:30px !important;
  }

  .kap3 .kap3-treatment-main__copy h3{
    font-size:38px !important;
  }

  .kap3 .kap3-treatment-main__copy p{
    font-size:13px !important;
    line-height:1.8 !important;
  }

  .kap3 .kap3-treatment-items a{
    padding:24px 0 !important;
  }

  .kap3 .kap3-treatment-items > a > span{
    font-size:17px !important;
  }

  .kap3 .kap3-treatment-items b{
    font-size:21px !important;
  }

  .kap3 .kap3-treatment-items small{
    font-size:12px !important;
    line-height:1.7 !important;
  }

  /* Pillars */
  .kap3 .kap3-pillar-grid > a{
    padding:30px !important;
  }

  .kap3 .kap3-pillar-grid strong{
    font-size:29px !important;
  }

  .kap3 .kap3-pillar-grid p{
    font-size:14px !important;
    line-height:1.8 !important;
  }

  .kap3 .kap3-pillar-grid b{
    font-size:13px !important;
  }

  /* FAQ */
  .kap3 .kap3-faq-list summary{
    font-size:20px !important;
    line-height:1.45 !important;
    padding:24px 48px 24px 2px !important;
  }

  .kap3 .kap3-faq-list details p{
    font-size:14px !important;
    line-height:1.85 !important;
    padding:0 45px 27px 2px !important;
  }

  /* Final CTA */
  .kap3 .kap3-final{
    min-height:540px !important;
  }

  .kap3 .kap3-final h2{
    font-size:48px !important;
  }

  .kap3 .kap3-final p{
    font-size:15px !important;
    line-height:1.85 !important;
  }
}


/* ============================================================
   SMALL PHONES — STILL READABLE
   ============================================================ */

@media (max-width:480px){

  .kap3 .kap3-hero h1{
    font-size:43px !important;
  }

  .kap3 .kap3-hero__copy > p{
    font-size:14.5px !important;
  }

  .kap3 .kap3-heading h2,
  .kap3 .kap3-copy h2{
    font-size:37px !important;
  }

  .kap3 .kap3-heading p,
  .kap3 .kap3-copy p{
    font-size:14px !important;
  }

  .kap3 .kap3-cardcopy h3,
  .kap3 .kap3-feature .kap3-cardcopy h3{
    font-size:30px !important;
  }

  .kap3 .kap3-cardcopy p{
    font-size:13px !important;
  }

  .kap3 .kap3-list-image{
    height:230px !important;
  }

  .kap3 .kap3-list-body h3{
    font-size:23px !important;
  }

  .kap3 .kap3-list-body p{
    font-size:13.5px !important;
  }

  .kap3 .kap3-dest h3{
    font-size:31px !important;
  }

  .kap3 .kap3-treatment-main__copy h3{
    font-size:35px !important;
  }

  .kap3 .kap3-treatment-items b{
    font-size:20px !important;
  }

  .kap3 .kap3-faq-list summary{
    font-size:19px !important;
  }

  .kap3 .kap3-faq-list details p{
    font-size:13.5px !important;
  }

  .kap3 .kap3-final h2{
    font-size:44px !important;
  }
}


/* ============================================================
   VERY SMALL PHONES
   ============================================================ */

@media (max-width:380px){

  .kap3 .kap3-hero h1{
    font-size:39px !important;
  }

  .kap3 .kap3-heading h2,
  .kap3 .kap3-copy h2{
    font-size:34px !important;
  }

  .kap3 .kap3-heading p,
  .kap3 .kap3-copy p{
    font-size:13.5px !important;
  }

  .kap3 .kap3-cardcopy h3,
  .kap3 .kap3-feature .kap3-cardcopy h3{
    font-size:28px !important;
  }

  .kap3 .kap3-list-body h3{
    font-size:22px !important;
  }

  .kap3 .kap3-list-body p{
    font-size:13px !important;
  }

  .kap3 .kap3-faq-list summary{
    font-size:18px !important;
  }

  .kap3 .kap3-faq-list details p{
    font-size:13px !important;
  }

  .kap3 .kap3-final h2{
    font-size:40px !important;
  }
}


/* ============================================================
   KAP3 — MAXIMUM READABILITY TYPOGRAPHY
   Extra-large elegant type layer
   ============================================================ */

.kap3{
  font-size:16px;
}

/* ---------- LARGE DESKTOP ---------- */
@media (min-width:1001px){

  .kap3 .kap3-eyebrow{
    font-size:14px !important;
    letter-spacing:2.7px !important;
  }

  .kap3 .kap3-heading h2,
  .kap3 .kap3-copy h2{
    font-size:60px !important;
    line-height:1.08 !important;
  }

  .kap3 .kap3-heading p,
  .kap3 .kap3-copy p{
    font-size:17px !important;
    line-height:1.9 !important;
  }

  .kap3 .kap3-hero h1{
    font-size:84px !important;
    line-height:1.02 !important;
  }

  .kap3 .kap3-hero__copy > p{
    font-size:18px !important;
    line-height:1.9 !important;
  }

  .kap3 .kap3-btn{
    min-height:56px !important;
    padding:17px 29px !important;
    font-size:14px !important;
  }

  .kap3 .kap3-cardcopy{
    padding:32px !important;
  }

  .kap3 .kap3-cardcopy span{
    font-size:11px !important;
  }

  .kap3 .kap3-cardcopy h3{
    font-size:33px !important;
  }

  .kap3 .kap3-feature .kap3-cardcopy h3{
    font-size:48px !important;
  }

  .kap3 .kap3-cardcopy p{
    font-size:15px !important;
    line-height:1.8 !important;
  }

  .kap3 .kap3-cardcopy b{
    font-size:14px !important;
  }

  .kap3 .kap3-duration-grid strong{
    font-size:56px !important;
  }

  .kap3 .kap3-duration-grid span{
    font-size:11px !important;
  }

  .kap3 .kap3-duration-grid b{
    font-size:25px !important;
  }

  .kap3 .kap3-duration-grid small{
    font-size:14px !important;
    line-height:1.75 !important;
  }

  .kap3 .kap3-list-body{
    padding:27px !important;
  }

  .kap3 .kap3-list-body span{
    font-size:11px !important;
  }

  .kap3 .kap3-list-body h3{
    font-size:28px !important;
  }

  .kap3 .kap3-list-body p{
    font-size:15px !important;
    line-height:1.8 !important;
  }

  .kap3 .kap3-list-body b{
    font-size:14px !important;
  }

  .kap3 .kap3-pill{
    font-size:13px !important;
    padding:16px 28px !important;
  }

  .kap3 .kap3-dest h3{
    font-size:38px !important;
  }

  .kap3 .kap3-dest span{
    font-size:11px !important;
  }

  .kap3 .kap3-dest b{
    font-size:12px !important;
  }

  .kap3 .kap3-treatment-main__copy{
    padding:38px !important;
  }

  .kap3 .kap3-treatment-main__copy h3{
    font-size:48px !important;
  }

  .kap3 .kap3-treatment-main__copy p{
    font-size:15px !important;
    line-height:1.8 !important;
  }

  .kap3 .kap3-treatment-items a{
    padding:26px 0 !important;
  }

  .kap3 .kap3-treatment-items > a > span{
    font-size:20px !important;
  }

  .kap3 .kap3-treatment-items b{
    font-size:27px !important;
  }

  .kap3 .kap3-treatment-items small{
    font-size:14px !important;
    line-height:1.7 !important;
  }

  .kap3 .kap3-pillar-grid > a{
    padding:36px !important;
  }

  .kap3 .kap3-pillar-grid strong{
    font-size:34px !important;
  }

  .kap3 .kap3-pillar-grid p{
    font-size:15px !important;
    line-height:1.8 !important;
  }

  .kap3 .kap3-pillar-grid b{
    font-size:13px !important;
  }

  .kap3 .kap3-faq-list summary{
    font-size:25px !important;
    padding-top:27px !important;
    padding-bottom:27px !important;
  }

  .kap3 .kap3-faq-list details p{
    font-size:16px !important;
    line-height:1.9 !important;
  }

  .kap3 .kap3-final h2{
    font-size:76px !important;
  }

  .kap3 .kap3-final p{
    font-size:17px !important;
    line-height:1.9 !important;
  }
}


/* ---------- TABLET ---------- */
@media (min-width:651px) and (max-width:1000px){

  .kap3 .kap3-hero h1{
    font-size:68px !important;
  }

  .kap3 .kap3-heading h2,
  .kap3 .kap3-copy h2{
    font-size:52px !important;
  }

  .kap3 .kap3-heading p,
  .kap3 .kap3-copy p{
    font-size:16px !important;
  }

  .kap3 .kap3-hero__copy > p{
    font-size:17px !important;
  }

  .kap3 .kap3-cardcopy h3{
    font-size:30px !important;
  }

  .kap3 .kap3-feature .kap3-cardcopy h3{
    font-size:42px !important;
  }

  .kap3 .kap3-cardcopy p{
    font-size:14px !important;
  }

  .kap3 .kap3-list-body h3{
    font-size:25px !important;
  }

  .kap3 .kap3-list-body p{
    font-size:14px !important;
  }

  .kap3 .kap3-duration-grid strong{
    font-size:52px !important;
  }

  .kap3 .kap3-duration-grid b{
    font-size:23px !important;
  }

  .kap3 .kap3-duration-grid small{
    font-size:13px !important;
  }

  .kap3 .kap3-treatment-items b{
    font-size:24px !important;
  }

  .kap3 .kap3-faq-list summary{
    font-size:23px !important;
  }

  .kap3 .kap3-faq-list details p{
    font-size:15px !important;
  }
}


/* ---------- MOBILE ---------- */
@media (max-width:650px){

  .kap3 .kap3-eyebrow{
    font-size:12px !important;
    letter-spacing:2px !important;
  }

  .kap3 .kap3-hero h1{
    font-size:52px !important;
    line-height:1.05 !important;
  }

  .kap3 .kap3-hero__copy > p{
    font-size:16px !important;
    line-height:1.85 !important;
  }

  .kap3 .kap3-btn{
    min-height:58px !important;
    padding:17px 22px !important;
    font-size:15px !important;
  }

  .kap3 .kap3-heading h2,
  .kap3 .kap3-copy h2{
    font-size:44px !important;
    line-height:1.1 !important;
  }

  .kap3 .kap3-heading p,
  .kap3 .kap3-copy p{
    font-size:15.5px !important;
    line-height:1.9 !important;
  }

  .kap3 .kap3-checks span{
    font-size:14px !important;
  }

  /* Trending */
  .kap3 .kap3-cardcopy{
    padding:29px !important;
  }

  .kap3 .kap3-cardcopy span{
    font-size:10px !important;
  }

  .kap3 .kap3-cardcopy h3,
  .kap3 .kap3-feature .kap3-cardcopy h3{
    font-size:35px !important;
    line-height:1.13 !important;
  }

  .kap3 .kap3-cardcopy p{
    font-size:14px !important;
    line-height:1.8 !important;
  }

  .kap3 .kap3-cardcopy b{
    font-size:14px !important;
  }

  /* Duration */
  .kap3 .kap3-duration-grid > a{
    min-height:235px !important;
    padding:30px !important;
  }

  .kap3 .kap3-duration-grid strong{
    font-size:52px !important;
  }

  .kap3 .kap3-duration-grid span{
    font-size:10px !important;
  }

  .kap3 .kap3-duration-grid b{
    font-size:24px !important;
  }

  .kap3 .kap3-duration-grid small{
    font-size:14px !important;
    line-height:1.8 !important;
  }

  /* Package cards */
  .kap3 .kap3-list-image{
    height:255px !important;
  }

  .kap3 .kap3-list-body{
    padding:27px !important;
  }

  .kap3 .kap3-list-body span{
    font-size:10px !important;
  }

  .kap3 .kap3-list-body h3{
    font-size:27px !important;
    line-height:1.18 !important;
  }

  .kap3 .kap3-list-body p{
    font-size:14.5px !important;
    line-height:1.8 !important;
  }

  .kap3 .kap3-list-body b{
    font-size:14px !important;
  }

  /* Destinations */
  .kap3 .kap3-dest,
  .kap3 .kap3-dest--large{
    min-height:330px !important;
    padding:30px !important;
  }

  .kap3 .kap3-dest span{
    font-size:10px !important;
  }

  .kap3 .kap3-dest h3{
    font-size:37px !important;
  }

  .kap3 .kap3-dest b{
    font-size:12px !important;
  }

  /* Treatments */
  .kap3 .kap3-treatment-main{
    min-height:430px !important;
  }

  .kap3 .kap3-treatment-main__copy{
    padding:31px !important;
  }

  .kap3 .kap3-treatment-main__copy h3{
    font-size:42px !important;
  }

  .kap3 .kap3-treatment-main__copy p{
    font-size:14px !important;
    line-height:1.85 !important;
  }

  .kap3 .kap3-treatment-items a{
    padding:26px 0 !important;
  }

  .kap3 .kap3-treatment-items > a > span{
    font-size:18px !important;
  }

  .kap3 .kap3-treatment-items b{
    font-size:23px !important;
  }

  .kap3 .kap3-treatment-items small{
    font-size:13px !important;
    line-height:1.75 !important;
  }

  /* Pillars */
  .kap3 .kap3-pillar-grid > a{
    padding:32px !important;
  }

  .kap3 .kap3-pillar-grid strong{
    font-size:32px !important;
  }

  .kap3 .kap3-pillar-grid p{
    font-size:14px !important;
    line-height:1.85 !important;
  }

  .kap3 .kap3-pillar-grid b{
    font-size:14px !important;
  }

  /* FAQ */
  .kap3 .kap3-faq-list summary{
    font-size:22px !important;
    line-height:1.4 !important;
    padding:26px 50px 26px 2px !important;
  }

  .kap3 .kap3-faq-list details p{
    font-size:14.5px !important;
    line-height:1.9 !important;
    padding:0 45px 28px 2px !important;
  }

  /* Final */
  .kap3 .kap3-final{
    min-height:560px !important;
  }

  .kap3 .kap3-final h2{
    font-size:52px !important;
    line-height:1.06 !important;
  }

  .kap3 .kap3-final p{
    font-size:15.5px !important;
    line-height:1.9 !important;
  }
}


/* ---------- SMALL PHONES ---------- */
@media (max-width:480px){

  .kap3 .kap3-hero h1{
    font-size:47px !important;
  }

  .kap3 .kap3-hero__copy > p{
    font-size:15px !important;
  }

  .kap3 .kap3-heading h2,
  .kap3 .kap3-copy h2{
    font-size:40px !important;
  }

  .kap3 .kap3-heading p,
  .kap3 .kap3-copy p{
    font-size:14.5px !important;
  }

  .kap3 .kap3-cardcopy h3,
  .kap3 .kap3-feature .kap3-cardcopy h3{
    font-size:32px !important;
  }

  .kap3 .kap3-cardcopy p{
    font-size:13.5px !important;
  }

  .kap3 .kap3-list-image{
    height:240px !important;
  }

  .kap3 .kap3-list-body h3{
    font-size:25px !important;
  }

  .kap3 .kap3-list-body p{
    font-size:14px !important;
  }

  .kap3 .kap3-dest h3{
    font-size:34px !important;
  }

  .kap3 .kap3-treatment-main__copy h3{
    font-size:38px !important;
  }

  .kap3 .kap3-treatment-items b{
    font-size:21px !important;
  }

  .kap3 .kap3-faq-list summary{
    font-size:20px !important;
  }

  .kap3 .kap3-faq-list details p{
    font-size:14px !important;
  }

  .kap3 .kap3-final h2{
    font-size:47px !important;
  }
}


/* ---------- VERY SMALL PHONES ---------- */
@media (max-width:380px){

  .kap3 .kap3-hero h1{
    font-size:43px !important;
  }

  .kap3 .kap3-heading h2,
  .kap3 .kap3-copy h2{
    font-size:37px !important;
  }

  .kap3 .kap3-heading p,
  .kap3 .kap3-copy p{
    font-size:14px !important;
  }

  .kap3 .kap3-cardcopy h3,
  .kap3 .kap3-feature .kap3-cardcopy h3{
    font-size:30px !important;
  }

  .kap3 .kap3-list-body h3{
    font-size:24px !important;
  }

  .kap3 .kap3-list-body p{
    font-size:13.5px !important;
  }

  .kap3 .kap3-faq-list summary{
    font-size:19px !important;
  }

  .kap3 .kap3-faq-list details p{
    font-size:13.5px !important;
  }

  .kap3 .kap3-final h2{
    font-size:43px !important;
  }
}
