.elementor-widget-container > .uael-party-propz-wrap i{color:var( --e-global-color-primary );}.elementor-widget-container > .uael-party-propz-wrap svg{fill:var( --e-global-color-primary );}.elementor-15 .elementor-element.elementor-element-9054394{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-9054394.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-15 .elementor-element.elementor-element-2d65d90{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-5824d90{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-fb9e4ff{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-image .uael-party-propz-widget-wrap i{color:var( --e-global-color-primary );}.elementor-widget-image .uael-party-propz-widget-wrap svg{fill:var( --e-global-color-primary );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-heading .uael-party-propz-widget-wrap i{color:var( --e-global-color-primary );}.elementor-widget-heading .uael-party-propz-widget-wrap svg{fill:var( --e-global-color-primary );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-15 .elementor-element.elementor-element-95ee66b .elementor-heading-title{color:#E6E6E6;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-button .uael-party-propz-widget-wrap i{color:var( --e-global-color-primary );}.elementor-widget-button .uael-party-propz-widget-wrap svg{fill:var( --e-global-color-primary );}.elementor-15 .elementor-element.elementor-element-bc44f29{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-3f9791e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-fb6738c.elementor-widget-image{-webkit-mask-position:center center;mask-position:center center;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;}.elementor-15 .elementor-element.elementor-element-db93c91 .elementor-heading-title{color:#CCCCCC;}.elementor-15 .elementor-element.elementor-element-bd550ec{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-2198089 .elementor-heading-title{color:#E6E6E6;}.elementor-widget-icon-list .uael-party-propz-widget-wrap i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .uael-party-propz-widget-wrap svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-15 .elementor-element.elementor-element-4c97e17 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-15 .elementor-element.elementor-element-4c97e17 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-15 .elementor-element.elementor-element-4c97e17{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-15 .elementor-element.elementor-element-4c97e17 .elementor-icon-list-text{color:#E6E6E6;transition:color 0.3s;}.elementor-15 .elementor-element.elementor-element-7a9ef99{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-f4b6ac8 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-15 .elementor-element.elementor-element-f4b6ac8 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-15 .elementor-element.elementor-element-f4b6ac8{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-15 .elementor-element.elementor-element-f4b6ac8 .elementor-icon-list-text{color:#E6E6E6;transition:color 0.3s;}.elementor-15 .elementor-element.elementor-element-d301303{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-c0b7bb5 .elementor-heading-title{color:#E6E6E6;}.elementor-15 .elementor-element.elementor-element-ecd7c76 .elementor-heading-title{color:#E6E6E6;}.elementor-15 .elementor-element.elementor-element-581647f .elementor-heading-title{color:#E6E6E6;}.elementor-15 .elementor-element.elementor-element-793dc66{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-5dccd76{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-38938e8 .elementor-heading-title{color:#E6E6E6;}.elementor-widget-shortcode .uael-party-propz-widget-wrap i{color:var( --e-global-color-primary );}.elementor-widget-shortcode .uael-party-propz-widget-wrap svg{fill:var( --e-global-color-primary );}.elementor-15 .elementor-element.elementor-element-38c5adb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-0a4e79a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-c8b3933 .elementor-heading-title{color:#CCCCCC;}.elementor-15 .elementor-element.elementor-element-37e7c16{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-b3b3d72 .elementor-heading-title{color:#FCFCFC;}.elementor-15 .elementor-element.elementor-element-ad32d16 .elementor-heading-title{color:#E6E6E6;}.elementor-widget-html .uael-party-propz-widget-wrap i{color:var( --e-global-color-primary );}.elementor-widget-html .uael-party-propz-widget-wrap svg{fill:var( --e-global-color-primary );}:root{--page-title-display:none;}@media(max-width:767px){.elementor-15 .elementor-element.elementor-element-3f9791e{--min-height:0px;}}@media(min-width:768px){.elementor-15 .elementor-element.elementor-element-9054394{--width:106.542%;}}/* Start custom CSS *//* ==========================================================================
   Margaret Landing - page CSS
   Rebrand in one place: edit the :root tokens below.
   Macros resolved at build time:  body.elementor-page-15 = body.elementor-page-15
                                   body.elementor-page-15 .elementor-element = body.elementor-page-15 .elementor-element
   ========================================================================== */

:root{
  --bg:#0B0509;
  --card:#23111B;
  --card-inner:#431B2D;
  --accent:#E8203F;
  --accent-grad-start:#EF2949;
  --accent-grad-end:#E11130;
  --eyebrow:#FF5A5F;
  --text:#FFFFFF;
  --text-soft:#E8DFE4;
  --text-muted:#97838E;
  --glass-border:rgba(255,255,255,0.08);
  --glow:rgba(232,32,63,0.45);

  --mlp-font:"Inter","Inter Fallback",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mlp-gutter:16px;
  --mlp-gap:20px;
  --mlp-radius:20px;
  --mlp-blur:12px;
}
@media (min-width:390px){:root{--mlp-gutter:20px}}
@media (min-width:768px){:root{--mlp-gutter:24px;--mlp-gap:24px;--mlp-radius:28px;--mlp-blur:18px}}
@media (min-width:1025px){:root{--mlp-gap:32px}}

/* Metric-matched fallback so the swap to Inter does not shift layout */
@font-face{font-family:"Inter Fallback";src:local("Arial"),local("Helvetica");size-adjust:107.4%;ascent-override:90.5%;descent-override:22.6%;line-gap-override:0%}

/* ---- Page base ---------------------------------------------------------- */
html,body{overflow-x:clip;max-width:100%}
/* Astra shrinks the root font-size on small screens; pin it so every rem/clamp value is as designed */
html:root{font-size:100%}
body.elementor-page-15{
  margin:0;
  background-color:var(--bg);
  background-image:
    radial-gradient(60% 40% at 50% 0%,rgba(120,20,60,0.35),transparent 70%),
    radial-gradient(circle at 12px 12px,rgba(255,255,255,0.05) 1.2px,transparent 1.7px);
  background-size:100% 900px,24px 24px;
  background-repeat:no-repeat,repeat;
  background-position:top center,0 0;
  color:var(--text-soft);
  font-family:var(--mlp-font);
  font-size:1rem;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;
}
body.elementor-page-15 .mlp-page .elementor-element{min-width:0}
body.elementor-page-15 .mlp-page .elementor-heading-title{font-family:var(--mlp-font)}

body.elementor-page-15 .elementor-element.mlp-page{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  width:100%;max-width:100%;min-height:100vh;min-height:100svh;
  margin:0;gap:0;
  padding:calc(12px + env(safe-area-inset-top,0px)) var(--mlp-gutter) 48px;
  --container-max-width:100%;
}
body.elementor-page-15 .elementor-element.mlp-wrap{
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:stretch;
  width:100%;max-width:100%;margin-inline:auto;
  gap:var(--mlp-gap);padding:0;
  --container-max-width:100%;
}
@media (min-width:768px) and (max-width:1024px){body.elementor-page-15 .elementor-element.mlp-wrap{max-width:720px}}
@media (min-width:1025px){body.elementor-page-15 .elementor-element.mlp-wrap{max-width:1140px}}

/* ---- Glass -------------------------------------------------------------- */
body.elementor-page-15 .elementor-element.mlp-glass{
  background:rgba(35,17,27,0.72);
  -webkit-backdrop-filter:blur(var(--mlp-blur)) saturate(140%);
  backdrop-filter:blur(var(--mlp-blur)) saturate(140%);
  border:1px solid var(--glass-border);
  border-radius:var(--mlp-radius);
  box-shadow:0 20px 60px rgba(0,0,0,0.45),inset 0 1px 0 rgba(255,255,255,0.06);
}
body.elementor-page-15 .elementor-element.mlp-glass.mlp-glass--inner{background:rgba(67,27,45,0.78)}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  body.elementor-page-15 .elementor-element.mlp-glass{background:var(--card)}
  body.elementor-page-15 .elementor-element.mlp-glass.mlp-glass--inner{background:var(--card-inner)}
}

/* ---- Type --------------------------------------------------------------- */
body.elementor-page-15 .mlp-eyebrow .elementor-heading-title{
  margin:0;font-size:0.75rem;font-weight:600;line-height:1.3;
  letter-spacing:0.14em;text-transform:uppercase;color:var(--eyebrow);
}
body.elementor-page-15 .mlp-h1 .elementor-heading-title{
  margin:0;font-size:clamp(2.75rem,8vw,5rem);font-weight:800;line-height:1;
  letter-spacing:-0.03em;color:var(--text);overflow-wrap:break-word;
}
body.elementor-page-15 .mlp-h2 .elementor-heading-title{
  margin:0;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.1;
  letter-spacing:-0.02em;color:var(--text);overflow-wrap:anywhere;
}
body.elementor-page-15 .mlp-caption .elementor-heading-title{
  margin:0;font-size:0.75rem;font-weight:400;line-height:1.4;color:var(--text-muted);
}
body.elementor-page-15 .mlp-caption--upper .elementor-heading-title{
  font-size:0.6875rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;
}

/* ---- Hearts (decorative only) ------------------------------------------- */
body.elementor-page-15 .elementor-element.mlp-hearts-widget{
  position:absolute;inset:0;z-index:0;width:auto;
  overflow:hidden;overflow:clip;pointer-events:none;
}
body.elementor-page-15 .mlp-hearts{position:absolute;inset:0;overflow:hidden;overflow:clip;pointer-events:none}
body.elementor-page-15 .mlp-hearts span{
  position:absolute;left:var(--x);top:var(--y);
  font-size:var(--s);line-height:1;color:var(--accent);opacity:0.32;
  text-shadow:0 0 14px var(--glow);
  animation:mlp-float var(--t,10s) ease-in-out var(--d,0s) infinite;
  will-change:transform,opacity;
}
@keyframes mlp-float{
  0%,100%{transform:translate3d(0,0,0);opacity:0.18}
  50%{transform:translate3d(0,-26px,0);opacity:0.42}
}
@media (max-width:767px){body.elementor-page-15 .mlp-hearts span:nth-child(n+5){display:none}}

/* ---- Header ------------------------------------------------------------- */
body.elementor-page-15 .elementor-element.mlp-header{
  position:sticky;top:calc(8px + env(safe-area-inset-top,0px));z-index:50;
  display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;
  gap:12px;width:100%;padding:8px 10px 8px 14px;border-radius:18px;
}
body.elementor-page-15 .elementor-element.mlp-brand{display:flex;flex-direction:row;align-items:center;gap:10px;width:auto;padding:0;flex:0 1 auto}
body.elementor-page-15 .elementor-element.mlp-avatar{width:36px;flex:0 0 36px}
body.elementor-page-15 .mlp-avatar img{
  display:block;width:36px;height:36px;aspect-ratio:1/1;object-fit:cover;border-radius:50%;
  box-shadow:0 0 0 1px var(--glass-border),0 0 14px var(--glow);
}
body.elementor-page-15 .mlp-wordmark .elementor-heading-title{margin:0;font-size:1rem;font-weight:600;line-height:1.2;color:var(--text)}
body.elementor-page-15 .elementor-element.mlp-btn--sm{width:auto;flex:0 0 auto}

/* ---- Buttons (class cta-patreon sits on the widget wrapper) -------------- */
body.elementor-page-15 .cta-patreon .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 28px;border:0;border-radius:999px;
  background:linear-gradient(90deg,var(--accent-grad-start),var(--accent-grad-end));
  color:#fff;fill:#fff;font-family:var(--mlp-font);font-size:1rem;font-weight:600;line-height:1;
  text-decoration:none;box-shadow:0 0 28px var(--glow);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
  -webkit-tap-highlight-color:transparent;will-change:transform;
}
body.elementor-page-15 .cta-patreon .elementor-button::before{
  content:"";flex:0 0 18px;width:18px;height:18px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.386.524c-4.764 0-8.64 3.876-8.64 8.64 0 4.75 3.876 8.613 8.64 8.613 4.75 0 8.614-3.864 8.614-8.613C24 4.4 20.136.524 15.386.524M.003 23.537h4.22V.524H.003'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.386.524c-4.764 0-8.64 3.876-8.64 8.64 0 4.75 3.876 8.613 8.64 8.613 4.75 0 8.614-3.864 8.614-8.613C24 4.4 20.136.524 15.386.524M.003 23.537h4.22V.524H.003'/%3E%3C/svg%3E") center/contain no-repeat;
}
body.elementor-page-15 .cta-patreon .elementor-button .elementor-button-text{color:#fff}
body.elementor-page-15 .cta-patreon .elementor-button:hover{color:#fff;box-shadow:0 0 40px var(--glow),0 0 0 1px rgba(255,255,255,0.12);filter:brightness(1.06)}
body.elementor-page-15 .cta-patreon .elementor-button:focus-visible{outline:2px solid #fff;outline-offset:3px}
body.elementor-page-15 .cta-patreon .elementor-button:active{transform:scale(0.98)}
body.elementor-page-15 .elementor-element.mlp-btn--sm .elementor-button{min-height:44px;padding:0 18px;font-size:0.875rem}
body.elementor-page-15 .elementor-element.mlp-btn--block,body.elementor-page-15 .mlp-btn--block .elementor-button-wrapper,body.elementor-page-15 .mlp-btn--block .elementor-button{width:100%}

/* ---- Icon lists (no icon font: CSS masks) -------------------------------- */
body.elementor-page-15 .mlp-features .elementor-icon-list-items,
body.elementor-page-15 .mlp-checks .elementor-icon-list-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
body.elementor-page-15 .mlp-features .elementor-icon-list-items{gap:14px}
body.elementor-page-15 .mlp-checks .elementor-icon-list-items{gap:10px}
body.elementor-page-15 .mlp-features .elementor-icon-list-item,
body.elementor-page-15 .mlp-checks .elementor-icon-list-item{
  display:flex;flex-direction:row;align-items:center;gap:12px;margin:0;padding:0;
  color:var(--text-soft);font-size:1rem;font-weight:500;line-height:1.5;
}
body.elementor-page-15 .mlp-features .elementor-icon-list-text,
body.elementor-page-15 .mlp-checks .elementor-icon-list-text{margin:0;padding:0;color:var(--text-soft);font-size:inherit;line-height:inherit}
body.elementor-page-15 .mlp-features .elementor-icon-list-item::before{
  content:"";flex:0 0 18px;width:18px;height:18px;background:var(--text-soft);
  -webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat;
}
body.elementor-page-15 .mlp-features .elementor-icon-list-item:nth-child(1){--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21l7.8-7.5 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E")}
body.elementor-page-15 .mlp-features .elementor-icon-list-item:nth-child(2){--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E")}
body.elementor-page-15 .mlp-features .elementor-icon-list-item:nth-child(3){--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3E%3C/svg%3E")}
body.elementor-page-15 .mlp-features .elementor-icon-list-item:nth-child(4){--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E")}
body.elementor-page-15 .mlp-checks .elementor-icon-list-item{font-size:0.9375rem;font-weight:500;gap:10px}
body.elementor-page-15 .mlp-checks .elementor-icon-list-item::before{
  content:"";flex:0 0 18px;width:18px;height:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='white'/%3E%3Cpath d='M7 12.5l3.2 3.2L17 9' fill='none' stroke='%23431B2D' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ---- Section 1: Hero ----------------------------------------------------- */
body.elementor-page-15 .elementor-element.mlp-hero{
  display:grid;grid-template-columns:minmax(0,1fr);
  grid-template-areas:"media" "text" "price";
  gap:24px;align-items:start;width:100%;padding:0 0 20px;overflow:visible;
}
body.elementor-page-15 .elementor-element.mlp-hero__media{grid-area:media;display:block;position:relative;width:100%;max-width:none;margin:0;padding:0}
body.elementor-page-15 .mlp-hero__media img{
  display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;
  border-radius:calc(var(--mlp-radius) - 1px) calc(var(--mlp-radius) - 1px) 0 0;
  -webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 62%,transparent 100%);
}
body.elementor-page-15 .elementor-element.mlp-hero__text{
  grid-area:text;display:flex;flex-direction:column;align-items:flex-start;gap:14px;
  width:auto;max-width:none;margin:0;padding:0 20px;
}
body.elementor-page-15 .elementor-element.mlp-price{
  grid-area:price;display:flex;flex-direction:column;align-items:stretch;gap:14px;
  width:auto;max-width:none;margin:0 20px;padding:22px 20px 18px;
  border-radius:calc(var(--mlp-radius) - 4px);
}
body.elementor-page-15 .mlp-price__title .elementor-heading-title{margin:0;font-size:1.25rem;font-weight:700;line-height:1.2;color:var(--text);text-align:center}
body.elementor-page-15 .elementor-element.mlp-checks{align-self:center;width:auto;max-width:100%}
body.elementor-page-15 .elementor-element.mlp-price__row{
  display:flex;flex-direction:row;align-items:baseline;justify-content:center;gap:8px;
  width:100%;padding:0;margin:0;
}
body.elementor-page-15 .elementor-element.mlp-price__row > .elementor-widget{width:auto}
body.elementor-page-15 .mlp-price__amount .elementor-heading-title{margin:0;font-size:clamp(2.25rem,6vw,2.75rem);font-weight:800;line-height:1;letter-spacing:-0.02em;color:var(--text)}
body.elementor-page-15 .mlp-price__unit .elementor-heading-title{margin:0;font-size:0.8125rem;font-weight:500;line-height:1;color:var(--text-muted)}
body.elementor-page-15 .mlp-price .mlp-caption .elementor-heading-title{text-align:center}

@media (min-width:768px){
  body.elementor-page-15 .elementor-element.mlp-hero{
    grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);
    grid-template-areas:"text media" "price price";
    gap:28px 24px;align-items:center;padding:32px;
  }
  body.elementor-page-15 .elementor-element.mlp-hero__text{padding:0}
  body.elementor-page-15 .elementor-element.mlp-hero__media{max-width:340px;justify-self:center}
  body.elementor-page-15 .mlp-hero__media img{
    border-radius:22px;-webkit-mask-image:none;mask-image:none;
    filter:drop-shadow(0 0 30px var(--glow));
  }
  body.elementor-page-15 .elementor-element.mlp-price{width:100%;max-width:560px;justify-self:center;margin:0}
}
@media (min-width:1025px){
  body.elementor-page-15 .elementor-element.mlp-hero{
    grid-template-columns:minmax(0,1.3fr) minmax(0,0.85fr) minmax(0,0.85fr);
    grid-template-areas:"text price media";
    gap:32px;padding:36px 32px;
  }
  body.elementor-page-15 .elementor-element.mlp-price{max-width:340px}
  body.elementor-page-15 .elementor-element.mlp-hero__media{max-width:340px}
}

/* ---- Section 2: Sneak peek ----------------------------------------------- */
body.elementor-page-15 .elementor-element.mlp-peek{display:flex;flex-direction:column;align-items:stretch;gap:14px;width:100%;padding:20px;overflow:visible}
body.elementor-page-15 .elementor-element.mlp-peek__head{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;padding:0}
body.elementor-page-15 .elementor-element.mlp-peek__frame{display:block;width:100%;padding:0;border-radius:18px;overflow:hidden;background:#1a0d14}
body.elementor-page-15 .mlp-peek__frame img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:opacity .2s ease}
body.elementor-page-15 .mlp-peek__frame img.is-swapping{opacity:0}
body.elementor-page-15 .elementor-element.mlp-peek__thumbs{
  display:flex;flex-direction:row;gap:10px;width:100%;margin:0;padding:2px 2px 6px;
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
body.elementor-page-15 .mlp-peek__thumbs::-webkit-scrollbar{display:none}
body.elementor-page-15 .elementor-element.mlp-thumb{flex:0 0 28%;width:28%;scroll-snap-align:start;cursor:pointer;border-radius:14px;outline:none;-webkit-tap-highlight-color:transparent}
body.elementor-page-15 .mlp-thumb img{
  display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;
  border-radius:14px;border:2px solid transparent;box-sizing:border-box;transition:border-color .2s ease;
}
body.elementor-page-15 .mlp-thumb:hover img{border-color:rgba(232,32,63,0.55)}
body.elementor-page-15 .mlp-thumb.is-active img,
body.elementor-page-15 .mlp-thumb:focus-visible img{border-color:var(--accent)}
@media (min-width:768px){
  body.elementor-page-15 .elementor-element.mlp-peek{gap:20px;padding:32px}
  body.elementor-page-15 .mlp-peek__frame img{aspect-ratio:16/10}
  body.elementor-page-15 .elementor-element.mlp-peek__thumbs{
    display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:auto;gap:12px;
    overflow:visible;padding:0;scroll-snap-type:none;
  }
  body.elementor-page-15 .elementor-element.mlp-thumb{flex:none;width:auto}
}

/* ---- Section 3: Let's talk ----------------------------------------------- */
body.elementor-page-15 .elementor-element.mlp-cta{
  display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:center;
  width:100%;padding:0 0 24px;overflow:visible;
}
body.elementor-page-15 .elementor-element.mlp-cta__media{display:block;width:100%;max-width:none;margin:0;padding:0}
body.elementor-page-15 .mlp-cta__media img{
  display:block;width:100%;height:auto;aspect-ratio:4/5;max-height:70vh;object-fit:cover;object-position:50% 20%;
  border-radius:calc(var(--mlp-radius) - 1px) calc(var(--mlp-radius) - 1px) 0 0;
  -webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 70%,transparent 100%);
}
body.elementor-page-15 .elementor-element.mlp-cta__text{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  width:auto;max-width:none;margin:0;padding:0 20px;text-align:center;
}
body.elementor-page-15 .mlp-cta__text .elementor-heading-title{text-align:center}
@media (min-width:768px){
  body.elementor-page-15 .elementor-element.mlp-cta{grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:32px;padding:32px}
  body.elementor-page-15 .elementor-element.mlp-cta__text{padding:0}
  body.elementor-page-15 .mlp-cta__media img{max-height:none;border-radius:22px;-webkit-mask-image:none;mask-image:none;filter:drop-shadow(0 0 30px var(--glow))}
  body.elementor-page-15 .elementor-element.mlp-cta__text .mlp-btn--block,
  body.elementor-page-15 .mlp-cta__text .mlp-btn--block .elementor-button-wrapper{width:auto;min-width:260px;max-width:420px}
  body.elementor-page-15 .mlp-cta__text .mlp-btn--block .elementor-button{width:auto;min-width:260px;max-width:420px}
}

/* ---- Motion -------------------------------------------------------------- */
@media (min-width:1025px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  @keyframes mlp-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
  body.elementor-page-15 .mlp-hero__media img{animation:mlp-bob 6s ease-in-out infinite}
  body.elementor-page-15 .mlp-cta__media img{transition:transform .5s ease,filter .5s ease}
  body.elementor-page-15 .mlp-cta__media:hover img{transform:scale(1.03);filter:drop-shadow(0 0 44px var(--glow))}
}
@media (prefers-reduced-motion:reduce){
  body.elementor-page-15 .elementor-invisible{visibility:visible !important;opacity:1 !important}
  body.elementor-page-15 .animated{animation:none !important}
  body.elementor-page-15 .mlp-hearts span,body.elementor-page-15 .mlp-hero__media img{animation:none !important}
  body.elementor-page-15 .mlp-peek__frame img,body.elementor-page-15 .mlp-thumb img,body.elementor-page-15 .cta-patreon .elementor-button{transition:none !important}
}

/* @@MLP-GLASS-START ==========================================================
   Glass cards + portrait glow. VISUAL ONLY: backgrounds, blur, borders-colour,
   shadows, filter, mask. No width/height/margin/padding/position/display/overflow/
   flex/grid, so the layout and every breakpoint behave exactly as before.
   Tints are tuned per section (hero plum > peek > final CTA darkest).
   ========================================================================== */
:root{
  --glass-edge:rgba(255,255,255,0.09);
  --glass-aura:radial-gradient(60% 55% at 50% 45%,rgba(232,32,63,0.22),transparent 70%);
}
@media (min-width:768px) and (max-width:1024px){:root{--mlp-blur:16px}}

/* per-section tints */
body.elementor-page-15 .elementor-element.mlp-hero.mlp-glass{--g-top:rgba(58,20,40,0.80);--g-bottom:rgba(22,15,20,0.84)}
body.elementor-page-15 .elementor-element.mlp-peek.mlp-glass{--g-top:rgba(44,22,32,0.80);--g-bottom:rgba(21,15,19,0.84)}
body.elementor-page-15 .elementor-element.mlp-cta.mlp-glass{--g-top:rgba(30,17,24,0.80);--g-bottom:rgba(21,15,19,0.84)}

/* the three section cards */
body.elementor-page-15 .elementor-element.mlp-hero.mlp-glass,
body.elementor-page-15 .elementor-element.mlp-peek.mlp-glass,
body.elementor-page-15 .elementor-element.mlp-cta.mlp-glass{
  background:
    radial-gradient(120% 70% at 0% 0%,rgba(232,32,63,0.16) 0%,transparent 60%),
    linear-gradient(180deg,rgba(255,255,255,0.07) 0%,rgba(255,255,255,0) 40%),
    linear-gradient(180deg,var(--g-top) 0%,var(--g-bottom) 100%);
  border-color:var(--glass-edge);
  box-shadow:
    0 24px 60px rgba(0,0,0,0.50),
    0 0 48px rgba(232,32,63,0.10),
    inset 0 1px 0 rgba(255,255,255,0.14);
}

/* pricing card inside the hero: its own tint + edge (blur kept light) */
body.elementor-page-15 .elementor-element.mlp-price.mlp-glass--inner{
  background:
    linear-gradient(180deg,rgba(255,255,255,0.08) 0%,rgba(255,255,255,0) 45%),
    rgba(67,27,45,0.78);
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  backdrop-filter:blur(10px) saturate(140%);
  border-color:var(--glass-edge);
  box-shadow:
    0 14px 40px rgba(0,0,0,0.35),
    inset 0 1px 0 rgba(255,255,255,0.14);
}

/* portraits (hero + final CTA): red glow that follows the silhouette + soft aura */
body.elementor-page-15 .elementor-element.mlp-hero__media,
body.elementor-page-15 .elementor-element.mlp-cta__media{background:var(--glass-aura)}
body.elementor-page-15 .mlp-hero__media img,
body.elementor-page-15 .mlp-cta__media img{
  -webkit-filter:drop-shadow(0 0 18px rgba(232,32,63,0.55)) drop-shadow(0 0 48px rgba(232,32,63,0.28));
  filter:drop-shadow(0 0 18px rgba(232,32,63,0.55)) drop-shadow(0 0 48px rgba(232,32,63,0.28));
}
@media (max-width:767px){
  /* lighter glow = smoother scrolling; hero keeps its bottom fade-into-card mask */
  body.elementor-page-15 .mlp-hero__media img,
  body.elementor-page-15 .mlp-cta__media img{
    -webkit-filter:drop-shadow(0 0 12px rgba(232,32,63,0.50)) drop-shadow(0 0 32px rgba(232,32,63,0.24));
    filter:drop-shadow(0 0 12px rgba(232,32,63,0.50)) drop-shadow(0 0 32px rgba(232,32,63,0.24));
  }
}
@media (min-width:1025px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  body.elementor-page-15 .mlp-cta__media:hover img{
    -webkit-filter:drop-shadow(0 0 22px rgba(232,32,63,0.65)) drop-shadow(0 0 60px rgba(232,32,63,0.35));
    filter:drop-shadow(0 0 22px rgba(232,32,63,0.65)) drop-shadow(0 0 60px rgba(232,32,63,0.35));
  }
}

/* fallbacks */
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  body.elementor-page-15 .elementor-element.mlp-hero.mlp-glass,
  body.elementor-page-15 .elementor-element.mlp-peek.mlp-glass,
  body.elementor-page-15 .elementor-element.mlp-cta.mlp-glass{
    background:
      radial-gradient(120% 70% at 0% 0%,rgba(232,32,63,0.16) 0%,transparent 60%),
      linear-gradient(180deg,#2a1220 0%,#150f13 100%);
  }
  body.elementor-page-15 .elementor-element.mlp-price.mlp-glass--inner{background:#431b2d}
}
@media (prefers-reduced-transparency:reduce){
  body.elementor-page-15 .elementor-element.mlp-hero.mlp-glass,
  body.elementor-page-15 .elementor-element.mlp-peek.mlp-glass,
  body.elementor-page-15 .elementor-element.mlp-cta.mlp-glass{
    background:linear-gradient(180deg,#2a1220 0%,#150f13 100%);
    -webkit-backdrop-filter:none;backdrop-filter:none;
  }
  body.elementor-page-15 .elementor-element.mlp-price.mlp-glass--inner{background:#431b2d;-webkit-backdrop-filter:none;backdrop-filter:none}
}
/* @@MLP-GLASS-END */

/* @@MLP-CTA-START ============================================================
   Final section, TABLET + DESKTOP (768px and up): a short, wide card with the portrait
   running full-bleed down the left edge, fading softly into the card on its right,
   and an "Online" pill at the bottom of the image.
   Mobile (below 768px) is untouched. The text stack (eyebrow / heading / button /
   caption) is not restyled here; only its container gets breathing room.
   ========================================================================== */

/* the "Online" pill is a real Elementor Heading (class mlp-badge) so it stays editable;
   it is only shown from tablet up */
body.elementor-page-15 .elementor-element.mlp-badge{display:none}

@media (min-width:768px){
  body.elementor-page-15 .elementor-element.mlp-cta.mlp-glass{
    grid-template-columns:minmax(0,42fr) minmax(0,58fr);
    gap:0;padding:0;align-items:stretch;
  }
  body.elementor-page-15 .elementor-element.mlp-cta__media{
    position:relative;align-self:stretch;overflow:hidden;
    border-radius:calc(var(--mlp-radius) - 1px) 0 0 calc(var(--mlp-radius) - 1px);
  }
  body.elementor-page-15 .mlp-cta__media img{
    width:100%;height:auto;aspect-ratio:6/5;max-height:none;
    object-fit:cover;object-position:50% 12%;border-radius:0;
    -webkit-mask-image:linear-gradient(to right,#000 76%,transparent 100%);
    mask-image:linear-gradient(to right,#000 76%,transparent 100%);
  }
  body.elementor-page-15 .elementor-element.mlp-cta__text{padding:32px}

  body.elementor-page-15 .elementor-element.mlp-badge{
    display:block;position:absolute;left:50%;bottom:36px;z-index:2;width:auto;
    transform:translateX(-50%);pointer-events:none;
  }
  body.elementor-page-15 .mlp-badge .elementor-heading-title{
    display:inline-flex;align-items:center;gap:8px;margin:0;
    padding:7px 14px 7px 12px;border-radius:999px;
    background:rgba(36,22,28,0.78);
    -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,0.12);
    color:#fff;font-size:0.875rem;font-weight:600;line-height:1;white-space:nowrap;
  }
  body.elementor-page-15 .mlp-badge .elementor-heading-title::before{
    content:"";flex:0 0 10px;width:10px;height:10px;border-radius:50%;
    background:#3fae4f;box-shadow:0 0 8px rgba(63,174,79,0.65);
  }
}

/* tablet only: if the text column is ever taller than the image (narrow tablets, larger
   text), let the portrait fill the full card height instead of leaving an empty strip */
@media (min-width:768px) and (max-width:1024px){
  body.elementor-page-15 .elementor-element.mlp-cta__media > .elementor-widget-image,
  body.elementor-page-15 .mlp-cta__media .elementor-widget-image .elementor-widget-container{height:100%}
  body.elementor-page-15 .mlp-cta__media img{height:100%}
}

/* desktop keeps its wider text padding */
@media (min-width:1025px){
  body.elementor-page-15 .elementor-element.mlp-cta__text{padding:32px 48px}
}
/* @@MLP-CTA-END */

/* @@MLP-HERO-START ============================================================
   Hero portrait, TABLET + DESKTOP (768px and up). Mobile (below 768px) is untouched.
   The box bleeds to the card edges (negative margins cancel the card padding) and the photo
   fills it edge to edge, exactly like the final section's portrait. `contain:size` stops the
   image from pushing the card taller, so the text and pricing columns keep their current
   positions and the card keeps its height.
   The "Online" pill is the same real Heading widget (class mlp-badge) used in the final section.
   ========================================================================== */
@media (min-width:768px){
  body.elementor-page-15 .elementor-element.mlp-hero__media{
    position:relative;overflow:hidden;contain:size;
    width:auto;max-width:none;justify-self:stretch;
  }
  body.elementor-page-15 .elementor-element.mlp-hero__media > .elementor-widget-image,
  body.elementor-page-15 .mlp-hero__media .elementor-widget-image .elementor-widget-container{height:100%}
  /* the photo FILLS its box (same treatment as the final section, mirrored): flush to the card
     edges, and it dissolves softly on the side that faces the pricing card */
  body.elementor-page-15 .mlp-hero__media img{
    display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;
    aspect-ratio:auto;object-fit:cover;object-position:50% var(--mlp-opy,100%);
    border-radius:0;animation:none;
    -webkit-mask-image:linear-gradient(to left,#000 76%,transparent 100%);
    mask-image:linear-gradient(to left,#000 76%,transparent 100%);
  }
}

/* tablet: flush to the top and right edges, sits above the pricing card, fades out at its lower edge */
@media (min-width:768px) and (max-width:1024px){
  body.elementor-page-15 .elementor-element.mlp-hero__media{
    align-self:start;aspect-ratio:4/5;
    margin:-32px -32px 0 0;
    border-radius:0 calc(var(--mlp-radius) - 1px) 0 0;
  }
  body.elementor-page-15 .mlp-hero__media img{
    -webkit-mask-image:linear-gradient(to left,#000 76%,transparent 100%),linear-gradient(to bottom,#000 90%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to left,#000 76%,transparent 100%),linear-gradient(to bottom,#000 90%,transparent 100%);
    mask-composite:intersect;
  }
}

/* hero only: seat the "Online" pill a little lower so it does not cover the photo's chest */
@media (min-width:768px){
  body.elementor-page-15 .elementor-element.mlp-hero__media .elementor-element.mlp-badge{bottom:14px}
}

/* desktop: flush to the top, right and bottom edges of the card, full card height */
@media (min-width:1025px){
  body.elementor-page-15 .elementor-element.mlp-hero__media{
    align-self:stretch;
    margin:-36px -32px -36px 0;
    border-radius:0 calc(var(--mlp-radius) - 1px) calc(var(--mlp-radius) - 1px) 0;
  }
}
/* @@MLP-HERO-END */

/* @@MLP-FX-START ==============================================================
   Hero + final-section portraits: (1) hover effect on the hero like the final section's,
   (2) soft feathered bottom edge on the desktop hero portrait (tablet already has one),
   (3) parallax hooks. Parallax is driven by JS (WPCode snippet "Margaret Landing - JS")
   which only writes --mlp-py / --mlp-opy; on mobile and under reduced motion nothing is
   written, so nothing moves. Visual only: no sizes, spacing or layout are touched.
   ========================================================================== */

/* parallax hooks (tablet + desktop) */
@media (min-width:768px){
  /* both portraits are cover images that already overscan their frame, so shifting
     object-position never reveals a gap (hero keeps the face near the top) */
  body.elementor-page-15 .mlp-hero__media img{object-position:50% var(--mlp-opy,100%)}
  body.elementor-page-15 .mlp-cta__media img{object-position:50% var(--mlp-opy,12%)}
}

/* desktop: feather the bottom of the hero portrait */
@media (min-width:1025px){
  body.elementor-page-15 .mlp-hero__media img{
    -webkit-mask-image:linear-gradient(to left,#000 76%,transparent 100%),linear-gradient(to bottom,#000 90%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to left,#000 76%,transparent 100%),linear-gradient(to bottom,#000 90%,transparent 100%);
    mask-composite:intersect;
  }
}

/* desktop hover (mouse only, motion allowed): same effect as the final section's portrait */
@media (min-width:1025px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  body.elementor-page-15 .mlp-hero__media img{transition:transform .5s ease,filter .5s ease}
  body.elementor-page-15 .mlp-hero__media:hover img{
    transform:scale(1.03);
    -webkit-filter:drop-shadow(0 0 22px rgba(232,32,63,0.65)) drop-shadow(0 0 60px rgba(232,32,63,0.35));
    filter:drop-shadow(0 0 22px rgba(232,32,63,0.65)) drop-shadow(0 0 60px rgba(232,32,63,0.35));
  }
}

@media (prefers-reduced-motion:reduce){
  body.elementor-page-15 .mlp-hero__media img{object-position:50% 100% !important}
  body.elementor-page-15 .mlp-cta__media img{object-position:50% 12% !important}
}
/* @@MLP-FX-END */

/* @@MLP-CAR-START ==============================================================
   Sneak-peek carousel + full-screen viewer.

   EDIT HERE (never touches your image files, it is only how they are shown):
     --mlp-car-ratio  card shape, width / height. 0.75 = 3:4.   0.5625 = original 9:16.   1 = square.
     --mlp-car-focus  which part of the photo stays visible when it is cropped (x y). 50% 22% = near the top.
     --n              how many cards are visible (decimals show a partial card at the edge), per screen size below
     --gap            space between cards
   ========================================================================== */
:root{
  --mlp-car-ratio:0.75;
  --mlp-car-focus:50% 22%;
  --mlp-car-blur:0.045;   /* blur strength = this x the card width (0.045 is about 10px on desktop). 0 = no blur, 0.09 = very strong */
  --mlp-car-dim:0.85;     /* brightness of the blurred photo (1 = unchanged) */
}

body.elementor-page-15 .mlp-peek .elementor-widget-shortcode,
body.elementor-page-15 .mlp-peek .elementor-shortcode{width:100%;max-width:100%}

/* ---- container: dark glass when idle ---- */
body.elementor-page-15 .mlp-car{
  --r:var(--mlp-car-ratio);--n:2.35;--gap:10px;
  --cw:calc((100cqw - (var(--n) - 1) * var(--gap)) / var(--n));
  --ch:calc(var(--cw) / var(--r));
  position:relative;box-sizing:border-box;width:100%;max-width:100%;
  container-type:inline-size;isolation:isolate;overflow:hidden;
  border-radius:calc(var(--mlp-radius) - 8px);
  background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);
  color:#fff;
}
@media (min-width:768px){body.elementor-page-15 .mlp-car{--n:3.4;--gap:12px}}
@media (min-width:1025px){body.elementor-page-15 .mlp-car{--n:4.6;--gap:14px}}
@supports not (width:1cqw){
  body.elementor-page-15 .mlp-car{--cw:calc((100vw - 2 * var(--mlp-gutter,16px) - 64px - (var(--n) - 1) * var(--gap)) / var(--n))}
}

/* ---- blurred photo behind the cards (only while a card is hovered with a mouse) ---- */
body.elementor-page-15 .mlp-car__bg{position:absolute;inset:0;z-index:0;overflow:hidden;opacity:0;transition:opacity .5s ease;pointer-events:none}
body.elementor-page-15 .mlp-car.is-hover .mlp-car__bg{opacity:1}
body.elementor-page-15 .mlp-car__bg img{
  position:absolute;left:-18%;top:-18%;width:136%;height:136%;max-width:none;object-fit:cover;
  opacity:0;transition:opacity .5s ease;
  -webkit-filter:blur(38px) saturate(1.25) brightness(0.78);filter:blur(38px) saturate(1.25) brightness(0.78);
}
body.elementor-page-15 .mlp-car__bg img.on{opacity:0.9}
body.elementor-page-15 .mlp-car__bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(35,17,27,0.40),rgba(35,17,27,0.58)),radial-gradient(70% 60% at 50% 50%,rgba(240,42,74,0.10),transparent 70%);
}

/* ---- the moving row ---- */
body.elementor-page-15 .mlp-car__viewport{
  position:relative;z-index:1;overflow:hidden;
  padding-block:calc(var(--ch) * 0.05 + 12px);   /* touch screens: compact (no hover growth to make room for) */
  touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 92%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 92%,transparent 100%);
}
body.elementor-page-15 .mlp-car.is-dragging .mlp-car__viewport{cursor:grabbing}
body.elementor-page-15 .mlp-car__track{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--gap);width:max-content;margin:0;padding:0;will-change:transform}

body.elementor-page-15 .mlp-car__card{
  -webkit-appearance:none;appearance:none;display:block;position:relative;
  flex:0 0 var(--cw);width:var(--cw);aspect-ratio:var(--r);
  margin:0;padding:0;border:0;border-radius:14px;overflow:hidden;
  background:#1a0d14;color:#fff;font:inherit;line-height:1.2;text-align:left;cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,0.35);
  transition:transform .38s cubic-bezier(.2,.7,.2,1),box-shadow .38s ease;
  -webkit-tap-highlight-color:transparent;
}
body.elementor-page-15 .mlp-car__card img{
  display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--mlp-car-focus);
  pointer-events:none;-webkit-user-drag:none;user-select:none;
  /* every photo is softly blurred; a mouse hover (or keyboard focus) reveals it sharp. The slight scale hides the blur's soft edge. */
  -webkit-filter:blur(calc(var(--cw) * var(--mlp-car-blur))) brightness(var(--mlp-car-dim)) saturate(1.05);
  filter:blur(calc(var(--cw) * var(--mlp-car-blur))) brightness(var(--mlp-car-dim)) saturate(1.05);
  transform:scale(1.12);
  transition:filter .45s ease,transform .45s ease;
}
body.elementor-page-15 .mlp-car__card:focus-visible img{-webkit-filter:none;filter:none;transform:none}

/* "Hover to view" / "Touch to view" hint, centred on each blurred card */
body.elementor-page-15 .mlp-car__hint{
  position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);
  display:inline-flex;align-items:center;gap:6px;max-width:92%;box-sizing:border-box;
  padding:7px 12px;border-radius:999px;white-space:nowrap;
  background:rgba(11,5,9,0.5);border:1px solid rgba(255,255,255,0.18);
  color:#fff;font-size:clamp(0.625rem,0.5rem + 0.3vw,0.75rem);font-weight:600;letter-spacing:0.05em;line-height:1;
  pointer-events:none;transition:opacity .3s ease;
}
body.elementor-page-15 .mlp-car__hint svg{flex:0 0 auto;display:block}
body.elementor-page-15 .mlp-car__hint-t{display:inline}
body.elementor-page-15 .mlp-car__hint-d{display:none}
body.elementor-page-15 .mlp-car__card:focus-visible .mlp-car__hint{opacity:0}
@container (max-width:420px){ body.elementor-page-15 .mlp-car__hint svg{display:none} }
body.elementor-page-15 .mlp-car__cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;padding:34px 12px 12px;
  /* scrim stays light so the frosted band (card ::after, below) shows through behind this text */
  background:linear-gradient(to top,rgba(11,5,9,0.72),rgba(11,5,9,0.34) 55%,transparent);
  opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease;pointer-events:none;
}
/* frosted teaser band at the bottom of a card (78% tall box that fades out, so the blur is clearly visible over roughly the
   bottom 70% of the card), only while its caption shows (hover with a mouse, or keyboard focus). It is a PROGRESSIVE blur:
   three stacked layers (the <i> elements, added by the carousel script) with stronger and stronger blur towards the bottom,
   each fading out smoothly, so it dissolves into the photo with no hard edge. The strongest layer is exactly the idle cards'
   blur (--mlp-car-blur, set at the top of this block), so it matches the un-hovered cards. It sits under the caption text and
   has a soft dark vignette at the bottom. The blur is only switched on in the hover/focus states, so one card at a time pays for it.
   (The fade lives on each layer, not on the wrapper, because a faded wrapper would stop the blur from seeing the photo.)
   EDIT: the three blur sizes are "* 0.0105 / 0.0235 / var(--mlp-car-blur)"; height: is how much of the card it covers. */
body.elementor-page-15 .mlp-car__veil{position:absolute;left:0;right:0;bottom:0;height:78%;z-index:1;display:block;pointer-events:none}
body.elementor-page-15 .mlp-car__veil::before{
  content:"";position:absolute;inset:0;opacity:0;transition:opacity .3s ease;
  background:
    radial-gradient(130% 90% at 50% 100%,transparent 55%,rgba(8,3,6,0.38) 100%),
    linear-gradient(to top,rgba(11,5,9,0.60),rgba(11,5,9,0.34) 38%,rgba(11,5,9,0.12) 72%,transparent);
  /* the dark vignette stays near the bottom (the blur reaches further up than the darkness) */
  -webkit-mask-image:linear-gradient(to top,#000 0,#000 20%,transparent 55%);
  mask-image:linear-gradient(to top,#000 0,#000 20%,transparent 55%);
}
body.elementor-page-15 .mlp-car__veil i{position:absolute;inset:0;display:block;opacity:0;transition:opacity .3s ease}
body.elementor-page-15 .mlp-car__veil i:nth-child(1){
  -webkit-mask-image:linear-gradient(to top,#000 0,#000 55%,rgba(0,0,0,0.93) 62.5%,rgba(0,0,0,0.74) 70%,rgba(0,0,0,0.50) 77.5%,rgba(0,0,0,0.26) 85%,rgba(0,0,0,0.07) 92.5%,transparent 100%);
  mask-image:linear-gradient(to top,#000 0,#000 55%,rgba(0,0,0,0.93) 62.5%,rgba(0,0,0,0.74) 70%,rgba(0,0,0,0.50) 77.5%,rgba(0,0,0,0.26) 85%,rgba(0,0,0,0.07) 92.5%,transparent 100%);
}
body.elementor-page-15 .mlp-car__veil i:nth-child(2){
  -webkit-mask-image:linear-gradient(to top,#000 0,#000 35%,rgba(0,0,0,0.93) 45.5%,rgba(0,0,0,0.74) 56%,rgba(0,0,0,0.50) 66.5%,rgba(0,0,0,0.26) 77%,rgba(0,0,0,0.07) 87.5%,transparent 98%);
  mask-image:linear-gradient(to top,#000 0,#000 35%,rgba(0,0,0,0.93) 45.5%,rgba(0,0,0,0.74) 56%,rgba(0,0,0,0.50) 66.5%,rgba(0,0,0,0.26) 77%,rgba(0,0,0,0.07) 87.5%,transparent 98%);
}
body.elementor-page-15 .mlp-car__veil i:nth-child(3){
  -webkit-mask-image:linear-gradient(to top,#000 0,#000 20%,rgba(0,0,0,0.93) 32%,rgba(0,0,0,0.74) 44%,rgba(0,0,0,0.50) 56%,rgba(0,0,0,0.26) 68%,rgba(0,0,0,0.07) 80%,transparent 92%);
  mask-image:linear-gradient(to top,#000 0,#000 20%,rgba(0,0,0,0.93) 32%,rgba(0,0,0,0.74) 44%,rgba(0,0,0,0.50) 56%,rgba(0,0,0,0.26) 68%,rgba(0,0,0,0.07) 80%,transparent 92%);
}
body.elementor-page-15 .mlp-car__card:focus-visible .mlp-car__veil::before,
body.elementor-page-15 .mlp-car__card:focus-visible .mlp-car__veil i{opacity:1}
body.elementor-page-15 .mlp-car__card:focus-visible .mlp-car__veil i:nth-child(1){-webkit-backdrop-filter:blur(calc(var(--cw) * 0.0105));backdrop-filter:blur(calc(var(--cw) * 0.0105))}
body.elementor-page-15 .mlp-car__card:focus-visible .mlp-car__veil i:nth-child(2){-webkit-backdrop-filter:blur(calc(var(--cw) * 0.0235));backdrop-filter:blur(calc(var(--cw) * 0.0235))}
body.elementor-page-15 .mlp-car__card:focus-visible .mlp-car__veil i:nth-child(3){-webkit-backdrop-filter:blur(calc(var(--cw) * var(--mlp-car-blur))) saturate(1.1);backdrop-filter:blur(calc(var(--cw) * var(--mlp-car-blur))) saturate(1.1)}
body.elementor-page-15 .mlp-car__cap strong{display:block;font-size:clamp(0.8125rem,0.9vw,0.9375rem);font-weight:600;line-height:1.25;color:#fff}
body.elementor-page-15 .mlp-car__cap em{display:block;margin-top:4px;font-size:0.6875rem;font-style:normal;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--eyebrow)}
body.elementor-page-15 .mlp-car__card:focus-visible{outline:2px solid var(--accent);outline-offset:3px;z-index:3}
body.elementor-page-15 .mlp-car__card:focus-visible .mlp-car__cap{opacity:1;transform:none}

/* mouse only: the hovered card grows, shows its nudge, glows (so the row gets room above and below for the growth) */
@media (hover:hover) and (pointer:fine){
  body.elementor-page-15 .mlp-car__viewport{padding-block:calc(var(--ch) * 0.16 + 14px)}
  body.elementor-page-15 .mlp-car__card:hover{transform:scale(1.22);z-index:3;box-shadow:0 22px 60px rgba(0,0,0,0.6),0 0 44px rgba(240,42,74,0.28)}
  body.elementor-page-15 .mlp-car__card:hover .mlp-car__cap{opacity:1;transform:none}
  body.elementor-page-15 .mlp-car__card:hover .mlp-car__veil::before,
  body.elementor-page-15 .mlp-car__card:hover .mlp-car__veil i{opacity:1}
  body.elementor-page-15 .mlp-car__card:hover .mlp-car__veil i:nth-child(1){-webkit-backdrop-filter:blur(calc(var(--cw) * 0.0105));backdrop-filter:blur(calc(var(--cw) * 0.0105))}
  body.elementor-page-15 .mlp-car__card:hover .mlp-car__veil i:nth-child(2){-webkit-backdrop-filter:blur(calc(var(--cw) * 0.0235));backdrop-filter:blur(calc(var(--cw) * 0.0235))}
  body.elementor-page-15 .mlp-car__card:hover .mlp-car__veil i:nth-child(3){-webkit-backdrop-filter:blur(calc(var(--cw) * var(--mlp-car-blur))) saturate(1.1);backdrop-filter:blur(calc(var(--cw) * var(--mlp-car-blur))) saturate(1.1)}
  /* hover reveals the photo sharp and hides the hint (the nudge caption takes over) */
  body.elementor-page-15 .mlp-car__card:hover img{-webkit-filter:none;filter:none;transform:none}
  body.elementor-page-15 .mlp-car__card:hover .mlp-car__hint{opacity:0}
  body.elementor-page-15 .mlp-car__hint-d{display:inline}
  body.elementor-page-15 .mlp-car__hint-t{display:none}
  body.elementor-page-15 .mlp-car.is-dragging .mlp-car__card:hover{transform:none;z-index:auto;box-shadow:0 10px 30px rgba(0,0,0,0.35)}
  body.elementor-page-15 .mlp-car.is-dragging .mlp-car__card:hover .mlp-car__cap{opacity:0}
  body.elementor-page-15 .mlp-car.is-dragging .mlp-car__card:hover .mlp-car__veil::before,
  body.elementor-page-15 .mlp-car.is-dragging .mlp-car__card:hover .mlp-car__veil i{opacity:0;-webkit-backdrop-filter:none;backdrop-filter:none}
  body.elementor-page-15 .mlp-car.is-dragging .mlp-car__card:hover .mlp-car__hint{opacity:1}
  body.elementor-page-15 .mlp-car.is-dragging .mlp-car__card:hover img{
    -webkit-filter:blur(calc(var(--cw) * var(--mlp-car-blur))) brightness(var(--mlp-car-dim)) saturate(1.05);
    filter:blur(calc(var(--cw) * var(--mlp-car-blur))) brightness(var(--mlp-car-dim)) saturate(1.05);
    transform:scale(1.12);
  }
}

/* ---- full-screen viewer ---- */
body.elementor-page-15 .mlp-lb{
  --lb-side:8px;--lb-top:64px;--lb-bot:134px;
  position:fixed;inset:0;z-index:10000;display:block;opacity:0;visibility:hidden;
  transition:opacity .2s ease,visibility 0s linear .2s;
  font-family:var(--mlp-font);color:#fff;
}
body.elementor-page-15 .mlp-lb[hidden]{display:none !important}
body.elementor-page-15 .mlp-lb.is-open{opacity:1;visibility:visible;transition:opacity .2s ease}
body.elementor-page-15 .mlp-lb__stage{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;
  touch-action:none;-webkit-user-select:none;user-select:none;cursor:zoom-in;
  background:radial-gradient(80% 70% at 50% 40%,rgba(58,20,40,0.55),rgba(8,3,6,0.97) 72%),rgba(8,3,6,0.95);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
body.elementor-page-15 .mlp-lb.is-zoomed .mlp-lb__stage{cursor:grab}
/* the zoomable frame: photo + blurred bottom + unlock call-to-action all move and zoom together */
body.elementor-page-15 .mlp-lb__fig{
  flex:none;position:relative;display:block;transform-origin:50% 50%;
  border-radius:10px;container-type:size;
  box-shadow:0 20px 80px rgba(0,0,0,0.6),0 0 60px rgba(240,42,74,0.12);
}
body.elementor-page-15 .mlp-lb__img{
  display:block;width:100%;height:100%;max-width:none;max-height:none;border-radius:10px;
  -webkit-user-drag:none;user-select:none;transition:opacity .2s ease;
}
body.elementor-page-15 .mlp-lb__img.is-loading{opacity:0.82}
/* frosted teaser bottom of the photo (the bottom ~58%): a PROGRESSIVE blur, four stacked layers (the <i> elements) with
   stronger and stronger blur towards the bottom, each fading out smoothly, so it dissolves into the photo with no hard edge.
   A soft dark vignette deepens towards the bottom. Sizes are relative to the photo's width (cqw), so it looks the same
   at every size and zoom.  EDIT: the four blur sizes (1.1 / 2.4 / 4.2 / 6.7cqw, strongest last) set the strength;
   height: is how much of the photo it covers. */
body.elementor-page-15 .mlp-lb__veil{position:absolute;left:0;right:0;bottom:0;height:78%;pointer-events:none;border-radius:0 0 10px 10px}
body.elementor-page-15 .mlp-lb__veil::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:
    radial-gradient(120% 85% at 50% 100%,transparent 50%,rgba(8,3,6,0.5) 100%),
    linear-gradient(to top,rgba(8,3,6,0.66),rgba(8,3,6,0.42) 30%,rgba(8,3,6,0.18) 62%,transparent);
  /* the darkness stays in the lower part; the blur itself reaches further up */
  -webkit-mask-image:linear-gradient(to top,#000 0,#000 25%,transparent 66%);
  mask-image:linear-gradient(to top,#000 0,#000 25%,transparent 66%);
}
body.elementor-page-15 .mlp-lb__veil i{position:absolute;inset:0;display:block;border-radius:inherit}
body.elementor-page-15 .mlp-lb__veil i:nth-child(1){
  -webkit-backdrop-filter:blur(1.1cqw);backdrop-filter:blur(1.1cqw);
  -webkit-mask-image:linear-gradient(to top,#000 0,rgba(0,0,0,0.93) 16.7%,rgba(0,0,0,0.74) 33.3%,rgba(0,0,0,0.50) 50%,rgba(0,0,0,0.26) 66.7%,rgba(0,0,0,0.07) 83.3%,transparent 100%);
  mask-image:linear-gradient(to top,#000 0,rgba(0,0,0,0.93) 16.7%,rgba(0,0,0,0.74) 33.3%,rgba(0,0,0,0.50) 50%,rgba(0,0,0,0.26) 66.7%,rgba(0,0,0,0.07) 83.3%,transparent 100%);
}
body.elementor-page-15 .mlp-lb__veil i:nth-child(2){
  -webkit-backdrop-filter:blur(2.4cqw);backdrop-filter:blur(2.4cqw);
  -webkit-mask-image:linear-gradient(to top,#000 0,#000 10%,rgba(0,0,0,0.93) 25%,rgba(0,0,0,0.74) 40%,rgba(0,0,0,0.50) 55%,rgba(0,0,0,0.26) 70%,rgba(0,0,0,0.07) 85%,transparent 100%);
  mask-image:linear-gradient(to top,#000 0,#000 10%,rgba(0,0,0,0.93) 25%,rgba(0,0,0,0.74) 40%,rgba(0,0,0,0.50) 55%,rgba(0,0,0,0.26) 70%,rgba(0,0,0,0.07) 85%,transparent 100%);
}
body.elementor-page-15 .mlp-lb__veil i:nth-child(3){
  -webkit-backdrop-filter:blur(4.2cqw);backdrop-filter:blur(4.2cqw);
  -webkit-mask-image:linear-gradient(to top,#000 0,#000 22%,rgba(0,0,0,0.93) 34%,rgba(0,0,0,0.74) 46%,rgba(0,0,0,0.50) 58%,rgba(0,0,0,0.26) 70%,rgba(0,0,0,0.07) 82%,transparent 94%);
  mask-image:linear-gradient(to top,#000 0,#000 22%,rgba(0,0,0,0.93) 34%,rgba(0,0,0,0.74) 46%,rgba(0,0,0,0.50) 58%,rgba(0,0,0,0.26) 70%,rgba(0,0,0,0.07) 82%,transparent 94%);
}
body.elementor-page-15 .mlp-lb__veil i:nth-child(4){
  -webkit-backdrop-filter:blur(6.7cqw) saturate(1.1);backdrop-filter:blur(6.7cqw) saturate(1.1);
  -webkit-mask-image:linear-gradient(to top,#000 0,#000 30%,rgba(0,0,0,0.93) 39.7%,rgba(0,0,0,0.74) 49.3%,rgba(0,0,0,0.50) 59%,rgba(0,0,0,0.26) 68.7%,rgba(0,0,0,0.07) 78.3%,transparent 88%);
  mask-image:linear-gradient(to top,#000 0,#000 30%,rgba(0,0,0,0.93) 39.7%,rgba(0,0,0,0.74) 49.3%,rgba(0,0,0,0.50) 59%,rgba(0,0,0,0.26) 68.7%,rgba(0,0,0,0.07) 78.3%,transparent 88%);
}
/* "So, whatcha' waiting for?" + the unlock button + the checkout note, centred in the blur, always normal size
   (the frame's zoom is divided out) */
body.elementor-page-15 .mlp-lb__cta{
  position:absolute;left:0;right:0;bottom:0;height:52%;
  display:flex;align-items:center;justify-content:center;pointer-events:none;
}
body.elementor-page-15 .mlp-lb__cta-in{
  display:flex;flex-direction:column;align-items:center;gap:12px;box-sizing:border-box;max-width:100%;padding:0 12px;
  text-align:center;pointer-events:auto;
  transform:scale(calc(1 / var(--sc,1)));transform-origin:50% 50%;
}
body.elementor-page-15 .mlp-lb__cta-h{margin:0;font:700 1.0625rem/1.25 var(--mlp-font);letter-spacing:-0.01em;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,0.65)}
body.elementor-page-15 .mlp-lb .cta-patreon .elementor-button{min-height:48px;padding:0 24px;font-size:0.9375rem;white-space:nowrap}
body.elementor-page-15 .mlp-lb .cta-patreon{margin:0;width:auto}
/* desktop only: the button is 20% bigger (smaller photos still shrink it, see the container rules below) */
@media (min-width:1025px){
  body.elementor-page-15 .mlp-lb .cta-patreon .elementor-button{min-height:58px;padding:0 29px;font-size:1.125rem}
}
/* exactly the line under the Get Access button in the hero: 12px, regular, light grey, sentence case (plus a faint shadow for the blur) */
body.elementor-page-15 .mlp-lb__cta-note{margin:0;font:400 0.75rem/1.4 var(--mlp-font);color:rgb(230,230,230);text-shadow:0 1px 8px rgba(0,0,0,0.75)}
/* smaller photos: everything stays, just smaller, so it all fits inside the blur */
@container (max-height:419px){
  body.elementor-page-15 .mlp-lb__cta-in{gap:8px}
  body.elementor-page-15 .mlp-lb__cta-h{font-size:0.875rem;white-space:nowrap}
  body.elementor-page-15 .mlp-lb .cta-patreon .elementor-button{min-height:40px;padding:0 18px;font-size:0.8125rem}
  body.elementor-page-15 .mlp-lb__cta-note{font-size:0.6875rem}
}
@container (max-height:230px){
  body.elementor-page-15 .mlp-lb__cta-in{gap:5px}
  body.elementor-page-15 .mlp-lb__cta-h{font-size:0.75rem}
  body.elementor-page-15 .mlp-lb .cta-patreon .elementor-button{min-height:34px;padding:0 14px;font-size:0.75rem}
  body.elementor-page-15 .mlp-lb__cta-note{font-size:0.625rem}
}
@container (max-width:230px){
  body.elementor-page-15 .mlp-lb .cta-patreon .elementor-button{padding:0 14px;font-size:0.75rem}
  body.elementor-page-15 .mlp-lb__cta-h{font-size:0.8125rem}
}

body.elementor-page-15 .mlp-lb__btn{
  -webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  min-width:46px;height:46px;margin:0;padding:0 12px;
  border:1px solid rgba(255,255,255,0.16);border-radius:999px;background:rgba(255,255,255,0.08);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  color:#fff;font:600 0.875rem/1 var(--mlp-font);text-decoration:none;cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .15s ease;-webkit-tap-highlight-color:transparent;
}
body.elementor-page-15 .mlp-lb__btn:hover{background:linear-gradient(90deg,var(--accent-grad-start),var(--accent-grad-end));border-color:transparent;color:#fff}
body.elementor-page-15 .mlp-lb__btn:active{transform:scale(0.95)}
body.elementor-page-15 .mlp-lb__btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
body.elementor-page-15 .mlp-lb__btn:disabled{opacity:0.4;cursor:default;background:rgba(255,255,255,0.06);transform:none}
body.elementor-page-15 .mlp-lb__btn[hidden]{display:none}
body.elementor-page-15 .mlp-lb__close{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:3;width:48px;height:48px;padding:0}
body.elementor-page-15 .mlp-lb__nav{position:absolute;top:50%;z-index:3;width:48px;height:48px;margin-top:-24px;padding:0}
body.elementor-page-15 .mlp-lb__prev{left:max(12px,env(safe-area-inset-left))}
body.elementor-page-15 .mlp-lb__next{right:max(12px,env(safe-area-inset-right))}
body.elementor-page-15 .mlp-lb__bar{
  position:absolute;left:50%;bottom:max(14px,env(safe-area-inset-bottom));z-index:3;transform:translateX(-50%);
  box-sizing:border-box;width:min(calc(100% - 24px),720px);
  display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 12px;
  border:1px solid rgba(255,255,255,0.12);border-radius:22px;background:rgba(255,255,255,0.07);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
body.elementor-page-15 .mlp-lb__cap{margin:0;text-align:center;font-size:0.9375rem;font-weight:600;line-height:1.35;color:#fff}
body.elementor-page-15 .mlp-lb__count{display:block;margin-top:2px;font-size:0.75rem;font-weight:500;letter-spacing:0.04em;color:var(--text-muted)}
body.elementor-page-15 .mlp-lb__tools{display:flex;align-items:center;gap:8px}
body.elementor-page-15 .mlp-lb__pct{min-width:76px}
@media (min-width:768px){
  body.elementor-page-15 .mlp-lb{--lb-side:92px;--lb-top:72px;--lb-bot:100px}
  body.elementor-page-15 .mlp-lb__bar{flex-direction:row;justify-content:space-between;gap:16px;padding:10px 12px 10px 18px}
  body.elementor-page-15 .mlp-lb__cap{flex:1 1 auto;text-align:left}
}

/* landscape phones: give the photo more room (side arrows like tablets, a slim one-row bar); only the button stays on the
   blur (heading + checkout line hidden), 20% smaller than the normal button */
@media (orientation:landscape) and (max-height:520px) and (max-width:767px){
  body.elementor-page-15 .mlp-lb{--lb-side:92px;--lb-top:56px;--lb-bot:92px}
  body.elementor-page-15 .mlp-lb__bar{flex-direction:row;justify-content:space-between;gap:16px;padding:8px 12px 8px 18px;border-radius:18px}
  body.elementor-page-15 .mlp-lb__cap{flex:1 1 auto;text-align:left}
  body.elementor-page-15 .mlp-lb__cta-h,body.elementor-page-15 .mlp-lb__cta-note{display:none}
  body.elementor-page-15 .mlp-lb .cta-patreon .elementor-button{min-height:38px;padding:0 19px;font-size:0.75rem}
}

@media (prefers-reduced-motion:reduce){
  body.elementor-page-15 .mlp-car__card,body.elementor-page-15 .mlp-car__veil::before,body.elementor-page-15 .mlp-car__veil i,body.elementor-page-15 .mlp-car__card img,body.elementor-page-15 .mlp-car__hint,body.elementor-page-15 .mlp-car__cap,body.elementor-page-15 .mlp-car__bg,body.elementor-page-15 .mlp-car__bg img,body.elementor-page-15 .mlp-lb,body.elementor-page-15 .mlp-lb__img,body.elementor-page-15 .mlp-lb__btn{transition:none !important}
}
/* @@MLP-CAR-END */


/* @@MLP-GLASS2-START ==========================================================
   "Margo" glass, applied exactly as specified (mcl-glass-outer / mcl-glass-inner):

     outer  (hero card, sneak-peek card, final card)
       background rgba(255,255,255,.04) | border 1px rgba(255,255,255,.08) | radius 28px
       backdrop-filter blur(16px) (+ -webkit-) | shadow 0 0 60px rgba(240,42,74,.12) | border-box
     inner  (the pricing card)
       background rgba(255,255,255,.05) | same border / blur / shadow | radius 20px

   The sticky header bar uses the inner variant (a slim bar suits the smaller radius).

   Mobile (<768px) keeps the performance/size tuning from the original brief
   (blur 12px, radius 20px outer / 16px inner); everything else is as above.
   This block replaces the earlier plum-gradient glass (it comes last, so it wins).
   ========================================================================== */

/* ---- 1. the glass ---- */
body.elementor-page-15 .elementor-element.mlp-hero.mlp-glass,
body.elementor-page-15 .elementor-element.mlp-peek.mlp-glass,
body.elementor-page-15 .elementor-element.mlp-cta.mlp-glass{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:28px;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  box-shadow:0 0 60px rgba(240,42,74,0.12);
  box-sizing:border-box;
}
body.elementor-page-15 .elementor-element.mlp-price.mlp-glass--inner,
body.elementor-page-15 .elementor-element.mlp-header.mlp-glass{
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:20px;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  box-shadow:0 0 60px rgba(240,42,74,0.12);
  box-sizing:border-box;
}
@media (max-width:767px){
  body.elementor-page-15 .elementor-element.mlp-hero.mlp-glass,
  body.elementor-page-15 .elementor-element.mlp-peek.mlp-glass,
  body.elementor-page-15 .elementor-element.mlp-cta.mlp-glass{
    border-radius:20px;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
  }
  body.elementor-page-15 .elementor-element.mlp-price.mlp-glass--inner{
    border-radius:16px;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
  }
  body.elementor-page-15 .elementor-element.mlp-header.mlp-glass{
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
  }
}

/* ---- 2. fallbacks (re-stated here because this block now wins over the earlier ones) ---- */
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  body.elementor-page-15 .elementor-element.mlp-hero.mlp-glass,
  body.elementor-page-15 .elementor-element.mlp-peek.mlp-glass,
  body.elementor-page-15 .elementor-element.mlp-cta.mlp-glass{background:var(--card)}
  body.elementor-page-15 .elementor-element.mlp-price.mlp-glass--inner,
  body.elementor-page-15 .elementor-element.mlp-header.mlp-glass{background:var(--card-inner)}
}
@media (prefers-reduced-transparency:reduce){
  body.elementor-page-15 .elementor-element.mlp-hero.mlp-glass,
  body.elementor-page-15 .elementor-element.mlp-peek.mlp-glass,
  body.elementor-page-15 .elementor-element.mlp-cta.mlp-glass{background:var(--card);-webkit-backdrop-filter:none;backdrop-filter:none}
  body.elementor-page-15 .elementor-element.mlp-price.mlp-glass--inner,
  body.elementor-page-15 .elementor-element.mlp-header.mlp-glass{background:var(--card-inner);-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* ---- 3. layering for the hearts system ----
   The hearts HTML widget needs NO stacking context between its two fixed layers and the page root:
     back hearts  z0   -> behind the cards, visible THROUGH the glass (what the blur shows)
     cards        z1
     front hearts z2   -> soft bokeh hearts over the content
     sticky header z50 -> above everything
   So the widget wrapper stops being absolutely positioned / z-indexed, the wrapper container
   stops creating a stacking context, and the three cards carry the z1 themselves. */
body.elementor-page-15 .elementor-element.mlp-hearts-widget{position:static;inset:auto;z-index:auto;overflow:visible;width:auto}
body.elementor-page-15 .elementor-element.mlp-wrap{z-index:auto}
body.elementor-page-15 .elementor-element.mlp-hero.mlp-glass,
body.elementor-page-15 .elementor-element.mlp-peek.mlp-glass,
body.elementor-page-15 .elementor-element.mlp-cta.mlp-glass{position:relative;z-index:1}
/* @@MLP-GLASS2-END *//* End custom CSS */