:root{--lf-cream:#F1EEE3;--lf-ink:#17130C;--lf-ocre:#E8A33C;--lf-ember:#C0531C;--lf-ember-hover:#D65F22;--lf-glow:0 0 28px rgba(192,83,28,.8)}
/* ---------- keyframes ---------- */
@keyframes lfEmberRise{0%{transform:translateY(0) scale(1);opacity:0}12%{opacity:1}100%{transform:translateY(-52vh) scale(.25);opacity:0}}
@keyframes lfHeatPulse{0%,100%{opacity:.55}50%{opacity:.9}}
@keyframes lfHeatBed{0%,100%{transform:scaleY(.6);opacity:.5}50%{transform:scaleY(1);opacity:.95}}
/* ---------- hero dark ---------- */
.lf-hero{position:relative;overflow:hidden;background:var(--lf-ink)}
.lf-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;z-index:3;background:linear-gradient(90deg,var(--lf-ember),var(--lf-ocre),var(--lf-ember))}
.lf-hero .lf-fx-layer{position:absolute;inset:0;z-index:0;pointer-events:none}
.lf-hero>.e-con-inner{position:relative;z-index:2}
.lf-dark-radials{background:radial-gradient(60% 50% at 30% 100%,rgba(192,83,28,.38),transparent 70%),radial-gradient(50% 45% at 75% 100%,rgba(232,163,60,.28),transparent 72%),var(--lf-ink)!important}
.lf-spark{position:absolute;border-radius:50%;filter:blur(.3px);box-shadow:0 0 6px currentColor;animation-name:lfEmberRise;animation-timing-function:ease-out;animation-iteration-count:infinite;opacity:0}
.lf-heat-halo{position:absolute;left:50%;bottom:-10%;width:80%;height:60%;transform:translateX(-50%);background:radial-gradient(circle,rgba(192,83,28,.5),transparent 65%);filter:blur(30px);animation:lfHeatPulse 4.5s ease-in-out infinite}
.lf-float{position:absolute;pointer-events:none;will-change:transform}
.lf-float-ring{border:2px solid rgba(232,163,60,.4);border-radius:50%}
.lf-float-halo{background:radial-gradient(circle,rgba(232,163,60,.18),transparent 70%);border-radius:50%}
.lf-float-diamond{border:2px solid rgba(192,83,28,.45);transform:rotate(45deg);border-radius:4px}
/* ---------- typography helpers ---------- */
.lf-kicker .elementor-heading-title,.lf-kicker{font-family:'Archivo Narrow',sans-serif!important;text-transform:uppercase;letter-spacing:.28em;color:var(--lf-ocre)!important;font-weight:700}
.lf-title .elementor-heading-title,.lf-title{font-family:'Archivo Narrow',sans-serif!important;text-transform:uppercase;letter-spacing:.06em;font-weight:700;line-height:1}
.lf-slogan .elementor-heading-title,.lf-slogan{font-family:'Archivo Narrow',sans-serif!important;text-transform:uppercase;letter-spacing:.18em;color:var(--lf-ocre)!important;font-weight:700}
/* ---------- buttons ---------- */
.lf-btn-ember .elementor-button,.lf-btn-ember a.elementor-button{background:var(--lf-ember)!important;color:#fff!important;border-radius:2px!important;font-family:'Archivo Narrow',sans-serif!important;text-transform:uppercase;letter-spacing:.14em;font-weight:700;transition:all .25s ease}
.lf-btn-ember .elementor-button:hover{background:var(--lf-ember-hover)!important;box-shadow:var(--lf-glow);transform:translateY(-2px)}
.lf-btn-outline .elementor-button,.lf-btn-outline a.elementor-button{background:transparent!important;color:var(--lf-ocre)!important;border:1.5px solid var(--lf-ocre)!important;border-radius:2px!important;font-family:'Archivo Narrow',sans-serif!important;text-transform:uppercase;letter-spacing:.14em;font-weight:700;transition:all .25s ease}
.lf-btn-outline .elementor-button:hover{background:var(--lf-ocre)!important;color:var(--lf-ink)!important}
.lf-btn-dark .elementor-button{background:var(--lf-ink)!important;color:var(--lf-ocre)!important;border-radius:2px!important;font-family:'Archivo Narrow',sans-serif!important;text-transform:uppercase;letter-spacing:.14em;font-weight:700}
.lf-btn-dark .elementor-button:hover{color:#fff!important;box-shadow:var(--lf-glow)}
/* ---------- chips ---------- */
.lf-chip .elementor-heading-title,.lf-chip{display:inline-block;border:1px solid rgba(23,19,12,.25);border-radius:999px;padding:6px 16px;font-size:14px;font-weight:600;letter-spacing:.02em}
.lf-chip-dark .elementor-heading-title{border-color:rgba(255,255,255,.25);color:var(--lf-cream)}
/* ---------- pillars ---------- */
.lf-pillar{background:var(--lf-cream);border:1px solid var(--lf-ink);border-top:5px solid var(--lf-ocre)!important;border-radius:2px}
.lf-pillar .lf-pillar-num .elementor-heading-title{font-family:'Archivo Narrow',sans-serif;color:var(--lf-ocre);font-size:40px;font-weight:700;line-height:1}
/* ---------- offer cards ---------- */
.lf-card{background:var(--lf-cream);border-radius:2px;border-top:5px solid var(--lf-ocre)!important;box-shadow:0 10px 40px rgba(23,19,12,.12)}
.lf-card-ember{border-top-color:var(--lf-ember)!important}
/* ---------- round photo ---------- */
.lf-photo-circle img{border-radius:50%!important;object-fit:cover;box-shadow:0 0 0 8px rgba(232,163,60,.15),0 0 0 18px rgba(232,163,60,.08)}
/* ---------- lead magnet band ---------- */
.lf-ember-bg{position:relative;overflow:hidden}
.lf-ember-bg>.e-con-inner{position:relative;z-index:2}
/* ---------- brasier poster + hotspots ---------- */
.lf-poster{position:relative;display:inline-block;cursor:zoom-in}
.lf-poster img{display:block;border:2px solid var(--lf-ink);box-shadow:12px 12px 0 rgba(23,19,12,.85)}
.lf-hotspot{position:absolute;overflow:hidden;background-repeat:no-repeat;background-size:0 0;transition:transform .3s ease,box-shadow .3s ease;z-index:2}
.lf-hotspot::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:8px;background:radial-gradient(ellipse at center,rgba(192,83,28,.9),transparent 70%);filter:blur(3px);animation:lfHeatBed 2.6s ease-in-out infinite}
.lf-hotspot:hover{transform:scale(2.2);box-shadow:0 0 30px rgba(0,0,0,.6);z-index:5}
/* ---------- lightbox ---------- */
.lf-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(23,19,12,.92);display:flex;align-items:center;justify-content:center;padding:4vh 4vw;cursor:zoom-out;animation:lfFade .25s ease}
@keyframes lfFade{from{opacity:0}to{opacity:1}}
.lf-lightbox img{max-width:100%;max-height:92vh;border:2px solid var(--lf-ocre)}
.lf-lightbox-close{position:absolute;top:18px;right:24px;background:none;border:none;color:var(--lf-cream);font-size:44px;line-height:1;cursor:pointer}
/* ---------- section separators ---------- */
.lf-sep-ember{height:4px;background:linear-gradient(90deg,var(--lf-ember),var(--lf-ocre),var(--lf-ember));width:100%}
/* ---------- header / menu (Xpro) polish ---------- */
.lf-menu-cta a{background:var(--lf-ember)!important;color:#fff!important;border-radius:999px!important;padding:10px 22px!important;text-transform:uppercase;letter-spacing:.1em;font-weight:700;transition:all .25s ease}
.lf-menu-cta a:hover{background:var(--lf-ember-hover)!important;box-shadow:var(--lf-glow)}
/* ---------- responsive ---------- */
@media(max-width:767px){.lf-poster img{box-shadow:6px 6px 0 rgba(23,19,12,.85)}.lf-hotspot:hover{transform:scale(1.8)}}

/* ---- brasier extras ---- */
.lf-content-card{background:var(--lf-cream);border-left:4px solid var(--lf-ember);border-radius:2px;box-shadow:0 6px 24px rgba(23,19,12,.08)}
.lf-price-tile{background:var(--lf-cream);border:1px solid rgba(23,19,12,.18);border-radius:2px;text-align:center}
.lf-price-tile-dark{background:var(--lf-ink);border-radius:2px;text-align:center}
.lf-price-tile-dark .elementor-heading-title{color:var(--lf-cream)!important}
.lf-note .elementor-widget-container{color:#5A5140;font-size:14px;font-style:italic}

/* ---- mega menu ---- */
.lf-header{position:relative}
.lf-mega-trigger .elementor-heading-title{cursor:pointer;color:var(--lf-cream);font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:1px;font-weight:700;font-size:15px}
.lf-mega-trigger .elementor-heading-title::after{content:' \25BE';color:var(--lf-ocre)}
.lf-mega-trigger:hover .elementor-heading-title{color:var(--lf-ocre)}
.lf-mega-panel{position:absolute;left:0;right:0;top:100%;background:rgba(23,19,12,.98);border-top:3px solid var(--lf-ember);box-shadow:0 30px 60px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .28s ease,transform .28s ease,visibility .28s;z-index:998;pointer-events:none}
.lf-mega-panel.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.lf-mega-blurb{transition:transform .2s ease}
.lf-mega-blurb:hover{transform:translateY(-4px)}
.lf-mega-blurb .elementor-icon-box-title,.lf-mega-blurb .elementor-icon-box-title a{color:var(--lf-cream)!important;font-family:'Archivo Narrow',sans-serif!important;text-transform:uppercase;letter-spacing:.04em}
.lf-mega-blurb .elementor-icon-box-description{color:#C9BFA8!important;font-size:14px;line-height:1.6}
.lf-mega-blurb .elementor-icon i{color:var(--lf-ocre)!important}
@media(max-width:1024px){.lf-mega-trigger,.lf-mega-panel{display:none!important}}

/* ---- popup ---- */
.lf-popup-card .wpforms-field-label{color:#F1EEE3!important}
.lf-popup-card input.wpforms-field-large{background:rgba(255,255,255,.06);border:1px solid rgba(232,163,60,.4);color:#F1EEE3;border-radius:2px}
.lf-popup-card input::placeholder{color:#B7AD97}
.lf-popup-card .wpforms-submit{background:#C0531C!important;color:#fff!important;border-radius:2px!important;text-transform:uppercase;letter-spacing:.1em;font-family:'Archivo Narrow',sans-serif!important;font-weight:700}
.lf-popup-card .wpforms-submit:hover{background:#D65F22!important;box-shadow:0 0 24px rgba(192,83,28,.7)}
