:root {
  /* LIFED Brand Colors */
  --hmh-teal: #00ae9d;
  --hmh-teal-hover: #009688;
  --hmh-teal-deep: #008f82;
  --hmh-green-life: #5fbb46;
  --hmh-dark: #414242; /* Grey of Dark */
  --hmh-grey-light: #f4f4f4; /* Grey of Light */
  --hmh-muted: #777777;

  /* UI Tints */
  --hmh-aqua: #d6edea;
  --hmh-aqua-soft: #eef8f6;
  --hmh-lime-soft: #e6f4d0;

  /* LIFED Corner Radius Scale */
  --hmh-hero-radius: 32px;
  --hmh-card-radius: 24px;
  --hmh-button-radius: 24px;

  /* Layout & Shadows */
  --hmh-line: rgba(65, 66, 66, 0.14);
  --hmh-shadow-sm: 0 10px 30px rgba(22, 78, 72, 0.08);
  --hmh-container: 1220px;
    --teal:#00ae9d; --teal-deep:#008f82;
  --aqua:#d6edea; --aqua-soft:#eef8f6;
  --lime-soft:#e6f4d0; --green:#5fbb46;
  --ink:#414242; --muted:#6d7070;
  --light:#f4f4f4; --white:#ffffff;
  --line:rgba(65,66,66,.14);
  --shadow-sm:0 10px 30px rgba(22,78,72,.08);
  --shadow-md:0 24px 65px rgba(18,71,65,.14);
  --r8:8px; --r16:16px; --r24:24px; --r32:32px;
  --container:1220px; --nav-h:82px;
  
    --hmh-green: #00ad9c;
    --hmh-green-hover: #009384;
    --hmh-grey-dock: #d3cfcf;
    --hmh-dark: #222222;
    --hmh-muted: #777777;
    --hmh-card-radius: 24px;
    

    --lfd-hdr-radius: 40px;
    --lfd-hdr-cutout-w: 280px;
    --lfd-hdr-cutout-h: 100px;
    --lfd-hdr-primary: #10b981;
    --lfd-hdr-primary-hover: #0ea5e9;
    --lfd-hdr-bg: #ffffff;
    --lfd-hdr-text-dark: #1f2937;
    --lfd-hdr-text-light: #ffffff;
    
}

/* --- Global Reset & Typography --- */
/* ---------- Base ---------- */
html{scroll-behavior:smooth}
body{background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden; font-family: 'Nunito', sans-serif !important;}
img{max-width:100%}
a{text-decoration:none}
a.body-link{color:var(--teal-deep);text-decoration:underline;text-underline-offset:4px}
a.body-link:hover{color:var(--teal-ink)}
h1,h2,h3,h4,h5{font-family: 'Nunito', sans-serif;letter-spacing:-.03em;line-height:1.12}
.h-hero{font-size:clamp(2.9rem,6.2vw,5.6rem);line-height:1.02;letter-spacing:-.04em;margin-bottom:20px}
.h-section{font-family: 'Nunito', sans-serif;
    font-size: clamp(2rem, 3vw, 2.2rem);margin-bottom:14px; font-weight: 700;}
.h-card{font-size:clamp(1.05rem,1.6vw,1.36rem);margin-bottom:8px}
.text-pretty{text-wrap:pretty}
.eyebrow{display:block;margin-bottom:14px;color:var(--teal-deep);font-family:"Nunito",sans-serif;font-size:.8rem;font-weight:800;letter-spacing: 0.16em;text-transform:uppercase}
.eyebrow-light{color:rgba(255,255,255,.86)}
.section-copy{max-width:640px;color:var(--muted);font-size:clamp(1rem,1.35vw,1.14rem)}
.copy-muted{color:var(--muted)}
.skip-link{position:fixed;left:16px;top:-100px;z-index:3000;padding:12px 16px;border-radius:12px;background:#fff;color:var(--ink);box-shadow:var(--shadow-md)}
.skip-link:focus{top:16px}
:focus-visible{outline:3px solid rgba(0,174,157,.55);outline-offset:3px}
.section-pad{padding:clamp(56px,7vw,92px) 0}
.bg-aqua-soft{background:var(--aqua-soft)}
.bg-aqua{background:var(--aqua)}
.bg-light-grey{background:var(--light)}

/* ---------- Scroll progress ---------- */
.scroll-progress{position:fixed;left:0;top:0;z-index:1100;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--teal),var(--green))}

/* ---------- Buttons ---------- */
.btn-lifed{--bs-btn-border-radius:12px;min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 30px;border-radius:12px;border:1px solid transparent;font-family:"Nunito",sans-serif;font-weight:800;letter-spacing:.02em;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease}
.btn-lifed:hover{transform:translateY(-2px)}
.btn-lifed:active{transform:translateY(1px)}
.btn-lifed-sm{min-height:46px;padding:0 22px;border-radius:14px;font-size:.94rem}
.btn-green{background:var(--hmh-teal);color:#fff;box-shadow:0 14px 28px rgba(95,187,70,.26)}
.btn-green:hover{background:var(--hmh-teal);color:#fff}
.btn-teal{background:var(--teal);color:#fff;box-shadow:0 14px 28px rgba(0,174,157,.24)}
.btn-teal:hover{background:var(--teal-deep);color:#fff}
.btn-white{background:#fff;color:var(--teal-deep)}
.btn-white:hover{background:var(--aqua);color:var(--teal-ink)}
.btn-outline-teal{background:transparent;color:var(--teal-deep);border-color:rgba(0,143,130,.45)}
.btn-outline-teal:hover{background:var(--aqua-soft);color:var(--teal-ink);border-color:var(--teal)}
.btn-ghost-light{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.4)}
.btn-ghost-light:hover{background:rgba(255,255,255,.24);color:#fff}

.icon{width:22px;height:22px;flex:0 0 auto;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke:currentColor}
.icon-sm{width:16px;height:16px}
.icon-xs{width:13px;height:13px}
.icon-lg{width:26px;height:26px}

/*--- HOMEPAGE CSS --*/

/* --- Outer Page Wrapper --- */
.hmh-page-container {
    padding: 16px 67px; /* Reduced from 24px to tighten the edge gap */
    min-height: 100vh;
    display: flex;
    justify-content: center;
}

html,
body{
    width:100%;
    overflow-x:hidden;
}



/* =========================================================
   LAYOUT & CANVAS
========================================================= */
.lfd-hdr-wrapper {
    position: relative;
    width: 100%;
    min-height: 100vh;
    padding: 24px;
    box-sizing: border-box;
    background: var(--lfd-hdr-bg);
}

.lfd-hdr-inner {
    position: relative;
    width: 100%;
    height: calc(100vh - 48px);
    min-height: 750px;
    border-radius: var(--lfd-hdr-radius);
}

.lfd-hdr-canvas {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    border-radius: var(--lfd-hdr-radius);
    overflow: hidden; /* Clips the background perfectly */
    background: #000;
}

/* =========================================================
   HERO BACKGROUND & ZOOM ANIMATION
========================================================= */
.lfd-hdr-bg-wrapper {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 1;
}

.lfd-hdr-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    animation: lfd-hdr-zoom 20s infinite ease-in-out;
    transform-origin: center center;
}

/*.lfd-hdr-bg-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(145deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.2) 100%);
    z-index: 2;
}*/

@keyframes lfd-hdr-zoom {
    0% { transform: scale(1); }
    50% { transform: scale(1.08); }
    100% { transform: scale(1); }
}

/* ===========================
   LOGO
=========================== */

.lfd-hdr-logo{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    text-decoration:none;
}

.lfd-hdr-logo-img{
    display:block;
    width:auto;
    height:79px;
    max-width:100%;
    object-fit:contain;
    transition:transform .3s ease;
}

.lfd-hdr-logo:hover .lfd-hdr-logo-img{
    transform:scale(1.03);
}

/* Tablet */
@media (max-width:991.98px){

    .lfd-hdr-logo-img{
        height:46px;
    }

}

/* Mobile */
@media (max-width:575.98px){

    .lfd-hdr-logo-img{
        height:40px;
    }

}

/* =========================================================
   ADVANCED SEAMLESS CUTOUT LAYER (SAFARI FIXED)
========================================================= */
.lfd-hdr-logo-block {
    position: absolute;
    top: 0; left: 0;
    width: var(--lfd-hdr-cutout-w);
    height: var(--lfd-hdr-cutout-h);
    background: var(--lfd-hdr-bg);
    border-bottom-right-radius: var(--lfd-hdr-radius);
    z-index: 10;
}

.lfd-hdr-curve {
    position: absolute;
    width: var(--lfd-hdr-radius);
    height: var(--lfd-hdr-radius);
    overflow: hidden; /* Encapsulates the curve perfectly */
    z-index: 10;
    /* Forces hardware acceleration to ensure Safari clips the shadow correctly */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.lfd-hdr-curve-top {
    top: 0;
    left: var(--lfd-hdr-cutout-w);
}

.lfd-hdr-curve-left {
    top: var(--lfd-hdr-cutout-h);
    left: 0;
}

/*
  The Magic Circle: Uses a transparent circle sized to exactly 
  twice the radius, positioned so its center sits at the bottom-right 
  of the container. A massive box-shadow smoothly fills the 
  remaining top-left corner, bypassing Safari's border-clipping bugs.
*/
.lfd-hdr-curve-circle {
    position: absolute;
    width: calc(var(--lfd-hdr-radius) * 2);
    height: calc(var(--lfd-hdr-radius) * 2);
    border-radius: 50%;
    background: transparent;
    top: 0;
    left: 0;
    box-shadow: 0 0 0 100px var(--lfd-hdr-bg);
    border: none;
    box-sizing: border-box;
}

/* =========================================================
   NAVIGATION
========================================================= */
.lfd-hdr-nav {
    position: absolute;
    top: 0; left: 0; width: 100%; height: var(--lfd-hdr-cutout-h);
    z-index: 20;
    animation: lfd-hdr-fadein 1s ease forwards;
}

@keyframes lfd-hdr-fadein {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.lfd-hdr-nav-container {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: space-between;
}

.lfd-hdr-logo-area {
    width: var(--lfd-hdr-cutout-w);
    height: 100%;
    display: flex;
    align-items: center;
    padding-left: 35px;
}

.lfd-hdr-logo {
    font-size: 28px;
    font-weight: 700;
    color: var(--lfd-hdr-text-dark);
    text-decoration: none;
    letter-spacing: -1px;
}

.lfd-hdr-menu-area {
    padding-right: 40px;
    display: flex;
    align-items: center;
    gap: 35px;
}

.lfd-hdr-link {
    color: var(--lfd-hdr-text-light);
    text-decoration: none;
    font-weight: 500;
    font-size: 15px;
    transition: 0.3s ease;
}

.lfd-hdr-link:hover {
    color: rgba(255,255,255,0.7);
}

.lfd-hdr-btn-outline {
    color: var(--lfd-hdr-text-light);
    border: 1px solid rgba(255,255,255,0.4);
    padding: 10px 24px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 500;
    font-size: 15px;
    transition: all 0.3s ease;
}

.lfd-hdr-btn-outline:hover {
    background: var(--lfd-hdr-text-light);
    color: var(--lfd-hdr-text-dark);
}

.lfd-hdr-profile {
    color: var(--lfd-hdr-text-light);
    font-size: 24px;
    transition: 0.3s ease;
}

.lfd-hdr-profile:hover {
    color: rgba(255,255,255,0.7);
}

.lfd-hdr-hamburger {
    background: transparent;
    border: none;
    color: var(--lfd-hdr-text-light);
    font-size: 24px;
    padding-right: 30px;
}

/* =========================================================
   HERO CONTENT
========================================================= */
.lfd-hdr-content {
    position: relative;
    z-index: 15;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 0 20px;
    padding-top: 60px;
    text-align: center;
}

.lfd-hdr-title {
    color: var(--lfd-hdr-text-light);
    font-size: clamp(3rem, 6vw, 5.5rem);
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 20px;
    letter-spacing: -1px;
    font-family: 'Nunito', sans-serif !important;
}

.lfd-hdr-subtitle {
    color: rgba(255,255,255,0.9);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    font-weight: 400;
    margin-bottom: 50px;
    max-width: 600px;
}

/* =========================================================
   SEARCH CARD
========================================================= */
.lfd-hdr-search-card {
    background: var(--lfd-hdr-bg);
    border-radius: 40px;
    padding: 12px;
    width: 100%;
    max-width: 900px;
    box-shadow: 0 24px 50px rgba(0,0,0,0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.lfd-hdr-search-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 30px 60px rgba(0,0,0,0.2);
    z-index: 9;
}

.lfd-hdr-inputs-wrapper {
    padding-left: 20px;
}

.lfd-hdr-search-col {
    padding: 10px 20px;
    position: relative;
    text-align: left;
}

.lfd-hdr-label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--lfd-hdr-text-dark);
    margin-bottom: 4px;
}

.lfd-hdr-input {
    width: 100%;
    border: none;
    background: transparent;
    font-family: var(--lfd-hdr-font);
    font-size: 15px;
    color: #4b5563;
    outline: none;
    padding: 0;
}

.lfd-hdr-input::placeholder {
    color: #9ca3af;
}

/* AI specific input */
.lfd-hdr-ai-label {
    color: var(--lfd-hdr-primary);
}

.lfd-hdr-ai-input {
    font-size: 16px;
}

.lfd-hdr-dropdown-btn {
    text-align: left;
    color: #4b5563;
}

.lfd-hdr-dropdown-btn::after {
    display: none;
}

/* Column Dividers */
@media (min-width: 768px) {
    .lfd-hdr-search-standard .lfd-hdr-search-col:not(:last-child)::after {
        content: '';
        position: absolute;
        right: 0;
        top: 15%;
        height: 70%;
        width: 1px;
        background: #e5e7eb;
    }
}

/* Custom Dropdown Menu for Guests */
.lfd-hdr-dropdown-menu {
    border-radius: 20px;
    border: none;
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
    padding: 20px !important;
    min-width: 250px;
}

.lfd-hdr-dropdown-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    font-weight: 500;
}

.lfd-hdr-dropdown-item:not(:last-child) {
    border-bottom: 1px solid #f3f4f6;
}

.lfd-hdr-qty-ctrl {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lfd-hdr-qty-btn {
    border: 1px solid #e5e7eb;
    background: #fff;
    border-radius: 50%;
    width: 32px; height: 32px;
    display: flex; justify-content: center; align-items: center;
    color: #6b7280; transition: 0.2s;
}

.lfd-hdr-qty-btn:hover {
    border-color: var(--lfd-hdr-text-dark);
    color: var(--lfd-hdr-text-dark);
}

.lfd-hdr-qty-input {
    width: 20px; border: none; text-align: center;
    font-weight: 600; pointer-events: none;
}

/* Fixed Search Button Area */
.lfd-hdr-btn-wrapper {
    padding: 0 10px;
}

.lfd-hdr-btn-search {
    background: var(--lfd-hdr-primary);
    border: none;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    color: #fff;
    font-size: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.lfd-hdr-btn-search:hover {
    background: var(--lfd-hdr-primary-hover);
    transform: scale(1.05);
    box-shadow: 0 10px 20px rgba(16, 185, 129, 0.3);
}

/* =========================================================
   AI TOGGLE SWITCH
========================================================= */
.lfd-hdr-ai-toggle-wrapper {
    /*margin-top: 35px;*/
    display: flex;
    align-items: center;
    gap: 15px;
    background: rgba(0,0,0,0.4);
    padding: 8px 24px;
    border-radius: 40px;
    backdrop-filter: blur(10px);
}

.lfd-hdr-toggle-text {
    color: rgba(255,255,255,0.7);
    font-size: 14px;
    font-weight: 600;
    transition: 0.3s ease;
}

.lfd-hdr-toggle-text.lfd-hdr-text-active {
    color: #ffffff;
}

.lfd-hdr-switch {
    position: relative;
    display: inline-block;
    width: 54px;
    height: 28px;
    margin: 0;
}

.lfd-hdr-switch input { 
    opacity: 0; 
    width: 0; 
    height: 0; 
}

.lfd-hdr-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(255,255,255,0.3);
    transition: .4s;
    border-radius: 34px;
}

.lfd-hdr-slider:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 50%;
}

.lfd-hdr-switch input:checked + .lfd-hdr-slider {
    background-color: var(--lfd-hdr-primary);
}

.lfd-hdr-switch input:checked + .lfd-hdr-slider:before {
    transform: translateX(26px);
}

/* =========================================================
   MOBILE OFFCANVAS MENU
========================================================= */
.lfd-hdr-offcanvas {
    font-family: var(--lfd-hdr-font);
    border-radius: 20px 0 0 20px;
}

.lfd-hdr-logo-dark {
    color: var(--lfd-hdr-text-dark);
    margin: 0;
}

.lfd-hdr-offcanvas-body {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 30px;
}

.lfd-hdr-mobile-link {
    font-size: 20px;
    font-weight: 600;
    color: var(--lfd-hdr-text-dark);
    text-decoration: none;
}

.lfd-hdr-divider {
    border-color: #e5e7eb;
    margin: 10px 0;
}

.lfd-hdr-btn-mobile {
    color: var(--lfd-hdr-text-dark);
    border: 1px solid var(--lfd-hdr-text-dark);
    text-align: center;
}

.lfd-hdr-mobile-profile {
    color: var(--lfd-hdr-text-dark);
    font-weight: 500;
    text-decoration: none;
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.lfd-hdr-profile::after{
    display:none !important;
}

/* ===========================================
   ACCOUNT DROPDOWN
=========================================== */

.lfd-hdr-dropdown-menu{
    width:280px;
    min-width:280px;

    padding:14px 0;

    border:none;
    border-radius:22px;

    background:#fff;

    box-shadow:
        0 10px 25px rgba(0,0,0,.08),
        0 25px 60px rgba(0,0,0,.12);

    margin-top:18px;
    padding: 20px;
    overflow:hidden;
}

/* spacing */

.lfd-hdr-dropdown-menu .dropdown-item{

    display:flex;
    align-items:center;

    gap:14px;

    padding:13px 24px;

    font-size:18px;

    font-weight:500;

    color:#2f3640;

    transition:.25s;

    background:transparent;
}

/* icons */

.lfd-hdr-dropdown-menu .dropdown-item i{

    width:22px;

    font-size:17px;

    color:#59606a;

    transition:.25s;
}

/* hover */

.lfd-hdr-dropdown-menu .dropdown-item:hover{

    background:#f6f7f9;

    color:#10B981;
}

.lfd-hdr-dropdown-menu .dropdown-item:hover i{

    color:#10B981;
}

/* divider */

.lfd-hdr-dropdown-menu .dropdown-divider{

    margin:10px 20px;

    border-color:#e7e7e7;
}

/* logout */

.lfd-hdr-logout{

    color:#ef4444 !important;
}

.lfd-hdr-logout i{

    color:#ef4444 !important;
}

.lfd-hdr-logout:hover{

    background:#fff5f5 !important;

    color:#dc2626 !important;
}

/* nice opening animation */

.lfd-hdr-dropdown-menu{

    display:block;

    visibility:hidden;

    opacity:0;

    transform:translateY(12px) scale(.98);

    transform-origin:top right;

    transition:
        opacity .22s ease,
        transform .22s ease,
        visibility .22s;
}

.lfd-hdr-dropdown-menu.show{

    visibility:visible;

    opacity:1;

    transform:translateY(0) scale(1);
}

/* =========================================================
   RESPONSIVE ADAPTATIONS
========================================================= */
@media (max-width: 991px) {
    :root {
        --lfd-hdr-cutout-w: 180px;
        --lfd-hdr-cutout-h: 80px;
    }
    .lfd-hdr-logo-area {
        padding-left: 20px;
    }
}

@media (max-width: 767px) {
    .lfd-hdr-wrapper {
        padding: 12px;
    }
    .lfd-hdr-inner {
        height: calc(100vh - 24px);
    }
    .lfd-hdr-search-col {
        padding: 15px 20px;
        border-bottom: 1px solid #f3f4f6;
    }
    .lfd-hdr-search-col:last-child {
        border-bottom: none;
    }
    .lfd-hdr-btn-wrapper {
        width: 100%;
        padding: 15px;
    }
    .lfd-hdr-btn-search {
        width: 100%;
        border-radius: 15px;
    }
    .lfd-hdr-search-card {
        border-radius: 28px;
        padding: 0;
        overflow: hidden;
    }
    .lfd-hdr-inputs-wrapper {
        padding-left: 0;
    }
}






/* ========================================= */
/* --- SECTION 1 CSS ENDS --- */
/* ========================================= */

/* ========================================= */
/* --- SECTION 2 CSS STARTS --- */
/* ========================================= */

.lfd-sec2-programs {
  padding: 50px 0;
  /*background-color: var(--hmh-aqua-soft);*/
  font-family: 'Nunito', sans-serif;
  color: var(--hmh-dark);
}

.lfd-sec2-container {
  width: min(calc(100% - 48px), var(--hmh-container));
  margin-inline: auto;
}

/* Header */
.lfd-sec2-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}

.lfd-sec2-eyebrow {
  display: block;
  margin-bottom: 12px;
  color: var(--hmh-teal);
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.lfd-sec2-title {
  font-family: 'Nunito', sans-serif;
  font-size: clamp(2rem, 3.5vw, 3.2rem);
  font-weight: 500;
  color: var(--hmh-dark);
  margin: 0;
  letter-spacing: -1px;
}

.lfd-sec2-section-copy {
  max-width: 450px;
  color: var(--hmh-muted);
  font-size: 1.1rem;
  margin: 0 0 8px 0;
}

/* Filter Tabs */
.lfd-sec2-tabs-wrapper {
  margin-bottom: 40px;
}

.lfd-sec2-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border: 1px solid var(--hmh-line);
  border-radius: var(--hmh-card-radius); /* 24px per brand guidelines */
  background: #ffffff;
  box-shadow: var(--hmh-shadow-sm);
  overflow: hidden;
}

.lfd-sec2-tab {
  background: transparent;
  border: none;
  border-right: 1px solid var(--hmh-line);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.lfd-sec2-tab:last-child {
  border-right: none;
}
.lfd-sec2-tab:hover, .lfd-sec2-tab.active {
  background: var(--hmh-aqua-soft);
}

.lfd-sec2-tab-icon {
  width: 42px;
  height: 42px;
  border-radius: var(--hmh-button-radius); /* 16px per brand guidelines */
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.lfd-sec2-tab-icon svg {
  width: 20px;
  height: 20px;
}

.lfd-sec2-tab-label {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.3;
  color: var(--hmh-dark);
}
.lfd-sec2-tab-sub {
  display: block;
  font-family: 'Nunito', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--hmh-muted);
  margin-top: 2px;
}



/* JS hidden state */
.lfd-sec2-card.lfd-hidden {
  display: none;
}

/* Card Media */
.lfd-sec2-card-media {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  border-radius: 24px;
}

/* Responsive */
@media (max-width: 1050px) {
  .lfd-sec2-tabs {
    grid-template-columns: repeat(3, 1fr);
  }
  .lfd-sec2-tab {
    border-bottom: 1px solid var(--hmh-line);
  }
  .lfd-sec2-tab:nth-child(3n) {
    border-right: none;
  }
  .lfd-sec2-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .lfd-sec2-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .lfd-sec2-tabs {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    border-radius: var(--hmh-button-radius);
    padding-bottom: 4px;
  }
  .lfd-sec2-tab {
    flex: 0 0 min(65vw, 220px);
    border-right: 1px solid var(--hmh-line) !important;
    border-bottom: none !important;
    scroll-snap-align: start;
  }
  .lfd-sec2-grid {
    grid-template-columns: 1fr;
  }
}


/* ========================================= */
/* --- SECTION 3 CSS STARTS --- */
/* ========================================= */




/* ---------- Recognition strip ---------- */
.lfd-sec2-recognition {
  padding: 28px 0 16px;
  font-family: 'Nunito', sans-serif;
  color: var(--hmh-dark, #414242);
  background: var(--hmh-grey-light, #f4f4f4);
}

.lfd-sec2-recognition-card {
  padding: 11px 0px 28px;
  border-radius: var(--hmh-card-radius, 24px);
  background: var(--hmh-grey-light, #f4f4f4);
}

.lfd-sec2-recognition-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
}

.lfd-sec2-recognition-head p {
  margin: 0;
  color: var(--hmh-muted, #777777);
  font-size: 1rem;
}

.lfd-sec2-recognition-head h3 {
      margin: 0 0 4px;
    color: var(--hmh-dark);
    font-size: clamp(1.8rem, 3vw, 1.6rem);
    font-weight: 800;
    line-height: 1.1;
}

.lfd-sec2-recognition-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
      padding: 24px 0px 0px;
}

.lfd-sec2-credential {
  min-height: 104px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  text-align: center;
  border: 1px solid var(--hmh-line, rgba(65,66,66,0.14));
  border-radius: var(--hmh-button-radius, 16px);
  background: #ffffff;
  font-family: "Nunito", sans-serif;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.25;
}

.lfd-sec2-credential span {
  display: block;
  color: var(--hmh-teal-deep, #008f82);
  font-family: 'Nunito', sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.lfd-sec2-credential-logo {
  display: block;
 /* max-width: 110px; */    /* Constrain logo width */
 /* height: 40px; */        /* Fix height to keep cards aligned */
  object-fit: contain; /* Prevent stretching */
  margin: 0 auto 12px auto; /* Center logo and add space below */
} 

/* --- Mobile Responsiveness --- */
@media (max-width: 1050px) {
  .lfd-sec2-recognition-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 780px) {
  .lfd-sec2-recognition {
    padding: 18px 0 54px;
  }
  .lfd-sec2-recognition-card {
    padding: 22px 16px;
  }
  .lfd-sec2-recognition-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
  .lfd-sec2-recognition-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px; /* Room for scrollbar */
  }
  .lfd-sec2-credential {
    flex: 0 0 min(66vw, 230px);
    scroll-snap-align: start;
  }
}







/* ---------- Utility Classes for Sec3 ---------- */
.lfd-sec3-container {
  width: min(calc(100% - 48px), var(--hmh-container, 1220px));
  margin-inline: auto;
}

.lfd-sec3-eyebrow {
  margin-bottom: 14px;
  color: var(--hmh-teal-deep, #008f82);
  font-family: 'Nunito', sans-serif;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lfd-sec3-eyebrow-light {
  color: rgba(255, 255, 255, .85);
}

.lfd-sec3-button {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 32px;
  border: none;
  border-radius: var(--hmh-button-radius, 16px);
  font-family: 'Nunito', sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  cursor: pointer;
}

.lfd-sec3-button:hover {
  transform: translateY(-2px);
}

.lfd-sec3-button-white {
  background: #ffffff;
  color: var(--hmh-teal-deep, #008f82);
}

/* ---------- Curate / Healthy Break ---------- */
.lfd-sec3-curate {
  padding: 10px 0;
  font-family: 'Nunito', sans-serif;
  color: var(--hmh-dark, #414242);
}

.lfd-sec3-curate-head {
  max-width: 760px;
  margin-bottom: 30px;
}

.lfd-sec3-curate-head h2 {
  font-family: 'Nunito', sans-serif;
  font-size: clamp(2rem, 3.5vw, 3.2rem);
  font-weight: 700; /* Nunito Bold */
  margin: 0;
  line-height: 1.1;
  letter-spacing: -1px;
}

.lfd-sec3-curate-grid {
  display: grid;
  grid-template-columns: 1.1fr .95fr .95fr;
  gap: 20px;
  align-items: stretch;
}

/* Curate Action Card */
.lfd-sec3-curate-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: clamp(26px, 3.6vw, 40px);
  border-radius: var(--hmh-card-radius, 24px); /* Scaled to 24px Feature Cards */
  color: #fff;
  background: radial-gradient(circle at 90% 10%, rgba(230, 244, 208, .4), transparent 32%), 
              linear-gradient(145deg, #4b8580, #1eb7aa 58%, #80d083);
}

.lfd-sec3-curate-card:after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -90px;
  width: 240px;
  height: 240px;
  border: 38px solid rgba(255, 255, 255, .11);
  border-radius: 50%;
}

.lfd-sec3-curate-card h3 {
  font-family: 'Nunito', sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0 0 12px 0;
}

.lfd-sec3-curate-card p {
  max-width: 460px;
  color: rgba(255, 255, 255, .9);
  font-size: 1rem;
  line-height: 1.5;
  margin: 0 0 10px 0;
}

.lfd-sec3-curate-card .lfd-sec3-button {
  position: relative;
  z-index: 2;
  margin-top: auto;
  align-self: flex-start;
}

/* Checklist */
.lfd-sec3-check-list {
  list-style: none;
  padding: 0;
  margin: 18px 0 26px;
  display: grid;
  gap: 11px;
}

.lfd-sec3-check-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  font-size: 0.95rem;
}

.lfd-sec3-check-dot {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: rgba(255, 255, 255, .18);
  font-size: 0.8rem;
}

/* Image Break Cards */
.lfd-sec3-break-card {
  position: relative;
  overflow: hidden;
  display: flex;
  border-radius: var(--hmh-card-radius, 24px);
  min-height: 340px;
  box-shadow: var(--hmh-shadow-sm, 0 10px 30px rgba(22, 78, 72, .08));
  transition: transform .2s ease, box-shadow .2s ease;
  text-decoration: none;
}

.lfd-sec3-break-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(22, 78, 72, .15);
}

.lfd-sec3-break-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.lfd-sec3-break-card:hover img {
  transform: scale(1.04);
}

.lfd-sec3-break-body {
  position: relative;
  z-index: 2;
  margin-top: auto;
  width: 100%;
  padding: 24px;
  color: #fff;
  background: linear-gradient(180deg, transparent, rgba(13, 44, 40, .82));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.lfd-sec3-break-body h3 {
  font-family: 'Nunito', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 6px 0;
}

.lfd-sec3-break-tag {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 6px 12px;
  border-radius: 8px; /* Standardized chip radius */
  background: rgba(255, 255, 255, .2);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

.lfd-sec3-break-body p {
  margin: 0;
  color: rgba(255, 255, 255, .9);
  font-size: .95rem;
}

/* ---------- Mobile Responsiveness ---------- */
@media(max-width: 1050px) {
  .lfd-sec3-curate-grid {
    grid-template-columns: 1fr 1fr;
  }
  .lfd-sec3-curate-card {
    grid-column: 1 / -1;
  }
}

@media(max-width: 780px) {
  .lfd-sec3-container {
    width: min(calc(100% - 32px), var(--hmh-container, 1220px));
  }
  .lfd-sec3-curate {
    padding: 60px 0;
  }
  .lfd-sec3-curate-grid {
    grid-template-columns: 1fr;
  }
  .lfd-sec3-break-card {
    min-height: 260px;
  }
}

@media(max-width: 540px) {
  .lfd-sec3-curate-card {
    border-radius: var(--hmh-card-radius, 24px);
  }
  .lfd-sec3-break-card {
    border-radius: var(--hmh-card-radius, 24px);
  }
}







/* ---------- Utility Classes for Sec4 ---------- */
.lfd-sec4-container {
  width: min(calc(100% - 48px), var(--hmh-container, 1220px));
  margin-inline: auto;
}

.lfd-sec4-icon {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  stroke-width: 1.8;
}

/* ---------- How Lifed works ---------- */
.lfd-sec4-how {
  padding: 30px 0 84px;
  font-family: 'Nunito', sans-serif;
}

.lfd-sec4-how-card {
  position: relative;
  overflow: hidden;
  border-radius: 24px; /* LIFED Brand Hero Radius */
}

.lfd-sec4-how-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lfd-sec4-how-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(97deg, rgba(8, 38, 34, .96) 0%, rgba(9, 45, 40, .92) 30%, rgba(11, 62, 56, .72) 52%, rgba(14, 88, 79, .34) 74%, rgba(18, 110, 98, .12) 100%);
}

.lfd-sec4-how-inner {
  position: relative;
  z-index: 2;
  padding: clamp(30px, 5vw, 58px);
  color: #fff;
}

.lfd-sec4-eyebrow {
  margin-bottom: 14px;
  color: var(--hmh-teal);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lfd-sec4-how-inner h2 {
  font-family: 'Nunito', sans-serif;
  font-size: clamp(2rem, 3vw, 2.2rem);
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 5px;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.lfd-sec4-how-inner h3 {
  font-family: 'Nunito', sans-serif;
  font-size: clamp(1.08rem, 1.7vw, 1.42rem);
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 9px;
  letter-spacing: -0.035em;
}

.lfd-sec4-how-lead {
  max-width: 640px;
  margin-top: 0;
  margin-bottom: 34px;
  color: rgba(255, 255, 255, .9);
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.05;
}

.lfd-sec4-how-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.lfd-sec4-how-step {
  min-height: 205px;
  padding: 22px;
  border-radius: 24px;
  background: rgba(255, 255, 255, .97);
  color: var(--hmh-dark, #414242);
  box-shadow: var(--hmh-shadow-sm, 0 10px 30px rgba(22, 78, 72, .08));
}

.lfd-sec4-how-step-top {
  display: flex;
  justify-content: space-between;
  align-items: start;
  margin-bottom: 24px;
}

.lfd-sec4-how-step-num {
  color: rgba(65, 66, 66, .18);
  font-family: "Nunito", sans-serif;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
}

.lfd-sec4-icon-box {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: var(--hmh-aqua, #d6edea);
  color: var(--hmh-teal-deep, #008f82);
}

.lfd-sec4-how-step p {
    margin: 0;
    color: var(--hmh-muted, #777777);
    font-size: .96rem;
    line-height: 1.35;
}

/* ---------- Mobile Responsiveness ---------- */
@media(max-width: 1050px) {
  .lfd-sec4-how-steps {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width: 780px) {
  .lfd-sec4-container {
    width: min(calc(100% - 32px), var(--hmh-container, 1220px));
  }
  .lfd-sec4-how {
    padding: 0 0 64px;
  }
  .lfd-sec4-how-steps {
    grid-template-columns: 1fr;
  }
  .lfd-sec4-how-step {
    min-height: 150px;
  }
  .lfd-sec4-how-step-top {
    margin-bottom: 18px;
  }
}

@media(max-width: 540px) {
  .lfd-sec4-how-card {
    border-radius: var(--hmh-card-radius, 24px); /* Scales down on smallest screens */
  }
}






/* ---------- Utility Classes for Sec5 ---------- */
.lfd-sec5-container {
  width: min(calc(100% - 48px), var(--hmh-container, 1220px));
  margin-inline: auto;
}

/* ---------- Participant stories ---------- */
.lfd-sec5-testimonials {
  padding: 45px 0;
  background: var(--hmh-aqua, #d6edea);
  font-family: 'Nunito', sans-serif;
  color: var(--hmh-dark, #414242);
}

.lfd-sec5-testimonials-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 36px;
}

.lfd-sec5-eyebrow {
  margin-bottom: 14px;
  color: var(--hmh-teal);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.lfd-sec5-testimonials-head h2 {
  font-family: 'Nunito', sans-serif;
  font-size: clamp(2rem, 3vw, 2.2rem);
  font-weight: 700;
  margin: 0;
  line-height: 1.1;
  letter-spacing: -1px;
}

.lfd-sec5-testimonial-note {
  max-width: 410px;
  color: var(--hmh-muted, #777777);
  font-size: 1rem;
  margin: 0 0 6px 0;
}

.lfd-sec5-testimonial-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--hmh-card-radius, 24px); /* Brand Feature Cards Radius */
  background: #ffffff;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.lfd-sec5-testimonial-card:hover {
  transform: translateY(-5px);
}

.lfd-sec5-testimonial-photo {
  aspect-ratio: 16/10;
  overflow: hidden;
  border-radius: 24px;
  /*background: var(--hmh-aqua-soft, #eef8f6);*/
}

.lfd-sec5-testimonial-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.lfd-sec5-testimonial-card:hover .lfd-sec5-testimonial-photo img {
  transform: scale(1.03);
}

.lfd-sec5-testimonial-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1; /* Allows the body to stretch to fill equal heights */
}

.lfd-sec5-quote-mark {
  color: var(--hmh-teal, #00ae9d);
  font-family: "Nunito", sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 0.8;
}

.lfd-sec5-testimonial-quote {
  margin: 0px 0 24px;
  font-family: "Nunito", sans-serif;
  font-size: clamp(1.18rem, 1.6vw, 1.15rem);
  font-weight: 700;
  line-height: 1.35;
}

.lfd-sec5-testimonial-footer {
  margin-top: auto; /* Pushes the person/role to the bottom uniformly */
}

.lfd-sec5-testimonial-person {
  font-weight: 800;
  font-size: 1rem;
}

.lfd-sec5-testimonial-role {
  color: var(--hmh-muted, #777777);
  font-size: 0.88rem;
}



/* ---------- Mobile Responsiveness ---------- */
@media(max-width: 1050px) {
  /* Drops to 2 columns on tablet */
  .lfd-sec5-testimonial-grid {
    grid-template-columns: repeat(2, 1fr); 
  }
}

@media(max-width: 780px) {
  .lfd-sec5-container {
    width: min(calc(100% - 32px), var(--hmh-container, 1220px));
  }
  .lfd-sec5-testimonials {
    padding: 62px 0;
  }
  .lfd-sec5-testimonials-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
  /* Switches to horizontal scrolling row on mobile */
  .lfd-sec5-testimonial-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 16px;
    padding-bottom: 12px;
  }
  .lfd-sec5-testimonial-card {
    flex: 0 0 min(85vw, 360px);
    scroll-snap-align: start;
  }
}






/* ---------- Healthmates ---------- */
.host-card{position:relative;overflow:hidden;display:flex;min-height:540px;border-radius:24px;;background:var(--teal-deep);box-shadow:var(--shadow-md)}
.host-media{position:absolute;inset:0;overflow:hidden}
.host-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% 52%}
.host-media::after{content:"";position:absolute;inset:0;background:linear-gradient(97deg,rgba(8,38,34,.96) 0%,rgba(9,45,40,.92) 30%,rgb(11 62 56 / 52%) 52%,rgb(14 88 79 / 9%) 74%,rgb(18 110 98 / 0%) 100%)}   
.host-inner{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;max-width:660px;padding:clamp(32px,4.6vw,64px);color:#fff}
.host-inner p{max-width:560px;color:rgba(255,255,255,.94);    font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.2; }
.host-points{list-style:none;padding:0;margin:24px 0 28px;display:grid;gap:13px}
.host-points li{display:flex;align-items:center;gap:11px;color:#fff;font-weight:800}





/* ---------- Utility Classes for Sec7 ---------- */
.lfd-sec7-container {
  width: min(calc(100% - 48px), var(--hmh-container, 1220px));
  margin-inline: auto;
}

.lfd-sec7-button {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 32px;
  border: 1px solid transparent;
  border-radius: var(--hmh-button-radius, 16px);
  font-family: 'Nunito', sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.lfd-sec7-button:hover {
  transform: translateY(-2px);
}

.lfd-sec7-button-primary {
  background: var(--hmh-green-life, #5fbb46);
  color: #fff;
  box-shadow: 0 14px 28px rgba(95, 187, 70, .25);
}

.lfd-sec7-button-primary:hover {
  background: var(--hmh-green-life-hover, #4ea038);
}

.lfd-sec7-button-outline {
  background: transparent;
  color: var(--hmh-teal-deep, #008f82);
  border-color: rgba(0, 143, 130, .5);
}

.lfd-sec7-button-outline:hover {
  background: rgba(0, 143, 130, .05);
}

/* ---------- FAQ Section ---------- */
.lfd-sec7-faq-section {
  /*padding: 76px 0 0;*/
  background: var(--hmh-grey-light, #f4f4f4);
  font-family: 'Nunito', sans-serif;
  color: var(--hmh-dark, #414242);
  padding: clamp(56px, 7vw, 72px) 0;
}

.lfd-sec7-faq-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 32px;
}

.lfd-sec7-eyebrow {
  margin-bottom: 12px;
  color: var(--hmh-teal);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lfd-sec7-title {
  font-family: 'Nunito', sans-serif;
  font-size: clamp(2rem, 3vw, 2.2rem);
  font-weight: 700;
  margin: 0;
  line-height: 1.1;
  letter-spacing: -1px;
}

.lfd-sec7-section-copy {
  max-width: 460px;
  color: var(--hmh-muted, #777777);
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  margin: 0 0 6px 0;
}

/* FAQ Accordion Grid */
.lfd-sec7-faq-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
}

.lfd-sec7-faq-list {
  border-top: 1px solid var(--hmh-line, rgba(65,66,66,.14));
}

.lfd-sec7-faq-list details {
  border-bottom: 1px solid var(--hmh-line, rgba(65,66,66,.14));
}

.lfd-sec7-faq-list summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 4px;
  font-family: "Nunito", sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  cursor: pointer;
  color: var(--hmh-dark, #414242);
}

/* Remove default browser marker */
.lfd-sec7-faq-list summary::-webkit-details-marker {
  display: none;
}

/* Custom expand/collapse icon */
/* Custom expand/collapse icon rotation for a smoother feel */
.lfd-sec7-faq-list summary:after {
  content: "+";
  color: var(--hmh-teal-deep, #008f82);
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  transition: transform 0.3s ease; /* Smoothly spins the plus icon */
}

.lfd-sec7-faq-list details[open] summary:after {
  content: "+"; /* Keep it as a plus, but rotate it to look like an 'x' */
  transform: rotate(45deg); 
}

/* Smooth fade and slide animation for the text */
.lfd-sec7-faq-list details[open] p {
  animation: lfd-sec7-sweep 0.3s ease-in-out forwards;
}

@keyframes lfd-sec7-sweep {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.lfd-sec7-faq-list details p {
  padding: 0 34px 24px 4px;
  margin: 0;
  color: var(--hmh-muted, #777777);
  font-size: 0.95rem;
  line-height: 1.6;
}

.lfd-sec7-faq-more {
  display: none; /* Hidden on desktop */
  margin-top: 24px;
}

/* ---------- Final CTA Box Redesign ---------- */
/* ---------- Final CTA Box (Redesigned) ---------- */
.final-cta-box{position:relative;overflow:hidden;display:flex;align-items:center;padding:clamp(32px,5vw,64px);border-radius:24px;color:#fff;background:var(--teal-deep)}
.final-cta-box>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 58%}
.final-cta-box::before{content:"";position:absolute;inset:0;background:linear-gradient(96deg,rgba(6,32,29,.96) 0%,rgba(7,38,34,.92) 34%,rgba(8,48,43,.74) 56%,rgba(10,62,56,.5) 76%,rgba(12,78,70,.36) 100%)}
.final-cta-box>.row{position:relative;z-index:2;width:100%}
.final-cta-box h2{margin:0;max-width:640px; font-size: clamp(2rem, 3vw, 2.2rem);}
.final-cta-box p{margin:10px 0 0;max-width:560px;color:rgba(255,255,255,.92); font-size: 1.04rem;}

/* ---------- Mobile Responsiveness ---------- */
@media (max-width: 780px) {
  .lfd-sec7-container {
    width: min(calc(100% - 32px), var(--hmh-container, 1220px));
  }
  
  .lfd-sec7-faq-section {
    padding-top: 62px;
  }
  
  .lfd-sec7-faq-top {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  
  .lfd-sec7-faq-columns {
    grid-template-columns: 1fr;
  }
  
  /* Hide the second column of FAQs by default on mobile */
  .lfd-sec7-faq-list.lfd-sec7-secondary {
    display: none;
  }
  
  /* Show them when the button is toggled */
  .lfd-sec7-faq-list.lfd-sec7-secondary.lfd-sec7-visible {
    display: block;
  }
  
  .lfd-sec7-faq-more {
    display: inline-flex;
    width: 100%;
  }

}

@media (max-width: 540px) {
  .lfd-sec7-final-cta-box .lfd-sec7-button {
    width: 100%;
  }
}










/* ---------- Contact ---------- */
/* --- Variables & Base Styles (Missing from original snippet) --- */
.lfd-sec8-section-pad {
  padding: 80px 0;
  /* Define the missing CSS variables so the colors and borders work */
  --line: #e2e8f0;
  --r24: 24px;
  --r16: 16px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
  --teal: #00ae9d;
  --teal-deep: #007c70;
  --ink: #0f172a;
  --muted: #64748b;
  --aqua-soft: #f0fdfa;
  --teal-ink: #134e4a;
}

/* --- Typographic & Utility Classes --- */
.lfd-sec8-eyebrow { display: block; font-size: 0.875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.15em; color: var(--muted); margin-bottom: 0.75rem; font-family: "Nunito", sans-serif; color: var(--hmh-teal);}
.lfd-sec8-h-section { font-size: clamp(2rem, 3vw, 2.2rem); font-weight: 800; color: var(--ink); line-height: 1.15; margin-bottom: 1rem; font-family: "Nunito", sans-serif; }
.lfd-sec8-section-copy { font-size: clamp(1rem, 1.4vw, 0.96rem); color: var(--muted); line-height: 1.2; margin-bottom: 2.5rem; max-width: 500px; font-family: "Nunito", sans-serif; }
.lfd-sec8-form-note { font-size: 0.85rem; color: var(--muted); font-family: "Nunito", sans-serif; margin-top: 0.5rem; }

/* --- Buttons --- */
.lfd-sec8-btn-lifed { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; padding: 12px 24px; font-family: "Nunito", sans-serif; font-size: 1rem; font-weight: 800; border-radius: 12px; border: none; cursor: pointer; transition: all 0.2s ease; }
.lfd-sec8-btn-teal { background-color: var(--teal); color: #fff; }
.lfd-sec8-btn-teal:hover { background-color: var(--teal-deep); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 174, 157, 0.3); }

/* --- ICON FIX: This prevents the black squares in the image --- */
.lfd-sec8-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* --- Form --- */
.lfd-sec8-contact-form { padding: clamp(22px, 3vw, 34px); border: 1px solid var(--line); border-radius: var(--r16); background: #fff; box-shadow: var(--shadow-sm); }
.lfd-sec8-form-control-lifed { min-height: 52px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 12px; font-family: "Nunito", sans-serif; }
.lfd-sec8-form-control-lifed:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(0, 174, 157, .18); outline: none; }
textarea.lfd-sec8-form-control-lifed { min-height: 130px; resize: vertical; }

/* --- Contact Grid --- */
.lfd-sec8-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
.lfd-sec8-contact-tile { display: flex; align-items: flex-start; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: var(--r16); background: #fff; color: var(--ink); text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
a.lfd-sec8-contact-tile:hover { border-color: rgba(0, 174, 157, .5); transform: translateY(-3px); box-shadow: var(--shadow-sm); }
.lfd-sec8-contact-ico { width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; background: var(--hmh-aqua); color: var(--hmh-teal); text-align: center;}
.lfd-sec8-contact-ico .lfd-sec8-icon { width: 19px; height: 19px; }
.lfd-sec8-contact-tile-label { display: block; margin-bottom: 3px; color: var(--muted); font-family: "Nunito", sans-serif; font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.lfd-sec8-contact-tile-value { display: block; font-family: "Nunito", sans-serif; font-weight: 800; font-size: .95rem; line-height: 1.3; color: var(--ink); word-break: break-word; }
a.lfd-sec8-contact-tile:hover .lfd-sec8-contact-tile-value { color: var(--teal-deep); }

/* --- Socials --- */
.lfd-sec8-social-block { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.lfd-sec8-social-label { display: block; margin-bottom: 12px; color: var(--muted); font-family: "Nunito", sans-serif; font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.lfd-sec8-social-row { display: flex; flex-wrap: wrap; gap: 10px; }
.lfd-sec8-social-btn { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--hmh-teal); transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease; text-align: center;}
.lfd-sec8-social-btn:hover { border-color: var(--teal); background: var(--aqua-soft); color: var(--teal-deep); transform: translateY(-3px); }
.lfd-sec8-social-btn .lfd-sec8-icon { width: 20px; height: 20px; }

/* Responsive tweaks for smaller screens */
@media (max-width: 768px) {
  .lfd-sec8-contact-grid { grid-template-columns: 1fr; }
}

/* Update the contact grid icons */
.lfd-sec8-contact-ico .lfd-sec8-icon { 
  font-size: 18px; 
}

/* Update the social button icons */
.lfd-sec8-social-btn .lfd-sec8-icon { 
  font-size: 20px; 
}


/*===========================================================
========================= LEWIS =============================
============================================================*/


/* ---------- LEWIS ---------- */
/* =========================================================
   LEWIS FLOATING DOCK
========================================================= */

.lewis-dock {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1150;

    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 14px;

    font-family: "Nunito", sans-serif;
}

/* =========================================================
   FLOATING BUTTON
========================================================= */

/* =========================================================
   ROUND LEWIS BUTTON
========================================================= */

.lewis-orb {
    position: relative;

    width: 66px;
    height: 66px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid rgba(0, 174, 157, 0.22);
    border-radius: 50%;

    background: #ffffff;

    box-shadow:
        0 18px 48px rgba(18, 60, 56, 0.22),
        0 5px 14px rgba(18, 60, 56, 0.1);

    cursor: pointer;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.lewis-orb:hover,
.lewis-orb:focus-visible,
.lewis-orb.is-open {
    border-color: rgba(0, 174, 157, 0.5);

    transform: translateY(-3px) scale(1.03);

    box-shadow:
        0 24px 55px rgba(18, 60, 56, 0.26),
        0 7px 18px rgba(18, 60, 56, 0.12);
}

.lewis-orb:focus-visible {
    outline: 3px solid rgba(0, 174, 157, 0.18);
    outline-offset: 3px;
}

.lewis-orb-icon {
    position: relative;
    isolation: isolate;

    width: 52px;
    height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ffffff;
}

.lewis-orb-icon img {
    position: relative;
    z-index: 2;

    display: block;

    width: 40px;
    height: 40px;

    object-fit: contain;

    /* Preserve the SVG's original colors */
    filter: none;
}

.lewis-orb-glow {
    position: absolute;
    inset: -5px;
    z-index: -1;

    border-radius: 50%;

    background: rgba(0, 174, 157, 0.22);

    opacity: 0.48;
    filter: blur(9px);

    animation:
        lewisDockGlow
        3.2s
        ease-in-out
        infinite;
}

@keyframes lewisDockGlow {
    0%,
    100% {
        opacity: 0.34;
        transform: scale(0.96);
    }

    50% {
        opacity: 0.65;
        transform: scale(1.06);
    }
}

/* Copy */



.lewis-orb:hover .lewis-orb-arrow,
.lewis-orb.is-open .lewis-orb-arrow {
    background: rgba(0, 174, 157, 0.15);
}

.lewis-orb.is-open .lewis-orb-arrow {
    transform: rotate(180deg);
}

/* =========================================================
   PANEL
========================================================= */

.lewis-panel {
    width: min(390px, calc(100vw - 32px));
    max-height: calc(100dvh - 120px);

    overflow-y: auto;
    overscroll-behavior: contain;

    border: 1px solid rgba(22, 78, 72, 0.12);
    border-radius: 24px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfdfd 100%
        );

    color: #1d2a35;

    box-shadow:
        0 30px 75px rgba(18, 60, 56, 0.24),
        0 8px 24px rgba(18, 60, 56, 0.08);

    transform-origin: right bottom;

    animation: lewisPanelIn 0.24s ease both;
}

.lewis-panel[hidden] {
    display: none;
}

@keyframes lewisPanelIn {
    from {
        opacity: 0;
        transform: translateY(14px) scale(0.975);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Panel header */

.lewis-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    padding: 17px 18px;

    border-bottom: 1px solid rgba(22, 78, 72, 0.08);
}

.lewis-panel-brand {
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 11px;
}

.lewis-brand-icon {
    width: 42px;
    height: 42px;

    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(0, 174, 157, 0.16);
    border-radius: 50%;

    background: #ffffff;

    box-shadow:
        0 8px 18px rgba(0, 174, 157, 0.14);
}



.lewis-brand-copy {
    min-width: 0;

    display: flex;
    flex-direction: column;
    gap: 1px;
}

.lewis-brand-name {
    color: #173d39;

    font-family: "Nunito", sans-serif;
    font-size: 0.84rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.09em;
}

.lewis-brand-status {
    color: #7a8886;

    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.3;
}

.lewis-close {
    width: 38px;
    height: 38px;

    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid rgba(22, 78, 72, 0.1);
    border-radius: 12px;

    background: #f7faf9;
    color: #6b7977;

    font-size: 0.9rem;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.lewis-close:hover,
.lewis-close:focus-visible {
    border-color: rgba(0, 174, 157, 0.35);
    background: rgba(0, 174, 157, 0.08);
    color: var(--hmh-teal, #00ae9d);

    transform: rotate(4deg);
}

/* Panel content */

.lewis-panel-content {
    padding: 22px 20px 20px;
}

.lewis-kicker {
    display: inline-flex;
    align-items: center;

    margin-bottom: 9px;
    padding: 5px 9px;

    border-radius: 999px;

    background: rgba(0, 174, 157, 0.09);
    color: var(--hmh-teal, #00ae9d);

    font-family: "Nunito", sans-serif;
    font-size: 0.65rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.lewis-panel-content h3 {
    margin: 0 0 10px;

    color: #173d39;

    font-family: "Nunito", sans-serif;
    font-size: 1.22rem;
    font-weight: 800;
    line-height: 1.35;
}

.lewis-panel-copy {
    margin: 0;

    color: #6c7b79;

    font-size: 0.87rem;
    font-weight: 500;
    line-height: 1.6;
}

/* Benefits */

.lewis-panel-benefits {
    display: grid;
    gap: 9px;

    margin: 18px 0;
}

.lewis-benefit {
    min-height: 44px;

    display: flex;
    align-items: center;
    gap: 10px;

    padding: 9px 11px;

    border: 1px solid rgba(22, 78, 72, 0.07);
    border-radius: 13px;

    background: #f7faf9;
    color: #405450;

    font-size: 0.8rem;
    font-weight: 700;
}

.lewis-benefit-icon {
    width: 30px;
    height: 30px;

    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: rgba(0, 174, 157, 0.1);
    color: var(--hmh-teal, #00ae9d);

    font-size: 0.78rem;
}

/* Main action */

.lewis-primary-action {
    width: 100%;
    min-height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;

    padding: 0 17px;

    border: 1px solid var(--hmh-teal, #00ae9d);
    border-radius: 14px;

    background: var(--hmh-teal, #00ae9d);
    color: #ffffff;

    font-family: "Nunito", sans-serif;
    font-size: 0.87rem;
    font-weight: 800;
    text-decoration: none;

    box-shadow:
        0 10px 24px rgba(0, 174, 157, 0.22);

    transition:
        background-color 0.22s ease,
        border-color 0.22s ease,
        box-shadow 0.22s ease,
        transform 0.22s ease;
}

.lewis-primary-action:hover,
.lewis-primary-action:focus-visible {
    border-color: #008f82;
    background: #008f82;
    color: #ffffff;

    transform: translateY(-2px);

    box-shadow:
        0 14px 30px rgba(0, 174, 157, 0.28);
}

.lewis-primary-action i {
    transition: transform 0.22s ease;
}

.lewis-primary-action:hover i {
    transform: translateX(3px);
}

.lewis-fine {
    margin: 12px 0 0;

    color: #8a9694;

    font-size: 0.7rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
}

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

@media (max-width: 575.98px) {

    .lewis-dock {
        right: 14px;
        bottom: calc(14px + env(safe-area-inset-bottom));
        left: 14px;

        align-items: stretch;
    }

    .lewis-orb {
        width: auto;
        min-width: 0;
        min-height: 62px;

        grid-template-columns: 44px minmax(0, 1fr) 28px;

        margin-left: auto;
        padding: 8px 9px;

        border-radius: 18px;
    }

    .lewis-orb-icon {
        width: 44px;
        height: 44px;

        border-radius: 13px;
    }

    .lewis-orb-icon img {
        width: 25px;
        height: 25px;
    }

    .lewis-panel {
        width: 100%;
        max-height: calc(
            100dvh - 100px - env(safe-area-inset-bottom)
        );

        border-radius: 22px;
    }

    .lewis-panel-content {
        padding: 20px 17px 18px;
    }

}

@media (max-width: 359.98px) {

    .lewis-orb-eyebrow {
        display: none;
    }

    .lewis-orb {
        min-width: 170px;
    }

}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .lewis-orb-glow {
        animation: none;
    }

    .lewis-panel {
        animation: none;
    }

    .lewis-orb,
    .lewis-primary-action,
    .lewis-close {
        transition: none;
    }

}

/* =========================================================
   LEWIS PROMPT MESSAGE
========================================================= */

.lewis-prompt {
    position: relative;

    max-width: 220px;

    display: inline-flex;
    align-items: center;

    padding: 11px 15px;

    border: 1px solid rgba(0, 174, 157, 0.18);
    border-radius: 14px;

    background: #ffffff;
    color: #173d39;

    font-family: "Nunito", sans-serif;
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.35;

    box-shadow:
        0 14px 34px rgba(18, 60, 56, 0.18);

    transform-origin: right bottom;

    animation:
        lewisPromptIn 0.42s
        cubic-bezier(.22, .61, .36, 1)
        both;
}

.lewis-prompt[hidden] {
    display: none;
}

.lewis-prompt::before {
    content: "";

    position: absolute;
    inset: -1px;

    border-radius: inherit;

    background:
        linear-gradient(
            110deg,
            transparent 15%,
            rgba(0, 174, 157, 0.14) 50%,
            transparent 85%
        );

    background-size: 220% 100%;

    pointer-events: none;

    animation:
        lewisPromptShimmer
        2.6s
        linear
        infinite;
}

.lewis-prompt-text {
    position: relative;
    z-index: 1;
}

.lewis-prompt-tail {
    position: absolute;
    right: 22px;
    bottom: -7px;

    width: 14px;
    height: 14px;

    border-right: 1px solid rgba(0, 174, 157, 0.18);
    border-bottom: 1px solid rgba(0, 174, 157, 0.18);

    background: #ffffff;

    transform: rotate(45deg);
}

@keyframes lewisPromptIn {
    from {
        opacity: 0;
        transform: translateY(10px) scale(0.94);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes lewisPromptShimmer {
    from {
        background-position: 180% 0;
    }

    to {
        background-position: -80% 0;
    }
}


@media (max-width: 575.98px) {

    .lewis-dock {
        right: 14px;
        bottom: calc(14px + env(safe-area-inset-bottom));
        left: auto;

        align-items: flex-end;
    }

    .lewis-orb {
        width: 60px;
        height: 60px;
    }

    .lewis-orb-icon {
        width: 48px;
        height: 48px;
    }

    .lewis-orb-icon img {
        width: 37px;
        height: 37px;
    }

    .lewis-prompt {
        max-width: min(210px, calc(100vw - 100px));

        padding: 10px 14px;

        font-size: 0.8rem;
    }

    .lewis-panel {
        width: min(
            390px,
            calc(100vw - 28px)
        );

        max-height: calc(
            100dvh - 96px - env(safe-area-inset-bottom)
        );

        border-radius: 22px;
    }

}

.lewis-dock {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform: translateY(18px);

    transition:
        opacity 0.3s ease,
        visibility 0.3s ease,
        transform 0.3s ease;
}

.lewis-dock.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform: translateY(0);
}

/* =========================================================
   LOCATION
========================================================= */

.lfd-hdr-location-wrapper {
    position: relative;
}

.lfd-hdr-location-input {
    padding-right: 44px;
}

.lfd-hdr-location-icon-btn {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    border-radius: 50%;
    display: grid;
    place-items: center;
    cursor: pointer;
    z-index: 3;
}

.lfd-hdr-location-icon-btn:hover {
    background: rgba(0, 174, 157, 0.1);
}

.lfd-hdr-location-results {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 9999;
    max-height: 280px;
    overflow-y: auto;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}

.lfd-hdr-location-results.is-open {
    display: block;
}

.lfd-hdr-current-location-option {
    width: 100%;
    border: 0;
    border-bottom: 1px solid #eeeeee;
    background: #ffffff;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    cursor: pointer;
}

.lfd-hdr-current-location-option:hover {
    background: #f5fbfa;
}

.lfd-hdr-current-location-option span {
    display: flex;
    flex-direction: column;
}

.lfd-hdr-current-location-option small {
    color: #68706d;
    margin-top: 2px;
}

.lfd-sec8-contact-actions {
    display: flex;
    gap: 14px;
    align-items: stretch;
}

.lfd-sec8-contact-actions .lfd-sec8-btn-lifed {
    flex: 1 1 0;
    width: auto;
}

@media (max-width: 575.98px) {
    .lfd-sec8-contact-actions {
        flex-direction: column;
    }

    .lfd-sec8-contact-actions .lfd-sec8-btn-lifed {
        width: 100%;
    }

    .lfd-hdr-location-icon-btn {
      right: -11px !important;
    }
      
    .lfd-hdr-location-results {
      left: -67px !important;
    }

}

@media (max-width: 575.98px) {

    .flatpickr-calendar.lfd-hdr-calendar {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }

}

.lfd-hdr-current-location-content
{
  font-size: 12px;
}

/* =========================================================
   HERO LOCATION AUTOCOMPLETE
========================================================= */

.lfd-hdr-location-wrapper {
    position: relative;
    width: 100%;
}

.lfd-hdr-location-results {
    position: absolute;
    top: calc(100% + 14px);
    left: 0;
    z-index: 1050;

    width: min(390px, calc(100vw - 32px));
    max-height: 420px;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;

    transform: translateY(-8px);

    transition:
        opacity 180ms ease,
        transform 180ms ease,
        visibility 180ms ease;
}

.lfd-hdr-location-results.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.lfd-hdr-location-results-inner {
    overflow: hidden;

    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(15, 83, 75, 0.1);
    border-radius: 20px;

    box-shadow:
        0 24px 60px rgba(17, 53, 49, 0.18),
        0 8px 20px rgba(17, 53, 49, 0.08);

    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

/* Current location: always the first row */

.lfd-hdr-current-location-option {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 18px;
    gap: 13px;
    align-items: center;

    width: 100%;
    padding: 17px 18px;

    border: 0;
    background: linear-gradient(
        135deg,
        rgba(232, 250, 247, 0.96),
        rgba(244, 252, 250, 0.96)
    );

    color: #173e39;
    text-align: left;
    cursor: pointer;

    transition:
        background-color 160ms ease,
        transform 160ms ease;
}

.lfd-hdr-current-location-option:hover,
.lfd-hdr-current-location-option:focus-visible {
    background: #e3f7f3;
    outline: none;
}

.lfd-hdr-current-location-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border-radius: 13px;
    background: #ffffff;

    color: #008f80;
    font-size: 16px;

    box-shadow: 0 5px 14px rgba(0, 143, 128, 0.12);
}

.lfd-hdr-current-location-content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.lfd-hdr-current-location-content strong {
    color: #163d38;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.35;
}

.lfd-hdr-current-location-content small {
    color: #6d817e;
    font-size: 12px;
    line-height: 1.45;
}

.lfd-hdr-current-location-content small.is-error {
    color: #c43d3d;
}

.lfd-hdr-current-location-arrow,
.lfd-hdr-location-suggestion-arrow {
    color: #93a5a2;
    font-size: 11px;
}

/* Divider and heading */

.lfd-hdr-location-results-divider {
    height: 1px;
    background: #edf1f0;
}

.lfd-hdr-location-suggestions-head {
    padding: 13px 18px 8px;

    color: #80918e;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.lfd-hdr-location-suggestions {
    overflow-y: auto;
    max-height: 260px;
    padding: 0 8px 9px;

    scrollbar-width: thin;
    scrollbar-color: #c9d7d4 transparent;
}

.lfd-hdr-location-suggestions::-webkit-scrollbar {
    width: 6px;
}

.lfd-hdr-location-suggestions::-webkit-scrollbar-track {
    background: transparent;
}

.lfd-hdr-location-suggestions::-webkit-scrollbar-thumb {
    border-radius: 99px;
    background: #c9d7d4;
}

/* Search result rows */

.lfd-hdr-location-suggestion {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 16px;
    gap: 12px;
    align-items: center;

    width: 100%;
    min-height: 62px;
    padding: 10px 11px;

    border: 0;
    border-radius: 13px;
    background: transparent;

    color: #1c3330;
    text-align: left;
    cursor: pointer;

    transition:
        background-color 150ms ease,
        transform 150ms ease;
}

.lfd-hdr-location-suggestion + .lfd-hdr-location-suggestion {
    margin-top: 2px;
}

.lfd-hdr-location-suggestion:hover,
.lfd-hdr-location-suggestion:focus-visible {
    background: #f1f9f7;
    outline: none;
    transform: translateX(2px);
}

.lfd-hdr-location-suggestion-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border-radius: 12px;
    background: #eef8f6;

    color: #009c8c;
    font-size: 14px;
}

.lfd-hdr-location-suggestion-content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.lfd-hdr-location-suggestion-content strong {
    overflow: hidden;

    color: #1a3632;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.lfd-hdr-location-suggestion-content small {
    color: #82918f;
    font-size: 11px;
    font-weight: 500;
    text-transform: capitalize;
}

/* Empty state */

.lfd-hdr-location-empty {
    display: flex;
    gap: 12px;
    align-items: center;

    padding: 17px 12px 19px;

    color: #617470;
}

.lfd-hdr-location-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;
    flex: 0 0 38px;

    border-radius: 12px;
    background: #f2f5f4;
    color: #92a09e;
}

.lfd-hdr-location-empty > span:last-child {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.lfd-hdr-location-empty strong {
    color: #405854;
    font-size: 13px;
}

.lfd-hdr-location-empty small {
    color: #889794;
    font-size: 11px;
}

/* Input-side current-location icon */

.lfd-hdr-location-icon-btn {
    position: absolute;
    top: 50%;
    right: 12px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border: 0;
    border-radius: 50%;
    background: transparent;

    color: #173e39;
    cursor: pointer;

    transform: translateY(-50%);

    transition:
        color 150ms ease,
        background-color 150ms ease;
}

.lfd-hdr-location-icon-btn:hover,
.lfd-hdr-location-icon-btn:focus-visible {
    background: #edf8f6;
    color: #009b8b;
    outline: none;
}

.lfd-hdr-location-input {
    padding-right: 52px;
}

/*============================================================
   HERO NEW CSS
=============================================================*/

/* =========================================================
   LIFED HOMEPAGE HERO — DESIGN V2
========================================================= */

:root {
    --lfd-hdr-radius: 32px;
    --lfd-hdr-cutout-w: 350px;
    --lfd-hdr-cutout-h: 145px;
    --lfd-hdr-primary: #00ae9d;
    --lfd-hdr-primary-hover: #009688;

}

/* ---------------------------------------------------------
   Main canvas
--------------------------------------------------------- */

.lfd-hdr-wrapper {
    min-height: 100svh;
    padding: 20px 25px;
}

.lfd-hdr-inner {
    height: calc(100svh - 32px);
    min-height: 780px;
    border-radius: var(--lfd-hdr-radius);
}

.lfd-hdr-canvas {
    border-radius: var(--lfd-hdr-radius);
}

/*
 * The reference image places the woman on the right.
 * The supplied hero image is horizontally reversed compared
 * with the reference, so the scaleX(-1) is intentional.
 */
.lfd-hdr-bg-img {
    object-position: center center;
    animation: lfd-hdr-zoom-v2 22s infinite ease-in-out;
}

@keyframes lfd-hdr-zoom-v2 {
    0% {
        transform: scaleX(-1) scale(1);
    }

    50% {
        transform: scaleX(-1) scale(1.055);
    }

    100% {
        transform: scaleX(-1) scale(1);
    }
}

/*.lfd-hdr-bg-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(25, 38, 40, 0.48) 0%,
            rgba(25, 38, 40, 0.27) 38%,
            rgba(25, 38, 40, 0.10) 70%,
            rgba(25, 38, 40, 0.07) 100%
        ),
        linear-gradient(
            180deg,
            rgba(15, 30, 32, 0.18) 0%,
            rgba(15, 30, 32, 0.04) 45%,
            rgba(15, 30, 32, 0.18) 100%
        );
}*/

/* ---------------------------------------------------------
   Cutout and logo
--------------------------------------------------------- */

.lfd-hdr-logo-block {
    width: var(--lfd-hdr-cutout-w);
    height: var(--lfd-hdr-cutout-h);
}

.lfd-hdr-logo-area {
    width: var(--lfd-hdr-cutout-w);
    flex: 0 0 var(--lfd-hdr-cutout-w);
    padding-left: 42px;
}

.lfd-hdr-logo-img {
    height: 98px;
}

/* ---------------------------------------------------------
   Navigation
--------------------------------------------------------- */

.lfd-hdr-nav {
    height: var(--lfd-hdr-cutout-h);
}

.lfd-hdr-nav-container {
    width: 100%;
}

.lfd-hdr-menu-area {
    flex: 1 1 auto;
    height: 100%;
    min-width: 0;
    padding: 0 34px 0 58px;
    align-items: center;
    justify-content: space-between;
}

.lfd-hdr-nav-primary,
.lfd-hdr-nav-actions {
    display: flex;
    align-items: center;
}

.lfd-hdr-nav-primary {
    gap: 48px;
}

.lfd-hdr-nav-actions {
    gap: 26px;
}

.lfd-hdr-link,
.lfd-hdr-healthmate-link {
    color: #ffffff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    transition:
        color 0.2s ease,
        opacity 0.2s ease,
        transform 0.2s ease;
}

.lfd-hdr-link:hover,
.lfd-hdr-healthmate-link:hover {
    color: #ffffff;
    opacity: 0.78;
    transform: translateY(-1px);
}

.lfd-hdr-healthmate-link {
    padding: 14px 4px;
}

/* Remove the old pill appearance if this class remains elsewhere. */

.lfd-hdr-btn-outline {
    border-color: rgba(255, 255, 255, 0.55);
}

/* Circular grid and profile buttons */

.lfd-hdr-icon-button {
    width: 38px;
    height: 38px;
    flex: 0 0 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 2px solid rgba(255, 255, 255, 0.92);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    color: #ffffff;
    text-decoration: none;
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

.lfd-hdr-icon-button:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.17);
    transform: translateY(-2px);
}

.lfd-hdr-grid-icon {
    width: 23px;
    height: 23px;
    display: grid;
    grid-template-columns: repeat(2, 9px);
    grid-template-rows: repeat(2, 9px);
    gap: 5px;
}

.lfd-hdr-grid-icon span {
    display: block;
    border: 1.8px solid currentColor;
    border-radius: 3px;
}

.lfd-hdr-profile {
    font-size: 16px;
}

.lfd-hdr-profile-initial {
    font-size: 18px;
    font-weight: 800;
}

/* ---------------------------------------------------------
   Hero content
--------------------------------------------------------- */

.lfd-hdr-content {
    height: 100%;
    align-items: flex-start;
    justify-content: flex-end;
    padding:
        var(--lfd-hdr-cutout-h)
        clamp(82px, 7.7vw, 132px)
        clamp(68px, 7.5vh, 92px);
    text-align: left;
}

.lfd-hdr-title {
    max-width: 720px;
    margin: 0 0 18px;
    color: #ffffff;
    font-size: clamp(3.6rem, 5.25vw, 4.65rem);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.045em;
}

.lfd-hdr-subtitle {
    max-width: 940px;
    margin: 0 0 36px;
    color: rgba(255, 255, 255, 0.96);
    font-size: clamp(1.3rem, 2.05vw, 2rem);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -0.015em;
}

/* ---------------------------------------------------------
   Search container
--------------------------------------------------------- */

/* =========================================================
   SEARCH BAR WITH AI DOCK BEHIND IT
========================================================= */

.lfd-hdr-search-card {
    position: relative;

    width: 100%;
    max-width: none;

    padding: 0;

    border-radius: 36px;
    background: transparent;

    overflow: visible;

    box-shadow: none;

    transition: transform 0.25s ease;
}

.lfd-hdr-search-card:hover {
    z-index: 30;
    transform: translateY(-2px);
}

/*
 * The white search bar has all four rounded corners.
 */

.lfd-hdr-search-card form {
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 10px 12px 10px 20px;
    border-radius: 32px;
    background: #ffffff;
    overflow: visible;
    box-shadow:
        0 10px 30px rgba(18, 71, 65, 0.1),
        0 22px 55px rgba(13, 43, 40, 0.12);
}

.lfd-hdr-inputs-wrapper {
    padding-left: 0;
}

.lfd-hdr-search-standard,
.lfd-hdr-search-ai {
    min-height: 70px;
}

.lfd-hdr-search-col {
    min-height: 70px;
    display: flex;
    align-items: center;
    padding: 8px 25px 8px 64px;
    border: 0;
    text-align: left;
}

.lfd-hdr-field-icon {
    position: absolute;
    left: 25px;
    top: 50%;
    width: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--lfd-hdr-primary);
    font-size: 25px;
    transform: translateY(-50%);
}

.lfd-hdr-field-content {
    width: 100%;
    min-width: 0;
}

.lfd-hdr-label {
    margin-bottom: 2px;
    color: #666666;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
}

.lfd-hdr-input {
    min-height: 27px;
    color: #333333;
    font-family: "Nunito", sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.35;
}

.lfd-hdr-input::placeholder {
    color: #5f6262;
    opacity: 1;
}

.lfd-hdr-search-col-location .lfd-hdr-location-input {
    font-size: 17px;
    font-weight: 500;
}

.lfd-hdr-dropdown-btn {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Search dividers */

@media (min-width: 768px) {

    .lfd-hdr-search-standard
    .lfd-hdr-search-col:not(:last-child)::after {
        top: 13%;
        right: 0;
        width: 1px;
        height: 74%;
        background: rgba(65, 66, 66, 0.18);
    }

}

/* Location button remains available without dominating the design */

.lfd-hdr-location-icon-btn {
    color: var(--lfd-hdr-primary);
}

/* Search button */

.lfd-hdr-btn-wrapper {
    padding: 0 4px 0 10px;
}

.lfd-hdr-btn-search {
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: var(--lfd-hdr-primary);
    font-size: 25px;
}

.lfd-hdr-btn-search:hover {
    background: var(--lfd-hdr-primary-hover);
    box-shadow: 0 12px 28px rgba(0, 174, 157, 0.3);
}

/* ---------------------------------------------------------
   AI lower dock
--------------------------------------------------------- */
/*
 * The grey AI dock moves upward behind the white bar.
 * Its upper part is hidden by the white rounded search bar,
 * allowing the lower white corners to remain visible.
 */

.lfd-hdr-ai-toggle-wrapper {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 86px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 13px;
    margin-top: -36px;
    padding: 31px 35px 13px;
    border-radius: 0 0 36px 36px;
    background: rgba(214, 209, 210, 0.97);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* Keep the AI copy vertically aligned */

.lfd-hdr-ai-toggle-copy {
    min-height: 27px;
    display: inline-flex;
    align-items: center;
    font-family: 'Nunito', sans-serif;
    color: #696969;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
}

/* Ensure dropdowns are not clipped by the search form */

.lfd-hdr-search-card form,
.lfd-hdr-inputs-wrapper,
.lfd-hdr-search-standard,
.lfd-hdr-search-col,
.lfd-hdr-location-wrapper {
    overflow: visible;
}

.lfd-hdr-ai-toggle-copy.lfd-hdr-text-active {
    color: #4f5353;
}

/* Toggle shown in the reference: white track and teal knob while off */

.lfd-hdr-switch {
    width: 52px;
    height: 27px;
    flex: 0 0 52px;
}

.lfd-hdr-slider {
    background: #ffffff;
    border: 1px solid rgba(65, 66, 66, 0.2);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);
}

.lfd-hdr-slider::before {
    width: 19px;
    height: 19px;
    left: 3px;
    bottom: 3px;
    background: var(--lfd-hdr-primary);
}

.lfd-hdr-switch input:checked + .lfd-hdr-slider {
    background: var(--lfd-hdr-primary);
}

.lfd-hdr-switch input:checked + .lfd-hdr-slider::before {
    background: #ffffff;
    transform: translateX(25px);
}

/* ---------------------------------------------------------
   AI input mode
--------------------------------------------------------- */

.lfd-hdr-search-ai .lfd-hdr-search-col {
    padding-left: 28px;
}

.lfd-hdr-ai-label {
    color: var(--lfd-hdr-primary);
}

.lfd-hdr-ai-input {
    font-size: 18px;
}

/* ---------------------------------------------------------
   Dropdown positioning
--------------------------------------------------------- */

.lfd-hdr-search-card .lfd-hdr-dropdown-menu {
    margin-top: 22px;
}

.lfd-hdr-location-results {
    top: calc(100% + 26px);
}

/* ---------------------------------------------------------
   Tablet
--------------------------------------------------------- */

@media (max-width: 1199.98px) and (min-width: 992px) {

    :root {
        --lfd-hdr-cutout-w: 285px;
        --lfd-hdr-cutout-h: 125px;
    }

    .lfd-hdr-logo-area {
        padding-left: 32px;
    }

    .lfd-hdr-logo-img {
        height: 82px;
    }

    .lfd-hdr-location-input {
        padding-right: 40px;
    }

    .lfd-hdr-location-icon-btn {
        top: 22%;
        right: 0px;
    }

    .lfd-hdr-menu-area {
        padding-left: 35px;
    }

    .lfd-hdr-nav-primary {
        gap: 28px;
    }

    .lfd-hdr-nav-actions {
        gap: 17px;
    }

    .lfd-hdr-link,
    .lfd-hdr-healthmate-link {
        font-size: 16px;
    }

    .lfd-seca1-curate-card, .lfd-seca1-carousel {
        height: 510px !important;
        min-height: 510px !important;
    }

    .lfd-hdr-icon-button {
        width: 47px;
        height: 47px;
        flex-basis: 47px;
    }

    .lfd-hdr-content {
        padding-right: 65px;
        padding-left: 65px;
    }

}

/* ---------------------------------------------------------
   Mobile and small tablet
--------------------------------------------------------- */

@media (max-width: 991.98px) {

    :root {
        --lfd-hdr-cutout-w: 190px;
        --lfd-hdr-cutout-h: 86px;
        --lfd-hdr-radius: 32px;
    }

    .lfd-hdr-wrapper {
        padding: 10px;
    }

    .lfd-hdr-inner {
        height: auto;
        min-height: calc(100svh - 20px);
    }

    .lfd-hdr-logo-area {
        padding-left: 20px;
    }

    .lfd-hdr-logo-img {
        height: 56px;
    }

    .lfd-hdr-content {
        justify-content: flex-end;
        padding:
            450px
            26px
            45px;
    }

    .lfd-hdr-field-icon {
        left: 3px;
    }

    .lfd-hdr-search-col {
        padding: 8px 0px 8px 34px;
    }

    .lfd-hdr-location-input {
        padding-right: 42px;
    }

    .lfd-hdr-field-content:has(.lfd-hdr-date-display)::after {
        right: 15px;
    }

    .lfd-hdr-location-icon-btn {
        top: 14%;
    }

    .lfd-hdr-title {
        max-width: 570px;
        font-size: clamp(3rem, 8vw, 4.2rem);
    }

    .lfd-hdr-subtitle {
        max-width: 690px;
        font-size: clamp(1.15rem, 3vw, 1.55rem);
    }

}

.dt-desktop
{
  display: block;
}

.dt-mobile
{
  display: none;
}

/* ---------------------------------------------------------
   Mobile search stack
--------------------------------------------------------- */

@media (max-width: 767.98px) {

    .lfd-hdr-inner {
        min-height: 723px;
    }

    .lfd-hdr-bg-img {
        object-position: 42% center;
    }

    .lfd-hdr-content {
        padding:
            260px
            18px
            30px;
    }

    .lfd-hdr-title {
        font-size: clamp(2.7rem, 12vw, 3.7rem);
    }

    .lfd-hdr-subtitle {
        margin-bottom: 25px;
        font-size: 1.1rem;
    }

    .lfd-hdr-subtitle br {
        display: none;
    }

    .lfd-hdr-search-card {
        border-radius: 27px;
    }

    .lfd-hdr-search-card form {
        padding: 4px;
        border-radius: 27px 27px 0 0;
    }

    .lfd-hdr-search-col {
        min-height: 68px;
        padding: 11px 20px 11px 58px;
        border-bottom: 1px solid #ececec;
    }

    .lfd-hdr-field-icon {
        left: 21px;
        font-size: 21px;
    }

    .lfd-hdr-btn-wrapper {
        width: 100%;
        padding: 10px;
    }

    .dt-desktop
    {
      display: none;
    }

    .dt-mobile
    {
      display: block;
    }

    .lfd-hdr-btn-search {
        width: 100%;
        height: 54px;
        border-radius: 18px;
        font-size: 18px;
    }

    .lfd-hdr-ai-toggle-wrapper {
        min-height: 62px;
        align-items: flex-start;
        padding: 13px 18px;
        border-radius: 0 0 27px 27px;
            margin-top: -6px;
    }

    .lfd-hdr-ai-toggle-copy {
        padding-top: 2px;
        font-size: 14px;
        line-height: 1.35;
    }

}

/* =========================================================
   HEADER FLATPICKR CALENDAR
========================================================= */

.lfd-hdr-date-input,
.lfd-hdr-date-display {
    width: 100%;
    min-height: 27px;

    padding: 0;

    border: 0;
    outline: 0;

    background: transparent;

    color: #333333;

    font-family: "Nunito", sans-serif;
    font-size: 17px;
    font-weight: 500;

    cursor: pointer;
}

.lfd-hdr-date-display::placeholder {
    color: #5f6262;
    opacity: 1;
}

.lfd-hdr-date-display:disabled {
    color: #9a9a9a;
    cursor: default;
}

/* Main popup */

.flatpickr-calendar.lfd-hdr-calendar {
    width: 340px;

    padding: 14px;

    border: 0;
    border-radius: 24px;

    background: #ffffff;

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.14),
        0 35px 90px rgba(18, 71, 65, 0.15);

    font-family: "Nunito", sans-serif;

    overflow: hidden;
    z-index: 2200;
}

/* Remove default arrow triangle */

.flatpickr-calendar.lfd-hdr-calendar::before,
.flatpickr-calendar.lfd-hdr-calendar::after {
    display: none;
}

/* Month header */

.lfd-hdr-calendar .flatpickr-months {
    height: 46px;
    align-items: center;
}

.lfd-hdr-calendar .flatpickr-month {
    height: 46px;

    color: #303737;
    fill: #303737;
}

.lfd-hdr-calendar .flatpickr-current-month {
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;
}

.lfd-hdr-calendar .flatpickr-current-month,
.lfd-hdr-calendar .flatpickr-current-month input.cur-year,
.lfd-hdr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months {
    color: #303737;

    font-size: 17px;
    font-weight: 800;
}

.lfd-hdr-calendar .flatpickr-current-month input.cur-year {
    padding: 0 0 0 5px;
}

/* Previous and next buttons */

.lfd-hdr-calendar .flatpickr-prev-month,
.lfd-hdr-calendar .flatpickr-next-month {
    top: 9px;

    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border-radius: 50%;

    color: #00ae9d;

    font-size: 14px;

    transition:
        background-color 0.18s ease,
        color 0.18s ease;
}

.lfd-hdr-calendar .flatpickr-prev-month:hover,
.lfd-hdr-calendar .flatpickr-next-month:hover {
    background: #eef8f6;
    color: #008f82;
}

/* Weekday row */

.lfd-hdr-calendar .flatpickr-weekdays {
    height: 34px;
}

.lfd-hdr-calendar span.flatpickr-weekday {
    color: #8a8e8e;

    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

/* Calendar day area */

.lfd-hdr-calendar .flatpickr-innerContainer,
.lfd-hdr-calendar .flatpickr-rContainer,
.lfd-hdr-calendar .flatpickr-days,
.lfd-hdr-calendar .dayContainer {
    width: 100%;
    max-width: none;
}

.lfd-hdr-calendar .dayContainer {
    min-width: 100%;
    justify-content: space-between;
}

/* Individual dates */

.lfd-hdr-calendar .flatpickr-day {
    width: 40px;
    max-width: 40px;
    height: 40px;

    flex-basis: 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin: 2px 1px;

    border: 0;
    border-radius: 50%;

    color: #393f3f;

    font-size: 14px;
    font-weight: 700;
    line-height: 40px;

    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease;
}

.lfd-hdr-calendar .flatpickr-day:hover,
.lfd-hdr-calendar .flatpickr-day:focus {
    border: 0;

    background: #eef8f6;
    color: #008f82;

    transform: scale(1.04);
}

/* Today */

.lfd-hdr-calendar .flatpickr-day.today {
    border: 1px solid rgba(0, 174, 157, 0.65);

    background: transparent;
    color: #008f82;
}

.lfd-hdr-calendar .flatpickr-day.today:hover {
    border-color: #00ae9d;

    background: #eef8f6;
    color: #008f82;
}

/* Selected date */

.lfd-hdr-calendar .flatpickr-day.selected,
.lfd-hdr-calendar .flatpickr-day.selected:hover,
.lfd-hdr-calendar .flatpickr-day.selected:focus {
    border-color: #00ae9d;

    background: #00ae9d;
    color: #ffffff;

    box-shadow: 0 8px 18px rgba(0, 174, 157, 0.25);
}

/* Dates outside current month */

.lfd-hdr-calendar .flatpickr-day.prevMonthDay,
.lfd-hdr-calendar .flatpickr-day.nextMonthDay {
    color: #c1c4c4;
}

/* Disabled past dates */

.lfd-hdr-calendar .flatpickr-day.flatpickr-disabled,
.lfd-hdr-calendar .flatpickr-day.flatpickr-disabled:hover {
    background: transparent;
    color: #d1d3d3;

    cursor: not-allowed;
    transform: none;
}

/* Input arrow indicator */

.lfd-hdr-field-content:has(.lfd-hdr-date-display) {
    position: relative;
}

.lfd-hdr-field-content:has(.lfd-hdr-date-display)::after {
    content: "";

    position: absolute;
    top: 50%;
    right: 3px;

    width: 7px;
    height: 7px;

    border-right: 1.5px solid #626767;
    border-bottom: 1.5px solid #626767;

    pointer-events: none;

    transform:
        translateY(-70%)
        rotate(45deg);
}

/* Responsive */

@media (max-width: 575.98px) {

    .flatpickr-calendar.lfd-hdr-calendar {
        width: min(
            340px,
            calc(100vw - 30px)
        );
    }

}


/* =========================================================
   DESKTOP ACCOUNT DROPDOWN — FINAL OVERRIDE
========================================================= */

.lfd-hdr-nav,
.lfd-hdr-nav-container,
.lfd-hdr-menu-area,
.lfd-hdr-nav-actions,
.lfd-hdr-nav-actions > .dropdown {
    overflow: visible !important;
}

.lfd-hdr-nav-actions > .dropdown {
    position: relative;
}

/* Account trigger */

#lfdHdrAccountMenu {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 2px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.04);
    color: #ffffff;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

#lfdHdrAccountMenu:hover,
#lfdHdrAccountMenu[aria-expanded="true"] {
    border-color: #ffffff;
    background: rgba(255, 255, 255, 0.17);
    color: #ffffff;

    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(0, 0, 0, 0.14);
}

#lfdHdrAccountMenu::after {
    display: none !important;
}

/* Dropdown container */

.lfd-hdr-nav-actions
.dropdown-menu.lfd-hdr-dropdown-menu {
    position: absolute !important;
    top: calc(100% + 15px) !important;
    right: 0 !important;
    left: auto !important;

    width: 330px !important;
    min-width: 330px !important;

    margin: 0 !important;
    padding: 12px 0 !important;

    border: 1px solid rgba(65, 66, 66, 0.08) !important;
    border-radius: 24px !important;

    background: rgba(255, 255, 255, 0.98) !important;

    box-shadow:
        0 12px 30px rgba(17, 51, 47, 0.12),
        0 30px 75px rgba(17, 51, 47, 0.18) !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform: translateY(10px) scale(0.98) !important;
    transform-origin: top right;

    transition:
        opacity 0.18s ease,
        transform 0.18s ease,
        visibility 0.18s ease !important;

    z-index: 3000 !important;
}

.lfd-hdr-nav-actions
.dropdown-menu.lfd-hdr-dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform: translateY(0) scale(1) !important;
}

/* Small arrow above menu */

.lfd-hdr-nav-actions
.dropdown-menu.lfd-hdr-dropdown-menu::before {
    content: "";

    position: absolute;
    top: -7px;
    right: 21px;

    width: 15px;
    height: 15px;

    border-top: 1px solid rgba(65, 66, 66, 0.08);
    border-left: 1px solid rgba(65, 66, 66, 0.08);

    background: #ffffff;

    transform: rotate(45deg);
}

/* Dropdown links */

.lfd-hdr-nav-actions
.lfd-hdr-dropdown-menu > li {
    position: relative;
    z-index: 1;

    list-style: none;
}

.lfd-hdr-nav-actions
.lfd-hdr-dropdown-menu .dropdown-item {
    width: 100%;

    display: flex;
    align-items: center;
    gap: 13px;

    padding: 12px 22px !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
    color: #343b3a !important;

    font-family: "Nunito", sans-serif;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4;

    text-align: left;
    white-space: normal;

    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        padding-left 0.18s ease;
}

.lfd-hdr-nav-actions
.lfd-hdr-dropdown-menu .dropdown-item i {
    width: 22px;
    flex: 0 0 22px;

    color: #6f7776 !important;

    font-size: 16px;
    text-align: center;

    transition:
        color 0.18s ease,
        transform 0.18s ease;
}

.lfd-hdr-nav-actions
.lfd-hdr-dropdown-menu .dropdown-item:hover,
.lfd-hdr-nav-actions
.lfd-hdr-dropdown-menu .dropdown-item:focus {
    padding-left: 25px !important;

    background: #eef8f6 !important;
    color: #008f82 !important;
}

.lfd-hdr-nav-actions
.lfd-hdr-dropdown-menu .dropdown-item:hover i,
.lfd-hdr-nav-actions
.lfd-hdr-dropdown-menu .dropdown-item:focus i {
    color: #00ae9d !important;
    transform: scale(1.06);
}

/* Dividers */

.lfd-hdr-nav-actions
.lfd-hdr-dropdown-menu .dropdown-divider {
    margin: 8px 20px !important;

    border: 0;
    border-top: 1px solid rgba(65, 66, 66, 0.11);
    opacity: 1;
}

/* Logged-in account summary */

.lfd-hdr-nav-actions
.lfd-hdr-account-summary {
    display: flex;
    align-items: center;
    gap: 13px;

    padding: 8px 20px 14px;
}

.lfd-hdr-nav-actions
.lfd-hdr-account-avatar {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #00ae9d,
            #5fbb46
        );

    color: #ffffff;

    font-size: 18px;
    font-weight: 800;

    box-shadow:
        0 8px 20px rgba(0, 174, 157, 0.22);
}

.lfd-hdr-nav-actions
.lfd-hdr-account-details {
    min-width: 0;

    display: flex;
    flex-direction: column;
    gap: 2px;
}

.lfd-hdr-nav-actions
.lfd-hdr-account-details strong {
    overflow: hidden;

    color: #29302f;

    font-size: 15px;
    font-weight: 800;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.lfd-hdr-nav-actions
.lfd-hdr-account-details span,
.lfd-hdr-nav-actions
.lfd-hdr-account-details small {
    overflow: hidden;

    color: #7b8281;

    font-size: 12px;
    font-weight: 500;

    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Logout */

.lfd-hdr-nav-actions
.lfd-hdr-dropdown-menu form {
    width: 100%;
    margin: 0;
}

.lfd-hdr-nav-actions
.lfd-hdr-dropdown-menu .lfd-hdr-logout {
    color: #d84343 !important;
}

.lfd-hdr-nav-actions
.lfd-hdr-dropdown-menu .lfd-hdr-logout i {
    color: #d84343 !important;
}

.lfd-hdr-nav-actions
.lfd-hdr-dropdown-menu .lfd-hdr-logout:hover,
.lfd-hdr-nav-actions
.lfd-hdr-dropdown-menu .lfd-hdr-logout:focus {
    background: #fff1f1 !important;
    color: #be3030 !important;
}

/* Responsive desktop width */

@media (max-width: 1199.98px) {

    .lfd-hdr-nav-actions
    .dropdown-menu.lfd-hdr-dropdown-menu {
        width: 300px !important;
        min-width: 300px !important;
    }

}

.lfd-hdr-ai-icon {
    color: var(--hmh-teal) !important;
    background: transparent !important;
    box-shadow: none !important;

    width: auto;
    height: auto;
    flex: 0 0 auto;

    margin: 0 16px 0 0;

    font-size: 24px;
}

.lfd-hdr-ai-col {
    display: flex;
    align-items: center;
    gap: 0;
}

.lfd-hdr-ai-input {
    flex: 1;
    min-width: 0;
    padding-left: 0;
}

.lfd-hdr-title {
    text-shadow:
        0 2px 8px rgba(0, 0, 0, 0.18),
        0 1px 2px rgba(0, 0, 0, 0.12);
}

.lfd-hdr-subtitle {
    text-shadow:
        0 2px 7px rgba(0, 0, 0, 0.16),
        0 1px 2px rgba(0, 0, 0, 0.10);
}

/* =========================================================
   PROGRAM CARD ALIGNMENT FIX
========================================================= */

.lfd-sec2-grid {
    align-items: stretch;
}

.lfd-sec2-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.lfd-sec2-card-media {
    flex: 0 0 auto;
}

.lfd-sec2-card-body {
    flex: 1 1 auto;

    display: flex;
    flex-direction: column;

    min-height: 0;
}

/*
 * Keeps all content above the footer natural,
 * while forcing the footer to the bottom.
 */
.lfd-sec2-card-footer {
    margin-top: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 24px;
    width: 100%;
    border-top: 1px solid rgba(65, 66, 66, 0.14);
}

/* Flexible location column */

.lfd-sec2-price-box {
    min-width: 0;
}

.lfd-sec2-location {
    min-width: 0;

    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    gap: 0px;

    color: var(--hmh-green-life);
    font-weight: 700;
    line-height: 1.45;
}

.lfd-sec2-location i {
    margin-top: 3px;

    color: var(--hmh-green-life);
    font-size: 11px;
}

/*
 * Allows long locations to wrap within their own column
 * without pushing the View program link.
 */
.lfd-sec2-location {
    overflow-wrap: anywhere;
    word-break: normal;
}

/* Fixed action column */

.lfd-sec2-view-link {
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;

    min-width: max-content;

    padding: 10px;

    border: 1px solid var(--hmh-teal);
    border-radius: 12px;

    background: transparent;
    color: var(--hmh-teal);

    font-weight: 700;
    line-height: 1.45;
    white-space: nowrap;
    text-align: right;
    text-decoration: none;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.lfd-sec2-view-link:hover,
.lfd-sec2-view-link:focus-visible {
    border-color: var(--hmh-teal);
    background: var(--hmh-teal);
    color: #ffffff;

    transform: translateY(-2px);

    box-shadow:
        0 8px 18px rgba(0, 174, 157, 0.2);
}

.lfd-sec2-view-link:active {
    transform: translateY(0);
}

/* Keep titles and facts from collapsing oddly */

.lfd-sec2-card-title {
    margin-bottom: 8px;
}

.lfd-sec2-card-facts {
    margin-bottom: 0;
}

.lfd-sec2-fact-value {
    overflow-wrap: anywhere;
}

/* Mobile */

@media (max-width: 575.98px) {

    .lfd-sec2-card-footer {
        /*grid-template-columns: minmax(0, 1fr);*/
        gap: 14px;
    }

    .lfd-sec2-view-link {
        justify-content: flex-start;
        text-align: left;
    }

}

/* =========================================================
   PROGRAM SECTION SIGN-IN BANNER
========================================================= */

.lfd-sec2-signin-banner {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;

    margin-bottom: 38px;
    padding: 38px 42px;

    border-radius: 24px;

    background: var(--hmh-aqua);
}

.lfd-sec2-signin-content {
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 30px;
}

.lfd-sec2-signin-icon {
    position: relative;

    width: 74px;
    height: 74px;
    flex: 0 0 74px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--hmh-teal);

    font-size: 31px;
}

/* Radiating lines around the heart */

.lfd-sec2-signin-icon::before,
.lfd-sec2-signin-icon::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            var(--hmh-teal),
            var(--hmh-teal)
        ) center 0 / 3px 15px no-repeat,

        linear-gradient(
            var(--hmh-teal),
            var(--hmh-teal)
        ) center 100% / 3px 15px no-repeat,

        linear-gradient(
            90deg,
            var(--hmh-teal),
            var(--hmh-teal)
        ) 0 center / 15px 3px no-repeat,

        linear-gradient(
            90deg,
            var(--hmh-teal),
            var(--hmh-teal)
        ) 100% center / 15px 3px no-repeat;

    border-radius: 50%;
}



.lfd-sec2-signin-icon i {
    position: relative;
    z-index: 1;

    font-size: 31px;
    font-weight: 400;
}

.lfd-sec2-signin-text {
    margin: 0;

    color: var(--hmh-teal);

    font-family: "Nunito", sans-serif;
    font-size: clamp(1.2rem, 1.65vw, 1.65rem);
    font-weight: 800;
    line-height: 1.25;

    letter-spacing: -0.015em;
}

.lfd-sec2-signin-btn {
    min-width: 190px;
    min-height: 68px;
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 36px;

    border: 1px solid var(--hmh-teal);
    border-radius: 16px;

    background: var(--hmh-teal);
    color: #ffffff;

    font-family: "Nunito", sans-serif;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;

    text-transform: uppercase;
    text-decoration: none;

    box-shadow:
        0 12px 24px rgba(0, 174, 157, 0.16);

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.lfd-sec2-signin-btn:hover,
.lfd-sec2-signin-btn:focus {
    border-color: var(--hmh-teal-hover);
    background: var(--hmh-teal-hover);
    color: #ffffff;

    transform: translateY(-2px);

    box-shadow:
        0 16px 30px rgba(0, 174, 157, 0.22);
}

.lfd-sec2-signin-btn:active {
    transform: translateY(0);
}

/* Tablet */

@media (max-width: 991.98px) {

    .lfd-sec2-signin-banner {
        padding: 30px 32px;
        border-radius: 28px;
    }

    .lfd-sec2-signin-content {
        gap: 22px;
    }

    .lfd-sec2-signin-icon {
        width: 64px;
        height: 64px;
        flex-basis: 64px;
    }

    .lfd-sec2-signin-btn {
        min-width: 160px;
        min-height: 60px;

        padding: 0 28px;

        font-size: 18px;
    }

}

/* Mobile */

@media (max-width: 767.98px) {

    .lfd-sec2-signin-banner {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;

        margin-bottom: 28px;
        padding: 26px 22px;

        border-radius: 24px;
    }

    .lfd-sec2-signin-content {
        align-items: flex-start;
        gap: 18px;
    }

    .lfd-sec2-signin-icon {
        width: 56px;
        height: 56px;
        flex-basis: 56px;
    }

    .lfd-sec2-signin-icon i {
        font-size: 25px;
    }

    .lfd-sec2-signin-text {
        padding-top: 5px;

        font-size: 1.15rem;
        line-height: 1.35;
    }

    .lfd-sec2-signin-btn {
        width: 100%;
        min-width: 0;
        min-height: 56px;

        border-radius: 16px;

        font-size: 17px;
    }

}


/* =========================================================
   REGENERATIVE WELLBEING
========================================================= */

.lfd-seca1-section {
    padding: clamp(64px, 7vw, 100px) 0;
    background: #ffffff;
}

.lfd-seca1-container {
    width: min(
        calc(100% - 48px),
        var(--hmh-container, 1220px)
    );
    margin-inline: auto;
}

.lfd-seca1-heading {
    margin-bottom: 34px;
}

.lfd-seca1-title {
    margin: 0 0 4px;
    color: var(--hmh-dark);
    font-size: clamp(1.8rem, 3vw, 1.6rem);
    font-weight: 800;
    line-height: 1.1;
}

.lfd-seca1-subtitle {
    margin: 0;
    color: #989898;
    font-size: clamp(1rem, 1.4vw, 1.2rem);
    line-height: 1.4;
}



/* Fixed curate card */


.lfd-seca1-curate-icon {
    position: relative;

    width: 76px;
    height: 76px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 28px;

    color: var(--hmh-teal);
    font-size: 29px;
}

.lfd-seca1-curate-icon::before,
.lfd-seca1-curate-icon::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            var(--hmh-teal),
            var(--hmh-teal)
        ) center 0 / 3px 16px no-repeat,

        linear-gradient(
            var(--hmh-teal),
            var(--hmh-teal)
        ) center 100% / 3px 16px no-repeat,

        linear-gradient(
            90deg,
            var(--hmh-teal),
            var(--hmh-teal)
        ) 0 center / 16px 3px no-repeat,

        linear-gradient(
            90deg,
            var(--hmh-teal),
            var(--hmh-teal)
        ) 100% center / 16px 3px no-repeat;
}

.lfd-seca1-curate-icon::after {
    transform: rotate(45deg);
}

.lfd-seca1-curate-icon i {
    position: relative;
    z-index: 1;
}

.lfd-seca1-curate-title {
    margin: 0 0 16px;

    color: var(--hmh-teal);

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.18;
}

.lfd-seca1-curate-copy {
    max-width: 230px;

    margin: 0 0 30px;

    color: #4f5555;

    font-size: 0.96rem;
    line-height: 1.36;
}

.lfd-seca1-curate-btn {
    min-width: 142px;
    min-height: 50px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 26px;

    border: 1.5px solid var(--hmh-teal);
    border-radius: 14px;

    background: #ffffff;
    color: var(--hmh-teal);

    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.lfd-seca1-curate-btn:hover {
    background: var(--hmh-teal);
    color: #ffffff;
    transform: translateY(-2px);
}

/* Carousel */


.lfd-seca1-carousel {
    overflow: hidden;
}

.lfd-seca1-track {
    display: flex;
    gap: 14px;

    transition: transform 0.45s cubic-bezier(.22, .61, .36, 1);
    will-change: transform;
}

.lfd-seca1-card {
    flex: 0 0 calc((100% - 28px) / 3);

    min-width: 0;
    min-height: 445px;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border: 1px solid rgba(65, 66, 66, 0.16);
    border-radius: 24px;

    background: #ffffff;
}

.lfd-seca1-card-media {
    aspect-ratio: 1 / 1.04;
    overflow: hidden;
}

.lfd-seca1-card-media img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.45s ease;
}

.lfd-seca1-card:hover .lfd-seca1-card-media img {
    transform: scale(1.04);
}

.lfd-seca1-card-body {
    flex: 1;

    display: flex;
    flex-direction: column;

    padding: 24px 24px 28px;
}

.lfd-seca1-card-title {
    margin: 0 0 8px;

    color: var(--hmh-dark);

    font-size: 1.22rem;
    font-weight: 800;
    line-height: 1.2;
}

.lfd-seca1-card-copy {
    margin: 0;

    color: #646969;

    font-size: 0.96rem;
    line-height: 1.36;
}

/* Controls */

.lfd-seca1-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    margin-top: 48px;
}

.lfd-seca1-arrow {
    width: 52px;
    height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1.5px solid var(--hmh-teal);
    border-radius: 50%;

    background: #ffffff;
    color: var(--hmh-teal);

    font-size: 17px;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.lfd-seca1-arrow:hover {
    background: var(--hmh-teal);
    color: #ffffff;
    transform: translateY(-2px);
}

.lfd-seca1-arrow:active {
    transform: translateY(0);
}

/* Tablet */

@media (max-width: 991.98px) {

    .lfd-seca1-container {
        width: min(
            calc(100% - 32px),
            var(--hmh-container, 1220px)
        );
    }

    .lfd-seca1-layout {
        grid-template-columns: 250px minmax(0, 1fr);
    }

    .lfd-seca1-card {
        flex-basis: calc((100% - 14px) / 2);
    }

}

/* Mobile */

@media (max-width: 767.98px) {

    .lfd-seca1-container {
        width: calc(100% - 24px);
    }

    .lfd-seca1-layout {
        grid-template-columns: 1fr;
        gap: 18px;
    }



    .lfd-seca1-card {
        flex-basis: 100%;
        min-height: 420px;
    }

    .lfd-seca1-controls {
        margin-top: 28px;
    }

}

/* =========================================================
   REGENERATIVE WELLBEING — EQUAL CARD HEIGHTS
========================================================= */

.lfd-seca1-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
}

.lfd-seca1-curate-card,
.lfd-seca1-carousel-shell,
.lfd-seca1-carousel,
.lfd-seca1-track,
.lfd-seca1-card {
    min-height: 0;
}



.lfd-seca1-carousel-shell {
    height: 100%;
}

.lfd-seca1-carousel {
    height: 100%;
}

.lfd-seca1-track {
    height: 100%;
    align-items: stretch;
}

.lfd-seca1-card {
    height: 100%;
    min-height: 500px;

    display: flex;
    flex-direction: column;
}

/* Make all card images equal */

.lfd-seca1-card-media {
    height: 335px;
    flex: 0 0 335px;
    aspect-ratio: auto;
}

.lfd-seca1-card-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* Card body fills remaining height */

.lfd-seca1-card-body {
    flex: 1 1 auto;

    display: flex;
    flex-direction: column;

    padding: 24px 24px 28px;
}

/* Fixed card image icon */

.lfd-seca1-curate-icon {
    width: 88px;
    height: 88px;
    flex: 0 0 88px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 26px;
}

/* Remove old generated ray graphics */

.lfd-seca1-curate-icon::before,
.lfd-seca1-curate-icon::after {
    display: none !important;
}

.lfd-seca1-curate-icon img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: contain;
}

/* Keep controls outside card height calculation */

.lfd-seca1-controls {
    flex: 0 0 auto;
    margin-top: 48px;
}

/* =========================================================
   REGENERATIVE WELLBEING — FINAL LAYOUT OVERRIDE
========================================================= */

.lfd-seca1-section {
    padding: clamp(64px, 7vw, 60px) 0;
    background: #ffffff;
}

.lfd-seca1-container {
    width: min(
        calc(100% - 48px),
        var(--hmh-container, 1220px)
    );
    margin-inline: auto;
}

.lfd-seca1-heading {
    margin-bottom: 34px;
}

/*
 * Important:
 * Do not stretch the fixed card to the entire carousel shell,
 * because the shell also contains the navigation controls.
 */
.lfd-seca1-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

/* =========================================================
   SHARED CARD HEIGHT
========================================================= */

.lfd-seca1-curate-card,
.lfd-seca1-carousel {
    height: 440px;
    min-height: 440px;
}

/* =========================================================
   FIXED CURATE CARD
========================================================= */

.lfd-seca1-curate-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 34px 28px;
    border-radius: 24px;
    background: var(--hmh-aqua);
    text-align: center;
    box-sizing: border-box;
}

/* Image icon */

.lfd-seca1-curate-icon {
    position: relative;
    width: 88px;
    height: 88px;
    flex: 0 0 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 26px;
}

/* Remove generated heart/ray graphics */

.lfd-seca1-curate-icon::before,
.lfd-seca1-curate-icon::after {
    display: none !important;
    content: none !important;
}

.lfd-seca1-curate-icon img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

.lfd-seca1-curate-title {
    margin: 0 0 16px;
    color: var(--hmh-teal);
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.18;
}

.lfd-seca1-curate-copy {
    max-width: 230px;
    margin: 0 0 30px;
    color: #4f5555;
    font-size: 0.96rem;
    line-height: 1.36;
}

.lfd-seca1-curate-btn {
    min-width: 142px;
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1.5px solid var(--hmh-teal);
    border-radius: 12px;
    background: #ffffff;
    color: var(--hmh-teal);
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

/* =========================================================
   CAROUSEL SHELL
========================================================= */

.lfd-seca1-carousel-shell {
    min-width: 0;

    display: flex;
    flex-direction: column;

    /*
     * Do not use height:100%.
     * The shell must be allowed to include the controls beneath
     * the fixed 500px carousel viewport.
     */
    height: auto;
}

/* Fixed viewport height matching the aqua card */

.lfd-seca1-carousel {
    width: 100%;
    min-width: 0;

    overflow: hidden;

    border-radius: 24px;
}

/* =========================================================
   TRACK
========================================================= */

.lfd-seca1-track {
    height: 100%;

    display: flex;
    align-items: stretch;
    gap: 14px;

    transition:
        transform 0.45s cubic-bezier(.22, .61, .36, 1);

    will-change: transform;
}

/* =========================================================
   SLIDING CARDS
========================================================= */

.lfd-seca1-card {
    flex:
        0
        0
        calc((100% - 28px) / 3);

    min-width: 0;
    height: 100%;
    min-height: 0;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border: 1px solid rgba(65, 66, 66, 0.16);
    border-radius: 24px;

    background: #ffffff;

    box-sizing: border-box;
}

/*
 * 500px total card height:
 * 335px image + remaining body.
 */
.lfd-seca1-card-media {
    width: 100%;
    height: 265px;
    flex: 0 0 265px;

    overflow: hidden;
    border-radius: 22px;
    background: var(--hmh-aqua-soft);
}

.lfd-seca1-card-media img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.45s ease;
}

.lfd-seca1-card:hover .lfd-seca1-card-media img {
    transform: scale(1.04);
}

.lfd-seca1-card-body {
    flex: 1 1 auto;
    min-height: 0;

    display: flex;
    flex-direction: column;
    justify-content: flex-start;

    padding: 24px 24px 28px;

    box-sizing: border-box;
}

.lfd-seca1-card-title {
    margin: 0 0 8px;

    color: var(--hmh-teal);

    font-size: 1.22rem;
    font-weight: 800;
    line-height: 1.2;
}

.lfd-seca1-card-copy {
    margin: 0;

    color: #646969;

    font-size: 0.96rem;
    line-height: 1.36;
}

/* =========================================================
   CONTROLS
========================================================= */

.lfd-seca1-controls {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    margin-top: 48px;
}

.lfd-seca1-arrow {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1.5px solid var(--hmh-teal);
    border-radius: 50%;

    background: #ffffff;
    color: var(--hmh-teal);

    font-size: 17px;
}

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

@media (max-width: 991.98px) {

    .lfd-seca1-container {
        width: min(
            calc(100% - 32px),
            var(--hmh-container, 1220px)
        );
    }

    .lfd-seca1-layout {
        grid-template-columns: 250px minmax(0, 1fr);
    }

    .lfd-seca1-curate-card,
    .lfd-seca1-carousel {
        height: 490px;
        min-height: 490px;
    }

    .lfd-seca1-card {
        flex-basis:
            calc((100% - 14px) / 2);
    }

    .lfd-seca1-card-media {
        height: 305px;
        flex-basis: 305px;
    }

}

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

@media (max-width: 767.98px) {

    .lfd-seca1-container {
        width: calc(100% - 24px);
    }

    .lfd-seca1-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .lfd-seca1-curate-card {
        height: auto;
        min-height: 390px;
    }

    .lfd-seca1-carousel {
        height: 460px;
        min-height: 460px;
    }

    .lfd-seca1-card {
        flex-basis: 100%;
    }

    .lfd-seca1-card-media {
        height: 295px;
        flex-basis: 295px;
    }

    .lfd-seca1-controls {
        margin-top: 28px;
    }

}

/* =========================================================
   PARTICIPANT STORIES CAROUSEL
========================================================= */

.lfd-sec5-testimonial-carousel-shell {
    min-width: 0;
}

.lfd-sec5-testimonial-carousel {
    width: 100%;
    overflow: hidden;
}

.lfd-sec5-testimonial-track {
    display: flex;
    align-items: stretch;
    gap: 24px;

    transition:
        transform 0.52s cubic-bezier(.22, .61, .36, 1);

    will-change: transform;
}

.lfd-sec5-testimonial-card {
    flex: 0 0 calc((100% - 48px) / 3);
    min-width: 0;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border: 1px solid rgba(65, 66, 66, 0.1);
    border-radius: var(--hmh-card-radius, 24px);

    background: #ffffff;

    
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.lfd-sec5-testimonial-card:hover {
    transform: translateY(-4px);
}

.lfd-sec5-testimonial-photo {
    width: 100%;
    aspect-ratio: 16 / 10;
    flex: 0 0 auto;

    overflow: hidden;

    border-radius:
        var(--hmh-card-radius, 24px)
        var(--hmh-card-radius, 24px)
        0
        0;
}

.lfd-sec5-testimonial-photo img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.5s ease;
}

.lfd-sec5-testimonial-card:hover
.lfd-sec5-testimonial-photo img {
    transform: scale(1.03);
}

.lfd-sec5-testimonial-body {
    flex: 1 1 auto;

    display: flex;
    flex-direction: column;

    padding: 24px;
}

.lfd-sec5-quote-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 16px;

    border-radius: 13px;

    background: var(--hmh-aqua-soft, #eef8f6);
    color: var(--hmh-teal, #00ae9d);

    font-size: 17px;
}

.lfd-sec5-testimonial-quote {
    margin: 0 0 28px;
    color: #4f5655;
    font-family: "Nunito", sans-serif;
    font-size: clamp(1rem, 1.25vw, 1.02rem);
    font-weight: 500;
    line-height: 1.38;
    letter-spacing: 0;
}

.lfd-sec5-testimonial-footer {
    margin-top: auto;
    padding-top: 18px;

    border-top: 1px solid rgba(65, 66, 66, 0.1);
}

.lfd-sec5-testimonial-person {
    color: var(--hmh-dark, #414242);

    font-size: 1rem;
    font-weight: 800;
}

.lfd-sec5-testimonial-role {
    color: var(--hmh-muted, #777777);
    font-size: 0.88rem;
    line-height: 1.4;
}

/* Controls */

.lfd-sec5-testimonial-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    margin-top: 34px;
}

.lfd-sec5-testimonial-arrow {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1.5px solid var(--hmh-teal);
    border-radius: 50%;

    background: transparent;
    color: var(--hmh-teal);

    font-size: 16px;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.lfd-sec5-testimonial-arrow:hover,
.lfd-sec5-testimonial-arrow:focus-visible {
    background: var(--hmh-teal);
    color: #ffffff;

    transform: translateY(-2px);

    box-shadow:
        0 10px 22px rgba(0, 174, 157, 0.2);
}

.lfd-sec5-testimonial-arrow:active {
    transform: translateY(0);
}

/* Tablet */

@media (max-width: 1050px) {

    .lfd-sec5-testimonial-card {
        flex-basis: calc((100% - 24px) / 2);
    }

}

/* Mobile */

@media (max-width: 780px) {

    .lfd-sec5-testimonial-carousel {
        overflow: hidden;
    }

    .lfd-sec5-testimonial-track {
        gap: 16px;
    }

    .lfd-sec5-testimonial-card {
        flex-basis: 100%;
    }

    .lfd-sec5-testimonial-body {
        padding: 21px;
    }

    .lfd-sec5-testimonial-controls {
        margin-top: 26px;
    }

}

/* =========================================================
   EXPLORE PROGRAMS BUTTON
========================================================= */

.lfd-sec2-explore-action {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 42px;
}

.lfd-sec2-explore-btn {
    min-width: 190px;
    min-height: 54px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 30px;

    border: 1px solid var(--hmh-teal);
    border-radius: 12px;

    background: var(--hmh-teal);
    color: #ffffff;

    font-family: "Nunito", sans-serif;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1;

    text-align: center;
    text-decoration: none;

    box-shadow:
        0 12px 24px rgba(0, 174, 157, 0.18);

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.lfd-sec2-explore-btn:hover,
.lfd-sec2-explore-btn:focus-visible {
    border-color: var(--hmh-teal-hover);
    background: var(--hmh-teal-hover);
    color: #ffffff;

    transform: translateY(-2px);

    box-shadow:
        0 16px 30px rgba(0, 174, 157, 0.24);
}

.lfd-sec2-explore-btn:active {
    transform: translateY(0);
}

@media (max-width: 575.98px) {

    .lfd-sec2-explore-action {
        margin-top: 30px;
    }

    .lfd-sec2-explore-btn {
        width: 100%;
        min-width: 0;
    }

}

/* =========================================================
   MOBILE OFFCANVAS MENU
========================================================= */

.lfd-mobile-menu {
    width: min(92vw, 410px) !important;

    border: 0;

    background: #f7f9f9;

    box-shadow:
        -18px 0 50px rgba(17, 34, 33, 0.18);
}

.lfd-mobile-menu-header {
    min-height: 82px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;

    padding:
        max(18px, env(safe-area-inset-top))
        22px
        18px;

    border-bottom: 1px solid rgba(22, 78, 72, 0.08);

    background: rgba(255, 255, 255, 0.96);
}

.lfd-mobile-menu-logo {
    display: inline-flex;
    align-items: center;

    text-decoration: none;
}

.lfd-mobile-menu-logo img {
    display: block;

    width: 122px;
    height: auto;
}

.lfd-mobile-menu-close {
    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid rgba(22, 78, 72, 0.12);
    border-radius: 50%;

    background: #ffffff;
    color: #1d2a35;

    font-size: 1.15rem;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.lfd-mobile-menu-close:hover,
.lfd-mobile-menu-close:focus-visible {
    border-color: var(--hmh-teal);
    background: var(--hmh-teal);
    color: #ffffff;

    transform: rotate(4deg);
}

.lfd-mobile-menu-body {
    padding: 20px 18px calc(28px + env(safe-area-inset-bottom));

    overflow-y: auto;
}

/* Main navigation */

.lfd-mobile-nav {
    display: grid;
    gap: 10px;
}

.lfd-mobile-nav-link {
    min-height: 70px;

    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;

    padding: 13px 14px;

    border: 1px solid rgba(22, 78, 72, 0.08);
    border-radius: 16px;

    background: #ffffff;
    color: #1d2a35;

    text-decoration: none;

    box-shadow:
        0 6px 20px rgba(22, 78, 72, 0.05);

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.lfd-mobile-nav-link:hover,
.lfd-mobile-nav-link:focus-visible {
    border-color: rgba(0, 174, 157, 0.45);

    box-shadow:
        0 10px 24px rgba(22, 78, 72, 0.09);

    transform: translateY(-1px);
}

.lfd-mobile-nav-icon {
    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: rgba(0, 174, 157, 0.1);
    color: var(--hmh-teal);

    font-size: 1rem;
}

.lfd-mobile-nav-copy {
    min-width: 0;

    display: flex;
    flex-direction: column;
    gap: 2px;
}

.lfd-mobile-nav-copy strong {
    color: #1d2a35;

    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.3;
}

.lfd-mobile-nav-copy small {
    color: #71807e;

    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.35;
}

.lfd-mobile-nav-arrow {
    color: #a1acab;
    font-size: 0.72rem;
}

/* Healthmate card */

.lfd-mobile-healthmate-card {
    position: relative;

    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;

    margin-top: 18px;
    padding: 18px;

    overflow: hidden;

    border: 1px solid rgba(0, 174, 157, 0.24);
    border-radius: 20px;


}



.lfd-mobile-healthmate-icon {
    position: relative;
    z-index: 1;

    width: 48px;
    height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background: var(--hmh-teal);
    color: #ffffff;

    font-size: 1.1rem;
}

.lfd-mobile-healthmate-content {
    position: relative;
    z-index: 1;
}

.lfd-mobile-eyebrow {
    display: block;

    margin-bottom: 4px;

    color: var(--hmh-teal);

    font-size: 0.69rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lfd-mobile-healthmate-content h3 {
    margin: 0 0 5px;

    color: #163f3b;

    font-size: 1rem;
    font-weight: 900;
    line-height: 1.3;
}

.lfd-mobile-healthmate-content p {
    margin: 0 0 13px;

    color: #60716f;

    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.45;
}

.lfd-mobile-healthmate-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: var(--hmh-teal);

    font-size: 0.8rem;
    font-weight: 900;
    text-decoration: none;
}

.lfd-mobile-healthmate-btn:hover {
    color: var(--hmh-teal-hover);
}

/* Account section */

.lfd-mobile-account-section {
    margin-top: 28px;
}

.lfd-mobile-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;

    margin-bottom: 11px;
    padding: 0 2px;
}

.lfd-mobile-section-header > span:first-child {
    color: #71807e;

    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lfd-mobile-account-status {
    padding: 4px 8px;

    border-radius: 999px;

    background: rgba(0, 174, 157, 0.1);
    color: var(--hmh-teal);

    font-size: 0.68rem;
    font-weight: 800;
}

.lfd-mobile-account-card {
    overflow: hidden;

    border: 1px solid rgba(22, 78, 72, 0.08);
    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 7px 22px rgba(22, 78, 72, 0.05);
}

.lfd-mobile-account-link {
    min-height: 68px;

    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;

    padding: 12px 14px;

    color: #1d2a35;

    text-decoration: none;

    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}

.lfd-mobile-account-link:not(:last-child) {
    border-bottom: 1px solid rgba(22, 78, 72, 0.07);
}

.lfd-mobile-account-link:hover,
.lfd-mobile-account-link:focus-visible {
    background: rgba(0, 174, 157, 0.055);
}

.lfd-mobile-account-link-icon {
    width: 38px;
    height: 38px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 11px;

    background: #f1f6f5;
    color: #285e58;

    font-size: 0.92rem;
}

.lfd-mobile-account-link > span:nth-child(2) {
    min-width: 0;

    display: flex;
    flex-direction: column;
    gap: 2px;
}

.lfd-mobile-account-link strong {
    color: #1d2a35;

    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.3;
}

.lfd-mobile-account-link small {
    overflow: hidden;

    color: #7b8887;

    font-size: 0.74rem;
    font-weight: 500;
    line-height: 1.3;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.lfd-mobile-account-link > i {
    color: #a8b2b1;
    font-size: 0.68rem;
}

/* Signed-in user card */

.lfd-mobile-user-card {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 12px;
    padding: 14px;

    border: 1px solid rgba(22, 78, 72, 0.08);
    border-radius: 16px;

    background: #ffffff;
}

.lfd-mobile-user-avatar {
    width: 46px;
    height: 46px;

    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--hmh-teal);
    color: #ffffff;

    font-size: 1rem;
    font-weight: 900;
}

.lfd-mobile-user-details {
    min-width: 0;

    display: flex;
    flex-direction: column;
    gap: 2px;
}

.lfd-mobile-user-details strong {
    overflow: hidden;

    color: #1d2a35;

    font-size: 0.94rem;
    font-weight: 800;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.lfd-mobile-user-details span {
    overflow: hidden;

    color: #778583;

    font-size: 0.76rem;

    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Logout */

.lfd-mobile-logout-form {
    margin-top: 12px;
}

.lfd-mobile-logout-btn {
    width: 100%;
    min-height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    border: 1px solid rgba(190, 52, 52, 0.18);
    border-radius: 14px;

    background: rgba(190, 52, 52, 0.055);
    color: #a53b3b;

    font-size: 0.86rem;
    font-weight: 800;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.lfd-mobile-logout-btn:hover {
    border-color: rgba(190, 52, 52, 0.35);
    background: rgba(190, 52, 52, 0.1);
}

/* Footer */

.lfd-mobile-menu-footer {
    margin-top: 30px;
    padding-top: 20px;

    border-top: 1px solid rgba(22, 78, 72, 0.08);

    text-align: center;
}

.lfd-mobile-footer-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;

    margin-bottom: 10px;
}

.lfd-mobile-footer-links a {
    color: #687775;

    font-size: 0.74rem;
    font-weight: 700;
    text-decoration: none;
}

.lfd-mobile-footer-links a:hover {
    color: var(--hmh-teal);
}

.lfd-mobile-menu-footer p {
    margin: 0;

    color: #9aa5a4;

    font-size: 0.7rem;
    font-weight: 600;
}

/* Small screens */

@media (max-width: 380px) {

    .lfd-mobile-menu {
        width: 94vw !important;
    }

    .lfd-mobile-menu-body {
        padding-inline: 14px;
    }

    .lfd-mobile-nav-copy small,
    .lfd-mobile-account-link small {
        font-size: 0.7rem;
    }

}

/* =========================================================
   PARTICIPANT TESTIMONIAL CAROUSEL
========================================================= */

.lfd-sec5-testimonial-carousel-shell {
    position: relative;
}

.lfd-sec5-testimonial-carousel {
    width: 100%;
    overflow: hidden;

    padding:
        42px
        4px
        10px;
}

.lfd-sec5-testimonial-track {
    display: flex;
    align-items: stretch;
    gap: 28px;

    will-change: transform;
}

/* =========================================================
   TESTIMONIAL CARD
========================================================= */

.lfd-sec5-testimonial-card {
    position: relative;

    flex: 0 0 calc((100% - 56px) / 3);

    min-width: 0;
    height: auto;
    min-height: 0;

    display: block;

    overflow: visible;

    border: 1px solid rgba(22, 78, 72, 0.08);
    border-radius: 28px;

    background: #ffffff;

}

.lfd-sec5-testimonial-card:hover {
    border-color: rgba(0, 174, 157, 0.28);

    transform: translateY(-5px);


}

/* =========================================================
   QUOTE ICON
========================================================= */

.lfd-sec5-quote-icon {
    position: absolute;
    top: -38px;
    left: 50%;
    z-index: 3;

    width: 78px;
    height: 78px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 7px solid transparent;
    border-radius: 50%;

    background: var(--hmh-teal);
    color: #ffffff;

    font-size: 1.65rem;

    transform: translateX(-50%);

    box-shadow:
        0 12px 26px rgba(0, 174, 157, 0.24);
}

.lfd-sec5-quote-icon i {
    transform: translateY(-1px);
}

/* =========================================================
   CARD BODY
========================================================= */

.lfd-sec5-testimonial-body {
    width: 100%;

    display: flex;
    flex-direction: column;

    padding: 54px 22px 15px;
}

/* Participant header */

.lfd-sec5-testimonial-header {
    display: flex;
    align-items: center;
    gap: 20px;

    margin-bottom: 16px;
}

.lfd-sec5-testimonial-photo {
    width: 76px;
    height: 76px;

    flex: 0 0 auto;

    overflow: hidden;

    border: 4px solid #f3f5f5;
    border-radius: 50%;

    background: #eef3f2;
}

.lfd-sec5-testimonial-photo img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;
}

.lfd-sec5-testimonial-person-details {
    min-width: 0;
}

.lfd-sec5-testimonial-person {
    margin: 0 0 4px;

    color: var(--hmh-teal);

    font-family: "Nunito", sans-serif;
    font-size: clamp(1.15rem, 1.45vw, 1.48rem);
    font-weight: 800;
    line-height: 1.2;
}

.lfd-sec5-testimonial-role {
    margin: 0;

    color: #646464;

    font-family: "Nunito", sans-serif;
    font-size: clamp(0.92rem, 1.12vw, 1.08rem);
    font-weight: 500;
    line-height: 1.4;
}

/* Testimonial copy */

.lfd-sec5-testimonial-quote {
    margin: 0;

    color: #606060;

    font-family: "Nunito", sans-serif;
    font-size: clamp(0.92rem, 1vw, 1.02rem);
    font-weight: 600;
    line-height: 1.55;
}

/* =========================================================
   CAROUSEL CONTROLS
========================================================= */

.lfd-sec5-testimonial-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    margin-top: 28px;
}

.lfd-sec5-testimonial-arrow {
    width: 46px;
    height: 46px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid rgba(0, 174, 157, 0.25);
    border-radius: 50%;

    background: #ffffff;
    color: var(--hmh-teal);

    font-size: 0.85rem;



    transition:
        background-color 0.22s ease,
        border-color 0.22s ease,
        color 0.22s ease,
        transform 0.22s ease,
       
}

.lfd-sec5-testimonial-arrow:hover,
.lfd-sec5-testimonial-arrow:focus-visible {
    border-color: var(--hmh-teal);

    background: var(--hmh-teal);
    color: #ffffff;

    transform: translateY(-2px);

  
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1199.98px) {

    .lfd-sec5-testimonial-body {
        padding:
            60px
            30px
            34px;
    }

    .lfd-sec5-testimonial-header {
        gap: 15px;
    }

    .lfd-sec5-testimonial-photo {
        width: 68px;
        height: 68px;
    }

}

@media (max-width: 991.98px) {

    .lfd-sec5-testimonial-card {
        flex:
            0
            0
            calc((100% - 22px) / 2);
    }

    .lfd-sec5-testimonial-track {
        gap: 22px;
    }

}

@media (max-width: 767.98px) {

    .lfd-sec5-testimonial-carousel {
        padding-top: 38px;
    }

    .lfd-sec5-testimonial-card {
        flex: 0 0 100%;

        min-height: 320px;

        border-radius: 24px;
    }

    .lfd-sec5-testimonial-track {
        gap: 18px;
    }

    .lfd-sec5-testimonial-body {
        padding:
            54px
            24px
            30px;
    }

    .lfd-sec5-quote-icon {
        top: -33px;

        width: 68px;
        height: 68px;

        font-size: 1.4rem;
    }

    .lfd-sec5-testimonial-header {
        margin-bottom: 25px;
    }

}

@media (max-width: 399.98px) {

    .lfd-sec5-testimonial-header {
        align-items: flex-start;
        gap: 13px;
    }

    .lfd-sec5-testimonial-photo {
        width: 60px;
        height: 60px;
    }

    .lfd-sec5-testimonial-person {
        font-size: 1.05rem;
    }

    .lfd-sec5-testimonial-role {
        font-size: 0.86rem;
    }

}

/* =========================================================
   MOBILE SEARCH LAUNCHER
========================================================= */

.lfd-hdr-mobile-search-launcher {
    width: 100%;
    min-height: 66px;

    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 38px;
    align-items: center;
    gap: 12px;

    padding: 10px 12px;

    border: 1px solid rgba(22, 78, 72, 0.12);
    border-radius: 18px;

    background: rgba(255, 255, 255, 0.97);
    color: #173d39;

    text-align: left;

    box-shadow:
        0 14px 35px rgba(10, 42, 39, 0.2);

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.lfd-hdr-mobile-search-icon {
    width: 44px;
    height: 44px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background: var(--hmh-teal);
    color: #ffffff;

    font-size: 1rem;
}

.lfd-hdr-mobile-search-copy {
    min-width: 0;

    display: flex;
    flex-direction: column;
    gap: 2px;
}

.lfd-hdr-mobile-search-copy strong {
    color: #173d39;

    font-size: 0.94rem;
    font-weight: 800;
    line-height: 1.3;
}

.lfd-hdr-mobile-search-copy small {
    overflow: hidden;

    color: #74827f;

    font-size: 0.76rem;
    font-weight: 600;
    line-height: 1.3;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.lfd-hdr-mobile-search-arrow {
    width: 38px;
    height: 38px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: rgba(0, 174, 157, 0.09);
    color: var(--hmh-teal);

    font-size: 0.88rem;
}

/* =========================================================
   MOBILE SEARCH MODAL
========================================================= */

.lfd-hdr-search-modal {
    --bs-modal-margin: 0;
}

.lfd-hdr-search-modal .modal-dialog {
    width: 100%;
    max-width: none;

    margin: 0;

    display: flex;
    align-items: flex-end;

    min-height: 100%;
}

.lfd-hdr-search-modal .modal-content {
    max-height: 92dvh;

    overflow: hidden;

    border: 0;
    border-radius: 26px 26px 0 0;

    background: #f7faf9;

    box-shadow:
        0 -24px 60px rgba(11, 43, 40, 0.24);
}

.lfd-hdr-search-modal-header {
    min-height: 78px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    padding:
        18px
        18px
        15px;

    border-bottom: 1px solid rgba(22, 78, 72, 0.08);

    background: #ffffff;
}

.lfd-hdr-search-modal-eyebrow {
    display: block;

    margin-bottom: 3px;

    color: var(--hmh-teal);

    font-size: 0.67rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lfd-hdr-search-modal-header h2 {
    margin: 0;

    color: #173d39;

    font-size: 1.1rem;
    font-weight: 900;
    line-height: 1.3;
}

.lfd-hdr-search-modal-close {
    width: 42px;
    height: 42px;

    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid rgba(22, 78, 72, 0.12);
    border-radius: 50%;

    background: #f6f9f8;
    color: #405450;

    font-size: 1rem;
}

.lfd-hdr-search-modal-body {
    padding:
        16px
        16px
        calc(20px + env(safe-area-inset-bottom));

    overflow-y: auto;
    overscroll-behavior: contain;
}

@media (max-width: 767.98px) {

    /*
     * The actual search card is moved out of the hero,
     * so only the compact launcher occupies hero space.
     */
    .lfd-hdr-search-card-home {
        display: none;
    }

    .lfd-hdr-search-modal .lfd-hdr-search-card-home {
        display: block;
    }

    .lfd-hdr-search-modal .lfd-hdr-search-card {
        position: static;

        width: 100%;
        max-width: none;

        margin: 0;
        padding: 0;

        border: 0;
        border-radius: 0;

        background: transparent;

        box-shadow: none;
        transform: none;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-search-standard {
        display: grid;
        gap: 12px;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-search-standard > [class*="col-"] {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-search-col {
        min-height: 72px;

        display: flex;
        align-items: center;
        gap: 12px;

        padding: 13px 15px;

        border: 1px solid rgba(22, 78, 72, 0.1);
        border-radius: 17px;

        background: #ffffff;

        box-shadow:
            0 5px 18px rgba(22, 78, 72, 0.05);
    }

    .lfd-hdr-search-modal
    .lfd-hdr-search-col::after {
        display: none;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-field-icon {
        position: static;

        width: 40px;
        height: 40px;

        flex: 0 0 auto;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        border-radius: 12px;

        background: rgba(0, 174, 157, 0.09);
        color: var(--hmh-teal);
    }

    .lfd-hdr-search-modal
    .lfd-hdr-field-content {
        min-width: 0;
        flex: 1;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-input {
        width: 100%;

        padding: 0;

        border: 0;

        background: transparent;

        box-shadow: none;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-ai-toggle-wrapper {
        position: static;

        width: 100%;

        display: flex;
        justify-content: center;

        margin-top: 15px;
        padding: 13px;

        border: 1px solid rgba(22, 78, 72, 0.08);
        border-radius: 15px;

        background: #ffffff;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-btn-wrapper {
        width: 100%;
        display: block;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-btn-wrapper.dt-desktop {
        display: none !important;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-btn-wrapper.dt-mobile {
        display: block !important;

        margin-top: 14px;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-btn-search {
        width: 100%;
        min-height: 54px;

        border-radius: 15px;
    }

}

/* =========================================================
   SEARCH CARD DESKTOP WRAPPER FIX
========================================================= */

.lfd-hdr-search-card-home {
    width: 100%;
    max-width: 100%;
}

.lfd-hdr-search-card-home .lfd-hdr-search-card {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 767.98px) {

    .lfd-hdr-search-modal
    .lfd-hdr-search-col {
        position: relative;

        min-height: 74px;

        display: grid;
        grid-template-columns: 48px minmax(0, 1fr) 38px;
        align-items: center;
        gap: 12px;

        padding: 12px 14px;

        border: 1px solid rgba(22, 78, 72, 0.1);
        border-radius: 18px;

        background: #ffffff;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-field-icon {
        position: static !important;
        inset: auto !important;
        transform: none !important;

        width: 48px;
        height: 48px;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        margin: 0;

        border-radius: 14px;

        background: rgba(0, 174, 157, 0.09);
        color: var(--hmh-teal);

        font-size: 1.15rem;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-field-content {
        min-width: 0;
        width: 100%;

        display: flex;
        flex-direction: column;
        justify-content: center;

        margin: 0;
        padding: 0;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-label {
        margin: 0 0 2px;

        font-size: 0.78rem;
        line-height: 1.2;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-input {
        width: 100%;
        min-height: auto;

        margin: 0;
        padding: 0 !important;

        border: 0;
        background: transparent;

        font-size: 1rem;
        line-height: 1.35;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-location-wrapper {
        width: 100%;

        display: flex;
        align-items: center;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-location-input {
        flex: 1;
        min-width: 0;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-location-icon-btn {
        position: static !important;
        inset: auto !important;
        transform: none !important;

        grid-column: 3;

        width: 38px;
        height: 38px;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        margin: 0;
        padding: 0;

        border: 0;
        background: transparent;
        color: var(--hmh-teal);
    }

    .lfd-hdr-search-modal
    .lfd-hdr-search-col-location {
        grid-template-columns: 48px minmax(0, 1fr) 38px;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-search-col-location
    .lfd-hdr-field-content {
        grid-column: 2;
    }

    .lfd-hdr-search-modal
    .lfd-hdr-search-col:not(
        .lfd-hdr-search-col-location
    ) {
        grid-template-columns: 48px minmax(0, 1fr);
    }

}

.lfd-program-type {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.lfd-program-type-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;
    flex: 0 0 30px;

    border: 1px solid rgba(0, 174, 157, 0.22);
    border-radius: 10px;

    background:
        linear-gradient(
            145deg,
            rgba(0, 174, 157, 0.13),
            rgba(0, 174, 157, 0.05)
        );

    color: var(--hmh-teal);

    font-size: 13px;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.8),
        0 5px 14px rgba(0, 174, 157, 0.1);
}

.lfd-program-type-icon.is-residential {
    border-color: rgba(0, 174, 157, 0.28);
}

.lfd-program-type-icon.is-day {
    border-color: rgba(0, 174, 157, 0.2);
}

.lfd-program-type-icon i {
    color: var(--hmh-teal);
}


/* =========================================================
   PROGRAM CARD
========================================================= */

.lfd-sec2-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

@media (max-width: 1399.98px) {

    .lfd-sec2-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}

@media (max-width: 991.98px) {

    .lfd-sec2-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 575.98px) {

    .lfd-sec2-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

}

.lfd-sec2-card {
    position: relative;

    min-width: 0;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border: 1px solid rgba(18, 96, 87, 0.1);
    border-radius: 28px;

    background: #ffffff;

    font-family: "Nunito", sans-serif;

    box-shadow:
        0 18px 45px rgba(22, 78, 72, 0.1);

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.lfd-sec2-card:hover {
    border-color: rgba(0, 174, 157, 0.34);

    transform: translateY(-6px);

    box-shadow:
        0 25px 55px rgba(22, 78, 72, 0.16);
}

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

.lfd-sec2-card-media {
    position: relative;

    width: 100%;
    aspect-ratio: 16 / 10;

    overflow: hidden;

    background: #edf5f3;
}

.lfd-sec2-card-media img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.45s ease;
}

.lfd-sec2-card:hover
.lfd-sec2-card-media img {
    transform: scale(1.035);
}

/* Popular badge */

.lfd-sec2-popular-badge {
    position: absolute;
    top: 18px;
    right: 18px;

    display: inline-flex;
    align-items: center;
    gap: 8px;

    min-height: 38px;

    padding: 0 16px;

    border-radius: 999px;

    background: rgba(0, 118, 110, 0.94);
    color: #ffffff;

    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.11em;
    text-transform: uppercase;

    box-shadow:
        0 9px 22px rgba(5, 61, 56, 0.25);

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* =========================================================
   CARD BODY
========================================================= */

.lfd-sec2-card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 16px 18px 21px;

}



/* Program title */

.lfd-sec2-card-title {
    margin: 0;
    color: var(--hmh-teal);
    font-family: "Nunito", sans-serif;
    font-size: clamp(1.18rem, 1.6vw, 1.2rem);
    font-weight: 700;
    line-height: 1.2;
    text-transform: capitalize;
}

.lfd-sec2-card-divider {
    width: 100%;
    height: 1px;

    margin: 13px 0;

    background: rgba(22, 78, 72, 0.1);
}

/* =========================================================
   PROGRAM DETAILS
========================================================= */

.lfd-sec2-detail {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 0px;
    padding: 12px 0;
}

.lfd-sec2-detail-highlight {
    grid-template-columns:
        48px
        minmax(0, 1fr)
        28px;

    margin-bottom: 4px;
    padding: 14px;

    border-radius: 16px;

    background:
        linear-gradient(
            110deg,
            rgba(0, 174, 157, 0.09),
            rgba(0, 174, 157, 0.025)
        );
}

.lfd-sec2-detail-icon {
    width: 38px;
    height: 38px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background: rgba(0, 174, 157, 0.09);
    color: var(--hmh-teal);

    font-size: 1.08rem;
}

.lfd-sec2-detail-highlight
.lfd-sec2-detail-icon {
    background: var(--hmh-teal);
    color: #ffffff;
}

.lfd-sec2-detail-content {
    min-width: 0;

    display: flex;
    flex-direction: column;
    gap: 3px;
}

.lfd-sec2-detail-label {
    color: #657270;

    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.lfd-sec2-detail-value {
    color: #414242;

    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1.45;

    overflow-wrap: anywhere;
}

.lfd-sec2-detail-arrow {
    width: 28px;
    height: 28px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--hmh-teal);

    font-size: 0.84rem;
}

/* =========================================================
   CARD FOOTER
========================================================= */

.lfd-sec2-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    /*background: var(--hmh-aqua);*/
    background: #f1f9f8;
    margin-top: auto;
    

    border-top: 1px solid rgba(22, 78, 72, 0.1);
        padding: 10px;
    border-radius: 12px;
}

.lfd-sec2-program-type {
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 12px;
}

.lfd-sec2-program-type-icon {
    width: 38px;
    height: 38px;

    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(0, 174, 157, 0.22);
    border-radius: 13px;

    background: rgba(0, 174, 157, 0.06);
    color: var(--hmh-teal);

    font-size: 1rem;
}

.lfd-sec2-program-type-icon.is-residential {
    color: #06736c;
}

.lfd-sec2-program-type-icon.is-day {
    color: var(--hmh-teal);
}

.lfd-sec2-program-type-name {
    color: #253b3a;

    font-size: 0.96rem;
    font-weight: 900;
    line-height: 1.3;
}

.lfd-sec2-view-link {
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 2px solid var(--hmh-teal);
    border-radius: 50%;
    background: var(--hmh-teal);
    color: #fff;
    text-decoration: none;
    transition: background-color 0.22s ease, color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}

.lfd-sec2-view-link:hover,
.lfd-sec2-view-link:focus-visible {
    background: var(--hmh-teal);
    color: #ffffff;

    transform: translateX(3px);

    box-shadow:
        0 10px 22px rgba(0, 174, 157, 0.22);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1199.98px) {

    .lfd-sec2-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 767.98px) {

    .lfd-sec2-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }

    .lfd-sec2-card {
        border-radius: 24px;
    }

    .lfd-sec2-card-body {
        padding: 21px 19px 19px;
    }

    .lfd-sec2-card-title {
        font-size: 1.4rem;
    }

    .lfd-sec2-detail-highlight {
        padding: 12px;
    }

}

@media (max-width: 399.98px) {

    .lfd-sec2-detail {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 11px;
    }

    .lfd-sec2-detail-highlight {
        grid-template-columns:
            42px
            minmax(0, 1fr)
            24px;
    }

    .lfd-sec2-detail-icon {
        width: 42px;
        height: 42px;
    }

    .lfd-sec2-card-footer {
        gap: 12px;
    }

    .lfd-sec2-program-type-icon {
        width: 40px;
        height: 40px;
    }

    .lfd-sec2-view-link {
        width: 44px;
        height: 44px;
    }

}

@media (min-width: 1400px) {

    .lfd-sec2-card-body {
                padding: 14px 22px 24px
    }

    .lfd-sec2-card-title {
        font-size: 1.1rem;
    }

    .lfd-sec2-detail {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 11px;
    }

    .lfd-sec2-detail-highlight {
        grid-template-columns:
            42px
            minmax(0, 1fr)
            24px;

        padding: 11px;
    }

    .lfd-sec2-detail-icon {
        width: 38px;
        height: 38px;
    }

    .lfd-sec2-detail-value {
        font-size: 0.88rem;
    }

    .lfd-sec2-location {
        font-size: 0.86rem;
    }

    .lfd-sec2-program-type-name {
        font-size: 0.88rem;
    }

}

/* =========================================================
   LOCATION ALIGNMENT
========================================================= */

.lfd-sec2-location-row {
    position: relative;

    display: block;

    width: 100%;
    margin-bottom: 14px;
    padding-left: 16px;
}

.lfd-sec2-location-icon {
    position: absolute;
    top: 50%;
    left: 0;

    width: 14px;
    height: 14px;

    display: inline-flex;
    align-items: center;
    justify-content: flex-start;

    margin: 0;
    padding: 0;

    background: transparent;
    color: #414242;

    font-size: 0.72rem;
    line-height: 1;

    transform: translateY(-50%);
}

.lfd-sec2-location {
    display: block;
    width: 100%;
    min-width: 0;

    overflow: hidden;

    margin: 0;

    color: #414242;

    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.35;

    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* =========================================================
   PREMIUM PROGRAM TYPE
========================================================= */

.lfd-sec2-program-type {
    min-width: 0;

    display: inline-flex;
    align-items: center;
    gap: 12px;

    /*padding: 9px 13px 9px 9px;*/

    /*border: 1px solid rgba(0, 174, 157, 0.14);*/
    /*border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            rgba(0, 174, 157, 0.07),
            rgba(255, 255, 255, 0.94)
        );

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.8),
        0 6px 18px rgba(22, 78, 72, 0.06);*/
}

.lfd-sec2-program-type-icon {
    position: relative;

    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(0, 174, 157, 0.2);
    border-radius: 13px;

    /*background:
        linear-gradient(
            145deg,
            #ffffff,
            rgba(0, 174, 157, 0.09)
        );*/
        background: #fff;

    color: var(--hmh-teal);

    font-size: 0.95rem;

    box-shadow:
        0 5px 14px rgba(0, 174, 157, 0.1);
}

.lfd-sec2-program-type-icon::after {
    content: "";

    position: absolute;
    inset: 5px;

    border: 1px solid rgba(0, 174, 157, 0.12);
    border-radius: 9px;

    pointer-events: none;
}

.lfd-sec2-program-type-icon i {
    position: relative;
    z-index: 1;
}

.lfd-sec2-program-type-icon.is-residential {
    color: var(--hmh-teal);
}

.lfd-sec2-program-type-icon.is-day {
    color: var(--hmh-teal);
}

.lfd-sec2-program-type-copy {
    min-width: 0;

    display: flex;
    flex-direction: column;
    gap: 2px;
}

.lfd-sec2-program-type-label {
    color: #7b8986;

    font-size: 0.6rem;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.lfd-sec2-program-type-name {
    overflow: hidden;

    color: #173d39;

    font-size: 0.88rem;
    font-weight: 900;
    line-height: 1.25;

    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (min-width: 1400px) {

    .lfd-sec2-program-type {
        gap: 9px;
        /*padding: 8px 10px 8px 8px;*/
    }

    .lfd-sec2-program-type-icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;

        border-radius: 12px;
    }

    .lfd-sec2-program-type-name {
        font-size: 0.82rem;
    }

    .lfd-sec2-program-type-label {
        font-size: 0.56rem;
    }

}

.lfd-pl-card-title,
.lfd-pl-card-title {
    transition: color 0.3s ease;
}

.lfd-sec2-card:hover .lfd-sec2-card-title,
.lfd-sec2-card:hover .lfd-pl-card-title {
    color: var(--hmh-dark) !important;
}