/*
Theme Name: EarlyUpdates
Theme URI: https://earlyupdates.com
Author: EarlyUpdates Team
Author URI: https://earlyupdates.com
Description: Premium multi-niche blog & content services theme for EarlyUpdates — covering Crypto, Markets, Forex, Finance and every niche imaginable.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: earlyupdates
Tags: blog, custom-colors, custom-logo, custom-menu, featured-images, responsive-layout, news
*/

/* =============================================
   CSS CUSTOM PROPERTIES
   ============================================= */
:root {
  --eu-primary:    #0f1923;
  --eu-secondary:  #1a2e44;
  --eu-accent:     #f0b429;
  --eu-accent2:    #00d4aa;
  --eu-bg:         #f7f8fa;
  --eu-bg-alt:     #ffffff;
  --eu-text:       #1a1a2e;
  --eu-text-muted: #64748b;
  --eu-border:     #e2e8f0;
  --eu-danger:     #ef4444;
  --eu-success:    #22c55e;

  --eu-font-heading: 'DM Serif Display', Georgia, serif;
  --eu-font-body:    'Inter', system-ui, sans-serif;
  --eu-size-xs:   0.75rem;
  --eu-size-sm:   0.875rem;
  --eu-size-base: 1rem;
  --eu-size-lg:   1.125rem;
  --eu-size-xl:   1.5rem;
  --eu-size-2xl:  2rem;
  --eu-size-3xl:  2.75rem;
  --eu-size-4xl:  3.5rem;

  --eu-container: 1200px;
  --eu-radius:    8px;
  --eu-radius-lg: 16px;
  --eu-shadow:    0 4px 24px rgba(0,0,0,.07);
  --eu-shadow-lg: 0 8px 40px rgba(0,0,0,.13);
  --eu-transition: 0.25s ease;
}

/* =============================================
   RESET & BASE
   ============================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: var(--eu-font-body);
  font-size: var(--eu-size-base);
  color: var(--eu-text);
  background: var(--eu-bg);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--eu-accent); text-decoration: none; transition: color var(--eu-transition); }
a:hover { color: var(--eu-primary); }
h1,h2,h3,h4,h5,h6 {
  font-family: var(--eu-font-heading);
  color: var(--eu-primary);
  line-height: 1.25;
  font-weight: 700;
}
p { margin-bottom: 1.25rem; }
ul,ol { padding-left: 1.5rem; }

/* =============================================
   UTILITIES
   ============================================= */
.container { width:100%; max-width:var(--eu-container); margin-inline:auto; padding-inline:1.5rem; }
.text-center { text-align:center; }
.text-accent  { color:var(--eu-accent); }
.section-title { font-size:var(--eu-size-3xl); margin-bottom:.5rem; }
.section-subtitle { font-size:var(--eu-size-lg); color:var(--eu-text-muted); margin-bottom:2.5rem; }

.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.75rem 1.75rem; border-radius:var(--eu-radius);
  font-family:var(--eu-font-body); font-size:var(--eu-size-base);
  font-weight:600; cursor:pointer; border:2px solid transparent;
  transition:all var(--eu-transition); text-decoration:none; white-space:nowrap;
}
.btn-primary { background:var(--eu-accent); color:var(--eu-primary); border-color:var(--eu-accent); }
.btn-primary:hover { background:transparent; color:var(--eu-accent); transform:translateY(-2px); box-shadow:var(--eu-shadow); }
.btn-outline { background:transparent; color:var(--eu-primary); border-color:var(--eu-primary); }
.btn-outline:hover { background:var(--eu-primary); color:#fff; transform:translateY(-2px); }
.btn-white { background:#fff; color:var(--eu-primary); border-color:#fff; }
.btn-white:hover { background:transparent; color:#fff; }

/* =============================================
   TICKER BAR
   ============================================= */
.ticker-bar {
  background:var(--eu-primary);
  color:rgba(255,255,255,.85);
  font-size:var(--eu-size-xs);
  font-weight:600;
  letter-spacing:.04em;
  padding:.4rem 0;
  overflow:hidden;
  white-space:nowrap;
}
.ticker-inner {
  display:flex;
  gap:3rem;
  animation:ticker 30s linear infinite;
}
.ticker-inner span { flex-shrink:0; }
.ticker-inner .up   { color:var(--eu-success); }
.ticker-inner .down { color:var(--eu-danger); }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* =============================================
   HEADER
   ============================================= */
.site-header {
  position:sticky; top:0; z-index:100;
  background:var(--eu-bg-alt);
  border-bottom:1px solid var(--eu-border);
  box-shadow:0 2px 12px rgba(0,0,0,.05);
}
.header-inner {
  display:flex; align-items:center;
  justify-content:space-between; height:72px;
  }
.site-logo {
  font-family:var(--eu-font-heading);
  font-size:var(--eu-size-xl);
  color:var(--eu-primary); font-weight:700;
  display:flex; align-items:center; gap:.35rem;
}
.site-logo .dot { color:var(--eu-accent); }
.site-logo img { height:44px; width:auto; }

.primary-nav ul {
  display:flex; align-items:center;
  gap:1rem; list-style:none; padding:0;
}
.primary-nav a {
  color:var(--eu-text); font-weight:500;
  font-size:12px;
  text-transform:uppercase; letter-spacing:.03em;
  position:relative; padding-bottom:4px;
  white-space:nowrap;
}
.primary-nav a::after {
  content:''; position:absolute;
  bottom:0; left:0; width:0; height:2px;
  background:var(--eu-accent);
  transition:width var(--eu-transition);
}
.primary-nav a:hover::after,
.primary-nav .current-menu-item a::after { width:100%; }
.nav-cta { margin-left:.75rem; }

.menu-toggle {
  display:none; background:none; border:none;
  cursor:pointer; padding:.5rem;
  flex-direction:column; gap:5px;
}
.menu-toggle span {
  display:block; width:25px; height:2px;
  background:var(--eu-primary);
  transition:all var(--eu-transition);
}

/* =============================================
   HERO
   ============================================= */
.hero {
  position:relative; min-height:88vh;
  display:flex; align-items:center;
  overflow:hidden; background:var(--eu-primary);
}
.hero-bg {
  position:absolute; inset:0;
  object-fit:cover; width:100%; height:100%; opacity:.2;
}
.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(15,25,35,.97) 45%,rgba(15,25,35,.55));
}
.hero-content { position:relative; z-index:2; max-width:700px; }
.hero-eyebrow {
  display:inline-block;
  font-size:var(--eu-size-xs); font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--eu-accent); margin-bottom:1rem;
  padding:.3rem .9rem;
  border:1px solid var(--eu-accent); border-radius:100px;
}
.hero-title {
  font-size:clamp(2.4rem,6vw,var(--eu-size-4xl));
  color:#fff; line-height:1.12; margin-bottom:1.25rem;
}
.hero-subtitle {
  font-size:var(--eu-size-lg);
  color:rgba(255,255,255,.75);
  margin-bottom:2.25rem; line-height:1.7;
}
.hero-actions { display:flex; gap:1rem; flex-wrap:wrap; }
.hero-stats {
  display:flex; gap:2rem; margin-top:3rem;
  padding-top:2rem; border-top:1px solid rgba(255,255,255,.12);
  flex-wrap:wrap;
}
.hero-stat strong {
  display:block; font-size:var(--eu-size-2xl);
  font-family:var(--eu-font-heading); color:var(--eu-accent);
}
.hero-stat span { font-size:var(--eu-size-sm); color:rgba(255,255,255,.6); }

/* =============================================
   NICHE CATEGORY STRIP
   ============================================= */
.niche-strip {
  background:var(--eu-bg-alt);
  border-bottom:1px solid var(--eu-border);
  padding:.75rem 0; overflow-x:auto;
}
.niche-strip::-webkit-scrollbar { display:none; }
.niche-list {
  display:flex; gap:.6rem;
  list-style:none; padding:0; width:max-content;
}
.niche-list a {
  display:inline-block; padding:.35rem 1rem;
  border-radius:100px; font-size:var(--eu-size-xs);
  font-weight:700; letter-spacing:.06em;
  text-transform:uppercase;
  border:1.5px solid var(--eu-border);
  color:var(--eu-text-muted);
  transition:all var(--eu-transition);
}
.niche-list a:hover,
.niche-list .active a {
  background:var(--eu-primary);
  border-color:var(--eu-primary); color:#fff;
}

/* =============================================
   SERVICES STRIP
   ============================================= */
.services-strip { background:var(--eu-bg-alt); padding:4rem 0; }
.services-strip-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:2rem; margin-top:2.5rem;
}
.service-card {
  background:var(--eu-bg); border:1px solid var(--eu-border);
  border-radius:var(--eu-radius-lg); padding:2rem 1.5rem;
  transition:transform var(--eu-transition),box-shadow var(--eu-transition);
  text-align:center;
}
.service-card:hover { transform:translateY(-6px); box-shadow:var(--eu-shadow-lg); }
.service-icon {
  width:64px; height:64px; border-radius:50%;
  background:linear-gradient(135deg,var(--eu-primary),var(--eu-secondary));
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 1.25rem; font-size:1.75rem;
}
.service-card h3 { font-size:var(--eu-size-lg); margin-bottom:.5rem; }
.service-card p  { font-size:var(--eu-size-sm); color:var(--eu-text-muted); margin:0; }

/* =============================================
   POSTS GRID
   ============================================= */
.featured-posts { padding:5rem 0; }
.posts-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:2rem; margin-top:2rem;
}
.post-card {
  background:var(--eu-bg-alt); border-radius:var(--eu-radius-lg);
  overflow:hidden; border:1px solid var(--eu-border);
  transition:transform var(--eu-transition),box-shadow var(--eu-transition);
  display:flex; flex-direction:column;
}
.post-card:hover { transform:translateY(-5px); box-shadow:var(--eu-shadow-lg); }
.post-card-thumb { aspect-ratio:16/9; overflow:hidden; }
.post-card-thumb img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .4s ease;
}
.post-card:hover .post-card-thumb img { transform:scale(1.05); }
.post-card-body { padding:1.5rem; flex:1; display:flex; flex-direction:column; }
.post-category {
  display:inline-block; font-size:.68rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--eu-accent); margin-bottom:.75rem;
}
.post-card h3 { font-size:var(--eu-size-lg); margin-bottom:.5rem; }
.post-card p  { font-size:var(--eu-size-sm); color:var(--eu-text-muted); flex:1; }
.post-meta {
  display:flex; align-items:center; gap:1rem;
  font-size:var(--eu-size-sm); color:var(--eu-text-muted);
  margin-top:1rem; padding-top:1rem;
  border-top:1px solid var(--eu-border);
}
.post-meta img { width:28px; height:28px; border-radius:50%; object-fit:cover; }

/* =============================================
   BLOG INDEX
   ============================================= */
.blog-index { padding:4rem 0; }
.category-tabs {
  display:flex; flex-wrap:wrap; gap:.75rem;
  margin-bottom:2.5rem; padding:0; list-style:none;
}
.category-tabs li a {
  display:inline-block; padding:.45rem 1.25rem;
  border-radius:100px; font-size:var(--eu-size-sm);
  font-weight:600; border:2px solid var(--eu-border);
  color:var(--eu-text); transition:all var(--eu-transition);
}
.category-tabs li a:hover,
.category-tabs li.current-cat a {
  background:var(--eu-primary);
  border-color:var(--eu-primary); color:#fff;
}

/* =============================================
   SINGLE POST
   ============================================= */
.single-post-wrap { padding:4rem 0; }
.post-header { margin-bottom:2.5rem; max-width:760px; margin-inline:auto; }
.post-header h1 { font-size:clamp(2rem,5vw,3rem); line-height:1.2; margin:.75rem 0 1rem; }
.post-featured-img {
  width:100%; aspect-ratio:21/9; object-fit:cover;
  border-radius:var(--eu-radius-lg); margin-bottom:2.5rem;
}
.post-content { max-width:760px; margin:0 auto; }
.post-content h2 { font-size:var(--eu-size-2xl); margin:2rem 0 .75rem; }
.post-content h3 { font-size:var(--eu-size-xl); margin:1.5rem 0 .5rem; }
.post-content p   { margin-bottom:1.5rem; }
.post-content blockquote {
  border-left:4px solid var(--eu-accent);
  padding:1rem 1.5rem; margin:2rem 0;
  background:var(--eu-bg); border-radius:0 var(--eu-radius) var(--eu-radius) 0;
  font-style:italic; font-size:var(--eu-size-lg);
}
.author-bio {
  display:flex; gap:1.5rem; align-items:flex-start;
  background:var(--eu-bg-alt); border:1px solid var(--eu-border);
  border-radius:var(--eu-radius-lg); padding:2rem; margin:3rem 0;
}
.author-bio img { width:80px; height:80px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.author-bio h4  { font-size:var(--eu-size-lg); margin-bottom:.25rem; }
.author-bio p   { font-size:var(--eu-size-sm); color:var(--eu-text-muted); margin:0; }
.social-share {
  display:flex; align-items:center; gap:1rem;
  margin:2rem 0; flex-wrap:wrap;
}
.social-share span { font-weight:600; font-size:var(--eu-size-sm); }
.share-btn {
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.5rem 1rem; border-radius:var(--eu-radius);
  font-size:var(--eu-size-sm); font-weight:600;
  color:#fff; border:none; cursor:pointer;
  transition:opacity var(--eu-transition); text-decoration:none;
}
.share-btn:hover { opacity:.85; color:#fff; }
.share-twitter  { background:#1da1f2; }
.share-facebook { background:#1877f2; }
.share-linkedin { background:#0a66c2; }
.share-whatsapp { background:#25d366; }
.related-posts { padding:3rem 0; border-top:1px solid var(--eu-border); }
.related-posts h3 { font-size:var(--eu-size-2xl); margin-bottom:1.5rem; }

/* =============================================
   SERVICES PAGE
   ============================================= */
.services-hero {
  text-align:center; padding:5rem 0 3rem;
  background:var(--eu-primary); color:#fff;
}
.services-hero h1 { color:#fff; font-size:var(--eu-size-3xl); }
.services-hero p  { color:rgba(255,255,255,.75); max-width:600px; margin:1rem auto 0; }
.services-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:2rem; padding:4rem 0;
}
.service-full-card {
  background:var(--eu-bg-alt); border:1px solid var(--eu-border);
  border-radius:var(--eu-radius-lg); padding:2.5rem;
  transition:transform var(--eu-transition),box-shadow var(--eu-transition);
  border-top:4px solid var(--eu-accent);
}
.service-full-card:hover { transform:translateY(-5px); box-shadow:var(--eu-shadow-lg); }
.service-full-card h3 { font-size:var(--eu-size-xl); margin-bottom:1rem; }
.service-full-card ul { list-style:none; padding:0; margin:1.25rem 0 1.75rem; }
.service-full-card ul li {
  padding:.4rem 0 .4rem 1.5rem;
  font-size:var(--eu-size-sm); color:var(--eu-text-muted);
  position:relative;
}
.service-full-card ul li::before {
  content:'✓'; position:absolute; left:0;
  color:var(--eu-accent); font-weight:700;
}

/* =============================================
   WRITE FOR US
   ============================================= */
.wfu-hero {
  background:var(--eu-primary); padding:5rem 0 3rem;
  text-align:center; color:#fff;
}
.wfu-hero h1 { color:#fff; }
.wfu-hero p  { color:rgba(255,255,255,.75); max-width:580px; margin:1rem auto 0; }
.wfu-wrap { padding:4rem 0; }
.wfu-grid {
  display:grid; grid-template-columns:1fr 2fr;
  gap:3rem; align-items:start;
}
.wfu-guidelines h3 { font-size:var(--eu-size-xl); margin-bottom:1rem; }
.wfu-guidelines ul { list-style:none; padding:0; }
.wfu-guidelines li {
  padding:.6rem 0 .6rem 1.75rem;
  font-size:var(--eu-size-sm);
  border-bottom:1px solid var(--eu-border); position:relative;
}
.wfu-guidelines li::before { content:'→'; position:absolute; left:0; color:var(--eu-accent); }
.wfu-form-wrap {
  background:var(--eu-bg-alt); border:1px solid var(--eu-border);
  border-radius:var(--eu-radius-lg); padding:2.5rem;
}
.wfu-form-wrap h3 { font-size:var(--eu-size-xl); margin-bottom:1.75rem; }
.wpcf7-form .form-row {
  display:grid; grid-template-columns:1fr 1fr;
  gap:1.25rem; margin-bottom:1.25rem;
}
.wpcf7-form .form-row-full { grid-column:1/-1; }
.wpcf7-form label {
  display:block; font-size:var(--eu-size-sm);
  font-weight:600; margin-bottom:.4rem; color:var(--eu-primary);
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="url"],
.wpcf7-form textarea {
  width:100%; padding:.75rem 1rem;
  border:1.5px solid var(--eu-border); border-radius:var(--eu-radius);
  font-family:var(--eu-font-body); font-size:var(--eu-size-base);
  color:var(--eu-text); background:var(--eu-bg);
  transition:border-color var(--eu-transition),box-shadow var(--eu-transition);
  outline:none;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  border-color:var(--eu-accent);
  box-shadow:0 0 0 3px rgba(240,180,41,.15);
}
.wpcf7-form textarea { resize:vertical; min-height:120px; }
.wpcf7-form input[type="file"] {
  width:100%; padding:.75rem 1rem;
  border:2px dashed var(--eu-border);
  border-radius:var(--eu-radius); background:var(--eu-bg);
  cursor:pointer; font-size:var(--eu-size-sm);
}
.wpcf7-form input[type="file"]:hover { border-color:var(--eu-accent); }
.wpcf7-form input[type="submit"] {
  background:var(--eu-accent); color:var(--eu-primary);
  border:2px solid var(--eu-accent);
  padding:.85rem 2rem; border-radius:var(--eu-radius);
  font-weight:700; font-size:var(--eu-size-base);
  cursor:pointer; transition:all var(--eu-transition);
  font-family:var(--eu-font-body); width:100%; margin-top:.5rem;
}
.wpcf7-form input[type="submit"]:hover {
  background:transparent; color:var(--eu-accent);
}
.wpcf7-mail-sent-ok {
  background:#d1fae5; border:1px solid #6ee7b7;
  color:#065f46; padding:1rem 1.25rem;
  border-radius:var(--eu-radius); font-weight:600; margin-top:1rem;
}
.form-divider {
  display:flex; align-items:center; gap:1rem;
  margin:1.5rem 0; color:var(--eu-text-muted); font-size:var(--eu-size-sm);
}
.form-divider::before,.form-divider::after {
  content:''; flex:1; height:1px; background:var(--eu-border);
}

/* =============================================
   ABOUT PAGE
   ============================================= */
.about-hero { padding:5rem 0; }
.about-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:4rem; align-items:center;
}
.about-img-wrap { position:relative; }
.about-img-wrap img {
  width:100%; aspect-ratio:4/5; object-fit:cover;
  border-radius:var(--eu-radius-lg); box-shadow:var(--eu-shadow-lg);
}
.about-img-badge {
  position:absolute; bottom:-1.5rem; right:-1.5rem;
  background:var(--eu-accent); color:var(--eu-primary);
  padding:1.25rem 1.5rem; border-radius:var(--eu-radius-lg);
  font-family:var(--eu-font-heading); font-size:var(--eu-size-lg);
  font-weight:700; text-align:center; line-height:1.3;
  box-shadow:var(--eu-shadow);
}
.about-content .eyebrow {
  font-size:var(--eu-size-sm); font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--eu-accent); margin-bottom:1rem;
}
.about-content h1 { font-size:var(--eu-size-3xl); margin-bottom:1.25rem; }
.about-content p  { color:var(--eu-text-muted); margin-bottom:1.25rem; }
.stats-row { display:flex; gap:2rem; margin:2rem 0; flex-wrap:wrap; }
.stat strong {
  display:block; font-size:var(--eu-size-2xl);
  font-family:var(--eu-font-heading); color:var(--eu-primary);
}
.stat span { font-size:var(--eu-size-sm); color:var(--eu-text-muted); }

/* =============================================
   CONTACT PAGE
   ============================================= */
.contact-wrap { padding:5rem 0; }
.contact-grid {
  display:grid; grid-template-columns:1fr 2fr;
  gap:3rem; align-items:start;
}
.contact-info h2  { font-size:var(--eu-size-2xl); margin-bottom:1rem; }
.contact-info p   { color:var(--eu-text-muted); font-size:var(--eu-size-sm); }
.contact-detail {
  display:flex; align-items:center; gap:.75rem;
  margin-top:1.5rem; font-size:var(--eu-size-sm);
}
.contact-detail .icon {
  width:40px; height:40px; background:var(--eu-primary);
  border-radius:50%; display:flex; align-items:center;
  justify-content:center; color:var(--eu-accent);
  font-size:1rem; flex-shrink:0;
}
.contact-form-wrap {
  background:var(--eu-bg-alt); border:1px solid var(--eu-border);
  border-radius:var(--eu-radius-lg); padding:2.5rem;
}

/* =============================================
   PAGE HERO
   ============================================= */
.page-hero {
  background:var(--eu-primary); padding:4rem 0;
  text-align:center; color:#fff;
}
.page-hero h1 { color:#fff; font-size:var(--eu-size-3xl); }
.page-hero .breadcrumb {
  display:flex; justify-content:center; gap:.5rem;
  list-style:none; padding:0; margin-top:.75rem;
  font-size:var(--eu-size-sm); color:rgba(255,255,255,.6);
}
.page-hero .breadcrumb a { color:var(--eu-accent); }
.page-hero .breadcrumb li+li::before { content:'/'; margin-right:.5rem; }

/* =============================================
   FOOTER
   ============================================= */
.site-footer {
  background:var(--eu-primary);
  color:rgba(255,255,255,.75);
  padding:4rem 0 1.5rem;
}
.footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:2rem; padding-bottom:3rem;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.footer-brand p { font-size:var(--eu-size-sm); line-height:1.7; margin-top:1rem; }
.footer-col h4 {
  color:#fff; font-size:var(--eu-size-sm);
  font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; margin-bottom:1.25rem;
}
.footer-col ul { list-style:none; padding:0; }
.footer-col ul li { margin-bottom:.6rem; }
.footer-col ul li a {
  color:rgba(255,255,255,.65); font-size:var(--eu-size-sm);
  transition:color var(--eu-transition);
}
.footer-col ul li a:hover { color:var(--eu-accent); }
.footer-bottom {
  display:flex; justify-content:space-between;
  align-items:center; padding-top:1.5rem;
  font-size:var(--eu-size-sm); flex-wrap:wrap; gap:1rem;
}
.footer-socials { display:flex; gap:.75rem; }
.footer-socials a {
  width:36px; height:36px; border-radius:50%;
  border:1px solid rgba(255,255,255,.2);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.65); transition:all var(--eu-transition);
  font-size:.85rem;
}
.footer-socials a:hover {
  background:var(--eu-accent); border-color:var(--eu-accent);
  color:var(--eu-primary);
}

/* =============================================
   LEGAL PAGES
   ============================================= */
.legal-page-wrap { padding:4rem 0 5rem; }
.legal-grid {
  display:grid; grid-template-columns:240px 1fr;
  gap:3rem; align-items:start;
}
.legal-toc { position:sticky; top:88px; }
.legal-toc-inner {
  background:var(--eu-bg-alt); border:1px solid var(--eu-border);
  border-radius:var(--eu-radius-lg); padding:1.5rem;
}
.legal-toc h4 {
  font-size:var(--eu-size-sm); font-weight:700;
  text-transform:uppercase; letter-spacing:.08em;
  color:var(--eu-primary); margin-bottom:1rem;
}
.legal-toc ol { padding-left:1.25rem; margin:0; }
.legal-toc ol li { margin-bottom:.5rem; }
.legal-toc ol li a {
  color:var(--eu-text-muted); font-size:var(--eu-size-sm);
  line-height:1.5; transition:color var(--eu-transition);
}
.legal-toc ol li a:hover,
.legal-toc ol li a.is-active { color:var(--eu-accent); font-weight:600; }
.legal-section {
  padding-bottom:2.5rem; margin-bottom:2.5rem;
  border-bottom:1px solid var(--eu-border);
}
.legal-section:last-child { border-bottom:none; }
.legal-section h2 {
  font-size:var(--eu-size-xl); color:var(--eu-primary);
  margin-bottom:1rem; padding-top:1rem;
}
.legal-body h3 {
  font-family:var(--eu-font-body); font-size:var(--eu-size-base);
  font-weight:700; color:var(--eu-primary); margin:1.5rem 0 .5rem;
}
.legal-body p { color:var(--eu-text); font-size:var(--eu-size-base); line-height:1.8; margin-bottom:1rem; }
.legal-body ul,.legal-body ol { padding-left:1.5rem; margin-bottom:1.25rem; }
.legal-body li { color:var(--eu-text-muted); font-size:var(--eu-size-base); line-height:1.7; margin-bottom:.4rem; }
.legal-body strong { color:var(--eu-primary); font-weight:600; }
.legal-body a { color:var(--eu-accent); text-decoration:underline; text-underline-offset:3px; }

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width:1024px) {
  .footer-grid { grid-template-columns:1fr 1fr; }
  .about-grid  { gap:2.5rem; }
}
@media (max-width:900px) {
  .legal-grid { grid-template-columns:1fr; }
  .legal-toc  { position:static; }
  .legal-toc ol { display:flex; flex-wrap:wrap; gap:.4rem .75rem; padding-left:0; list-style:none; }
  .legal-toc ol li a { display:inline-block; padding:.3rem .75rem; border:1px solid var(--eu-border); border-radius:100px; font-size:.75rem; }
}
@media (max-width:768px) {
  .menu-toggle { display:flex; }
  .primary-nav {
    display:none; position:absolute;
    top:72px; left:0; right:0;
    background:var(--eu-bg-alt);
    border-bottom:1px solid var(--eu-border);
    padding:1.5rem; box-shadow:var(--eu-shadow);
  }
  .primary-nav.is-open { display:block; }
  .primary-nav ul { flex-direction:column; gap:0; }
  .primary-nav ul li { border-bottom:1px solid var(--eu-border); }
  .primary-nav a { display:block; padding:.75rem 0; }
  .hero { min-height:70vh; }
  .hero-title { font-size:2.25rem; }
  .wfu-grid,.about-grid,.contact-grid { grid-template-columns:1fr; }
  .wpcf7-form .form-row { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .about-img-badge { right:0; bottom:0; }
}
@media (max-width:480px) {
  .section-title { font-size:var(--eu-size-2xl); }
  .footer-grid   { grid-template-columns:1fr; }
  .hero-actions  { flex-direction:column; }
  .stats-row     { gap:1.25rem; }
  .author-bio    { flex-direction:column; }
  .hero-stats    { gap:1.25rem; }
}
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.lazy { opacity:0; transition:opacity .4s ease; }
.lazy.loaded { opacity:1; }
