/*
Theme Name:  Web Marketing Wizard
Theme URI:   https://webmarketingwizard.com
Description: Harry Potter–inspired web marketing agency theme. Dark magic meets digital mastery. Standalone parent theme, no dependencies.
Author:      Akshay Hooda
Author URI:  https://akshayhooda.com
Version:     1.0.0
Text Domain: wmw
Tags:        blog, portfolio, custom-logo, custom-menu, featured-images, dark
License:     GNU General Public License v2 or later
*/

/* ── GOOGLE FONTS ─────────────────────────────────────────────────────
   Cinzel Decorative = main display/logo (like wizard chapter titles)
   Cinzel = headings (elegant serif, feels ancient/authoritative)
   EB Garamond = body text (classic parchment-era serif)
   ──────────────────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&family=Cinzel:wght@400;600;700;900&family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&display=swap');

/* ── DESIGN TOKENS ────────────────────────────────────────────────────*/
:root {
  /* Core palette — dark magic */
  --midnight:   #0a0812;   /* deepest dark bg */
  --void:       #070510;   /* absolute dark */
  --dark:       #110e1c;   /* dark sections */
  --dark2:      #1a1528;   /* cards, surfaces */
  --dark3:      #231d35;   /* borders, dividers */
  --dark4:      #2e2645;   /* hover states */

  /* Gold — the magic accent */
  --gold:       #c9a84c;   /* primary gold */
  --gold2:      #e8c96d;   /* light gold / hover */
  --gold3:      #f5e09a;   /* palest gold / text on dark */
  --gold-dim:   #7d6630;   /* muted gold */
  --gold-glow:  rgba(201,168,76,.25);
  --gold-faint: rgba(201,168,76,.08);

  /* Parchment — for light surfaces */
  --parch:      #f5edd8;   /* cream parchment */
  --parch2:     #ede0c0;   /* darker parchment */
  --parch3:     #d4c49a;   /* border on parchment */

  /* Accent colours — house-inspired */
  --ruby:       #9b2335;   /* Gryffindor crimson */
  --ruby-tint:  rgba(155,35,53,.15);
  --sapphire:   #1a4e8a;   /* Ravenclaw blue */
  --sapphire-tint: rgba(26,78,138,.15);
  --emerald:    #1a6b44;   /* Slytherin green */
  --emerald-tint: rgba(26,107,68,.15);
  --amber:      #c47a1e;   /* Hufflepuff amber */

  /* Text */
  --text-light: #e8e0d0;   /* main text on dark */
  --text-mid:   #b8a88a;   /* secondary text */
  --text-dim:   #7a6e5a;   /* muted text */
  --text-dark:  #1a150f;   /* text on parchment */

  /* Typography */
  --fd: 'Cinzel Decorative', serif; /* display — logo only */
  --fh: 'Cinzel', serif;             /* headings */
  --fb: 'EB Garamond', Georgia, serif; /* body */

  /* Layout */
  --mw: 1200px;
  --mwn: 760px;
  --pad: 1.5rem;

  /* Radii */
  --rs: 3px;
  --rm: 6px;
  --rl: 12px;
  --rxl: 24px;

  /* Shadows */
  --sh-gold: 0 0 20px rgba(201,168,76,.2), 0 4px 16px rgba(0,0,0,.4);
  --sh-dark: 0 8px 32px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.3);
  --sh-card: 0 4px 24px rgba(0,0,0,.4), inset 0 1px 0 rgba(201,168,76,.1);

  /* Transitions */
  --t: .2s ease;
  --ts: .3s ease;
}

/* ── RESET ────────────────────────────────────────────────────────────*/
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { font-size:16px; scroll-behavior:smooth }
body {
  font-family:var(--fb);
  font-size:1.05rem;
  color:var(--text-light);
  background:var(--midnight)!important;
  background-image:none!important;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

/* Force out any parent theme */
html,body,#page,#content,#primary,#main,.site,.site-content,
.wp-site-blocks,.hentry { background:var(--midnight)!important; color:var(--text-light)!important }
.site-header,header.site-header,.main-navigation,#secondary { display:none!important }
#primary,.content-area { width:100%!important; max-width:none!important; float:none!important; margin:0!important; padding:0!important }

img { max-width:100%; height:auto; display:block }
a { color:var(--gold); text-decoration:none; transition:color var(--t) }
a:hover { color:var(--gold2) }
a:focus-visible { outline:2px solid var(--gold); outline-offset:3px; border-radius:var(--rs) }
ul,ol { padding-left:1.5rem }
li { margin-bottom:.35rem }

/* ── CONSTELLATION BACKGROUND ─────────────────────────────────────────
   CSS-only starfield via radial gradients + pseudo elements
   ──────────────────────────────────────────────────────────────────── */
.stars-bg {
  position:relative;
  overflow:hidden;
}
.stars-bg::before,.stars-bg::after {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
}
.stars-bg::before {
  background-image:
    radial-gradient(1px 1px at 10% 15%, rgba(255,255,255,.7) 0%, transparent 100%),
    radial-gradient(1px 1px at 25% 35%, rgba(255,255,255,.5) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 40% 10%, rgba(255,255,255,.8) 0%, transparent 100%),
    radial-gradient(1px 1px at 55% 50%, rgba(255,255,255,.4) 0%, transparent 100%),
    radial-gradient(1px 1px at 70% 20%, rgba(255,255,255,.6) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 80% 65%, rgba(255,255,255,.5) 0%, transparent 100%),
    radial-gradient(1px 1px at 90% 40%, rgba(255,255,255,.7) 0%, transparent 100%),
    radial-gradient(1px 1px at 15% 70%, rgba(255,255,255,.4) 0%, transparent 100%),
    radial-gradient(1px 1px at 35% 80%, rgba(255,255,255,.6) 0%, transparent 100%),
    radial-gradient(1px 1px at 60% 90%, rgba(255,255,255,.3) 0%, transparent 100%),
    radial-gradient(2px 2px at 85% 85%, rgba(201,168,76,.6) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 5% 50%, rgba(201,168,76,.4) 0%, transparent 100%),
    radial-gradient(1px 1px at 45% 60%, rgba(255,255,255,.5) 0%, transparent 100%),
    radial-gradient(1px 1px at 95% 10%, rgba(255,255,255,.6) 0%, transparent 100%),
    radial-gradient(1px 1px at 20% 90%, rgba(255,255,255,.4) 0%, transparent 100%);
  background-size:600px 600px, 800px 400px, 500px 700px, 900px 500px, 600px 800px,
    700px 600px, 400px 900px, 800px 700px, 500px 500px, 900px 400px,
    600px 600px, 700px 800px, 400px 600px, 900px 700px, 500px 900px;
  background-position:0 0, 100px 50px, 200px 100px, 300px 0, 50px 200px,
    400px 100px, 250px 300px, 350px 50px, 150px 400px, 450px 250px,
    0 400px, 500px 300px, 100px 500px, 300px 400px, 200px 250px;
}
.stars-bg::after {
  background:radial-gradient(ellipse at 30% 0%, rgba(201,168,76,.06) 0%, transparent 60%),
             radial-gradient(ellipse at 80% 100%, rgba(155,35,53,.05) 0%, transparent 50%);
}

/* ── MAGIC PARTICLES (floating dust) ─────────────────────────────────*/
@keyframes float-up {
  0%   { transform:translateY(0) rotate(0deg); opacity:0; }
  10%  { opacity:.7; }
  90%  { opacity:.3; }
  100% { transform:translateY(-120px) rotate(360deg); opacity:0; }
}
@keyframes twinkle {
  0%,100% { opacity:.3; transform:scale(1); }
  50%      { opacity:1; transform:scale(1.3); }
}
@keyframes shimmer {
  0%   { background-position:-200% 0; }
  100% { background-position: 200% 0; }
}
@keyframes glow-pulse {
  0%,100% { box-shadow:0 0 12px rgba(201,168,76,.3), 0 4px 16px rgba(0,0,0,.4); }
  50%     { box-shadow:0 0 28px rgba(201,168,76,.6), 0 8px 24px rgba(0,0,0,.5); }
}
@keyframes float {
  0%,100% { transform:translateY(0); }
  50%     { transform:translateY(-8px); }
}
@keyframes reveal-up {
  from { opacity:0; transform:translateY(30px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ── TYPOGRAPHY ───────────────────────────────────────────────────────*/
h1,h2,h3,h4,h5,h6 {
  font-family:var(--fh);
  color:var(--gold3);
  line-height:1.25;
  font-weight:600;
  letter-spacing:.03em;
  margin-bottom:.75rem;
}
h1 { font-size:clamp(2rem,5vw,3.5rem); font-weight:700 }
h2 { font-size:clamp(1.5rem,3.5vw,2.5rem) }
h3 { font-size:clamp(1.2rem,2.5vw,1.75rem) }
h4 { font-size:1.2rem }

p { margin-bottom:1.1rem; max-width:72ch; line-height:1.75 }
p:last-child { margin-bottom:0 }

blockquote {
  border-left:3px solid var(--gold);
  padding:.85rem 1.5rem;
  background:var(--gold-faint);
  border-radius:0 var(--rm) var(--rm) 0;
  font-style:italic;
  margin:1.5rem 0;
  color:var(--gold3);
}

/* Gold shimmer text effect */
.text-gold {
  background:linear-gradient(90deg, var(--gold-dim), var(--gold2), var(--gold), var(--gold3), var(--gold));
  background-size:200% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:shimmer 3s linear infinite;
}

/* Decorative divider */
.divider-magic {
  display:flex;
  align-items:center;
  gap:1rem;
  margin:1.5rem 0;
  color:var(--gold-dim);
  font-size:.8rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-family:var(--fh);
}
.divider-magic::before,.divider-magic::after {
  content:'';
  flex:1;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--gold-dim), transparent);
}

/* ── LAYOUT ───────────────────────────────────────────────────────────*/
.wrap { width:100%; max-width:var(--mw); margin:0 auto; padding:0 var(--pad) }
.wrap-n { max-width:var(--mwn) }
.section { padding:5rem 0; position:relative }
.section-sm { padding:3rem 0; position:relative }
.section-lg { padding:7rem 0; position:relative }

.g2 { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); gap:2rem }
.g3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem }
.g4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem }
.col-2 { display:grid; grid-template-columns:1fr 340px; gap:3rem; align-items:start }

.tc { text-align:center }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap }

/* ── SKIP LINK ────────────────────────────────────────────────────────*/
.skip-link { position:absolute; top:-100%; left:1rem; background:var(--gold); color:var(--dark); padding:.5rem 1rem; border-radius:0 0 var(--rm) var(--rm); font-family:var(--fh); font-weight:700; z-index:9999; transition:top var(--t) }
.skip-link:focus { top:0; color:var(--dark) }

/* ── HEADER ───────────────────────────────────────────────────────────*/
.wmw-header {
  position:sticky;
  top:0;
  z-index:200;
  background:rgba(10,8,18,.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(201,168,76,.2);
}
.wmw-header::after {
  content:'';
  position:absolute;
  bottom:-1px;
  left:0; right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--gold-dim), var(--gold), var(--gold-dim), transparent);
}
.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:72px;
  gap:1.5rem;
}
.wmw-logo {
  display:flex;
  align-items:center;
  gap:.85rem;
  text-decoration:none!important;
  flex-shrink:0;
}
.logo-wand {
  width:44px;
  height:44px;
  background:linear-gradient(135deg, var(--dark2), var(--dark3));
  border:1px solid var(--gold-dim);
  border-radius:var(--rs);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.4rem;
  flex-shrink:0;
  position:relative;
  animation:glow-pulse 3s ease-in-out infinite;
}
.logo-text-main {
  font-family:var(--fd);
  font-size:1rem;
  font-weight:700;
  color:var(--gold)!important;
  letter-spacing:.04em;
  line-height:1.15;
}
.logo-text-sub {
  font-family:var(--fh);
  font-size:.62rem;
  color:var(--text-dim)!important;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-top:.1rem;
}
.wmw-nav ul {
  display:flex;
  align-items:center;
  gap:.15rem;
  list-style:none;
  padding:0; margin:0;
}
.wmw-nav a {
  display:block;
  padding:.45rem .95rem;
  font-family:var(--fh);
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.06em;
  color:var(--text-mid)!important;
  text-transform:uppercase;
  text-decoration:none!important;
  border-radius:var(--rs);
  transition:all var(--t);
}
.wmw-nav a:hover,.wmw-nav .current-menu-item a {
  color:var(--gold)!important;
  background:var(--gold-faint);
}
.wmw-nav .nav-cta {
  background:linear-gradient(135deg, var(--gold-dim), var(--gold))!important;
  color:var(--void)!important;
  border-radius:var(--rxl)!important;
  padding:.45rem 1.25rem!important;
  font-weight:700!important;
  margin-left:.5rem;
}
.wmw-nav .nav-cta:hover { filter:brightness(1.15); background:var(--gold2)!important; }
.nav-toggle {
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:4px;
}
.nav-toggle span {
  display:block;
  width:22px;
  height:2px;
  background:var(--gold);
  border-radius:2px;
  transition:all .2s;
}
.mob-menu {
  display:none;
  position:fixed;
  top:72px; left:0; right:0;
  background:rgba(10,8,18,.97);
  border-bottom:1px solid rgba(201,168,76,.2);
  padding:1.25rem var(--pad);
  z-index:199;
  backdrop-filter:blur(12px);
}
.mob-menu.open { display:block }
.mob-menu ul { list-style:none; padding:0 }
.mob-menu a {
  display:block;
  padding:.85rem 1rem;
  font-family:var(--fh);
  font-size:.9rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--text-mid)!important;
  border-bottom:1px solid rgba(201,168,76,.1);
  text-decoration:none!important;
  transition:color var(--t);
}
.mob-menu a:hover { color:var(--gold)!important }

/* ── BUTTONS ──────────────────────────────────────────────────────────*/
.btn {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.7rem 1.75rem;
  border-radius:var(--rxl);
  font-size:.85rem;
  font-family:var(--fh);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  border:none;
  text-decoration:none;
  transition:all var(--ts);
  white-space:nowrap;
  line-height:1.4;
  position:relative;
  overflow:hidden;
}
.btn::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.08), transparent);
  opacity:0;
  transition:opacity var(--t);
}
.btn:hover::before { opacity:1 }
.btn:hover { transform:translateY(-2px); }

.btn-gold {
  background:linear-gradient(135deg, var(--gold-dim), var(--gold));
  color:var(--void)!important;
  box-shadow:0 4px 20px rgba(201,168,76,.35);
}
.btn-gold:hover {
  box-shadow:0 8px 30px rgba(201,168,76,.5);
  filter:brightness(1.1);
  color:var(--void)!important;
}
.btn-outline {
  background:transparent;
  color:var(--gold)!important;
  border:1.5px solid var(--gold-dim);
}
.btn-outline:hover {
  background:var(--gold-faint);
  border-color:var(--gold);
  color:var(--gold2)!important;
  box-shadow:0 0 16px rgba(201,168,76,.2);
}
.btn-dark {
  background:var(--dark2);
  color:var(--gold3)!important;
  border:1px solid var(--dark3);
}
.btn-dark:hover { background:var(--dark3); border-color:var(--gold-dim); }
.btn-lg { padding:.9rem 2.25rem; font-size:.95rem }
.btn-sm { padding:.45rem 1.1rem; font-size:.72rem }

/* ── HERO ─────────────────────────────────────────────────────────────*/
.wmw-hero {
  background:var(--void)!important;
  background-image:none!important;
  min-height:100vh;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  padding:6rem 0 5rem;
}
/* Radial glow behind hero text */
.wmw-hero::after {
  content:'';
  position:absolute;
  top:30%;
  left:50%;
  transform:translate(-50%,-50%);
  width:800px;
  height:600px;
  background:radial-gradient(ellipse, rgba(201,168,76,.06) 0%, transparent 70%);
  pointer-events:none;
  z-index:0;
}
.hero-content {
  position:relative;
  z-index:1;
  max-width:760px;
}
.hero-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--fh);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  background:var(--gold-faint);
  border:1px solid rgba(201,168,76,.2);
  padding:.4rem 1.1rem;
  border-radius:var(--rxl);
  margin-bottom:1.5rem;
}
.wmw-hero h1 {
  font-family:var(--fh);
  font-size:clamp(2.5rem,6vw,4.5rem);
  font-weight:700;
  color:var(--gold3);
  letter-spacing:.02em;
  line-height:1.1;
  margin-bottom:1.25rem;
}
.wmw-hero h1 .accent { color:var(--gold); display:block; font-family:var(--fd); font-size:.72em; letter-spacing:.05em }
.wmw-hero .hero-sub {
  font-size:1.1rem;
  color:var(--text-mid);
  line-height:1.8;
  margin-bottom:2.5rem;
  max-width:58ch;
}
.hero-actions { display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:3rem }
.hero-stats {
  display:flex;
  flex-wrap:wrap;
  gap:2.5rem;
  padding-top:2rem;
  border-top:1px solid rgba(201,168,76,.15);
}
.hero-stat-num {
  display:block;
  font-family:var(--fh);
  font-size:2rem;
  font-weight:700;
  color:var(--gold);
  line-height:1;
  margin-bottom:.25rem;
}
.hero-stat-label {
  font-size:.75rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--text-dim);
  font-family:var(--fh);
}
/* Floating wizard hat decoration */
.hero-decoration {
  position:absolute;
  right:8%;
  top:50%;
  transform:translateY(-50%);
  font-size:12rem;
  opacity:.04;
  z-index:0;
  animation:float 6s ease-in-out infinite;
  pointer-events:none;
  line-height:1;
}

/* ── SECTION HEADERS ──────────────────────────────────────────────────*/
.section-eyebrow {
  font-family:var(--fh);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.75rem;
  display:flex;
  align-items:center;
  gap:.6rem;
}
.section-eyebrow::before {
  content:'✦';
  font-size:.6rem;
  opacity:.7;
}
.section-title { font-size:clamp(1.75rem,3.5vw,2.75rem) }

/* ── CARD — base ──────────────────────────────────────────────────────*/
.card {
  background:var(--dark2);
  border:1px solid var(--dark3);
  border-radius:var(--rl);
  padding:2rem;
  transition:all var(--ts);
  position:relative;
  overflow:hidden;
}
.card::before {
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--gold-dim), transparent);
  opacity:0;
  transition:opacity var(--ts);
}
.card:hover {
  border-color:rgba(201,168,76,.3);
  box-shadow:var(--sh-gold);
  transform:translateY(-4px);
}
.card:hover::before { opacity:1 }

/* ── SPELL CARDS (services) ───────────────────────────────────────────*/
.spell-card {
  background:linear-gradient(145deg, var(--dark2), var(--dark3));
  border:1px solid rgba(201,168,76,.15);
  border-radius:var(--rl);
  padding:2.25rem;
  transition:all var(--ts);
  position:relative;
  overflow:hidden;
}
.spell-card::after {
  content:'';
  position:absolute;
  bottom:0; left:0; right:0;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  transform:scaleX(0);
  transition:transform var(--ts);
}
.spell-card:hover { border-color:rgba(201,168,76,.4); box-shadow:var(--sh-gold); transform:translateY(-5px) }
.spell-card:hover::after { transform:scaleX(1) }
.spell-icon {
  width:56px;
  height:56px;
  background:linear-gradient(135deg, var(--gold-faint), rgba(201,168,76,.12));
  border:1px solid rgba(201,168,76,.2);
  border-radius:var(--rm);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.6rem;
  margin-bottom:1.25rem;
  transition:all var(--ts);
}
.spell-card:hover .spell-icon {
  background:var(--gold-faint);
  border-color:var(--gold-dim);
  box-shadow:0 0 16px rgba(201,168,76,.2);
}
.spell-name {
  font-family:var(--fh);
  font-size:.65rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold-dim);
  margin-bottom:.4rem;
  display:flex;
  align-items:center;
  gap:.4rem;
}
.spell-name::before { content:'⟨'; opacity:.5 }
.spell-name::after  { content:'⟩'; opacity:.5 }
.spell-card h3 { font-size:1.2rem; margin-bottom:.6rem; color:var(--gold3) }
.spell-card p { font-size:.9rem; color:var(--text-mid); line-height:1.7; margin-bottom:1.25rem }
.spell-link {
  font-family:var(--fh);
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold);
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  transition:gap var(--t);
}
.spell-link:hover { gap:.7rem; color:var(--gold2) }

/* ── TESTIMONIAL / SCROLL ─────────────────────────────────────────────*/
.scroll-card {
  background:linear-gradient(160deg, #1e1729, #160f22);
  border:1px solid rgba(201,168,76,.2);
  border-radius:var(--rl);
  padding:2.25rem;
  position:relative;
}
.scroll-card::before {
  content:'"';
  position:absolute;
  top:.5rem;
  left:1.5rem;
  font-family:var(--fd);
  font-size:5rem;
  color:var(--gold);
  opacity:.15;
  line-height:1;
}
.scroll-text {
  font-size:.95rem;
  font-style:italic;
  color:var(--text-mid);
  line-height:1.8;
  margin-bottom:1.5rem;
  position:relative;
  z-index:1;
}
.scroll-author { display:flex; align-items:center; gap:.85rem }
.scroll-crest {
  width:46px;
  height:46px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--dark3), var(--dark4));
  border:1.5px solid var(--gold-dim);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--fh);
  font-weight:700;
  font-size:1rem;
  color:var(--gold);
  flex-shrink:0;
}
.scroll-name { font-family:var(--fh); font-size:.875rem; font-weight:700; color:var(--gold3) }
.scroll-role { font-size:.75rem; color:var(--text-dim); letter-spacing:.04em }

/* ── STATS ────────────────────────────────────────────────────────────*/
.cauldron-stats {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(201,168,76,.1);
  border:1px solid rgba(201,168,76,.1);
  border-radius:var(--rl);
  overflow:hidden;
}
.cauldron-stat {
  background:var(--dark2);
  padding:2.5rem 1.5rem;
  text-align:center;
  transition:background var(--t);
}
.cauldron-stat:hover { background:var(--dark3) }
.cauldron-num {
  font-family:var(--fh);
  font-size:2.5rem;
  font-weight:700;
  color:var(--gold);
  line-height:1;
  display:block;
  margin-bottom:.35rem;
}
.cauldron-lbl {
  font-family:var(--fh);
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--text-dim);
}

/* ── PROCESS STEPS ────────────────────────────────────────────────────*/
.spell-step {
  display:flex;
  gap:1.5rem;
  align-items:flex-start;
  padding:1.75rem;
  background:var(--dark2);
  border:1px solid var(--dark3);
  border-radius:var(--rl);
  transition:all var(--ts);
}
.spell-step:hover { border-color:rgba(201,168,76,.25); box-shadow:var(--sh-dark) }
.step-num {
  width:48px;
  height:48px;
  background:linear-gradient(135deg, var(--gold-dim), var(--gold));
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--fh);
  font-weight:700;
  font-size:1rem;
  color:var(--void);
  flex-shrink:0;
}
.step-title { font-family:var(--fh); font-size:1rem; color:var(--gold3); margin-bottom:.4rem }
.step-desc { font-size:.875rem; color:var(--text-mid); line-height:1.65 }

/* ── CTA BANNER ───────────────────────────────────────────────────────*/
.cta-scroll {
  background:linear-gradient(135deg, var(--dark2), #1a1030);
  border:1px solid rgba(201,168,76,.2);
  border-radius:1.25rem;
  padding:4rem 3rem;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.cta-scroll::before {
  content:'🔮';
  position:absolute;
  font-size:16rem;
  opacity:.03;
  right:-2rem;
  bottom:-3rem;
  line-height:1;
}
.cta-badge {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  background:rgba(155,35,53,.2);
  border:1px solid rgba(155,35,53,.3);
  color:#e87089;
  padding:.35rem 1rem;
  border-radius:var(--rxl);
  font-family:var(--fh);
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:1.25rem;
}
.cta-badge::before { content:'●'; font-size:.5rem; animation:twinkle 2s infinite }

/* ── POST CARDS ───────────────────────────────────────────────────────*/
.grimoire-card {
  background:var(--dark2);
  border:1px solid var(--dark3);
  border-radius:var(--rl);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:all var(--ts);
}
.grimoire-card:hover { border-color:rgba(201,168,76,.25); box-shadow:var(--sh-gold); transform:translateY(-4px) }
.grimoire-thumb {
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--dark3);
  position:relative;
}
.grimoire-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .5s; filter:brightness(.9) }
.grimoire-card:hover .grimoire-thumb img { transform:scale(1.05); filter:brightness(1) }
.grimoire-thumb-ph {
  width:100%;
  height:100%;
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, var(--dark2), var(--dark3));
  color:var(--gold-dim);
  font-size:3rem;
  flex-direction:column;
  gap:.5rem;
}
.grimoire-body { padding:1.5rem; flex:1; display:flex; flex-direction:column }
.grimoire-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-bottom:.75rem }
.grimoire-title { font-family:var(--fh); font-size:1.05rem; line-height:1.35; margin-bottom:.5rem; color:var(--gold3) }
.grimoire-title a { color:var(--gold3)!important; text-decoration:none!important }
.grimoire-title a:hover { color:var(--gold)!important }
.grimoire-excerpt { font-size:.875rem; color:var(--text-mid); line-height:1.65; flex:1; margin-bottom:1rem }
.grimoire-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:.85rem;
  border-top:1px solid var(--dark3);
  margin-top:auto;
}

/* ── BADGES ───────────────────────────────────────────────────────────*/
.badge {
  display:inline-flex;
  align-items:center;
  padding:.2rem .7rem;
  border-radius:var(--rs);
  font-family:var(--fh);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.badge-gold  { background:rgba(201,168,76,.12); color:var(--gold); border:1px solid rgba(201,168,76,.2) }
.badge-ruby  { background:rgba(155,35,53,.15); color:#e87089; border:1px solid rgba(155,35,53,.25) }
.badge-sapph { background:rgba(26,78,138,.2); color:#7ab3f0; border:1px solid rgba(26,78,138,.3) }
.badge-emer  { background:rgba(26,107,68,.2); color:#5fcca0; border:1px solid rgba(26,107,68,.3) }

.rt,.pd { font-size:.72rem; color:var(--text-dim); font-family:var(--fh); letter-spacing:.04em }

/* ── SINGLE POST ──────────────────────────────────────────────────────*/
.post-layout { display:grid; grid-template-columns:1fr 300px; gap:3rem; align-items:start }
.post-title-single { font-size:clamp(1.85rem,4vw,3rem); line-height:1.15; margin-bottom:1rem }
.post-deck { font-size:1.1rem; color:var(--text-mid); line-height:1.7; margin-bottom:1.75rem; font-style:italic }
.post-author-bar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 0;
  border-top:1px solid var(--dark3);
  border-bottom:1px solid var(--dark3);
  margin-bottom:2rem;
  flex-wrap:wrap;
}
.author-mini { display:flex; align-items:center; gap:.75rem }
.author-mini-av {
  width:42px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--dark3), var(--dark4));
  border:1.5px solid var(--gold-dim);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  font-family:var(--fh);
  font-weight:700;
  flex-shrink:0;
  overflow:hidden;
}
.author-mini-av img { width:100%; height:100%; object-fit:cover }
.author-mini-name { font-family:var(--fh); font-size:.875rem; font-weight:700; color:var(--gold3) }
.author-mini-date { font-size:.72rem; color:var(--text-dim) }
.share-btns { display:flex; gap:.5rem; flex-wrap:wrap }
.share-btn {
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  padding:.35rem .8rem;
  background:var(--dark3);
  border:1px solid var(--dark4);
  border-radius:var(--rxl);
  font-family:var(--fh);
  font-size:.68rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--text-mid);
  cursor:pointer;
  transition:all var(--t);
}
.share-btn:hover { background:var(--dark4); color:var(--gold); border-color:var(--gold-dim) }

/* ── ENTRY CONTENT ────────────────────────────────────────────────────*/
.entry-content { max-width:70ch }
.entry-content h2 { font-size:clamp(1.35rem,2.5vw,1.85rem); margin-top:2.5rem; margin-bottom:.75rem; padding-bottom:.4rem; border-bottom:1px solid var(--dark3) }
.entry-content h3 { font-size:clamp(1.1rem,2vw,1.35rem); margin-top:2rem; margin-bottom:.6rem; color:var(--gold) }
.entry-content p { font-size:1.05rem; line-height:1.85; color:var(--text-light) }
.entry-content a { color:var(--gold); text-decoration:underline; text-underline-offset:3px }
.entry-content ul,.entry-content ol { margin:1rem 0 1.25rem; padding-left:1.5rem }
.entry-content li { font-size:1.05rem; line-height:1.75; color:var(--text-light); margin-bottom:.4rem }
.entry-content blockquote { border-left:3px solid var(--gold); background:var(--gold-faint); padding:1rem 1.5rem; border-radius:0 var(--rm) var(--rm) 0; margin:1.75rem 0 }
.entry-content table { font-size:.9rem; border:1px solid var(--dark3); border-radius:var(--rm); overflow:hidden; margin:1.75rem 0; width:100% }
.entry-content th { background:var(--dark3); padding:.65rem 1rem; text-align:left; font-family:var(--fh); letter-spacing:.06em; font-size:.78rem; text-transform:uppercase; color:var(--gold3); border-bottom:1px solid rgba(201,168,76,.2) }
.entry-content td { padding:.65rem 1rem; border-bottom:1px solid var(--dark3); color:var(--text-light) }
.entry-content strong { color:var(--gold3) }

/* ── FAQ ──────────────────────────────────────────────────────────────*/
.faq-item { border:1px solid var(--dark3); border-radius:var(--rm); margin-bottom:.6rem; overflow:hidden }
.faq-q {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem 1.25rem;
  background:var(--dark2);
  border:none;
  cursor:pointer;
  font-family:var(--fh);
  font-size:.9rem;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--gold3);
  text-align:left;
  gap:.75rem;
  transition:background var(--t);
  line-height:1.4;
}
.faq-q:hover { background:var(--dark3) }
.faq-q[aria-expanded=true] { background:var(--gold-faint); color:var(--gold) }
.faq-icon { width:22px; height:22px; background:var(--dark3); border:1px solid var(--dark4); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1rem; font-weight:700; flex-shrink:0; transition:transform .2s,background var(--t); color:var(--gold); line-height:1 }
.faq-q[aria-expanded=true] .faq-icon { transform:rotate(45deg); background:var(--gold); color:var(--void); border-color:var(--gold) }
.faq-a { padding:0 1.25rem 1rem; display:none; color:var(--text-mid); line-height:1.7; font-size:.9rem }
.faq-a.open { display:block }

/* ── TOC ──────────────────────────────────────────────────────────────*/
.toc { background:var(--dark2); border:1px solid rgba(201,168,76,.15); border-radius:var(--rl); padding:1.5rem 1.75rem; margin:1.75rem 0 }
.toc-title { font-family:var(--fh); font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; display:flex; align-items:center; gap:.5rem }
.toc ol { list-style:none; padding:0; margin:0; counter-reset:toc }
.toc li { font-size:.875rem; padding:.3rem 0; counter-increment:toc; display:flex; align-items:baseline; gap:.5rem; border-bottom:1px solid var(--dark3) }
.toc li:last-child { border-bottom:none }
.toc li::before { content:counter(toc); font-family:var(--fh); font-size:.65rem; font-weight:700; color:var(--gold-dim); min-width:1.2em }
.toc a { color:var(--text-mid); text-decoration:none; font-size:.875rem }
.toc a:hover { color:var(--gold) }

/* ── AUTHOR BOX ───────────────────────────────────────────────────────*/
.author-box {
  background:linear-gradient(145deg, var(--dark2), #180f28);
  border:1px solid rgba(201,168,76,.2);
  border-radius:var(--rl);
  padding:2rem;
  display:flex;
  gap:1.5rem;
  margin-top:3rem;
  position:relative;
  overflow:hidden;
}
.author-box::after {
  content:'🔮';
  position:absolute;
  right:1rem;
  top:50%;
  transform:translateY(-50%);
  font-size:5rem;
  opacity:.05;
}
.author-box-av {
  width:80px;
  height:80px;
  border-radius:50%;
  border:2px solid var(--gold-dim);
  box-shadow:0 0 16px rgba(201,168,76,.2);
  overflow:hidden;
  flex-shrink:0;
  background:var(--dark3);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  font-family:var(--fh);
  font-size:1.75rem;
  font-weight:700;
}
.author-box-av img { width:100%; height:100%; object-fit:cover }
.author-box-label { font-family:var(--fh); font-size:.65rem; letter-spacing:.15em; text-transform:uppercase; color:var(--text-dim); margin-bottom:.3rem }
.author-box-name { font-size:1.05rem; margin-bottom:.15rem; color:var(--gold3) }
.author-box-role { font-size:.82rem; color:var(--gold-dim); font-family:var(--fh); font-weight:600; letter-spacing:.04em; margin-bottom:.6rem }
.author-box-bio { font-size:.875rem; color:var(--text-mid); line-height:1.65; margin-bottom:.85rem }
.author-box-links { display:flex; gap:.5rem; flex-wrap:wrap }

/* ── SIDEBAR ──────────────────────────────────────────────────────────*/
.sidebar { display:flex; flex-direction:column; gap:1.5rem; position:sticky; top:88px }
.widget { background:var(--dark2); border:1px solid var(--dark3); border-radius:var(--rl); padding:1.5rem }
.widget-title { font-family:var(--fh); font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; padding-bottom:.6rem; border-bottom:1px solid rgba(201,168,76,.15); display:flex; align-items:center; gap:.5rem }
.widget ul { list-style:none; padding:0 }
.widget ul li { padding:.4rem 0; border-bottom:1px solid var(--dark3); font-size:.875rem; color:var(--text-mid) }
.widget ul li:last-child { border-bottom:none }
.widget ul li a { color:var(--text-mid)!important; text-decoration:none!important }
.widget ul li a:hover { color:var(--gold)!important }

/* ── NEWSLETTER ───────────────────────────────────────────────────────*/
.nl-dark {
  background:linear-gradient(160deg, var(--dark2), #150e25);
  border:1px solid rgba(201,168,76,.15);
  border-radius:var(--rl);
  padding:1.75rem;
  position:relative;
  overflow:hidden;
}
.nl-dark::before { content:'⚡'; position:absolute; right:.75rem; top:.5rem; font-size:4rem; opacity:.06; line-height:1 }
.nl-title { font-family:var(--fh); font-size:.9rem; font-weight:700; letter-spacing:.06em; color:var(--gold3); margin-bottom:.4rem }
.nl-sub { font-size:.8rem; color:var(--text-dim); line-height:1.6; margin-bottom:1rem }
.nl-input-dark {
  width:100%;
  padding:.65rem .9rem;
  background:var(--dark3);
  border:1px solid rgba(201,168,76,.2);
  border-radius:var(--rm);
  font-size:.875rem;
  font-family:var(--fb);
  color:var(--text-light);
  outline:none;
  margin-bottom:.65rem;
  transition:border-color var(--t);
}
.nl-input-dark::placeholder { color:var(--text-dim) }
.nl-input-dark:focus { border-color:var(--gold-dim) }
/* Full-width newsletter strip */
.nl-strip {
  background:linear-gradient(135deg, var(--void), #0f0820)!important;
  background-image:none!important;
  padding:5rem 0;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.nl-strip::before {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 50% 50%, rgba(201,168,76,.06), transparent 65%);
  pointer-events:none;
}
.nl-strip-title { font-size:clamp(1.75rem,3.5vw,2.75rem); margin-bottom:.6rem; position:relative; z-index:1 }
.nl-strip-sub { color:var(--text-mid); font-size:1rem; margin-bottom:2rem; max-width:52ch; margin-inline:auto; position:relative; z-index:1 }
.nl-strip-form { display:flex; gap:.75rem; max-width:500px; margin:0 auto; flex-wrap:wrap; justify-content:center; position:relative; z-index:1 }
.nl-strip-input {
  flex:1;
  min-width:200px;
  padding:.9rem 1.25rem;
  background:rgba(255,255,255,.06);
  border:1.5px solid rgba(201,168,76,.25);
  color:var(--text-light);
  border-radius:var(--rxl);
  font-size:.95rem;
  font-family:var(--fb);
  outline:none;
  transition:border-color var(--t);
}
.nl-strip-input::placeholder { color:var(--text-dim) }
.nl-strip-input:focus { border-color:var(--gold-dim) }

/* ── CONTACT ──────────────────────────────────────────────────────────*/
.contact-layout { display:grid; grid-template-columns:1fr 340px; gap:3rem; align-items:start }
.contact-card {
  background:var(--dark2);
  border:1px solid rgba(201,168,76,.15);
  border-radius:var(--rl);
  padding:2.5rem;
}
.contact-card h2 { margin-bottom:.4rem }
.form-field { margin-bottom:1.15rem }
.form-field label { display:block; font-family:var(--fh); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-dim); margin-bottom:.4rem }
.form-req { color:var(--ruby); margin-left:.1rem }
.wmw-input {
  display:block;
  width:100%;
  padding:.7rem 1rem;
  background:var(--dark3);
  border:1.5px solid var(--dark4);
  border-radius:var(--rm);
  font-size:.95rem;
  font-family:var(--fb);
  color:var(--text-light);
  outline:none;
  transition:border-color var(--t),box-shadow var(--t);
}
.wmw-input:hover { border-color:rgba(201,168,76,.2) }
.wmw-input:focus { border-color:var(--gold-dim); box-shadow:0 0 0 3px rgba(201,168,76,.1) }
.wmw-input::placeholder { color:var(--text-dim) }
textarea.wmw-input { min-height:130px; resize:vertical }
.f-note { font-size:.72rem; color:var(--text-dim); margin-top:.3rem; font-family:var(--fh); letter-spacing:.04em }
.contact-success {
  background:rgba(26,107,68,.15);
  border:1px solid rgba(26,107,68,.3);
  border-left:3px solid var(--emerald);
  border-radius:var(--rm);
  padding:1rem 1.25rem;
  color:#5fcca0;
  font-family:var(--fh);
  font-size:.85rem;
  margin-bottom:1.25rem;
  display:flex;
  align-items:center;
  gap:.75rem;
}
.cinfo-card { background:var(--dark2); border:1px solid var(--dark3); border-radius:var(--rl); padding:1.5rem; margin-bottom:1rem }
.cinfo-card:last-child { margin-bottom:0 }
.cinfo-card h3 { font-family:var(--fh); font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; color:var(--gold3); margin-bottom:.6rem }
.email-link { color:var(--gold); font-family:var(--fh); font-size:.875rem; font-weight:600; word-break:break-all }
.email-link:hover { color:var(--gold2); text-decoration:underline }

/* CF7 overrides */
.wpcf7 p { margin-bottom:1.1rem; max-width:100% }
.wpcf7 label { display:block; font-family:var(--fh); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-dim); margin-bottom:.4rem }
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 textarea { display:block; width:100%; padding:.7rem 1rem; background:var(--dark3); border:1.5px solid var(--dark4); border-radius:var(--rm); font-size:.95rem; font-family:var(--fb); color:var(--text-light); outline:none; transition:border-color var(--t); margin-top:.35rem }
.wpcf7 input[type=text]:focus,.wpcf7 input[type=email]:focus,.wpcf7 textarea:focus { border-color:var(--gold-dim); box-shadow:0 0 0 3px rgba(201,168,76,.1) }
.wpcf7 textarea { min-height:130px; resize:vertical }
.wpcf7 input[type=submit] { background:linear-gradient(135deg,var(--gold-dim),var(--gold)); color:var(--void); border:none; border-radius:var(--rxl); padding:.75rem 1.75rem; font-family:var(--fh); font-size:.85rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:all var(--ts); margin-top:.5rem }
.wpcf7 input[type=submit]:hover { filter:brightness(1.15); transform:translateY(-1px); box-shadow:0 4px 20px rgba(201,168,76,.35) }
.wpcf7-mail-sent-ok { background:rgba(26,107,68,.15)!important; border-color:var(--emerald)!important; color:#5fcca0!important; border-radius:var(--rm); padding:1rem 1.25rem; font-family:var(--fh); font-size:.8rem; font-weight:700; margin-top:1rem }
.wpcf7-validation-errors { background:rgba(155,35,53,.15)!important; border-color:var(--ruby)!important; color:#e87089!important; border-radius:var(--rm); padding:1rem 1.25rem; font-family:var(--fh); font-size:.8rem; font-weight:700; margin-top:1rem }
span.wpcf7-not-valid-tip { font-size:.72rem; color:#e87089; font-weight:600; margin-top:.25rem; display:block; font-family:var(--fh) }

/* ── ARCHIVE ──────────────────────────────────────────────────────────*/
.arc-hero { background:var(--void)!important; background-image:none!important; padding:3.5rem 0 3rem }
.arc-eyebrow { font-family:var(--fh); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-dim); margin-bottom:.6rem }
.arc-title { color:var(--gold3)!important; margin-bottom:.5rem }
.arc-desc { color:var(--text-mid); font-size:1rem; max-width:60ch }

/* ── PAGINATION ───────────────────────────────────────────────────────*/
.pagination { display:flex; justify-content:center; gap:.4rem; margin-top:3rem; flex-wrap:wrap }
.pagination a,.pagination span { display:flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 .6rem; border-radius:var(--rm); font-family:var(--fh); font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; border:1px solid var(--dark3); color:var(--text-mid); text-decoration:none; transition:all var(--t) }
.pagination a:hover { background:var(--dark3); color:var(--gold); border-color:rgba(201,168,76,.2) }
.pagination .current { background:var(--gold); color:var(--void); border-color:var(--gold) }

/* ── BREADCRUMBS ──────────────────────────────────────────────────────*/
.breadcrumbs { display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; font-family:var(--fh); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim); margin-bottom:1.25rem }
.breadcrumbs a { color:var(--text-dim); text-decoration:none }
.breadcrumbs a:hover { color:var(--gold) }
.bc-sep { color:var(--dark4); font-size:.65rem }

/* ── READING PROGRESS ─────────────────────────────────────────────────*/
.rp-bar { position:fixed; top:0; left:0; width:0%; height:3px; background:linear-gradient(90deg,var(--gold-dim),var(--gold2)); z-index:9999; transition:width .1s linear }

/* ── 404 ──────────────────────────────────────────────────────────────*/
.e404 { text-align:center; padding:6rem 0 }
.e404-code { font-family:var(--fd); font-size:8rem; font-weight:900; color:var(--dark3); line-height:1; margin-bottom:1rem; text-shadow:0 0 40px rgba(201,168,76,.1) }

/* ── FOOTER ───────────────────────────────────────────────────────────*/
.wmw-footer {
  background:var(--void)!important;
  background-image:none!important;
  color:var(--text-dim);
  padding-top:4rem;
  border-top:1px solid rgba(201,168,76,.1);
  position:relative;
}
.wmw-footer::before {
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--gold-dim), transparent);
}
.footer-grid { display:grid; grid-template-columns:2.5fr 1fr 1fr 1fr; gap:3rem; padding-bottom:3rem; border-bottom:1px solid rgba(201,168,76,.08) }
.footer-brand-logo { display:flex; align-items:center; gap:.75rem; text-decoration:none!important; margin-bottom:1rem }
.footer-brand-name { font-family:var(--fd); font-size:1rem; color:var(--gold)!important }
.footer-brand-desc { font-size:.85rem; line-height:1.65; max-width:34ch; margin-bottom:1.25rem; color:var(--text-dim) }
.footer-social { display:flex; gap:.5rem }
.f-soc { display:flex; align-items:center; justify-content:center; width:34px; height:34px; background:var(--dark2); border:1px solid var(--dark3); border-radius:var(--rm); color:var(--text-dim)!important; font-size:.75rem; font-weight:700; text-decoration:none!important; transition:all var(--t) }
.f-soc:hover { background:var(--gold-faint); border-color:rgba(201,168,76,.3); color:var(--gold)!important }
.fc-title { font-family:var(--fh); font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-dim); margin-bottom:1rem }
.fc ul { list-style:none; padding:0 }
.fc li { margin-bottom:.5rem }
.fc a { font-size:.875rem; color:var(--text-dim)!important; text-decoration:none!important; transition:color var(--t) }
.fc a:hover { color:var(--gold)!important }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; padding:1.25rem 0; font-size:.75rem; flex-wrap:wrap; gap:.75rem }
.footer-copy { color:var(--text-dim); font-family:var(--fh); font-size:.72rem; letter-spacing:.04em }
.footer-legal { display:flex; gap:1.25rem }
.footer-legal a { color:var(--text-dim)!important; text-decoration:none!important; font-family:var(--fh); font-size:.72rem; letter-spacing:.04em; transition:color var(--t) }
.footer-legal a:hover { color:var(--gold)!important }

/* ── SEARCH ───────────────────────────────────────────────────────────*/
.search-bar { display:flex; gap:.6rem }
.search-inp { flex:1; padding:.7rem 1.1rem; background:var(--dark2); border:1.5px solid var(--dark3); border-radius:var(--rxl); font-size:.95rem; font-family:var(--fb); color:var(--text-light); outline:none; transition:border-color var(--t) }
.search-inp:focus { border-color:var(--gold-dim) }
.search-inp::placeholder { color:var(--text-dim) }

/* ── MC4WP Mailchimp overrides ────────────────────────────────────────*/
.nl-dark .mc4wp-form label,.nl-strip .mc4wp-form label { display:none!important }
.nl-dark .mc4wp-form input[type=email],.nl-dark .mc4wp-form input[type=text] { width:100%!important; padding:.65rem .9rem!important; background:var(--dark3)!important; border:1px solid rgba(201,168,76,.2)!important; border-radius:var(--rm)!important; font-size:.875rem!important; color:var(--text-light)!important; font-family:var(--fb)!important; outline:none!important; margin-bottom:.65rem!important }
.nl-dark .mc4wp-form input[type=email]::placeholder { color:var(--text-dim)!important }
.nl-dark .mc4wp-form input[type=submit] { width:100%!important; background:linear-gradient(135deg,var(--gold-dim),var(--gold))!important; color:var(--void)!important; border:none!important; border-radius:var(--rm)!important; padding:.7rem 1rem!important; font-family:var(--fh)!important; font-size:.8rem!important; font-weight:700!important; letter-spacing:.08em!important; text-transform:uppercase!important; cursor:pointer!important }
.nl-strip .mc4wp-form,.nl-strip .mc4wp-form-fields { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; max-width:500px; margin:0 auto }
.nl-strip .mc4wp-form input[type=email] { flex:1!important; min-width:180px!important; padding:.9rem 1.25rem!important; background:rgba(255,255,255,.06)!important; border:1.5px solid rgba(201,168,76,.25)!important; border-radius:var(--rxl)!important; font-size:.95rem!important; color:var(--text-light)!important; font-family:var(--fb)!important; outline:none!important }
.nl-strip .mc4wp-form input[type=submit] { padding:.9rem 1.75rem!important; background:linear-gradient(135deg,var(--gold-dim),var(--gold))!important; color:var(--void)!important; border:none!important; border-radius:var(--rxl)!important; font-family:var(--fh)!important; font-size:.85rem!important; font-weight:700!important; letter-spacing:.08em!important; text-transform:uppercase!important; cursor:pointer!important }

/* ── WP ALIGNMENT ─────────────────────────────────────────────────────*/
.alignleft { float:left; margin-right:1.5rem; margin-bottom:1rem }
.alignright { float:right; margin-left:1.5rem; margin-bottom:1rem }
.aligncenter { text-align:center; margin-inline:auto }

/* ── RESPONSIVE ───────────────────────────────────────────────────────*/
@media (max-width:1024px) {
  .post-layout { grid-template-columns:1fr }
  .sidebar { position:static }
  .footer-grid { grid-template-columns:1fr 1fr }
  .contact-layout { grid-template-columns:1fr }
  .cauldron-stats { grid-template-columns:1fr 1fr }
  .g3,.g4 { grid-template-columns:1fr 1fr }
  .col-2 { grid-template-columns:1fr }
}
@media (max-width:768px) {
  .wmw-nav { display:none }
  .nav-toggle { display:flex }
  .section,.section-sm,.section-lg { padding:3rem 0 }
  .g3,.g4,.g2 { grid-template-columns:1fr }
  .cauldron-stats { grid-template-columns:1fr 1fr }
  .footer-grid { grid-template-columns:1fr }
  .wmw-hero { min-height:auto; padding:4rem 0 3.5rem }
  .hero-decoration { display:none }
  .hero-actions { flex-direction:column }
  .hero-actions .btn { width:100%; justify-content:center }
  .nl-strip-form { flex-direction:column }
  .nl-strip-input { min-width:0; width:100%!important }
  .author-box { flex-direction:column }
  .cta-scroll { padding:2.5rem 1.5rem }
}
@media (max-width:480px) {
  :root { --pad:.9rem }
  .e404-code { font-size:5rem }
  .cauldron-stats { grid-template-columns:1fr 1fr }
}
