:root {
  --uvl-brand: #1f6feb;
  --uvl-ink: #101828;
  --uvl-ink-2: #344054;
  --uvl-bg: #ffffff;
  --uvl-card: #ffffff;
  --uvl-line: #e5e7eb;
  --uvl-radius: 14px;
  --uvl-shadow: 0 10px 20px rgba(0,0,0,.06);
}

body { color: var(--uvl-ink); font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji"; }

/* Hero tight to header */
.uvl-hero {
  background: url('../img/hero-bg.svg') center/cover no-repeat, linear-gradient(180deg, #f7faff, #ffffff);
  padding: 1.1rem 1rem 3rem;
  border-bottom: 1px solid var(--uvl-line);
}
@media (max-width: 640px){ .uvl-hero { padding-top: .9rem; padding-bottom: 2.4rem; } }
.uvl-hero-inner { max-width: 820px; margin: 0 auto; text-align: center; }
.uvl-logo { width: 230px; height: auto; margin: 0 auto .3rem; display:block; }
.uvl-hero h1 { font-size: clamp(1.95rem, 4.2vw, 2.8rem); line-height: 1.12; margin: .05rem 0 .5rem; }
.uvl-hero p { font-size: 1.08rem; color: var(--uvl-ink-2); margin-bottom: 1rem; }
.uvl-cta { display: inline-flex; gap: .65rem; flex-wrap: wrap; justify-content: center; }

/* Buttons */
.uvl-btn { padding: .75rem 1.05rem; border-radius: var(--uvl-radius); text-decoration: none; font-weight: 600; display: inline-block; box-shadow: var(--uvl-shadow); }
.uvl-btn-primary { background: var(--uvl-brand); color: #fff; }
.uvl-btn-outline { border: 1px solid var(--uvl-brand); color: var(--uvl-brand); background: #fff; box-shadow: none; }

/* Badges */
.uvl-hero-badges { display: flex; gap: .4rem; justify-content: center; flex-wrap: wrap; margin-top: .5rem; color: var(--uvl-ink-2); font-size: .95rem; }
.uvl-hero-badges span { background: #eef2ff; padding: .32rem .55rem; border-radius: 999px; border: 1px solid #e5e7eb; }

/* Sections */
.uvl-section { padding: 2.5rem 0; }
.uvl-section.uvl-alt { background: #fafafa; }
.uvl-container { max-width: 1160px; margin: 0 auto; padding: 0 1rem; }
.uvl-center { text-align: center; }

/* Cards and grids */
.uvl-cols-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
@media (max-width: 900px) { .uvl-cols-3 { grid-template-columns: 1fr; } }
.uvl-feature, .uvl-card {
  border: 1px solid var(--uvl-line);
  border-radius: var(--uvl-radius);
  padding: 1rem;
  background: var(--uvl-card);
  box-shadow: var(--uvl-shadow);
}
.uvl-feature h3, .uvl-card h3 { margin-top: 0; }

/* Quotes */
.uvl-quote { border-left: 4px solid #e5e7eb; padding: .5rem 1rem; background: #fff; border-radius: .4rem; box-shadow: var(--uvl-shadow); }

/* Footer bar */
.uvl-footerbar { border-top: 1px solid var(--uvl-line); background: #f9fafb; padding: .7rem 0; font-size: .95rem; margin-top: 2rem; }
.uvl-footerbar a { color: var(--uvl-ink); text-decoration: none; margin-right: .5rem; }
.uvl-footerbar a:hover { text-decoration: underline; }

/* Forms & misc */
.uvl-form { max-width: 640px; margin: 1.05rem auto; display: grid; gap: .78rem; }
.uvl-form label { display: grid; gap: .35rem; }
.uvl-form input, .uvl-form select, .uvl-form textarea { padding: .7rem; border: 1px solid var(--uvl-line); border-radius: var(--uvl-radius); }
.uvl-form button, .uvl-like, .uvl-btn { cursor: pointer; }
.uvl-success { background: #e8f8ef; color: #175f3e; padding: .7rem .9rem; border-radius: var(--uvl-radius); }
.uvl-error { background: #fde8e8; color: #a11; padding: .7rem .9rem; border-radius: var(--uvl-radius); }
.uvl-notice { background: #eef2ff; color: #223; padding: .7rem .9rem; border-radius: var(--uvl-radius); }

.uvl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; }
.uvl-meta { color: var(--uvl-ink-2); font-size: .95rem; }

/* Messages */
.uvl-messages { max-width: 760px; margin: 1rem auto; }
.uvl-thread { display: grid; gap: .6rem; padding: .6rem; border: 1px solid var(--uvl-line); border-radius: var(--uvl-radius); background: #fafafa; box-shadow: var(--uvl-shadow); }
.uvl-bubble { max-width: 80%; padding: .6rem .8rem; border-radius: 1rem; }
.uvl-bubble.me { background: #d9fdd3; margin-left: auto; }
.uvl-bubble.them { background: #fff; border: 1px solid var(--uvl-line); }
.uvl-time { display: block; font-size: .8rem; color: #666; margin-top: .25rem; }
.uvl-filters { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1rem; }

/* Hide default page title on our homepage */
.uvl-hide-title .entry-title, .uvl-hide-title h1.entry-title { display:none !important; }

/* Remove tagline blocks just in case */
.site-description, .site-tagline, .wp-block-site-tagline { display:none; }

/* Inline logo used to replace tagline */
.uvl-inline-logo { height: 28px; vertical-align: middle; display:inline-block; }
footer .uvl-inline-logo, .site-footer .uvl-inline-logo { height: 18px; opacity:.9; }
