/* The base the whole site sits on. Everything here was built under dotlife, so this repeats dotlife's small reset (after
   Eric Meyer's) and the WordPress basics from its wordpress.css in place of Hello's reset, which styles tables (borders,
   zebra rows), form controls and box sizing differently. Then the type and color dotlife's theme options set:
   Montserrat 17px text in #4A4A4A, Cormorant Garamond headings, near-black links. Pages built in Elementor style
   themselves on top of this. */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del,
dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline;
}
blockquote::before, blockquote::after, q::before, q::after { content: ""; }
blockquote, q { quotes: "" ""; }
a img { border: none; }
table { border-spacing: 0; }
em { font-style: italic; }
p { padding-top: 1em; padding-bottom: 1em; }
p:empty { padding: 0 !important; }
.size-auto, .size-full, .size-large, .size-medium, .size-thumbnail { max-width: 100%; height: auto; }
img.alignleft, div.alignleft { display: inline-block; float: left; margin: 0 2em 1em 0; }
img.alignright, div.alignright { display: inline-block; float: right; margin: 0 0 1em 2em; }
img.aligncenter, div.aligncenter { display: block; clear: both; margin-left: auto; margin-right: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.screen-reader-text:focus {
  display: block; top: 5px; left: 5px; z-index: 100000; width: auto; height: auto; padding: 15px 23px 14px; clip: auto !important;
  background: #f1f1f1; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); color: #21759b; font-size: 14px; font-weight: bold;
}

html { background: #fff; }
body {
  margin: 0; background: #fff; color: #4A4A4A;
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif; font-size: 17px; font-weight: 400; line-height: 1.7;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
/* Headings take the text's line height and color, as with dotlife */
h1, h2, h3, h4, h5, h6 {
  margin: 0; font-family: "Cormorant Garamond", Cormorant, Garamond, "Times New Roman", serif; font-weight: 500;
  line-height: inherit; color: #4A4A4A;
}
h1 { font-size: 34px; }
h2 { font-size: 30px; }
h3 { font-size: 26px; }
h4 { font-size: 24px; }
h5 { font-size: 22px; }
h6 { font-size: 20px; }
a { color: #1F1D1D; text-decoration: none; }
a:hover, a:active { color: #A35C53; }
img { max-width: 100%; height: auto; }

/* The Purposepreneur tools set their own text size (15px) on their container, but dotlife's reset overrode it with the
   page's 17px, and that's how the tools have always looked. Keep it. */
.lm-toolkit-app { font-size: 100%; }

/* dotlife's rule line */
hr { height: 1px; margin: 20px auto; border: 0; border-top: 2px solid #EBEBEB; background: transparent; }

/* Forms, as dotlife styled them sitewide (sign-up forms, contact forms and the like): its fields and buttons, with
   Montserrat in place of its bundled HK Grotesk. The shop, checkout, account and blog styles restyle their own. */
input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="date"], input[type="tel"], textarea {
  margin: 0; padding: 10px; border: 1px solid #A47B4D; border-radius: 5px; background: #fff;
  font: 400 16px/1.7 "Montserrat", "Helvetica Neue", Arial, sans-serif; letter-spacing: 0; text-transform: none; color: #4A4A4A;
  outline: none; user-select: text;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="date"]:focus, input[type="tel"]:focus, textarea:focus { border-color: #2F466D; }
input[type="submit"], input[type="button"], a.button, .button {
  display: inline-block; padding: 10px 30px; border: 2px solid #A47B4D; border-radius: 5px; background: #A47B4D;
  font: 700 13px/1.7 "Montserrat", "Helvetica Neue", Arial, sans-serif; letter-spacing: 2px; text-align: center; text-decoration: none; text-transform: uppercase; color: #fff;
  cursor: pointer; outline: none;
}
input[type="submit"]:hover, input[type="button"]:hover, a.button:hover, .button:hover { border-color: #fff; background: #fff; color: #A47B4D; }
.mc4wp-form-fields input[type="email"] { width: 300px; max-width: 100%; margin-right: 10px; }
/* The page frame for pages not built in Elementor (LM26_Templates): dotlife's title banner and content column, same
   sizes and floats as before. Shop, checkout and My Account restyle inside this frame (the toolkit's own stylesheets). */
#page_caption { margin: 0 0 45px; padding: 60px 0; background: #fff; }
#page_caption .standard_wrapper { box-sizing: border-box; width: 960px; margin: 0 auto; }
#page_caption .page_title_content { text-align: center; }
#page_caption h1 { font-family: "Cormorant Garamond", Cormorant, Garamond, "Times New Roman", serif; font-size: 60px; font-weight: 500; line-height: 1.2; color: #222; }
#page_content_wrapper { box-sizing: border-box; width: calc(100% - 180px); margin: 0 auto; }
#page_content_wrapper .inner, #page_content_wrapper .inner .inner_wrapper, #page_content_wrapper .inner .sidebar_content { float: left; width: 100%; }
.clear { clear: both; }
body:not(.elementor-page) .comment_disable_clearer { margin-bottom: 40px; }
body.archive #page_content_wrapper, body.home.blog #page_content_wrapper { padding-bottom: 60px; }
#page_content_wrapper p { padding-top: 1.2em; padding-bottom: 1.2em; }
#page_content_wrapper p.woocommerce-info, #page_content_wrapper p.woocommerce-message, #page_content_wrapper p.woocommerce-error { padding-top: 1em; }
#page_content_wrapper p:empty { padding: 0 !important; margin: 0 !important; }
/* Lists in page text (not WooCommerce's or the courses', which style their own) */
.lm-page-content ul, .lm-page-content ol { margin: 5px 0 5px 20px; }
/* WooCommerce spacing as dotlife had it: product pages sit 40px lower and related products 20px under their heading */
body.single-product #page_content_wrapper { margin-top: 40px; }
#page_content_wrapper .inner .sidebar_content .related.products ul.products { margin-top: 20px; }
/* LearnPress's breadcrumb, hidden as dotlife hid it */
.learn-press-breadcrumb { display: none; }
/* LearnPress's course list with no published courses shows nothing, as dotlife's course grid did (not a red error) */
.elementor-widget-learnpress_list_courses .learn-press-message.error { display: none; }

/* Page not found and search results (template-parts/404.php, search.php) */
.lm-found { --f-ink: #1E2A45; --f-muted: #4F586C; --f-rose-deep: #A35C53; --f-line: #EADBD5; --f-field: #D9C7C0; max-width: 760px; margin: 0 auto; color: var(--f-muted); }
#page_content_wrapper .lm-found p.lm-found-lead { margin: 0 0 28px; padding: 0; font-size: 19px; line-height: 1.65; text-align: center; color: var(--f-ink); }
.lm-found .search-form { display: flex; gap: 10px; margin: 0 0 28px; }
.lm-found .search-form label { flex: 1 1 auto; min-width: 0; }
.lm-found .search-field {
  box-sizing: border-box; width: 100%; padding: 14px 20px; border: 1px solid var(--f-field); border-radius: 999px; background: #fff;
  font: 400 16px/1.4 "Montserrat", "Helvetica Neue", Arial, sans-serif; color: var(--f-ink); transition: border-color 0.2s;
}
.lm-found .search-field:focus { border-color: var(--f-rose-deep); outline: none; }
.lm-found .search-submit {
  flex: none; padding: 14px 26px; border: 1.5px solid var(--f-ink); border-radius: 999px; background: var(--f-ink);
  font: 600 15px/1 "Montserrat", "Helvetica Neue", Arial, sans-serif; letter-spacing: 0.02em; text-transform: none; color: #FDF9F7; cursor: pointer; transition: background-color 0.2s, border-color 0.2s;
}
.lm-found .search-submit:hover { border-color: var(--f-rose-deep); background: var(--f-rose-deep); color: #FDF9F7; }
.lm-found-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0; padding: 0; list-style: none; }
.lm-found-links a, .lm-found .page-numbers {
  display: inline-block; padding: 10px 18px; border: 1px solid var(--f-line); border-radius: 999px; background: #fff;
  font: 600 11px/1 "Montserrat", "Helvetica Neue", Arial, sans-serif; letter-spacing: 0.14em; text-transform: uppercase; color: var(--f-ink); text-decoration: none;
  transition: border-color 0.2s, color 0.2s;
}
.lm-found-links a:hover, .lm-found a.page-numbers:hover { border-color: #D89C92; color: var(--f-rose-deep); }
.lm-found .page-numbers.current { border-color: var(--f-ink); background: var(--f-ink); color: #FDF9F7; }
.lm-found .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 32px; }
.lm-results { margin: 0; padding: 0; border-top: 1px solid var(--f-line); list-style: none; }
.lm-result { border-bottom: 1px solid var(--f-line); }
.lm-result a { display: flex; align-items: flex-start; gap: 20px; padding: 22px 0; color: inherit; text-decoration: none; }
.lm-result-img { flex: none; width: 96px; height: 96px; border-radius: 16px; object-fit: cover; }
.lm-result-text { display: block; min-width: 0; }
.lm-result-kind { display: block; font: 600 11px/1.4 "Montserrat", "Helvetica Neue", Arial, sans-serif; letter-spacing: 0.16em; text-transform: uppercase; color: var(--f-rose-deep); }
.lm-result-title { display: block; margin-top: 6px; font: 500 26px/1.15 "Cormorant Garamond", Cormorant, Garamond, "Times New Roman", serif; color: var(--f-ink); transition: color 0.2s; }
.lm-result a:hover .lm-result-title { color: var(--f-rose-deep); }
.lm-result-excerpt { display: block; margin-top: 6px; font-size: 15px; line-height: 1.6; }
@media (max-width: 767px) {
  .lm-found .search-form { flex-direction: column; }
  .lm-result-img { width: 72px; height: 72px; }
  .lm-result-title { font-size: 22px; }
}

@media (min-width: 1200px) {
  #page_caption .standard_wrapper, #page_content_wrapper { width: 100%; max-width: 1425px; padding: 0 90px; }
}
@media (min-width: 960px) and (max-width: 1024px) {
  #page_caption .standard_wrapper { width: 100%; }
  #page_content_wrapper { width: calc(100% - 90px); }
}
@media (max-width: 960px) {
  #page_caption .standard_wrapper { width: 100%; }
  #page_content_wrapper { width: 100%; padding: 0 30px; }
}
@media (min-width: 768px) and (max-width: 960px) {
  #page_caption h1 { font-size: 32px; }
}
@media (max-width: 767px) {
  #page_caption { padding: 60px 30px; }
  #page_caption .standard_wrapper { padding: 0; }
  #page_caption h1 { font-size: 28px; }
  #page_content_wrapper { padding: 0 20px; }
  body.archive #page_content_wrapper, body.home.blog #page_content_wrapper { padding-bottom: 0; }
  body.single-product #page_content_wrapper { margin-top: 0; }
}
/* The desktop navigation ([lm_nav]). Replaces what dotlife's navigation widget and stylesheet did: inline menu items in
   the header's type (bold 12px uppercase Montserrat, wide tracking), a soft highlight on hover, a small chevron on items
   that open something, and the mega menu panels, which open on hover just under their item. The panels' own look lives
   in the mega menus' stylesheet. */
.lm-nav { --nav-ink: #1F1D1D; --nav-hover: #A35C53; --nav-bar: #329182; --nav-track: 4px; } /* --nav-bar: the teal hover bar (header 236's menu setting) */
.lm-nav .nav { margin: 0; padding: 0; list-style: none; }
.lm-nav .nav > li { display: inline-block; margin: 0 0 0 20px; padding: 12px 0; }
.lm-nav .nav > li:first-child { margin-left: 0; }
.lm-nav .nav > li > a {
  position: relative; display: inline-block; margin: 10px 0; padding: 0 5px;
  font: 700 12px/1.7 "Montserrat", "Helvetica Neue", Arial, sans-serif; letter-spacing: var(--nav-track); text-transform: uppercase;
  color: var(--nav-ink); text-decoration: none; transition: color 0.2s;
}
.lm-nav .nav > li > a:hover, .lm-nav .nav > li > a:focus-visible, .lm-nav .nav > li.current-menu-item > a { color: var(--nav-ink); }
.lm-nav .nav > li > a:focus-visible { outline: 2px solid var(--nav-hover); outline-offset: 4px; border-radius: 2px; }
/* The highlight that sweeps in under a link on hover */
.lm-nav .nav > li > a::before {
  content: ""; position: absolute; bottom: 0; left: 0; z-index: -1; width: 100%; height: 50%;
  background: var(--nav-bar); opacity: 0.2; transform: scale(0, 1); transform-origin: right top; transition: transform 0.2s ease-out;
}
.lm-nav .nav > li > a:hover::before { transform: scale(1, 1); transform-origin: left top; }
/* A chevron on items that open a panel or submenu */
.lm-nav .nav > li.arrow > a::after {
  content: ""; display: inline-block; width: 5px; height: 5px; margin: 0 0 3px 9px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg);
}

/* Mega menu panels: fixed just under their item, closed until the item is hovered or focused. A panel eases in with a
   short fade and drop, waits a beat before it closes (so crossing a gap or sliding to the next item never snaps it shut),
   and the next panel fades in over the one leaving. */
.lm-nav { --mega-ease: cubic-bezier(0.2, 0.7, 0.2, 1); }
.lm-nav .nav > li > .elementor-megamenu-wrapper {
  position: fixed; left: 0; right: 0; z-index: 8; width: 960px; height: auto; margin: 0 auto; padding: 0;
  overflow: visible; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-10px);
  text-align: left; letter-spacing: normal; text-transform: none; box-sizing: border-box;
  transition: opacity 0.24s ease 0.14s, transform 0.24s ease 0.14s, visibility 0s linear 0.38s;
}
@media (min-width: 1200px) {
  .lm-nav .nav > li > .elementor-megamenu-wrapper { width: calc(100vw - 180px); max-width: 1350px; }
}
.lm-nav .nav > li.megamenu:hover > .elementor-megamenu-wrapper,
.lm-nav .nav > li.megamenu:focus-within > .elementor-megamenu-wrapper {
  z-index: 9; opacity: 1; visibility: visible; pointer-events: auto; transform: none;
  transition: opacity 0.32s var(--mega-ease), transform 0.38s var(--mega-ease), visibility 0s;
}
/* The panel's X: the mega menus' own styles collapse it at once, so it fades out like any other close */
.lm-nav .nav > li.megamenu.lm-mega-dismissed > .elementor-megamenu-wrapper {
  height: auto !important; overflow: visible !important; opacity: 0 !important; visibility: hidden; pointer-events: none; transform: translateY(-10px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
}
/* A mega item's plain submenu (if it has one) only shows in the phone menu */
.lm-nav .nav > li.megamenu > .sub-menu { display: none; }

/* Plain dropdowns (items with children but no mega menu) */
.lm-nav .nav > li:not(.megamenu) { position: relative; }
.lm-nav .nav > li:not(.megamenu) > .sub-menu {
  position: absolute; top: 100%; left: 0; z-index: 9; min-width: 220px; margin: 0; padding: 10px 0; list-style: none;
  background: #fff; box-shadow: 0 5px 40px rgba(0, 0, 0, 0.15); opacity: 0; visibility: hidden; transition: opacity 0.2s, visibility 0s linear 0.2s;
}
.lm-nav .nav > li:not(.megamenu):hover > .sub-menu, .lm-nav .nav > li:not(.megamenu):focus-within > .sub-menu { opacity: 1; visibility: visible; transition-delay: 0s; }
.lm-nav .sub-menu a { display: block; padding: 6px 18px; font: 500 13px/1.5 "Montserrat", "Helvetica Neue", Arial, sans-serif; color: var(--nav-ink); text-decoration: none; }
.lm-nav .sub-menu a:hover { color: var(--nav-hover); }

@media (prefers-reduced-motion: reduce) {
  .lm-nav .nav > li > a::before, .lm-nav .nav > li > .elementor-megamenu-wrapper, .lm-nav .sub-menu { transition: none !important; transform: none !important; }
}
/* The header stays at the top as the page scrolls (one header, no second copy as with dotlife). After the first
   screenful the root gets .lm-scrolled (assets/js/header.js) and the header template's own CSS slims it down. */
.elementor-location-header { position: sticky; top: 0; z-index: 99; }
.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .elementor-location-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .elementor-location-header { top: 0; } }
/* Refinements to the Elementor page blocks (the .lm sections) that hold on every page. Each page carries its own copy of
   the block styles in its styles box, so every selector here is one step more specific than the rule it refines and
   wins wherever the two load. */

/* Subheadings: the line or short paragraph right under a section heading runs the full width of whatever holds the
   heading, the same as the heading does. So do the words beside each service name in the done-for-you lists. */
.lm .lm-section-head .elementor-widget-text-editor p,
.lm .lm-area-body .elementor-widget-text-editor p,
.lm .elementor-widget-heading.lm-h2 + .elementor-widget-text-editor p,
.lm .lm-head-main + .elementor-widget-text-editor p { max-width: none; }
/* the footer's call to action: "Coaching, consulting, or done-for-you…" runs the width under "Let's create something with soul." */
.lm-foot .lm-foot-cta .lm-foot-cta-side { max-width: none; }
.lm-foot .lm-foot-cta-side .elementor-widget-text-editor p { max-width: none; }

/* Pills (.lm-chips lists): soft tints in the brand's tone, a different hue for each pill in turn (blush, sea, butter,
   lilac, sage), the words in a deeper shade of the same hue and a fine edge between the two, so each pill still reads
   on a section painted the same colour. The same tints sit on the navy sections. */
.lm .lm-chips ul li { --lm-pill-bg: #F6E1DC; --lm-pill-line: #E7C3BA; --lm-pill-ink: #8E4B43; border: 1px solid var(--lm-pill-line); background: var(--lm-pill-bg); color: var(--lm-pill-ink); }
.lm .lm-chips ul li:nth-child(5n+2) { --lm-pill-bg: #D3E8E4; --lm-pill-line: #A7CFC8; --lm-pill-ink: #23675C; }
.lm .lm-chips ul li:nth-child(5n+3) { --lm-pill-bg: #F5E8C4; --lm-pill-line: #E5D196; --lm-pill-ink: #75561A; }
.lm .lm-chips ul li:nth-child(5n+4) { --lm-pill-bg: #E5E0EF; --lm-pill-line: #CCC3E0; --lm-pill-ink: #574A7B; }
.lm .lm-chips ul li:nth-child(5n+5) { --lm-pill-bg: #E0E8D5; --lm-pill-line: #C3D3AE; --lm-pill-ink: #4B6034; }
.lm.lm-ink .lm-chips ul li { border-color: var(--lm-pill-line); background: var(--lm-pill-bg); color: var(--lm-pill-ink); }

/* "This needs that" chains (.lm-cascade): the lines share one left edge, linked by a thin rose thread with a dot at each
   step, and the last (where it all lands) has a filled dot */
.lm .lm-cascade ul li:nth-child(n) { position: relative; padding-left: 34px; }
.lm .lm-cascade ul li::before { content: ""; position: absolute; left: 4px; top: calc(0.65em - 5px); box-sizing: border-box; width: 10px; height: 10px; border: 2px solid #D89C92; border-radius: 50%; background: #FDF9F7; }
.lm .lm-cascade ul li::after { content: ""; position: absolute; left: 8px; top: calc(0.65em + 5px); bottom: calc(-10px - 0.65em + 5px); width: 2px; background: #EDCBC3; }
.lm .lm-cascade ul li:last-child::after { content: none; }
.lm .lm-cascade ul li:last-child::before { border-color: #A35C53; background: #A35C53; }
.lm.lm-ink .lm-cascade ul li::before { border-color: #EDBDB4; background: #1E2A45; }
.lm.lm-ink .lm-cascade ul li::after { background: rgba(237, 189, 180, 0.4); }
.lm.lm-ink .lm-cascade ul li:last-child::before { background: #EDBDB4; }

/* Steps (.lm-steps): where there's room, each step reads across the row: its number, its name, then the words and
   pills filling the rest, so nothing sits on the left beside an empty right. Narrower, they stack as before. */
.lm .lm-steps { container-type: inline-size; }
@container (min-width: 900px) {
  .lm .lm-steps .lm-step-body { display: grid; max-width: none; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); column-gap: clamp(40px, 4vw, 72px); row-gap: 0; align-content: start; }
  .lm .lm-steps .lm-step-body > .elementor-element { grid-column: 2; margin-top: 16px; }
  /* the step's name (its first block; in the editor, the first after Elementor's overlay and shape layers) */
  .lm .lm-steps .lm-step-body > .elementor-element:first-child,
  .lm .lm-steps .lm-step-body > .elementor-shape-bottom + .elementor-element { grid-column: 1; grid-row: 1 / span 30; margin-top: 0; }
  .lm .lm-steps .lm-step-body > .elementor-element:first-child + .elementor-element,
  .lm .lm-steps .lm-step-body > .elementor-shape-bottom + .elementor-element + .elementor-element { margin-top: 0; }
  .lm .lm-steps .lm-step-body .elementor-widget-text-editor p { max-width: none; }
}

/* Photo pairs (.lm-belief-photo): the small photo hangs below the large one, so on a phone the pair keeps room under it
   and the words that follow never sit under the small photo */
@media (max-width: 767px) {
  .lm .lm-belief-photo:has(.lm-photo-small) { margin-bottom: 44px; }
}

/* Blog post pills (the topic on each card's photo): each topic has its own soft tint from the pill family, the words in a
   deeper shade of it. A card's pill names its first topic by name (A to Z), so these run Z to A and that topic's rule,
   coming last, wins. The doubled classes outrank the white set in each Posts widget's own style. */
.elementor-post.category-youtube-for-business { --lm-badge-bg: #F8E2D2; --lm-badge-line: #EDC7A9; --lm-badge-ink: #8A4F2A; }
.elementor-post.category-youtube { --lm-badge-bg: #F8E2D2; --lm-badge-line: #EDC7A9; --lm-badge-ink: #8A4F2A; }
.elementor-post.category-video-marketing { --lm-badge-bg: #F8E2D2; --lm-badge-line: #EDC7A9; --lm-badge-ink: #8A4F2A; }
.elementor-post.category-uncategorized { --lm-badge-bg: #D3E8E4; --lm-badge-line: #A7CFC8; --lm-badge-ink: #23675C; }
.elementor-post.category-start-a-business-online { --lm-badge-bg: #F6E1DC; --lm-badge-line: #E7C3BA; --lm-badge-ink: #8E4B43; }
.elementor-post.category-side-hustles { --lm-badge-bg: #F5E8C4; --lm-badge-line: #E5D196; --lm-badge-ink: #75561A; }
.elementor-post.category-search-engine-optimization { --lm-badge-bg: #F8E2D2; --lm-badge-line: #EDC7A9; --lm-badge-ink: #8A4F2A; }
.elementor-post.category-residual-income { --lm-badge-bg: #F5E8C4; --lm-badge-line: #E5D196; --lm-badge-ink: #75561A; }
.elementor-post.category-productive { --lm-badge-bg: #E0E8D5; --lm-badge-line: #C3D3AE; --lm-badge-ink: #4B6034; }
.elementor-post.category-pricing-strategy-for-women { --lm-badge-bg: #F5E8C4; --lm-badge-line: #E5D196; --lm-badge-ink: #75561A; }
.elementor-post.category-personal-brand-authority { --lm-badge-bg: #F8E2D2; --lm-badge-line: #EDC7A9; --lm-badge-ink: #8A4F2A; }
.elementor-post.category-multiple-streams-of-income { --lm-badge-bg: #F5E8C4; --lm-badge-line: #E5D196; --lm-badge-ink: #75561A; }
.elementor-post.category-mindset { --lm-badge-bg: #E5E0EF; --lm-badge-line: #CCC3E0; --lm-badge-ink: #574A7B; }
.elementor-post.category-mental-health { --lm-badge-bg: #E5E0EF; --lm-badge-line: #CCC3E0; --lm-badge-ink: #574A7B; }
.elementor-post.category-marketing-strategy { --lm-badge-bg: #F8E2D2; --lm-badge-line: #EDC7A9; --lm-badge-ink: #8A4F2A; }
.elementor-post.category-life { --lm-badge-bg: #E0E8D5; --lm-badge-line: #C3D3AE; --lm-badge-ink: #4B6034; }
.elementor-post.category-finances { --lm-badge-bg: #F5E8C4; --lm-badge-line: #E5D196; --lm-badge-ink: #75561A; }
.elementor-post.category-family { --lm-badge-bg: #E0E8D5; --lm-badge-line: #C3D3AE; --lm-badge-ink: #4B6034; }
.elementor-post.category-entrepreneur { --lm-badge-bg: #F6E1DC; --lm-badge-line: #E7C3BA; --lm-badge-ink: #8E4B43; }
.elementor-post.category-direction { --lm-badge-bg: #E0E8D5; --lm-badge-line: #C3D3AE; --lm-badge-ink: #4B6034; }
.elementor-post.category-digital-marketing { --lm-badge-bg: #F8E2D2; --lm-badge-line: #EDC7A9; --lm-badge-ink: #8A4F2A; }
.elementor-post.category-career { --lm-badge-bg: #F8E2D2; --lm-badge-line: #EDC7A9; --lm-badge-ink: #8A4F2A; }
.elementor-post.category-business-strategy { --lm-badge-bg: #D3E8E4; --lm-badge-line: #A7CFC8; --lm-badge-ink: #23675C; }
.elementor-post.category-business-psychology { --lm-badge-bg: #E5E0EF; --lm-badge-line: #CCC3E0; --lm-badge-ink: #574A7B; }
.elementor-post.category-business-networking { --lm-badge-bg: #D3E8E4; --lm-badge-line: #A7CFC8; --lm-badge-ink: #23675C; }
.elementor-post.category-business-growth { --lm-badge-bg: #E0E8D5; --lm-badge-line: #C3D3AE; --lm-badge-ink: #4B6034; }
.elementor-post.category-branding { --lm-badge-bg: #F8E2D2; --lm-badge-line: #EDC7A9; --lm-badge-ink: #8A4F2A; }
.elementor-post.category-ai-for-business { --lm-badge-bg: #E5E0EF; --lm-badge-line: #CCC3E0; --lm-badge-ink: #574A7B; }
.elementor-post.category-ai { --lm-badge-bg: #E5E0EF; --lm-badge-line: #CCC3E0; --lm-badge-ink: #574A7B; }
.elementor .elementor-post.elementor-post .elementor-post__card .elementor-post__badge.elementor-post__badge { border: 1px solid var(--lm-badge-line, transparent); background-color: var(--lm-badge-bg, #FDF9F7); color: var(--lm-badge-ink, #1E2A45); }

/* Handwritten notes in Beyond Infinity (BLKBK, desktop + web licence bought 2026-10-06; self-hosted WOFF2 made from the
   licensed TTF). It runs smaller than the old script, so the notes go up a size. The ✦ sparkle isn't in the font and
   falls back to the next font in the stack. One step more specific than each page's own `.lm { --lm-script }`. */
@font-face {
  font-family: "Beyond Infinity";
  src: url("../fonts/beyond-infinity.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
body .lm { --lm-script: "Beyond Infinity", "Nothing You Could Do", "Bradley Hand", cursive; }
body .lm .lm-note .elementor-heading-title { font-size: clamp(30px, 2.9vw, 42px); line-height: 1.05; }
