

.lfd-cp {
  --cp-teal: #00AE9D;
  --cp-teal-ink: #414242;
  --cp-teal-deep: #414242;
  --cp-icon: #414242;
  --cp-icon-green: #414242;
  --cp-aqua: rgba(0,0,0,0.05);
  --cp-grey: rgba(0,0,0,0.05);
  --cp-ink: #414242;
  --cp-body: #414242;
  --cp-muted: #414242;
  --cp-line: rgba(0,0,0, .12);
  --cp-head: "Nunito";
  --cp-text: "Nunito";
  --cp-r8: 8px; --cp-r16: 16px; --cp-r24: 24px; --cp-r32: 32px;

  font-family: var(--cp-text);
  color: var(--cp-body);
  background: #FFFFFF;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
.lfd-cp *, .lfd-cp *::before, .lfd-cp *::after { box-sizing: border-box; }
.lfd-cp img { max-width: 100%; height: auto; display: block; }
.lfd-cp a { color: var(--cp-teal-ink); text-decoration: none; }
.lfd-cp a:hover { color: var(--cp-teal-deep); }
.lfd-cp :focus-visible { outline: 3px solid rgba(0,174,157,.45); outline-offset: 3px; border-radius: 6px; }
.lfd-cp .container { max-width: 1240px; }
/* SEO wrappers keep centered outer margins and responsive gutters. */
@media (min-width: 992px) { .lfd-cp .container { padding-inline: 0; } }


.lfd-cp-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.lfd-cp .lfd-cp-i { display: inline-block; flex: none; width: 1em; height: 1em; vertical-align: -.14em; color: var(--cp-icon); overflow: visible; }
.lfd-cp .lfd-cp-i.lfd-cp-ic-green { color: var(--cp-icon-green); }
.lfd-cp .lfd-cp-i-lg { font-size: 1.75rem; }
.lfd-cp .lfd-cp-btn .lfd-cp-i, .lfd-cp .lfd-sec2-view-link .lfd-cp-i { color: inherit; }
.lfd-cp .lfd-cp-btn .lfd-cp-i { font-size: 1.15em; }


.lfd-cp h1, .lfd-cp h2, .lfd-cp h3, .lfd-cp h4 { font-family: var(--cp-head); color: var(--cp-ink); margin: 0; text-wrap: balance; }
.lfd-cp-h1 { font-weight: 700; font-size: clamp(2.35rem, 4.6vw, 3.6rem); line-height: 1.06; letter-spacing: -.025em; }
.lfd-cp-h2 { font-weight: 700; font-size: clamp(1.8rem, 3.1vw, 2.5rem); line-height: 1.14; letter-spacing: -.02em; }
.lfd-cp-h3 { font-weight: 700; font-size: 1.15rem; line-height: 1.3; letter-spacing: -.01em; }
.lfd-cp-lead { font-size: 1.15rem; line-height: 1.68; color: var(--cp-body); margin: 0; text-wrap: pretty; }
.lfd-cp-body { font-size: 1rem; line-height: 1.68; color: var(--cp-body); margin: 0; text-wrap: pretty; }
.lfd-cp-small { font-size: .875rem; line-height: 1.55; color: var(--cp-muted); margin: 0; }
.lfd-cp-label { display: block; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--cp-muted); margin-bottom: 4px; }
.lfd-cp-nw { white-space: nowrap; }


.lfd-cp-sec { padding: 88px 0; }
.lfd-cp-sec-tight { padding: 56px 0; }
.lfd-cp-grey { background: var(--cp-grey); }
.lfd-cp-sec-rule { border-top: 1px solid var(--cp-line); }
.lfd-cp-head { margin-bottom: 40px; max-width: 820px; }
.lfd-cp-head .lfd-cp-lead { margin-top: 16px; }


.lfd-cp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  height: 56px; padding: 0 32px; border-radius: var(--cp-r16);
  font-family: var(--cp-text); font-weight: 700; font-size: .9rem; letter-spacing: .07em; text-transform: uppercase;
  border: 1.5px solid transparent; cursor: pointer; white-space: nowrap;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.lfd-cp a.lfd-cp-btn-primary, .lfd-cp-btn-primary { background: var(--cp-teal); color: #FFFFFF; }
.lfd-cp a.lfd-cp-btn-primary:hover, .lfd-cp-btn-primary:hover { background: #00AE9D; color: #FFFFFF; }
.lfd-cp a.lfd-cp-btn-secondary, .lfd-cp-btn-secondary { background: #FFFFFF; color: var(--cp-ink); border-color: rgba(0,0,0,.25); }
.lfd-cp a.lfd-cp-btn-secondary:hover, .lfd-cp-btn-secondary:hover { border-color: var(--cp-ink); color: var(--cp-ink); }
.lfd-cp a.lfd-cp-btn-light, .lfd-cp-btn-light { background: transparent; color: #FFFFFF; border-color: rgba(255,255,255,.6); }
.lfd-cp a.lfd-cp-btn-light:hover, .lfd-cp-btn-light:hover { background: #FFFFFF; color: var(--cp-ink); }
.lfd-cp-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }


.lfd-cp a.lfd-cp-link {
  font-weight: 700; color: var(--cp-teal-ink); text-decoration: underline;
  text-decoration-thickness: 1px; text-underline-offset: 4px;
}
.lfd-cp a.lfd-cp-link::after { content: " \2192"; }
.lfd-cp a.lfd-cp-link:hover { color: var(--cp-teal-deep); text-decoration-thickness: 2px; }


.lfd-cp-crumbs { padding: 18px 0 14px; }
.lfd-cp-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; font-size: .875rem; font-weight: 600; color: var(--cp-muted); }
.lfd-cp-crumbs li + li::before { content: "/"; margin-right: 6px; color: #414242; }
.lfd-cp-crumbs a { color: var(--cp-muted); }
.lfd-cp-crumbs a:hover { color: var(--cp-teal-ink); }
.lfd-cp-crumbs [aria-current] { color: var(--cp-ink); }


.lfd-cp-stage {
  position: relative; border-radius: var(--cp-r32); overflow: hidden;
  min-height: clamp(500px, 66vh, 640px); display: flex; align-items: flex-end; background: #414242;
}
.lfd-cp-stage > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lfd-cp-stage::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.66) 0%, rgba(0,0,0,.34) 46%, rgba(0,0,0,0) 72%),
    linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.5) 100%);
}
.lfd-cp-stage-body { position: relative; z-index: 2; padding: clamp(28px, 4.4vw, 64px); max-width: 760px; }
.lfd-cp-kicker { display: block; margin-bottom: 14px; font-weight: 800; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.86); }
.lfd-cp-stage .lfd-cp-h1 { color: #FFFFFF; }
.lfd-cp-stage .lfd-cp-lead { color: rgba(255,255,255,.9); margin-top: 18px; max-width: 600px; }
.lfd-cp-credit { position: absolute; z-index: 2; right: 22px; bottom: 18px; font-size: .75rem; font-weight: 700; color: rgba(255,255,255,.8); }


.lfd-cp-split { background: var(--cp-grey); padding: 56px 0 64px; }
.lfd-cp-split-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 64px; align-items: center; }
.lfd-cp-pill {
  display: inline-flex; align-items: center; padding: 8px 16px; border-radius: 999px;
  background: #FFFFFF; color: var(--cp-ink); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
  border: 1px solid rgba(0,0,0,.12);
}
.lfd-cp-split .lfd-cp-h1 { margin-top: 22px; }
.lfd-cp-split .lfd-cp-lead { margin-top: 20px; max-width: 580px; }
.lfd-cp-ticks { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 22px; padding: 0; margin: 22px 0 0; font-size: .9rem; font-weight: 700; color: var(--cp-body); }
.lfd-cp-ticks li { display: inline-flex; align-items: center; gap: 8px; }
.lfd-cp .lfd-cp-ticks .lfd-cp-i { color: var(--cp-icon-green); font-size: 1rem; }
.lfd-cp-leaf { position: relative; border-radius: 180px 28px 180px 28px; overflow: hidden; aspect-ratio: 4 / 5; max-width: 100%; background: rgba(0,0,0,0.05); }
.lfd-cp-leaf img { width: 100%; height: 100%; object-fit: cover; }
.lfd-cp-split-media { max-width: 460px; width: 100%; margin: 0 0 0 auto; }
.lfd-cp-caption { margin-top: 14px; font-size: .82rem; line-height: 1.5; color: var(--cp-muted); text-align: right; }


.lfd-cp-why { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }
.lfd-cp-why.is-solo { grid-template-columns: 1fr; max-width: 820px; }
.lfd-cp-notes { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--cp-line); }
.lfd-cp-notes li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 24px 0; border-bottom: 1px solid var(--cp-line); }
.lfd-cp-notes .lfd-cp-i { font-size: 1.4rem; margin-top: 1px; }
.lfd-cp-notes h3 { margin-bottom: 6px; }


.lfd-cp-defs { margin-top: 48px; border-top: 1px solid var(--cp-line); }
.lfd-cp-def { display: grid; grid-template-columns: .7fr 1fr 1.2fr; gap: 32px; padding: 26px 0; border-bottom: 1px solid var(--cp-line); }
.lfd-cp-def h3 { font-size: 1.35rem; }
.lfd-cp-four-src { margin-top: 16px; }


.lfd-cp-rows { border-top: 1px solid var(--cp-line); }
.lfd-cp-row { display: grid; grid-template-columns: 1.1fr .8fr 1.6fr 1fr; gap: 32px; align-items: start; padding: 28px 0; border-bottom: 1px solid var(--cp-line); }
.lfd-cp-row .ex { font-size: .875rem; color: var(--cp-muted); margin: 6px 0 0; }
.lfd-cp-row.is-map { opacity: .62; }
.lfd-cp-tier { display: inline-flex; flex-direction: column; gap: 8px; }
.lfd-cp-tier b { font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--cp-ink); }
.lfd-cp-meter { display: inline-flex; gap: 4px; }
.lfd-cp-meter i { width: 22px; height: 6px; border-radius: 3px; background: rgba(0,0,0,0.05); }
.lfd-cp-meter i.on { background: var(--cp-icon); }
.lfd-cp-tier.t-traditional .lfd-cp-meter i.on { background: var(--cp-icon-green); }
.lfd-cp-proglinks { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: .9rem; font-weight: 700; }
.lfd-cp-proglinks a { color: var(--cp-ink); text-decoration: underline; text-decoration-color: rgba(0,0,0,.3); text-underline-offset: 3px; }
.lfd-cp-proglinks a:hover { color: var(--cp-teal-ink); text-decoration-color: currentColor; }
.lfd-cp-legend { display: flex; flex-wrap: wrap; gap: 8px 26px; margin-top: 22px; font-size: .82rem; color: var(--cp-muted); }
.lfd-cp-legend span { display: inline-flex; align-items: center; gap: 8px; }
.lfd-cp-legend .lfd-cp-meter i { width: 12px; height: 5px; }


.lfd-cp-sci { display: grid; grid-template-columns: .85fr 1.15fr; gap: 72px; align-items: start; }
.lfd-cp-findlist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--cp-line); }
.lfd-cp-findlist li { display: grid; grid-template-columns: 190px 1fr; gap: 28px; padding: 26px 0; border-bottom: 1px solid var(--cp-line); }
.lfd-cp-findlist .fig { font-family: var(--cp-head); font-weight: 700; font-size: 2.4rem; line-height: 1; letter-spacing: -.03em; color: var(--cp-ink); }
.lfd-cp-findlist .fig span { display: block; margin-top: 8px; font-family: var(--cp-text); font-size: .8rem; font-weight: 700; letter-spacing: 0; color: var(--cp-muted); }
.lfd-cp-findlist p { margin: 0; font-size: 1.02rem; line-height: 1.65; color: var(--cp-body); }
.lfd-cp-findlist sup a { font-weight: 800; font-size: .72rem; margin-left: 2px; color: var(--cp-teal-ink); }
.lfd-cp-sci-foot { display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; margin-top: 48px; }
.lfd-cp-claims { padding: 30px 32px; border-radius: var(--cp-r24); background: var(--cp-grey); }
.lfd-cp-claims ul { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.lfd-cp-claims s { font-size: 1.02rem; color: var(--cp-body); text-decoration-thickness: 1.5px; text-decoration-color: var(--cp-ink); }
.lfd-cp-claims .note { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--cp-line); font-family: var(--cp-head); font-weight: 500; font-size: 1.08rem; line-height: 1.55; color: var(--cp-ink); }
.lfd-cp-refs h3 { font-size: 1rem; }
.lfd-cp-refs ol { margin: 14px 0 0; padding-left: 20px; display: grid; gap: 8px; font-size: .86rem; line-height: 1.5; color: var(--cp-muted); }


.lfd-cp-curate { display: grid; grid-template-columns: .82fr 1.18fr; gap: 72px; align-items: start; }
.lfd-cp-sticky { position: sticky; top: 110px; }
.lfd-cp-figure { margin: 0; }
.lfd-cp-figure figcaption { margin-top: 14px; font-size: .8rem; font-weight: 700; color: var(--cp-muted); }
.lfd-cp-eight { list-style: none; padding: 0; margin: 40px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.lfd-cp-eight li { padding: 22px 0; border-top: 1px solid var(--cp-line); }
.lfd-cp-eight .k { display: block; margin-bottom: 8px; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--cp-icon-green); }
.lfd-cp-eight h3 { font-size: 1.05rem; margin-bottom: 6px; }
.lfd-cp-eight p { font-size: .94rem; line-height: 1.6; margin: 0; color: var(--cp-body); }
.lfd-cp-also { margin-top: 32px; padding: 28px 30px; border-radius: var(--cp-r24); background: var(--cp-grey); }
.lfd-cp-also h3 { font-size: 1.05rem; margin-bottom: 14px; }
.lfd-cp-checks { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.lfd-cp-checks li { display: flex; gap: 12px; font-size: .97rem; line-height: 1.55; color: var(--cp-ink); }
.lfd-cp-checks li .lfd-cp-i { margin-top: 3px; font-size: 1.05rem; }
.lfd-cp-lookfor { list-style: none; padding: 0; margin: 36px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 36px; }
.lfd-cp-lookfor li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; padding: 22px 0; border-top: 1px solid var(--cp-line); }
.lfd-cp-lookfor .lfd-cp-i { font-size: 1.35rem; margin-top: 1px; }
.lfd-cp-lookfor h3 { font-size: 1.05rem; margin: 0 0 6px; }
.lfd-cp-lookfor p { margin: 0; font-size: .94rem; line-height: 1.6; }
.lfd-cp-eightline { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--cp-line); }


.lfd-cp-hosts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.lfd-cp-host img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--cp-r16); background: rgba(0,0,0,0.05); }
.lfd-cp-host h3 { margin-top: 20px; font-size: 1.2rem; }
.lfd-cp-host .role { margin: 4px 0 10px; font-size: .9rem; font-weight: 700; color: var(--cp-muted); }
.lfd-cp-host p { font-size: .96rem; line-height: 1.62; margin: 0 0 12px; }


.lfd-cp-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.lfd-cp-steps li { padding-top: 22px; border-top: 2px solid var(--cp-ink); }
.lfd-cp-stepnum { display: block; font-family: var(--cp-head); font-weight: 700; font-size: 1rem; color: var(--cp-icon-green); margin-bottom: 10px; }
.lfd-cp-steps h3 { margin-bottom: 8px; }


.lfd-cp-progs-head { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-end; justify-content: space-between; margin-bottom: 36px; }
.lfd-cp-tabs { display: inline-flex; padding: 5px; border-radius: 16px; background: #FFFFFF; border: 1px solid rgba(0,0,0,.12); }
.lfd-cp-tab { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 18px; border: 0; border-radius: 12px; background: transparent; font-family: var(--cp-text); font-size: .9rem; font-weight: 700; color: var(--cp-body); cursor: pointer; }
.lfd-cp-tab .lfd-cp-i { font-size: 1.05rem; color: inherit; }
.lfd-cp-tab .c { font-size: .78rem; font-weight: 800; color: var(--cp-muted); }
.lfd-cp-tab[aria-pressed="true"] { background: var(--cp-ink); color: #FFFFFF; }
.lfd-cp-tab[aria-pressed="true"] .lfd-cp-i, .lfd-cp-tab[aria-pressed="true"] .c { color: rgba(255,255,255,.8); }
.lfd-cp-group + .lfd-cp-group { margin-top: 48px; }
.lfd-cp .lfd-cp-group-title { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; font-family: var(--cp-text); font-size: .8rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--cp-ink); }
.lfd-cp .lfd-cp-group-title::after { content: ""; flex: 1; height: 1px; background: var(--cp-line); }
.lfd-cp-empty { display: none; padding: 28px; border-radius: var(--cp-r16); background: #FFFFFF; font-weight: 700; }
.lfd-cp-progs-foot { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; justify-content: space-between; }

.lfd-cp .lfd-sec2-card { position: relative; height: 100%; display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(0,0,0,.1); border-radius: 24px; background: #FFFFFF; font-family: "Nunito", sans-serif; box-shadow: 0 14px 36px rgba(0,0,0,.08); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.lfd-cp .lfd-sec2-card:hover { border-color: rgba(0,0,0,.24); transform: translateY(-4px); box-shadow: 0 22px 48px rgba(0,0,0,.12); }
.lfd-cp .lfd-sec2-card > a { color: inherit; }
.lfd-cp .lfd-sec2-card-media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 24px; background: rgba(0,0,0,0.05); }
.lfd-cp .lfd-sec2-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.lfd-cp .lfd-sec2-card:hover .lfd-sec2-card-media img { transform: scale(1.035); }
.lfd-cp .lfd-cp-badge { position: absolute; left: 12px; top: 12px; padding: 5px 10px; border-radius: 8px; background: #FFFFFF; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--cp-ink); }
.lfd-cp .lfd-sec2-card-body { flex: 1; display: flex; flex-direction: column; padding: 14px 22px 22px; }
.lfd-cp .lfd-sec2-location-row { display: flex; align-items: center; gap: 6px; margin-bottom: 12px; font-size: .86rem; font-weight: 700; color: #414242; }
.lfd-cp .lfd-sec2-location-icon { display: inline-flex; font-size: .95rem; }
.lfd-cp .lfd-sec2-location { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lfd-cp .lfd-sec2-card-title { margin: 0; color: var(--cp-teal-ink); font-family: "Nunito", sans-serif; font-size: 1.1rem; font-weight: 700; line-height: 1.25; text-transform: capitalize; }
.lfd-cp .lfd-sec2-card:hover .lfd-sec2-card-title { color: var(--cp-ink); }
.lfd-cp .lfd-sec2-card-divider { height: 1px; margin: 13px 0; background: rgba(0,0,0,.1); }
.lfd-cp .lfd-sec2-detail { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 11px; align-items: center; padding: 8px 0; }
.lfd-cp .lfd-sec2-detail-icon { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--cp-grey); font-size: 1.1rem; }
.lfd-cp .lfd-sec2-detail-content { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.lfd-cp .lfd-sec2-detail-label { color: #414242; font-size: .68rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; line-height: 1.2; }
.lfd-cp .lfd-sec2-detail-value { color: #414242; font-size: .85rem; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.lfd-cp .lfd-sec2-card-footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px; border-radius: 12px; background: var(--cp-grey); }
.lfd-cp .lfd-sec2-card-detailsblock { margin-bottom: 14px; }
.lfd-cp .lfd-sec2-program-type { display: flex; align-items: center; gap: 10px; }
.lfd-cp .lfd-sec2-program-type-icon { width: 30px; height: 30px; border-radius: 10px; display: grid; place-items: center; background: #FFFFFF; font-size: .8rem; }
.lfd-cp .lfd-sec2-program-type-icon .lfd-cp-i { color: var(--cp-icon-green); font-size: 1rem; }
.lfd-cp .lfd-sec2-program-type-copy { display: flex; flex-direction: column; }
.lfd-cp .lfd-sec2-program-type-label { font-size: .6rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: #414242; }
.lfd-cp .lfd-sec2-program-type-name { font-size: .82rem; font-weight: 800; color: #414242; }
.lfd-cp .lfd-sec2-view-link { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--cp-teal); color: #FFFFFF; font-size: 1rem; flex: none; }
.lfd-cp .lfd-sec2-card.lfd-hidden, .lfd-cp [data-cp-col].lfd-hidden { display: none; }


.lfd-cp-voice { margin: 0; padding-top: 28px; border-top: 2px solid var(--cp-ink); display: flex; flex-direction: column; gap: 26px; height: 100%; }
.lfd-cp-voice blockquote { margin: 0; font-family: var(--cp-head); font-weight: 500; font-size: clamp(1.3rem, 2.1vw, 1.7rem); line-height: 1.42; color: var(--cp-ink); text-wrap: pretty; }
.lfd-cp-person { display: flex; align-items: center; gap: 14px; }
.lfd-cp-person img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.lfd-cp-person b { display: block; font-family: var(--cp-head); font-weight: 700; color: var(--cp-ink); }
.lfd-cp-person span { font-size: .86rem; color: var(--cp-muted); }
.lfd-cp-voice.is-empty h3 { margin-bottom: 4px; }
.lfd-cp-request { height: 100%; padding: 36px; border-radius: var(--cp-r24); background: var(--cp-aqua); display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.lfd-cp-request .lfd-cp-btn { margin-top: auto; }


.lfd-cp-kerala { border-radius: var(--cp-r32); background: var(--cp-grey); padding: clamp(28px, 4vw, 56px); }
.lfd-cp-profile { width: 100%; height: auto; display: block; }
.lfd-cp-profile .pin { fill: #FFFFFF; stroke: #414242; stroke-width: 2.5; }
.lfd-cp-profile .pin.on { fill: var(--cp-icon-green); stroke: #FFFFFF; stroke-width: 3; }
.lfd-cp-profile text { font-family: var(--cp-text); font-size: 15px; font-weight: 800; fill: var(--cp-ink); }
.lfd-cp-profile text.dim { fill: #414242; font-weight: 700; }
.lfd-cp-profile text.zone { font-size: 12px; letter-spacing: .14em; fill: var(--cp-muted); font-weight: 800; }
.lfd-cp-bands { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 24px; }
.lfd-cp-band { background: #FFFFFF; border-radius: var(--cp-r24); padding: 24px; }
.lfd-cp-band h3 { font-size: 1.05rem; }
.lfd-cp-band .alt { font-size: .82rem; font-weight: 700; color: var(--cp-muted); margin-top: 4px; }
.lfd-cp-place { margin-top: 18px; }
.lfd-cp-place b { display: block; font-size: .9rem; font-weight: 800; color: var(--cp-ink); margin-bottom: 8px; }
.lfd-cp-dots { display: flex; flex-wrap: wrap; gap: 6px; }
.lfd-cp-dots a { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px 5px 8px; border-radius: var(--cp-r8); font-size: .78rem; font-weight: 700; color: var(--cp-ink); background: var(--cp-grey); line-height: 1.2; }
.lfd-cp-dots a::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c, rgba(0,0,0,0.05)); flex: none; }
.lfd-cp-dots a.is-dim { opacity: .45; }
.lfd-cp-dots a:hover { background: rgba(0,0,0,0.05); color: var(--cp-ink); }
.lfd-cp-keys { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 22px; font-size: .82rem; font-weight: 700; color: var(--cp-body); }
.lfd-cp-keys span { display: inline-flex; align-items: center; gap: 8px; }
.lfd-cp-keys span::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--c); }
.lfd-cp .c-wellness { --c: var(--cp-icon-green); }
.lfd-cp .c-movement { --c: var(--cp-icon); }
.lfd-cp .c-recovery { --c: #FFFFFF; }
.lfd-cp .c-none { --c: rgba(0,0,0,0.05); }
.lfd-cp-dots a.c-recovery::before, .lfd-cp-keys span.c-recovery::before { box-shadow: inset 0 0 0 2px var(--cp-icon); }
.lfd-cp-one { margin: 36px 0 0; font-family: var(--cp-head); font-weight: 500; font-size: clamp(1.12rem, 1.7vw, 1.35rem); line-height: 1.55; color: var(--cp-ink); max-width: 900px; }


.lfd-cp-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
.lfd-cp-faq details { border-top: 1px solid rgba(0,0,0,.14); }
.lfd-cp-faq details:last-child, .lfd-cp-faq details:nth-last-child(2):nth-child(odd) { border-bottom: 1px solid rgba(0,0,0,.14); }
.lfd-cp-faq summary { list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 22px 0; cursor: pointer; font-family: var(--cp-head); font-weight: 700; font-size: 1.02rem; color: var(--cp-ink); }
.lfd-cp-faq summary::-webkit-details-marker { display: none; }
.lfd-cp-faq summary::after { content: "+"; flex: none; font-family: var(--cp-text); font-size: 1.5rem; font-weight: 400; line-height: 1; color: var(--cp-icon); transition: transform .2s ease; }
.lfd-cp-faq details[open] summary::after { transform: rotate(45deg); }
.lfd-cp-faq details p { margin: -6px 0 22px; font-size: .97rem; line-height: 1.66; color: var(--cp-body); max-width: 560px; }


.lfd-cp-cta { position: relative; overflow: hidden; border-radius: var(--cp-r24); min-height: 260px; display: flex; align-items: center; background: #414242; }
.lfd-cp-cta > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lfd-cp-cta::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.52) 50%, rgba(0,0,0,.18) 100%); }
.lfd-cp-cta-body { position: relative; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px; width: 100%; padding: 48px clamp(28px, 4.4vw, 64px); }
.lfd-cp-cta h2 { color: #FFFFFF; }
.lfd-cp-cta p { color: rgba(255,255,255,.86); margin: 12px 0 0; max-width: 560px; font-size: 1.05rem; line-height: 1.6; }
.lfd-cp-cta .lfd-cp-btns { margin-top: 0; }


.lfd-cp-more-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.lfd-cp .lfd-cp-more-grid + .lfd-cp-group-title { margin-top: 36px; }
.lfd-cp-tilelink { display: flex; align-items: center; gap: 14px; padding: 10px 16px 10px 10px; border-radius: var(--cp-r16); background: #FFFFFF; border: 1px solid var(--cp-line); color: var(--cp-ink); transition: border-color .2s ease; }
.lfd-cp-tilelink:hover { border-color: var(--cp-ink); color: var(--cp-ink); }
.lfd-cp-tilelink img { width: 60px; height: 60px; border-radius: 12px; object-fit: cover; flex: none; }
.lfd-cp-tilelink b { display: block; font-family: var(--cp-head); font-weight: 700; font-size: 1rem; }
.lfd-cp-tilelink span { font-size: .82rem; font-weight: 700; color: var(--cp-muted); }


.lfd-cp a.lfd-cp-coll, .lfd-cp a.lfd-cp-moment, .lfd-cp a.lfd-cp-post, .lfd-cp a.lfd-cp-tilelink { color: var(--cp-ink); }
.lfd-cp-jump { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 22px 4px 0; padding-top: 18px; border-top: 1px solid var(--cp-line); font-size: .95rem; font-weight: 700; }
.lfd-cp-jump a { color: var(--cp-ink); text-decoration: underline; text-decoration-color: rgba(0,0,0,.25); text-underline-offset: 4px; }
.lfd-cp-jump a:hover { color: var(--cp-teal-ink); text-decoration-color: currentColor; }
.lfd-cp-colls { display: grid; gap: 28px; }
.lfd-cp-colls.n3 { grid-template-columns: repeat(3, 1fr); }
.lfd-cp-colls.n5 { grid-template-columns: repeat(5, 1fr); gap: 20px; }
.lfd-cp-colls-gap { margin-top: 28px; }
.lfd-cp-coll { display: flex; flex-direction: column; color: var(--cp-ink); }
.lfd-cp-coll:hover { color: var(--cp-ink); }
.lfd-cp-coll img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--cp-r24); background: rgba(0,0,0,0.05); transition: opacity .2s ease; }
.lfd-cp-coll:hover img { opacity: .9; }
.lfd-cp-coll .b { display: flex; flex-direction: column; gap: 4px; padding-top: 16px; }
.lfd-cp-coll b { font-family: var(--cp-head); font-weight: 700; font-size: 1.3rem; letter-spacing: -.01em; }
.lfd-cp-coll:hover b { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.lfd-cp-coll .n { font-size: .85rem; font-weight: 800; color: var(--cp-icon-green); }
.lfd-cp-coll .t { font-size: .95rem; line-height: 1.55; color: var(--cp-body); }
.lfd-cp-coll-sm img { aspect-ratio: 4 / 3; border-radius: var(--cp-r16); }
.lfd-cp-coll-sm b { font-size: 1.08rem; }
.lfd-cp-coll-sm .t { font-size: .88rem; }
.lfd-cp-moments { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.lfd-cp-moment { display: flex; flex-direction: column; justify-content: space-between; gap: 28px; min-height: 200px; padding: 28px; border-radius: var(--cp-r24); background: #FFFFFF; border: 1px solid transparent; color: var(--cp-ink); transition: border-color .2s ease; }
.lfd-cp-moment:hover { border-color: var(--cp-ink); color: var(--cp-ink); }
.lfd-cp-moment q { quotes: none; font-family: var(--cp-head); font-weight: 500; font-size: 1.35rem; line-height: 1.35; letter-spacing: -.01em; }
.lfd-cp-moment .m { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-top: 16px; border-top: 1px solid var(--cp-line); }
.lfd-cp-moment .m b { font-size: .95rem; font-weight: 800; }
.lfd-cp-moment .m span { font-size: .85rem; font-weight: 700; color: var(--cp-icon-green); white-space: nowrap; }
.lfd-cp-kerala-hub { padding-bottom: 20px; }
.lfd-cp-tagbar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
.lfd-cp .lfd-cp-tag { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: var(--cp-r8); background: #FFFFFF; border: 1px solid rgba(0,0,0,.14); font-size: .88rem; font-weight: 700; color: var(--cp-ink); line-height: 1.2; }
.lfd-cp .lfd-cp-tag span { font-size: .78rem; font-weight: 800; color: var(--cp-muted); }
.lfd-cp .lfd-cp-tag:hover { border-color: var(--cp-ink); color: var(--cp-ink); }
.lfd-cp .lfd-cp-tag[aria-pressed="true"] { background: var(--cp-ink); border-color: var(--cp-ink); color: #FFFFFF; }
.lfd-cp .lfd-cp-tag[aria-pressed="true"] span { color: rgba(255,255,255,.75); }
.lfd-cp-searchgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.lfd-cp-searchgrid h3 { font-size: 1rem; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--cp-ink); }
.lfd-cp-searches { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.lfd-cp-searches a { font-size: .95rem; color: var(--cp-ink); text-decoration: underline; text-decoration-color: rgba(0,0,0,.25); text-underline-offset: 3px; }
.lfd-cp-searches a:hover { color: var(--cp-teal-ink); text-decoration-color: currentColor; }


.lfd-cp-read { display: grid; grid-template-columns: 1.2fr .8fr; gap: 64px; align-items: start; }
.lfd-cp .lfd-cp-read-h { font-size: 1.05rem; margin-bottom: 16px; }
.lfd-cp .lfd-cp-read-h2 { margin-top: 30px; }
.lfd-cp-journal { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.lfd-cp-journal-hub { grid-template-columns: repeat(3, 1fr); }
.lfd-cp-journal-hub .lfd-cp-postlist { grid-column: 1 / -1; columns: 2; column-gap: 40px; }
.lfd-cp-post { display: flex; flex-direction: column; gap: 8px; color: var(--cp-ink); }
.lfd-cp-post:hover { color: var(--cp-ink); }
.lfd-cp-post img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--cp-r16); background: rgba(0,0,0,0.05); margin-bottom: 6px; }
.lfd-cp-post-k { font-size: .75rem; font-weight: 800; color: var(--cp-icon-green); }
.lfd-cp-post b { font-family: var(--cp-head); font-weight: 700; font-size: 1.08rem; line-height: 1.35; }
.lfd-cp-post:hover b { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.lfd-cp-postlist { list-style: none; margin: 0; padding: 0; }
.lfd-cp-postlist li { padding: 12px 0; border-top: 1px solid var(--cp-line); break-inside: avoid; }
.lfd-cp-postlist a { font-family: var(--cp-head); font-weight: 600; font-size: .98rem; line-height: 1.4; color: var(--cp-ink); }
.lfd-cp-postlist a:hover { color: var(--cp-teal-ink); text-decoration: underline; text-underline-offset: 3px; }
.lfd-cp-tags { display: flex; flex-wrap: wrap; gap: 8px; }


.lfd-cp-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 48px; margin: 0; border-top: 1px solid var(--cp-ink); }
.lfd-cp-fact { padding: 20px 0; border-bottom: 1px solid var(--cp-line); }
.lfd-cp-fact dt { font-size: .8rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--cp-muted); margin-bottom: 6px; }
.lfd-cp-fact dd { margin: 0; font-size: 1rem; line-height: 1.6; color: var(--cp-ink); }


.lfd-cp-hosts.n1 { grid-template-columns: minmax(0, 420px); }
.lfd-cp-hosts.n2 { grid-template-columns: repeat(2, minmax(0, 420px)); }


.lfd-cp .lfd-cp-sec-flush { padding-top: 24px; }
.lfd-cp .lfd-cp-sec-pb { padding-bottom: 40px; }
.lfd-cp .lfd-cp-sec-cta { padding-top: 0; }
.lfd-cp .lfd-cp-h2-wide { max-width: 860px; }
.lfd-cp .lfd-cp-head-tight { margin-bottom: 28px; }
.lfd-cp .lfd-cp-lead-gap { margin-top: 18px; }
.lfd-cp .lfd-cp-lead-gap-sm { margin-top: 14px; }
.lfd-cp .lfd-cp-note-right { text-align: right; margin-top: 6px; }
.lfd-cp .lfd-cp-btn-sm { height: 44px; margin-left: 12px; padding: 0 20px; }
.lfd-cp .lfd-cp-request-title { font-size: 1.45rem; }
.lfd-cp .lfd-cp-small-gap { margin-top: 24px; }


.lfd-cp-answer-sec { padding: 64px 0 8px; }
.lfd-cp-answerwrap { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 56px; align-items: start; }
.lfd-cp-answerwrap.is-solo { grid-template-columns: minmax(0, 820px); }
.lfd-cp-answerbox { padding-top: 22px; border-top: 2px solid var(--cp-ink); }
.lfd-cp-answerbox .lfd-cp-label { display: inline-flex; align-items: center; gap: 8px; }
.lfd-cp-answerbox .lfd-cp-label .lfd-cp-i { font-size: 1.05rem; }
.lfd-cp .lfd-cp-answer-q { margin: 12px 0 0; font-size: clamp(1.35rem, 2.2vw, 1.7rem); font-weight: 700; line-height: 1.25; letter-spacing: -.015em; }
.lfd-cp-answer { margin: 14px 0 0; font-size: 1.16rem; line-height: 1.7; color: var(--cp-ink); text-wrap: pretty; }
.lfd-cp .lfd-cp-updated { margin-top: 16px; }
.lfd-cp-glance { padding: 26px 28px 10px; border-radius: var(--cp-r24); background: var(--cp-grey); }
.lfd-cp .lfd-cp-glance .lfd-cp-label { margin: 0 0 6px; }
.lfd-cp-glance dl { margin: 0; }
.lfd-cp-glance dl > div { display: grid; grid-template-columns: 136px minmax(0, 1fr); gap: 14px; padding: 13px 0; border-top: 1px solid var(--cp-line); }
.lfd-cp-glance dl > div:first-child { border-top: 0; }
.lfd-cp-glance dt { display: flex; align-items: center; gap: 9px; font-size: .86rem; font-weight: 700; color: var(--cp-muted); }
.lfd-cp-glance dt .lfd-cp-i { font-size: 1.1rem; }
.lfd-cp-glance dd { margin: 0; font-size: .95rem; font-weight: 800; line-height: 1.45; color: var(--cp-ink); }


.lfd-cp-expect { grid-template-columns: repeat(3, 1fr); row-gap: 40px; }
.lfd-cp-tablewrap { overflow-x: auto; border-top: 2px solid var(--cp-ink); -webkit-overflow-scrolling: touch; }
.lfd-cp-tablewrap.is-white { border-top: 0; border-radius: var(--cp-r24); background: #FFFFFF; padding: 8px 28px 4px; }
.lfd-cp-table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: .97rem; }
.lfd-cp-table caption { caption-side: bottom; padding: 16px 0 12px; font-size: .85rem; color: var(--cp-muted); }
.lfd-cp-table th, .lfd-cp-table td { padding: 16px 18px 16px 0; text-align: left; vertical-align: top; border-bottom: 1px solid var(--cp-line); line-height: 1.55; }
.lfd-cp-table thead th { padding-top: 14px; padding-bottom: 12px; font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--cp-muted); }
.lfd-cp-table tbody th { font-weight: 800; color: var(--cp-ink); }
.lfd-cp-table tbody th a { color: var(--cp-ink); text-decoration: underline; text-decoration-color: rgba(0,0,0,.25); text-underline-offset: 3px; }
.lfd-cp-table tbody th a:hover { color: var(--cp-teal-ink); text-decoration-color: currentColor; }
.lfd-cp-table td { color: var(--cp-body); }
.lfd-cp-table .num { text-align: right; padding-right: 0; white-space: nowrap; font-variant-numeric: tabular-nums; }
.lfd-cp-table td.num { font-weight: 800; color: var(--cp-ink); }
.lfd-cp-table tbody tr:last-child > * { border-bottom: 0; }
.lfd-cp-table-tiers tbody th { width: 210px; }
.lfd-cp-table-tiers .lfd-cp-tier { margin: 2px 0 0; }
.lfd-cp-table-cal tbody th { width: 130px; }


.lfd-cp-guidehero { padding: 56px 0 8px; }
.lfd-cp-guidehero .container > * { max-width: 860px; }
.lfd-cp .lfd-cp-guidekick { display: inline-flex; align-items: center; gap: 10px; color: var(--cp-ink); margin-bottom: 18px; }
.lfd-cp-guidekick .lfd-cp-i { font-size: 1.35rem; }
.lfd-cp-guidehero .lfd-cp-lead { margin-top: 20px; font-size: 1.22rem; }
.lfd-cp-byline { margin: 24px 0 0; padding-top: 18px; border-top: 1px solid var(--cp-line); font-size: .9rem; font-weight: 700; color: var(--cp-muted); }
.lfd-cp-byline span { margin: 0 6px; color: #414242; }
.lfd-cp-page-guide .lfd-cp-answer-sec { padding-top: 40px; }
.lfd-cp-eight-wide { margin-top: 0; }
.lfd-cp-twocol { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.lfd-cp-checks-lg { margin-top: 26px; gap: 14px; }
.lfd-cp-checks-lg li { font-size: 1.02rem; }
.lfd-cp-about { padding: 30px 32px; border-radius: var(--cp-r24); border: 1px solid var(--cp-line); }
.lfd-cp-about .lfd-cp-body { margin-top: 12px; }

.lfd-cp-az { display: flex; flex-wrap: wrap; gap: 6px; padding-bottom: 28px; margin-bottom: 8px; border-bottom: 1px solid var(--cp-line); }
.lfd-cp .lfd-cp-az a { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 8px; border-radius: 10px; border: 1px solid rgba(0,0,0,.14); font-family: var(--cp-head); font-weight: 700; color: var(--cp-ink); }
.lfd-cp .lfd-cp-az a:hover { border-color: var(--cp-ink); color: var(--cp-ink); }
.lfd-cp .lfd-cp-letter { margin: 40px 0 0; padding-bottom: 10px; font-size: 2rem; font-weight: 700; color: var(--cp-icon-green); border-bottom: 2px solid var(--cp-ink); scroll-margin-top: 110px; }
.lfd-cp-term { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px; padding: 26px 0; border-bottom: 1px solid var(--cp-line); scroll-margin-top: 110px; }
.lfd-cp-term .also { display: block; margin-top: 6px; font-size: .9rem; font-weight: 700; color: var(--cp-muted); }
.lfd-cp-term-body { max-width: 720px; }
.lfd-cp-term-body .lfd-cp-body + .lfd-cp-body { margin-top: 8px; }
.lfd-cp-like b { color: var(--cp-ink); }
.lfd-cp-term-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; margin-top: 14px; }
.lfd-cp-term-meta .lfd-cp-tier { margin: 0; }
.lfd-cp-term-meta .lfd-cp-small a { font-weight: 700; }

.lfd-cp-seasons { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.lfd-cp-season { padding: 28px; border-radius: var(--cp-r24); background: var(--cp-grey); }
.lfd-cp-season .lfd-cp-h3 { margin-top: 18px; }
.lfd-cp-season-when { margin: 4px 0 12px; font-size: .92rem; font-weight: 800; color: var(--cp-icon-green); }
.lfd-cp-yearlist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 32px; border-top: 1px solid var(--cp-line); }
.lfd-cp-yearlist li { display: flex; flex-direction: column; gap: 2px; padding: 14px 0; border-bottom: 1px solid var(--cp-line); }
.lfd-cp-yearlist a { font-weight: 800; color: var(--cp-ink); }
.lfd-cp-yearlist a:hover { color: var(--cp-teal-ink); }
.lfd-cp-yearlist span { font-size: .88rem; color: var(--cp-muted); }


.lfd-cp-practices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.lfd-cp .lfd-cp-practice { display: flex; flex-direction: column; gap: 10px; padding: 26px; border-radius: var(--cp-r24); border: 1px solid var(--cp-line); background: #FFFFFF; color: var(--cp-ink); transition: border-color .2s ease; }
.lfd-cp .lfd-cp-practice:hover { border-color: var(--cp-ink); color: var(--cp-ink); }
.lfd-cp-practice .ic, .lfd-cp-tilelink .ic, .lfd-cp-moment .ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--cp-grey); font-size: 1.5rem; flex: none; }
.lfd-cp-practice b { margin-top: 8px; font-family: var(--cp-head); font-size: 1.2rem; font-weight: 700; letter-spacing: -.01em; }
.lfd-cp-practice .t { font-size: .95rem; line-height: 1.55; color: var(--cp-body); }
.lfd-cp-practice .n { margin-top: auto; padding-top: 12px; font-size: .85rem; font-weight: 800; color: var(--cp-icon-green); }
.lfd-cp-moment .ic { background: var(--cp-grey); }
.lfd-cp-grey .lfd-cp-moment .ic { background: var(--cp-grey); }
.lfd-cp-tilelink .ic { width: 60px; height: 60px; border-radius: 12px; }
.lfd-cp-guides { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.lfd-cp .lfd-cp-guidecard { display: flex; flex-direction: column; gap: 10px; padding: 28px; border-radius: var(--cp-r24); background: var(--cp-grey); color: var(--cp-ink); border: 1px solid transparent; transition: border-color .2s ease; }
.lfd-cp .lfd-cp-guidecard:hover { border-color: var(--cp-ink); color: var(--cp-ink); }
.lfd-cp-guidecard b { margin-top: 10px; font-family: var(--cp-head); font-size: 1.2rem; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; }
.lfd-cp-guidecard span { font-size: .95rem; line-height: 1.55; color: var(--cp-body); }
.lfd-cp a.lfd-cp-practice, .lfd-cp a.lfd-cp-guidecard { text-decoration: none; }


.lfd-cp .lfd-cp-tag .lfd-cp-i { font-size: 1.05rem; color: var(--cp-icon); }
.lfd-cp .lfd-cp-tag[aria-pressed="true"] .lfd-cp-i { color: #FFFFFF; }
.lfd-cp-searches a { display: inline-flex; align-items: baseline; gap: 10px; }
.lfd-cp-searches a .lfd-cp-i { position: relative; top: 2px; font-size: 1rem; }
.lfd-cp-guidelinks a { text-decoration: none; }
.lfd-cp-guidelinks a span { text-decoration: underline; text-decoration-color: rgba(0,0,0,.25); text-underline-offset: 3px; }
.lfd-cp-fact dt { display: flex; align-items: center; gap: 8px; }
.lfd-cp-fact dt .lfd-cp-i { font-size: 1.1rem; }


@media (max-width: 1199.98px) {
  .lfd-cp-row { grid-template-columns: 1fr .8fr 1.5fr; }
  .lfd-cp-row .lfd-cp-proglinks, .lfd-cp-row > .lfd-cp-small { grid-column: 3; }
  .lfd-cp-steps { grid-template-columns: repeat(2, 1fr); }
  .lfd-cp-colls.n5 { grid-template-columns: repeat(3, 1fr); }
  .lfd-cp-searchgrid { grid-template-columns: repeat(2, 1fr); }
  .lfd-cp-answerwrap { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
}
@media (max-width: 991.98px) {
  .lfd-cp-sec { padding: 64px 0; }
  .lfd-cp-split-grid, .lfd-cp-curate, .lfd-cp-why, .lfd-cp-sci, .lfd-cp-sci-foot { grid-template-columns: 1fr; gap: 40px; }
  .lfd-cp-split-media { margin: 0 auto; max-width: 420px; }
  .lfd-cp-sticky { position: static; }
  .lfd-cp-curate .lfd-cp-figure { max-width: 440px; }
  .lfd-cp-def { grid-template-columns: 1fr 1fr; gap: 12px 28px; }
  .lfd-cp-def h3 { grid-column: 1 / -1; }
  .lfd-cp-hosts { grid-template-columns: 1fr 1fr; }
  .lfd-cp-bands { grid-template-columns: 1fr; }
  .lfd-cp-faq { grid-template-columns: 1fr; }
  .lfd-cp-faq details:nth-last-child(2):nth-child(odd) { border-bottom: 0; }
  .lfd-cp-row { grid-template-columns: 1fr 1fr; gap: 14px 24px; }
  .lfd-cp-row > p.lfd-cp-body, .lfd-cp-row .lfd-cp-proglinks, .lfd-cp-row > .lfd-cp-small { grid-column: 1 / -1; }
  .lfd-cp-colls.n3, .lfd-cp-moments { grid-template-columns: 1fr 1fr; }
  .lfd-cp-read { grid-template-columns: 1fr; gap: 40px; }
  .lfd-cp-journal-hub { grid-template-columns: 1fr 1fr; }
  .lfd-cp-facts { grid-template-columns: 1fr; }
  .lfd-cp-answerwrap, .lfd-cp-twocol { grid-template-columns: 1fr; gap: 36px; }
  .lfd-cp-expect, .lfd-cp-practices, .lfd-cp-guides, .lfd-cp-seasons { grid-template-columns: 1fr 1fr; }
  .lfd-cp-yearlist { grid-template-columns: 1fr 1fr; }
  .lfd-cp-term { grid-template-columns: 200px minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 767.98px) {
  .lfd-cp .container { padding-left: 16px; padding-right: 16px; }
  .lfd-cp-sec { padding: 56px 0; }
  .lfd-cp-head { margin-bottom: 30px; }
  .lfd-cp-lead { font-size: 1.06rem; }
  .lfd-cp-stage { min-height: 540px; border-radius: var(--cp-r24); }
  .lfd-cp-stage::after { background: linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.38) 40%, rgba(0,0,0,.82) 100%); }
  .lfd-cp-stage-body { padding: 24px 22px 52px; }
  .lfd-cp-credit { right: 16px; bottom: 14px; }
  .lfd-cp-split { padding: 32px 0 48px; }
  .lfd-cp-leaf { border-radius: 120px 22px 120px 22px; }
  .lfd-cp-caption { text-align: left; }
  .lfd-cp-btns { flex-direction: column; align-items: stretch; }
  .lfd-cp-btn { width: 100%; padding: 0 20px; }
  .lfd-cp .lfd-cp-btn-sm { width: auto; margin: 12px 0 0; }
  .lfd-cp-def, .lfd-cp-row, .lfd-cp-eight, .lfd-cp-lookfor, .lfd-cp-hosts, .lfd-cp-hosts.n1, .lfd-cp-hosts.n2, .lfd-cp-steps { grid-template-columns: 1fr; }
  .lfd-cp-colls.n3, .lfd-cp-colls.n5, .lfd-cp-moments, .lfd-cp-journal, .lfd-cp-journal-hub, .lfd-cp-searchgrid { grid-template-columns: 1fr; }
  .lfd-cp-colls.n5 { grid-template-columns: 1fr 1fr; gap: 18px; }
  .lfd-cp-journal-hub .lfd-cp-postlist { columns: 1; }
  .lfd-cp-moment { min-height: 0; }
  .lfd-cp-findlist li { grid-template-columns: 1fr; gap: 10px; }
  .lfd-cp-findlist .fig { font-size: 2rem; }
  .lfd-cp-claims { padding: 24px 20px; }
  .lfd-cp-progs-head { align-items: flex-start; }
  .lfd-cp-tabs { width: 100%; }
  .lfd-cp-tab { flex: 1; justify-content: center; padding: 0 8px; font-size: .84rem; }
  .lfd-cp-tab .lfd-cp-i { display: none; }
  .lfd-cp-request { padding: 28px 24px; }
  .lfd-cp-cta-body { padding: 36px 24px; }
  .lfd-cp-kerala { border-radius: var(--cp-r24); padding: 22px 16px; }
  .lfd-cp-profile-wrap { overflow-x: auto; }
  .lfd-cp-profile { min-width: 640px; }
  .lfd-cp-answer-sec { padding-top: 44px; }
  .lfd-cp-answer { font-size: 1.08rem; }
  .lfd-cp-glance { padding: 20px 20px 6px; }
  .lfd-cp-glance dl > div { grid-template-columns: 118px minmax(0, 1fr); gap: 10px; }
  .lfd-cp-expect, .lfd-cp-practices, .lfd-cp-guides, .lfd-cp-seasons, .lfd-cp-yearlist { grid-template-columns: 1fr; }
  .lfd-cp-tablewrap.is-white { padding: 4px 16px 0; border-radius: var(--cp-r16); }
  .lfd-cp-term { grid-template-columns: 1fr; gap: 10px; padding: 22px 0; }
  .lfd-cp-guidehero { padding-top: 32px; }
  .lfd-cp-about { padding: 24px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .lfd-cp *, .lfd-cp *::before, .lfd-cp *::after { transition: none !important; }
}


.lfd-cp img.lfd-cp-fp-12-50 { object-position: 12% 50%; }
.lfd-cp img.lfd-cp-fp-40-40 { object-position: 40% 40%; }
.lfd-cp img.lfd-cp-fp-45-50 { object-position: 45% 50%; }
.lfd-cp img.lfd-cp-fp-50-30 { object-position: 50% 30%; }
.lfd-cp img.lfd-cp-fp-50-35 { object-position: 50% 35%; }
.lfd-cp img.lfd-cp-fp-50-40 { object-position: 50% 40%; }
.lfd-cp img.lfd-cp-fp-50-45 { object-position: 50% 45%; }
.lfd-cp img.lfd-cp-fp-50-50 { object-position: 50% 50%; }
.lfd-cp img.lfd-cp-fp-50-55 { object-position: 50% 55%; }
.lfd-cp img.lfd-cp-fp-50-60 { object-position: 50% 60%; }
.lfd-cp img.lfd-cp-fp-62-50 { object-position: 62% 50%; }

/* Shared Wellness-style browse cards, including narrow-screen wrapping. */
.lfd-cp-discovery-browse .lfd-cp-more-grid{align-items:stretch}
.lfd-cp-discovery-browse .lfd-cp-tilelink{min-width:0;min-height:82px}
.lfd-cp-discovery-browse .lfd-cp-tilelink>div{min-width:0;overflow-wrap:anywhere}
.lfd-cp-discovery-browse .lfd-cp-tilelink:focus-visible{outline:2px solid #00ae9d;outline-offset:3px}
.lfd-cp-discovery-browse .lfd-cp-tilelink:hover{border-color:#00ae9d}
