/* =========================================================
   LEADIFY — Global styles (paste once)
   Where: Appearance > Customize > Additional CSS
          (or Elementor > Site Settings > Custom CSS, or WPCode "CSS snippet")
   Every class is prefixed .ld- so it won't clash with Elementor/theme styles.
   To change the whole look, edit only the tokens in :root below.
   Palette sampled from enhmedia.com: signal red on near-black with a deep red glow.
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root{
  /* Colour tokens — swap these to retheme everything */
  --ld-ink:#070606;          /* page background (dark) */
  --ld-ink-2:#120A0B;        /* raised surfaces / cards */
  --ld-ink-3:#272324;        /* borders + lines on dark */
  --ld-glow:#3D0D10;         /* deep red glow behind heroes */
  --ld-card:#171717;         /* big rounded cards, menu card, form card */
  --ld-card-line:#232323;    /* card borders */
  --ld-line-2:#2E2E2E;       /* lines inside cards (form fields, bullet rows) */
  --ld-menu:#101010;         /* full-screen menu background */
  --ld-intro-glow:#141010;
  --ld-paper:#F7F7F5;        /* light sections background */
  --ld-paper-2:#E4E2DE;      /* light borders */
  --ld-text:#F7F7F5;         /* text on dark */
  --ld-text-dim:#A3A39E;     /* secondary text on dark */
  --ld-text-ink:#110607;     /* text on light */
  --ld-accent:#E8000D;       /* brand red (buttons, highlights) */
  --ld-accent-rgb:232,0,13;
  --ld-accent-ink:#FFFFFF;   /* text placed on red */

  /* Type: one family, heavy uppercase headings */
  --ld-font:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --ld-mono:'Inter',system-ui,sans-serif;

  /* Layout + motion */
  --ld-max:1560px;
  --ld-gutter:clamp(16px,9vw,176px);
  --ld-radius:16px;
  --ld-ease:cubic-bezier(.22,1,.36,1);
}
@media(max-width:1200px){:root{--ld-gutter:clamp(16px,4vw,48px)}}

/* Light theme (moon button in the header toggles html.ld-light).
   Warm off-white with a soft vignette, near-black headings, red stays red. */
html.ld-light{--ld-ink:#EBE8E4;--ld-ink-2:#F4F2EF;--ld-ink-3:#D6D2CC;--ld-glow:#F8F7F5;--ld-intro-glow:#F8F7F5;--ld-card:#F4F2EF;--ld-card-line:#DCD8D2;--ld-line-2:#D3CEC7;--ld-menu:#EBE8E4;--ld-text:#141111;--ld-text-dim:#46423E;--ld-paper:#EBE8E4}
html.ld-light body.ld-body{background:#EBE8E4}
html.ld-light .ld-section{background-image:radial-gradient(70% 90% at 50% 50%,rgba(255,255,255,.55),transparent 70%)}
html.ld-light .ld-section.ld-grid-bg{background-image:radial-gradient(70% 90% at 50% 50%,rgba(255,255,255,.55),transparent 70%),linear-gradient(rgba(0,0,0,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.035) 1px,transparent 1px);background-size:auto,96px 96px,96px 96px}
html.ld-light .ld-glow-bg::after{opacity:.8}
html.ld-light .ld-btn--accent:hover{box-shadow:0 10px 30px -8px rgba(var(--ld-accent-rgb),.5)}
html.ld-light .ld-float__tab,html.ld-light .ld-float__wa{box-shadow:0 10px 30px -10px rgba(var(--ld-accent-rgb),.55)}

/* ---------- Base ---------- */
.ld-root,.ld-root *{box-sizing:border-box}
body.ld-body{margin:0;background:var(--ld-ink);color:var(--ld-text);font-family:var(--ld-font);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .4s}
.ld-section{position:relative;padding:clamp(80px,10vw,150px) 0;background-color:var(--ld-ink);color:var(--ld-text);font-family:var(--ld-font);transition:background-color .4s,color .4s}
.ld-section--light{background-color:var(--ld-paper);color:var(--ld-text-ink)}
.ld-wrap{position:relative;width:100%;max-width:var(--ld-max);margin:0 auto;padding:0 var(--ld-gutter)}
.ld-root a{color:inherit;text-decoration:none}
.ld-root img{max-width:100%;display:block}
.ld-root h1,.ld-root h2,.ld-root h3,.ld-root h4,.ld-root p{margin:0;font-family:var(--ld-font)}

/* Faint grid + red glow backgrounds */
.ld-grid-bg{background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:96px 96px}
.ld-glow-bg::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 70% at 50% 45%,var(--ld-glow),transparent 75%);opacity:.95;z-index:0}
.ld-glow-bg>*{position:relative;z-index:1}

/* ---------- Type scale ---------- */
.ld-eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:clamp(13px,1vw,17px);font-weight:600;letter-spacing:0;text-transform:uppercase;color:var(--ld-text-dim)}
.ld-section--light .ld-eyebrow{color:#5E5A57}
.ld-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ld-accent)}
.ld-h1{font-size:clamp(40px,4.6vw,64px);line-height:1.02;letter-spacing:-.01em;font-weight:800;text-transform:uppercase}
.ld-h2{font-size:clamp(32px,4vw,58px);line-height:1.04;letter-spacing:-.01em;font-weight:800;text-transform:uppercase}
.ld-h3{font-size:clamp(20px,1.6vw,26px);line-height:1.2;letter-spacing:-.01em;font-weight:700}
.ld-serif{color:var(--ld-accent)}            /* highlight words in red (kept the old class name) */
.ld-lead{font-size:clamp(17px,1.2vw,20px);line-height:1.65;color:var(--ld-text-dim);max-width:56ch}
.ld-section--light .ld-lead{color:#4A4643}
.ld-num{font-size:14px;font-weight:600;color:var(--ld-accent)}

/* ---------- Buttons: red pill ---------- */
.ld-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;border-radius:999px;font:500 17px/1 var(--ld-font);overflow:hidden;cursor:pointer;border:0;white-space:nowrap;transition:transform .5s var(--ld-ease),box-shadow .4s,background .3s,color .3s}
.ld-btn span{position:relative;z-index:1}
.ld-btn .ld-btn__dot{display:inline-grid;place-items:center;width:auto;height:auto;transition:transform .4s var(--ld-ease)}
.ld-btn:hover .ld-btn__dot{transform:translateX(3px) rotate(-45deg)}
.ld-root .ld-btn--accent,.ld-btn--accent{background:var(--ld-accent);color:var(--ld-accent-ink)}
.ld-btn--accent:hover{box-shadow:0 10px 40px -8px rgba(var(--ld-accent-rgb),.7)}
.ld-root .ld-btn--ghost,.ld-btn--ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.ld-btn--ghost:hover{background:var(--ld-accent);color:#fff;box-shadow:inset 0 0 0 1.5px var(--ld-accent)}
.ld-btn::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.14);transform:translateX(-101%);transition:transform .5s var(--ld-ease)}
.ld-btn:hover::after{transform:translateX(0)}
.ld-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;border-bottom:1.5px solid var(--ld-accent);padding-bottom:4px}

/* ---------- Scroll reveal (driven by 00-global.js) ----------
   Elements only start hidden once the script has run (html.ld-js), so content
   never stays invisible if a caching/optimisation plugin delays or blocks the JS. */
html.ld-js .ld-reveal{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ld-ease),transform 1s var(--ld-ease)}
html.ld-js .ld-reveal.is-in{opacity:1;transform:none}
.ld-split .ld-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}
.ld-split .ld-w>i{display:inline-block;font-style:inherit;transform:translateY(105%);transition:transform 1s var(--ld-ease)}
.ld-split.is-in .ld-w>i{transform:none}
@media (prefers-reduced-motion:reduce){
  .ld-reveal,.ld-split .ld-w>i{opacity:1!important;transform:none!important;transition:none!important}
  .ld-marquee__track{animation:none!important}
}

/* ---------- Scroll-lit paragraph (see 04-intro.html) ---------- */
.ld-lw{color:rgba(247,247,245,.22);transition:color .35s}
.ld-lw.is-lit{color:var(--ld-text)}
.ld-lw--hl.is-lit{color:var(--ld-accent)}
html.ld-light .ld-lw{color:#8A8580}
html.ld-light .ld-lw.is-lit{color:#2A2A2A}
html.ld-light .ld-lw--hl.is-lit{color:var(--ld-accent)}

/* ---------- Marquee (shared) ---------- */
.ld-marquee{overflow:hidden;white-space:nowrap;padding:22px 0}
.ld-marquee__track{display:inline-flex;gap:72px;animation:ld-marquee 32s linear infinite;will-change:transform}
.ld-marquee__item{display:inline-flex;align-items:center;gap:72px;font-size:clamp(26px,3.4vw,52px);font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
.ld-marquee__item .ld-star{color:var(--ld-accent);font-size:.6em}
@keyframes ld-marquee{to{transform:translateX(-50%)}}

/* ---------- Floating Contact tab + WhatsApp (see 16-floating-contact.html) ---------- */
.ld-float{position:fixed;right:28px;top:50%;z-index:900;display:flex;flex-direction:column;align-items:center;gap:14px;transform:translateY(-30%);font-family:var(--ld-font)}
.ld-float__tab{outline:1px solid rgba(255,255,255,.22);outline-offset:-1px;writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:center;gap:12px;padding:20px 16px;border-radius:16px;background:var(--ld-accent);color:#fff;font-weight:800;font-size:18px;letter-spacing:.04em;box-shadow:0 10px 30px -10px rgba(var(--ld-accent-rgb),.8);transition:padding .3s}
.ld-float__tab:hover{padding-bottom:26px}
.ld-float__wa{position:relative;width:70px;height:70px;border-radius:50%;background:var(--ld-accent);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 0 rgba(var(--ld-accent-rgb),.6);animation:ld-ping 2.2s infinite}
.ld-float__wa b{position:absolute;top:-4px;right:-4px;width:24px;height:24px;border-radius:50%;background:#fff;color:var(--ld-accent);font-size:13px;display:grid;place-items:center;border:2px solid var(--ld-accent)}
@keyframes ld-ping{70%{box-shadow:0 0 0 18px rgba(var(--ld-accent-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--ld-accent-rgb),0)}}
@media(max-width:760px){.ld-float{right:14px;top:auto;bottom:18px;transform:none}.ld-float__tab{display:none}.ld-float__wa{width:58px;height:58px}}

/* ---------- Section label: "THE CRAFT ✦ ————" ---------- */
.ld-eyebrow--line{display:flex;width:100%}
.ld-eyebrow--line::before{display:none}
.ld-eyebrow--line::after{content:"";flex:1;height:1px;background:var(--ld-ink-3);margin-left:4px}
.ld-section--light .ld-eyebrow--line::after{background:var(--ld-paper-2)}
.ld-eyebrow--line>.ld-star{color:var(--ld-accent);font-size:18px;line-height:1}
.ld-root.ld-float .ld-float__tab,.ld-root.ld-float .ld-float__wa{color:#fff}

/* Red buttons always keep white text, even inside links that turn red on hover */
.ld-root .ld-btn--accent:hover,.ld-root .ld-btn--accent:focus-visible{color:var(--ld-accent-ink)}

/* Text selection: red with white text */
::selection{background:var(--ld-accent);color:#fff}
::-moz-selection{background:var(--ld-accent);color:#fff}

/* Inside page-builder editors, show everything straight away (no scroll animations) */
body.elementor-editor-active .ld-reveal,.elementor-editor-active .ld-reveal,.editor-styles-wrapper .ld-reveal,.block-editor-iframe__body .ld-reveal{opacity:1!important;transform:none!important}
body.elementor-editor-active .ld-split .ld-w>i,.editor-styles-wrapper .ld-split .ld-w>i{transform:none!important}
body.elementor-editor-active .ld-preloader,.editor-styles-wrapper .ld-preloader{display:none!important}

/* ---------- Theme glue: pasted HTML blocks sit edge to edge ---------- */
.ld-content{display:block}
.ld-content>*,.ld-content .wp-block-html{margin:0!important;max-width:none!important}
.ld-content>p:empty{display:none}
.ld-content .elementor-widget-html,.ld-content .elementor-widget-html .elementor-widget-container{margin:0;padding:0}
.ld-content .elementor-section,.ld-content .e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
/* blog / plain pages */
.ld-prose{max-width:860px}
.ld-post{padding:36px 0;border-bottom:1px solid var(--ld-ink-3)}
.ld-post__body{margin-top:32px;font-size:18px;line-height:1.75;color:var(--ld-text-dim)}
.ld-post__body h2,.ld-post__body h3{color:var(--ld-text);margin:1.6em 0 .6em}
.ld-post__body a{color:var(--ld-accent)}
.ld-post__body img{border-radius:var(--ld-radius);height:auto}

/* Form status after sending (theme forms feature) */
.ld-form-status{margin:18px 0 0!important;padding:14px 18px!important;border-radius:12px;font-size:15px;line-height:1.5}
.ld-form-status:empty{display:none}
.ld-form-status.is-ok{background:rgba(var(--ld-accent-rgb),.12);border:1px solid rgba(var(--ld-accent-rgb),.45);color:var(--ld-text)}
.ld-form-status.is-err{border:1px solid #ff5a5f;color:#ff7a7e}
html.ld-light .ld-form-status.is-err{color:#C4000B;border-color:#C4000B}
form.is-sending [type="submit"]{opacity:.65;pointer-events:none}
