/* Level Up Design — brand system (cinematic teal & amber) */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Hanken+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root{
  --lud-bg:#0A0D10; --lud-bg1:#0E1319; --lud-surface:#141B22; --lud-surface2:#1B242D;
  --lud-line:rgba(150,170,190,.14); --lud-ink:#EAF0F5; --lud-muted:#93A1AE;
  --lud-teal:#37E0C4; --lud-amber:#FFAE5C;
  --lud-grad:linear-gradient(120deg,#37E0C4 0%,#6de0b0 45%,#FFAE5C 100%);
}

/* Front-end dark base */
body.lud, body.elementor-page{ background:var(--lud-bg); color:var(--lud-ink); }
body.elementor-page .elementor-heading-title{ font-family:'Sora',sans-serif; letter-spacing:-.02em; line-height:1.1; color:var(--lud-ink); }
body.elementor-page, body.elementor-page p, body.elementor-page li{ font-family:'Hanken Grotesk',sans-serif; }
body.elementor-page p{ color:var(--lud-muted); line-height:1.7; }

/* Eyebrow (mono label) */
.lud-eyebrow .elementor-heading-title{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--lud-teal); }
.lud-eyebrow .elementor-heading-title::before{ content:''; display:inline-block; width:26px; height:1px; background:var(--lud-teal); vertical-align:middle; margin-right:.7rem; opacity:.7; }

/* Gradient text heading */
.lud-grad .elementor-heading-title{ background:var(--lud-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }

/* Mono utility */
.lud-mono .elementor-heading-title{ font-family:'JetBrains Mono',monospace; letter-spacing:.14em; text-transform:uppercase; color:var(--lud-amber); font-size:.72rem; }

/* Cards / surfaces via container class */
.lud-card{ background:var(--lud-surface)!important; border:1px solid var(--lud-line); border-radius:18px; transition:transform .3s,border-color .3s; }
.lud-card:hover{ transform:translateY(-5px); border-color:rgba(150,170,190,.28); }
.lud-surface2{ background:var(--lud-surface2)!important; }

/* Icon box tuning */
.lud-iconbox .elementor-icon-box-title{ font-family:'Sora',sans-serif; color:var(--lud-ink); }
.lud-iconbox .elementor-icon-box-description{ color:var(--lud-muted); }
.lud-iconbox .elementor-icon{ color:var(--lud-teal)!important; }

/* Image box tuning */
.lud-imgbox .elementor-image-box-title{ font-family:'Sora',sans-serif; color:var(--lud-ink); }
.lud-imgbox .elementor-image-box-description{ color:var(--lud-muted); }
.lud-imgbox img{ border-radius:14px; }

/* Icon list (checks) */
.lud-list .elementor-icon-list-text{ color:var(--lud-muted); }
.lud-list .elementor-icon-list-icon svg,.lud-list .elementor-icon-list-icon i{ color:var(--lud-teal); }

/* Chip */
.lud-chip .elementor-heading-title{ display:inline-block; font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--lud-teal); border:1px solid rgba(150,170,190,.28); border-radius:100px; padding:.3rem .8rem; }

/* Gradient button */
.lud-btn-grad .elementor-button{ background:var(--lud-grad); color:#06110e; border:none; font-family:'Sora',sans-serif; font-weight:600; border-radius:100px; box-shadow:0 10px 30px -12px rgba(55,224,196,.5); }
.lud-btn-grad .elementor-button:hover{ transform:translateY(-2px); }
.lud-btn-ghost .elementor-button{ background:transparent; color:var(--lud-ink); border:1px solid rgba(150,170,190,.3); border-radius:100px; font-family:'Sora',sans-serif; font-weight:600; }
.lud-btn-ghost .elementor-button:hover{ border-color:var(--lud-teal); color:var(--lud-teal); }

/* Timeline node number badge (heading) */
.lud-node .elementor-heading-title{ font-family:'JetBrains Mono',monospace; color:var(--lud-teal); font-size:.8rem; letter-spacing:.1em; }

/* Divider color */
.lud-div .elementor-divider-separator{ border-color:var(--lud-line)!important; }

/* WPForms dark styling */
.lud-form .wpforms-field-label{ color:var(--lud-ink)!important; font-family:'JetBrains Mono',monospace; font-size:.72rem!important; letter-spacing:.1em; text-transform:uppercase; }
.lud-form input,.lud-form textarea{ background:var(--lud-surface)!important; border:1px solid var(--lud-line)!important; color:var(--lud-ink)!important; border-radius:12px!important; }
.lud-form input:focus,.lud-form textarea:focus{ border-color:var(--lud-teal)!important; }
.lud-form button[type=submit]{ background:var(--lud-grad)!important; color:#06110e!important; border:none!important; border-radius:100px!important; font-family:'Sora',sans-serif!important; font-weight:600!important; }

/* Map dark */
.lud-map iframe{ filter:grayscale(.3) contrast(1.05) brightness(.85); border-radius:16px; }

/* Header / footer / brand */
.lud-brand a,.lud-brand .xpro-heading-title{ font-family:'Sora',sans-serif!important; font-weight:800!important; letter-spacing:-.02em; font-size:1.3rem; color:var(--lud-ink)!important; }
.lud-brand .xpro-highlight-text,.lud-brand .xpro-center-text{ background:var(--lud-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent!important; }
.lud-header{ position:sticky; top:0; z-index:999; backdrop-filter:blur(12px); }
.lud-menu .xpro-menu-list li a{ font-family:'Hanken Grotesk',sans-serif; font-weight:600; color:var(--lud-ink); }
.lud-menu .xpro-menu-list li a:hover{ color:var(--lud-teal); }
.lud-footer-link a,.lud-footer-link .elementor-heading-title{ color:var(--lud-muted); font-family:'Hanken Grotesk',sans-serif; }
.lud-footer-link a:hover{ color:var(--lud-teal); }
.lud-social .elementor-social-icon,.lud-social a{ background:var(--lud-surface)!important; color:var(--lud-ink)!important; }
.lud-social .elementor-social-icon:hover{ background:var(--lud-teal)!important; color:#06110e!important; }
/* Sticky Xpro header */
header.xpro-theme-builder-header{ position:sticky; top:0; z-index:999; }
/* Force dark canvas through Astra wrappers */
html{ background:#0A0D10; }
body.elementor-page #content,body.elementor-page .site-content,body.elementor-page .ast-container,body.elementor-page .site-primary,body.elementor-page #primary{ background:transparent!important; padding:0!important; max-width:100%!important; }
body.elementor-page .entry-content a{ color:var(--lud-teal); }
body.elementor-page .ast-separate-container .ast-article-single{ background:transparent!important; box-shadow:none!important; }
/* Section eyebrow spacing helper handled inline */
