:root{
  --ubv-dark:#111;
  --ubv-ink:#222;
  --ubv-accent:#5a7f62;
  --ubv-gold-1:rgba(255,215,0,.18);
  --ubv-gold-2:rgba(255,215,0,.06);
}

html,body{height:100%;}
body{
  font-family: Georgia, "Times New Roman", serif;
  color:var(--ubv-ink);
  line-height:1.7;
}
h1,h2,h3,h4{
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing:.2px;
}

.navbar-ubv{
  background:var(--ubv-dark);
}
.navbar-ubv .navbar-brand{
  font-weight:600;
  letter-spacing:.4px;
}
.navbar-ubv .nav-link{
  color:#eee !important;
}
.navbar-ubv .nav-link:hover,
.navbar-ubv .nav-link:focus{
  background:rgba(255,255,255,.06);
  color:#fff !important;
  border-radius:.35rem;
}

/* Hero */
.hero{
  background-image:url("../images/index-hero.png");
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  min-height:56vh;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding-top:10vh;
  text-align:center;
  color:#fff;
}
.hero h1{
  font-weight:700;
  font-size:clamp(5rem,10vw,9rem);
  line-height:1.05;
  margin:0;
}
.hero p.lead{
  font-size:clamp(1.5rem,2.5vw,3rem);
  line-height:1.3;
  max-width:48rem;
  margin:1rem auto 0 auto;
  letter-spacing:.02em;
  color:#f5f5f5;
}

.hero-small{
  background-image:url("../images/aux-hero.png");
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  min-height:26vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
}
.hero-small h1{
  font-weight:700;
  font-size:clamp(2.1rem,4vw,3.2rem);
  margin-bottom:.25rem;
}
.hero-small .lead{
  font-size:1.1rem;
  margin-bottom:0;
}

/* Announcement */
.ubv-announcement{ margin-top:.75rem; }
.ubv-video-alert{
  border:0;
  border-radius:.75rem;
  padding:1.5rem;
  background:linear-gradient(to right,var(--ubv-gold-1),var(--ubv-gold-2));
}
.ubv-video-alert a{ color:var(--ubv-accent); font-weight:700; text-decoration:none; }
.ubv-video-alert a:hover{ text-decoration:underline; }

.ubv-video-alert-media{
  display:flex;
  align-items:center;
  gap:1.25rem;
}
.ubv-video-thumb{
  width:140px;
  height:92px;
  flex-shrink:0;
  background-image:url("../images/video-thumb.png");
  background-size:cover;
  background-position:center 20%;
  border-radius:14px;
  overflow:hidden;
  filter:contrast(.92) saturate(.92) brightness(1.03);
  opacity:.92;
  box-shadow:0 2px 10px rgba(0,0,0,.12);
}
.ubv-video-headline{
  display:flex;
  align-items:center;
  gap:.6rem;
  font-size:1.55rem;
  font-weight:700;
}
.ubv-video-sub{
  font-size:1.15rem;
}

.ubv-video-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.2em;
  height:2.2em;
  font-size:1.1em;
  color:var(--ubv-accent);
  border:2px solid rgba(90,127,98,.35);
  border-radius:50%;
  line-height:1;
}
.ubv-badge-new{
  display:inline-block;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.08em;
  padding:.25rem .55rem;
  border-radius:999px;
  color:#2e4f3a;
  background:rgba(90,127,98,.12);
  border:1px solid rgba(90,127,98,.22);
  transform:translateY(-1px);
}

@media (max-width:768px){
  .ubv-video-alert-media{ flex-direction:column; text-align:center; }
  .ubv-video-thumb{ width:180px; height:112px; }
  .hero{ padding-top:6vh; }
  .hero h1{ font-size:clamp(3.4rem,11vw,6rem); }
  .hero p.lead{ font-size:clamp(1.2rem,3.5vw,2rem); }
}

/* Cards */
.ubv-card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:.75rem;
  box-shadow:none;
}
.ubv-card .card-body{ padding:1.25rem; }

/* Footer */
footer{
  background:var(--ubv-dark);
  color:#eee;
}
footer a{ color:#eee; }

/* Contact */
.form-note{
  font-size:.95rem;
  color:#555;
}

/* Substack embed card */
.ubv-substack-card {
    display: flex;
    gap: 1.5rem;
    align-items: stretch;
    padding: 1.5rem;
    border: 1px solid rgba(0,0,0,.10);
    background: #fff;
}

.ubv-substack-left {
    flex: 1;
    min-width: 260px;
}

.ubv-substack-title {
    margin-top: 0;
    margin-bottom: .5rem;
}

.ubv-substack-text {
    max-width: 42rem;
    margin-bottom: 1rem;
}

.ubv-substack-actions {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    margin-top: .75rem;
}

.ubv-substack-embed {
    flex: 0 0 360px;
    max-width: 420px;
    width: 100%;
}

/* mobile */
@media (max-width: 992px) {
    .ubv-substack-card {
        flex-direction: column;
    }

    .ubv-substack-embed {
        flex: 1;
        max-width: none;
    }
}
.hero-overlay-card {
    display: inline-block;
    margin-top: 1.2rem;
    padding: 1.1rem 1.25rem;
    max-width: 52rem;
    background: rgba(0,0,0,.42); /* scrim for readability */
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 10px;
    backdrop-filter: blur(2px); /* subtle; remove if you dislike */
}

.hero-kicker {
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-size: clamp(1.05rem, 2.0vw, 1.55rem);
}

.hero-subkicker {
    margin-top: .25rem;
    font-size: clamp(1.0rem, 1.8vw, 1.35rem);
    opacity: .92;
    font-style: italic;
}

.hero-byline {
    margin-top: .65rem;
    font-size: clamp(1.0rem, 1.8vw, 1.25rem);
}

.hero-meta {
    margin-top: .35rem;
    font-size: clamp(.95rem, 1.7vw, 1.15rem);
    opacity: .92;
}

.hero-date {
    margin-top: .65rem;
    font-weight: 700;
    letter-spacing: .06em;
    font-size: 1rem;
    opacity: .95;
}

.hero-muted {
    opacity: .85;
    font-weight: 400;
}
.blog-placeholder {
    background-color: #f5f8fb;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 12px;
}

    .blog-placeholder h4 {
        font-family: "Playfair Display", Georgia, serif;
    }
