/* ===============================
   KD8Q — Cassiopeia user.css (v7)
   Clean + condensed
   =============================== */

/* ---------- Brand palette ---------- */
:root{
  --kd8q-navy:#0B1A3A;
  --kd8q-gold:#FFD43B;

  /* keep Cassiopeia in sync */
  --cassiopeia-color-primary:var(--kd8q-navy);
  --cassiopeia-color-link:var(--kd8q-navy);
  --cassiopeia-color-hover:var(--kd8q-gold);
}

/* ---------- Global canvas & header ---------- */
body.site, body.site .site-grid{ background:#F6F8FB; background-image:none; }

.container-header, .container-header .grid-child, .site-header{
  background:var(--kd8q-navy); color:#fff; min-height:56px;
}
.container-header a{ color:#fff; }
.container-header .navbar-brand{ padding:.42rem 0; }
.container-header .navbar-brand img{ height:34px; width:auto; display:block; }

/* ===============================
   HOME: hero, CTAs, and cards
   =============================== */
.kd8q-wrap{ font-family:system-ui,-apple-system,"Segoe UI",Roboto,Inter,Arial,sans-serif; color:#1f2937; line-height:1.55; }

.kd8q-hero{
  position:relative; display:grid; place-items:center; min-height:46vh;
  background:url('/images/kd8q/kd8q-hero.jpg') center/cover no-repeat;
  border-radius:18px; overflow:hidden; margin:0 0 1.25rem;
}
.kd8q-scrim{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,26,58,.62),rgba(11,26,58,.72)); }
.kd8q-hero-inner{ position:relative; text-align:center; padding:3.5rem 1.25rem; color:#fff; text-shadow:0 2px 16px rgba(0,0,0,.45); }
.kd8q-kicker{ display:none; }
.kd8q-brandmark{ margin:.6rem auto 0; max-width:min(88%,760px); width:100%; height:auto; filter:drop-shadow(0 10px 22px rgba(0,0,0,.28)); }
.kd8q-tag{ opacity:.96; font-size:1.05rem; margin-top:.4rem; }

.kd8q-cta{ margin-top:1.1rem; display:flex; gap:.75rem; justify-content:center; flex-wrap:wrap; }

/* Buttons */
.kd8q-btn{ display:inline-flex; align-items:center; gap:.4rem; font-weight:700; text-decoration:none; border-radius:999px; }
.kd8q-btn--primary{ background:var(--kd8q-gold); color:var(--kd8q-navy); padding:.75rem 1.1rem; border:0; }
.kd8q-btn--primary:hover{ filter:brightness(.95); }
.kd8q-btn--ghost{ background:var(--kd8q-navy); border:2px solid var(--kd8q-navy); color:#fff; padding:.55rem .9rem; }
.kd8q-btn--ghost:hover, .kd8q-btn--ghost:focus{ background:transparent; color:var(--kd8q-navy); }
.kd8q-btn--lg{ padding:.9rem 1.25rem; font-size:1.15rem; }
.kd8q-btn--sm{ padding:.45rem .8rem; }

/* Cards */
.kd8q-section{ padding:1.25rem 0; }
.kd8q-grid{ display:grid; gap:1rem; grid-template-columns:repeat(12,1fr); }
.kd8q-card{ grid-column:span 12; background:#fff; border:1px solid #e5e7eb; border-radius:16px; overflow:hidden; }
.kd8q-card img{ width:100%; height:240px; object-fit:cover; display:block; }
.kd8q-card-body{ padding:1rem 1.1rem; }
.kd8q-card h3{ margin:.25rem 0 .35rem; font-size:1.25rem; color:var(--kd8q-navy); }
.kd8q-list{ margin:.4rem 0 0; padding-left:1rem; }
.kd8q-note{ font-size:.95rem; background:#F6F8FB; border-left:4px solid var(--kd8q-gold); padding:.85rem 1rem; border-radius:12px; margin-top:1rem; }

@media (min-width:760px){ .kd8q-card{ grid-column:span 6; } .kd8q-card img{ height:260px; } }
@media (min-width:1024px){ .kd8q-card{ grid-column:span 4; } .kd8q-card img{ height:220px; } }

/* ===============================
   INTERIOR PAGES (Join / Updates)
   =============================== */
.kd8q-narrow .container-component{ max-width:980px; margin:0 auto; }

.kd8q-page .page-header{ background:transparent; border:0; padding:0; margin:0 0 .4rem; }
.kd8q-page .page-header .page-title{ font:700 1.75rem/1.3 system-ui; color:var(--kd8q-navy); margin:.25rem 0 .6rem; }

.kd8q-page .com-content-article p{ font-size:1.05rem; }

/* Back link (shared) */
.kd8q-back{ margin-top:1.2rem; }
.kd8q-back a{ text-decoration:none; border-radius:999px; }

/* Category blog (Updates list) */
.kd8q-page .blog-items .item{ background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:1rem 1.1rem; margin:1rem 0; }
.kd8q-page .blog-items .item .item-title a{ color:var(--kd8q-navy); text-decoration:none; }
.kd8q-page .blog-items .item .item-title a:hover{ text-decoration:underline; }

/* Hide Cassiopeia page heading only on category-blog view */
body.view-category .com-content-category-blog > .page-header{ display:none; }

/* ===============================
   Sub-hero band (Join / Updates)
   =============================== */
.kd8q-subhero{
  position:relative; border-radius:18px; overflow:hidden; margin:0 0 1rem;
  padding:1.6rem 1.1rem; text-align:center;
}
.kd8q-subhero::before{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(0deg, rgba(11,26,58,.92), rgba(11,26,58,.85)),
    url('/images/kd8q/kd8q-hero.jpg') center/cover no-repeat;
}
.kd8q-subhero > *{ position:relative; z-index:1; color:#fff; }
.kd8q-subhero h1{ margin:.5rem 0 .25rem; font:800 2rem/1.2 system-ui; color:var(--kd8q-gold); text-shadow:0 2px 12px rgba(0,0,0,.38); }
.kd8q-subhero p{ margin:0 0 .25rem; color:#fff; opacity:1; text-shadow:0 2px 14px rgba(0,0,0,.5); }
.kd8q-subhero--narrow{ max-width:980px; margin:0 auto; }

/* ===============================
   Convert Forms (Join)
   =============================== */
.convertforms .cf-container{ max-width:880px; margin:0 auto; }
.convertforms .cf-form{ padding:1rem 0; }

/* Card look around the form */
.convertforms .cf-form-wrap{
  background:#fff; border:1px solid #e5e7eb; border-radius:18px;
  padding:1.25rem; box-shadow:0 6px 18px rgba(2,6,23,.05);
}

.convertforms .cf-field label{ font-weight:700; color:var(--kd8q-navy); margin:0 0 .25rem; }
.convertforms input[type="text"],
.convertforms input[type="email"],
.convertforms textarea,
.convertforms select{
  padding:.9rem 1rem; border:1px solid #dbe2ea; border-radius:12px; background:#fff; font-size:1.05rem; width:100%;
}
.convertforms .cf-checkbox input+label{ display:flex; gap:.55rem; align-items:flex-start; line-height:1.4; }

.convertforms .cf-submit button{
  background:var(--kd8q-gold); color:var(--kd8q-navy);
  border:0; border-radius:999px; padding:.85rem 1.2rem; font-weight:800; cursor:pointer;
}
.convertforms .cf-submit button:hover{ filter:brightness(.95); }

/* ===============================
   Single article polish (Updates post)
   =============================== */
.item-page{ max-width:980px; margin:0 auto; }

/* Gold title + underline for article H1 (under the sub-hero) */
.item-page .page-header .page-title{
  font:800 2.25rem/1.2 system-ui; color:var(--kd8q-gold); margin:.15rem 0 .35rem;
}
.item-page .page-header .page-title::after{
  content:""; display:block; width:120px; height:4px; border-radius:2px;
  background:var(--kd8q-gold); margin:.35rem 0 .2rem;
}

/* Subtle meta row */
.item-page .article-info{ color:#5b6b83; font-weight:600; margin:0 0 1rem; }
.item-page .article-info dd, .item-page .article-info dt{ display:inline; margin:0; }
.item-page .article-info dd+dd:before{ content:"·"; margin:0 .4rem; }

/* Readability + lede */
.item-page .com-content-article__body p{ font-size:1.125rem; }
.item-page .com-content-article__body p:first-of-type{ font-size:1.2rem; font-weight:600; color:#23324f; }