/* ═══════════════════════════════════════════════════════════════════════
   BELUA CAPITAL — SHARED STYLESHEET
   Navy / Gold system — colors extracted from the brand logo
   Loaded by every page via:  <link rel="stylesheet" href="/assets/css/belua.css">
   Last revised: April 2026
   ═══════════════════════════════════════════════════════════════════════ */

*{box-sizing:border-box;margin:0;padding:0}

:root{
  /* ── PRIMARY: from logo field + ring ── */
  --navy:#0F2540;          /* logo background field */
  --navy-mid:#1A3A5C;      /* lifted navy for gradients */
  --navy-deep:#091828;     /* darker than logo, used for footer */
  --gold:#C9A24B;          /* logo ring + banner edge */
  --gold-bright:#E0BC6A;   /* hover / highlight */
  --gold-pale:#F5EBD3;     /* gold tint on light backgrounds */

  /* ── NEUTRAL ── */
  --off-white:#F4F1EA;     /* warm paper, body bg */
  --paper:#FFFFFF;         /* card bg */
  --charcoal:#1A1A1A;      /* body text on light */
  --muted:#5A5A5A;         /* secondary text */
  --border:#D9D2C2;        /* warm border tied to gold family */
  --border-soft:#EAE4D5;

  /* ── DATA ACCENT (limited use: calculator, table highlights) ── */
  --cyan:#3A7CA5;          /* circuit-trace blue from logo */
  --cyan-pale:#E5EFF6;

  /* ── STATUS ── */
  --red:#A81E1E;
  --red-pale:#FBEDED;
  --amber:#B07A1F;
  --amber-pale:#FBF3E0;
  --green:#2E6B3F;

  /* ── LAYOUT ── */
  --maxw:1180px;
  --maxw-narrow:860px;
  --radius:6px;
  --shadow-sm:0 2px 6px rgba(15,37,64,.08);
  --shadow-md:0 6px 22px rgba(15,37,64,.12);
}

html{scroll-behavior:smooth}
body{
  font-family:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  background:var(--off-white);
  color:var(--charcoal);
  font-size:15.5px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:var(--navy);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--gold)}

img{max-width:100%;height:auto;display:block}

/* ═══════ HEADER ═══════════════════════════════════════════════════════ */
header.site-header{background:var(--navy);color:#fff;border-bottom:3px solid var(--gold)}

.header-top{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;
  padding:14px 32px;
  max-width:var(--maxw);margin:0 auto;
  border-bottom:1px solid rgba(201,162,75,.18);
}

.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff}
.brand:hover{color:#fff}
.brand img{
  width:64px;height:64px;border-radius:50%;
  background:transparent;
  flex:0 0 64px;
  box-shadow:0 0 0 2px rgba(201,162,75,.35);
}
.brand-wordmark{font-family:'DM Serif Display',Georgia,serif;font-size:24px;line-height:1;letter-spacing:.01em}
.brand-wordmark .accent{color:var(--gold)}
.brand-tag{display:block;font-family:'IBM Plex Sans',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright);margin-top:5px}

.header-contact{text-align:right;line-height:1.55;font-size:13px;color:#cbd5df}
.header-contact strong{color:var(--gold-bright);display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px}
.header-contact a{color:#fff;text-decoration:none;font-weight:700;font-size:15px}
.header-contact a:hover{color:var(--gold-bright)}

nav.primary-nav{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  max-width:var(--maxw);margin:0 auto;padding:0 32px;
}
nav.primary-nav a{
  color:#cbd5df;text-decoration:none;
  padding:14px 18px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  border-bottom:3px solid transparent;
  transition:color .15s,border-color .15s;
}
nav.primary-nav a:hover,nav.primary-nav a.active{color:#fff;border-bottom-color:var(--gold)}

.nav-toggle{display:none;background:transparent;border:1px solid rgba(201,162,75,.4);border-radius:4px;cursor:pointer;padding:8px 12px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--gold);margin:4px 0}

/* ═══════ ALERT BANNER ════════════════════════════════════════════════ */
.alert-banner{
  background:var(--gold);color:var(--navy);
  text-align:center;padding:10px 20px;
  font-size:13px;font-weight:600;letter-spacing:.02em;
}
.alert-banner strong{font-weight:700}
.alert-banner a{color:var(--navy);text-decoration:underline;font-weight:700}

/* ═══════ HERO (homepage) ═════════════════════════════════════════════ */
.hero{
  background:
    radial-gradient(circle at 85% 20%, rgba(201,162,75,.10), transparent 55%),
    radial-gradient(circle at 12% 80%, rgba(58,124,165,.12), transparent 50%),
    linear-gradient(160deg,var(--navy-deep) 0%,var(--navy) 55%,var(--navy-mid) 100%);
  color:#fff;
  padding:72px 24px 68px;
  border-bottom:4px solid var(--gold);
  position:relative;overflow:hidden;
}

/* circuit-trace decorative SVG layer */
.hero::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'><g fill='none' stroke='%233A7CA5' stroke-width='1.2' opacity='0.18'><path d='M0 80 L60 80 L70 90 L120 90'/><circle cx='60' cy='80' r='3'/><circle cx='120' cy='90' r='3'/><path d='M0 160 L40 160 L50 170 L90 170 L100 180 L160 180'/><circle cx='40' cy='160' r='3'/><circle cx='160' cy='180' r='3'/><path d='M0 240 L80 240 L90 250 L140 250'/><circle cx='80' cy='240' r='3'/><path d='M0 320 L50 320 L60 330 L110 330'/><circle cx='110' cy='330' r='3'/></g></svg>");
  background-repeat:no-repeat;background-position:left center;background-size:auto 100%;
  pointer-events:none;
}
.hero-inner{max-width:var(--maxw-narrow);margin:0 auto;text-align:center;position:relative;z-index:2}

.hero-eyebrow{
  display:inline-block;
  font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-bright);
  border:1px solid rgba(201,162,75,.45);
  padding:6px 14px;border-radius:30px;
  margin-bottom:22px;
}

.hero h1{
  font-family:'DM Serif Display',Georgia,serif;
  font-size:clamp(34px,5.5vw,58px);
  line-height:1.08;
  font-weight:400;
  margin-bottom:16px;
  letter-spacing:-.005em;
}
.hero h1 .accent{color:var(--gold);font-style:italic}

.hero h2.hero-h2{
  font-family:'IBM Plex Sans',sans-serif;
  font-size:clamp(15px,2.2vw,19px);
  font-weight:600;
  color:#cbd5df;
  letter-spacing:.01em;
  margin-bottom:12px;
  line-height:1.45;
}
.hero h2.hero-h2 .pipe{color:var(--gold);margin:0 8px}

.hero-pillars{
  display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;
  margin:18px auto 28px;
  font-family:'DM Serif Display',Georgia,serif;
  font-size:clamp(18px,3vw,26px);
  color:#fff;
}
.hero-pillars span{position:relative;padding:0 6px}
.hero-pillars span::after{content:'·';color:var(--gold);position:absolute;right:-10px;top:0}
.hero-pillars span:last-child::after{display:none}

.hero-sub{font-size:16px;color:#cbd5df;max-width:640px;margin:0 auto 28px;line-height:1.7}

.hero-no-fee{
  display:inline-block;margin:0 auto 26px;
  background:rgba(201,162,75,.12);
  border:1px solid rgba(201,162,75,.45);
  border-radius:30px;padding:8px 22px;
  font-size:12px;font-weight:700;color:var(--gold-bright);
  letter-spacing:.08em;text-transform:uppercase;
}

.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ═══════ BUTTONS ═════════════════════════════════════════════════════ */
.btn-primary,.btn-outline,.btn,.btn-danger,.btn-outline-sm{
  display:inline-block;font-weight:700;
  padding:14px 28px;border-radius:var(--radius);
  text-decoration:none;font-size:14px;text-transform:uppercase;letter-spacing:.06em;
  border:2px solid transparent;cursor:pointer;
  transition:background .15s,color .15s,border-color .15s,transform .1s;
  font-family:inherit;
}
.btn-primary{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.btn-primary:hover{background:var(--gold-bright);border-color:var(--gold-bright);color:var(--navy)}

.btn-outline{background:transparent;color:#fff;border-color:var(--gold)}
.btn-outline:hover{background:rgba(201,162,75,.14);color:#fff}

.btn{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn:hover{background:var(--navy-mid);color:#fff;border-color:var(--navy-mid)}

.btn-danger{background:var(--red);color:#fff;border-color:var(--red)}
.btn-outline-sm{padding:8px 16px;font-size:12px;background:transparent;color:var(--navy);border:1.5px solid var(--navy)}
.btn-outline-sm:hover{background:var(--navy);color:#fff}

.btn-primary:active,.btn-outline:active,.btn:active{transform:translateY(1px)}

/* ═══════ PAGE HERO (interior pages) ══════════════════════════════════ */
.page-hero{
  background:linear-gradient(160deg,var(--navy-deep) 0%,var(--navy) 60%,var(--navy-mid) 100%);
  color:#fff;padding:48px 24px 44px;
  border-bottom:3px solid var(--gold);
}
.page-hero-inner{max-width:var(--maxw-narrow);margin:0 auto;text-align:center}
.page-hero h1{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(28px,4.4vw,44px);line-height:1.15;font-weight:400;margin-bottom:14px}
.page-hero h1 .accent{color:var(--gold)}
.page-hero p{color:#cbd5df;font-size:15.5px;max-width:620px;margin:0 auto;line-height:1.7}

.breadcrumb{font-size:12px;color:#9fb0c0;letter-spacing:.04em;margin-bottom:14px;text-transform:uppercase}
.breadcrumb a{color:var(--gold-bright);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}

/* ═══════ MAIN CONTAINER ═════════════════════════════════════════════ */
main{display:block;max-width:var(--maxw);margin:0 auto;padding:48px 24px}
main.narrow{max-width:var(--maxw-narrow)}

.section-header{text-align:center;margin-bottom:32px}
.section-header h2{font-family:'DM Serif Display',Georgia,serif;font-size:30px;color:var(--navy);font-weight:400;margin-bottom:10px}
.section-header p{color:var(--muted);font-size:15px;max-width:600px;margin:0 auto}
.gold-rule{width:56px;height:3px;background:var(--gold);margin:14px auto 0;border-radius:2px}
.teal-rule{width:48px;height:3px;background:var(--gold);margin:10px auto 0}
.section-divider{height:1px;background:var(--border-soft);margin:48px 0;border:0}

/* ═══════ CARDS ═══════════════════════════════════════════════════════ */
.card,.info-card,.service-card,.lop-card,.cta-card,.side-card,.faq-item{
  background:var(--paper);
  border:1px solid var(--border);
  border-radius:8px;
  padding:24px;
  box-shadow:var(--shadow-sm);
}
.card:hover,.service-card:hover,.info-card:hover{border-color:var(--gold);box-shadow:var(--shadow-md);transition:border-color .2s,box-shadow .2s}

.service-grid,.county-grid,.metric-grid,.field-grid{display:grid;gap:20px}
.service-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.county-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));text-align:center}
.field-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

.service-icon,.lop-icon,.fact-icon{font-size:30px;margin-bottom:12px;display:block}

/* ═══════ CTA BANDS ═══════════════════════════════════════════════════ */
.cta-band,.cta-wrap{
  background:var(--navy);color:#fff;
  border-radius:8px;padding:38px 32px;text-align:center;
  margin:32px auto;max-width:var(--maxw-narrow);
  border:1px solid var(--gold);
}
.cta-band h2,.cta-wrap h2{font-family:'DM Serif Display',Georgia,serif;font-size:26px;font-weight:400;margin-bottom:10px;color:#fff}
.cta-band p,.cta-wrap p{color:#cbd5df;max-width:520px;margin:0 auto 22px;line-height:1.7}

.big-phone,.phone-big{font-family:'DM Serif Display',Georgia,serif;font-size:32px;color:var(--gold-bright);text-decoration:none;display:inline-block;margin:8px 0}
.big-phone:hover{color:var(--gold)}

/* ═══════ TABLES ══════════════════════════════════════════════════════ */
table{width:100%;border-collapse:collapse;margin:18px 0;background:var(--paper);border:1px solid var(--border);border-radius:6px;overflow:hidden}
th{background:var(--navy);color:#fff;text-align:left;padding:12px 16px;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
td{padding:12px 16px;border-top:1px solid var(--border-soft);font-size:14.5px;vertical-align:top}
tbody tr:nth-child(even){background:#FBF8F0}

/* ═══════ FORMS ═══════════════════════════════════════════════════════ */
label,.field-group label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:6px;letter-spacing:.02em}
input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="date"],select,textarea{
  width:100%;padding:11px 14px;
  font-size:15px;font-family:inherit;color:var(--charcoal);
  background:#fff;border:1px solid var(--border);border-radius:5px;
  transition:border-color .15s,box-shadow .15s;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,75,.2)}
.field-group{margin-bottom:18px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.field-row{grid-template-columns:1fr}}
.req{color:var(--red);margin-left:3px}
.form-note{font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.55}

/* ═══════ FAQ ════════════════════════════════════════════════════════ */
.faq-item{padding:0;margin-bottom:14px;overflow:hidden}
.faq-trigger{width:100%;background:transparent;border:0;text-align:left;padding:18px 22px;cursor:pointer;display:flex;align-items:center;gap:14px;font-family:inherit}
.faq-q-text{flex:1;font-weight:600;color:var(--navy);font-size:15.5px;line-height:1.5}
.faq-num{font-family:'DM Serif Display',Georgia,serif;color:var(--gold);font-size:18px;flex:0 0 32px}
.faq-chevron{flex:0 0 18px;color:var(--gold);transition:transform .2s}
.faq-item[open] .faq-chevron{transform:rotate(180deg)}
.faq-answer,.faq-a{padding:0 22px 20px 68px;color:var(--charcoal);line-height:1.75;font-size:14.5px}

/* ═══════ SIDEBAR / TWO-COL LAYOUT ════════════════════════════════════ */
.lop-section,.coverage-section,.content-section,.faq-section,.how-section{margin:32px 0}
.lop-side,.sidebar{display:grid;grid-template-columns:2fr 1fr;gap:32px}
@media(max-width:880px){.lop-side,.sidebar{grid-template-columns:1fr}}

/* ═══════ DISCLAIMER / NOTICE BLOCKS ═════════════════════════════════ */
.disclaimer,.disclaimer-wrap{
  background:var(--gold-pale);border-left:4px solid var(--gold);
  padding:16px 20px;border-radius:5px;
  font-size:13.5px;color:var(--charcoal);line-height:1.7;
  margin:22px 0;
}
.highlight-box{
  background:var(--cyan-pale);border-left:4px solid var(--cyan);
  padding:16px 20px;border-radius:5px;margin:22px 0;
}
.error-box,.error-msg{background:var(--red-pale);border-left:4px solid var(--red);padding:14px 18px;border-radius:5px;color:var(--red);font-size:14px}

/* ═══════ STAT BAR ════════════════════════════════════════════════════ */
.stat-bar{background:var(--navy);color:#fff;padding:24px 0;margin:24px 0;border-top:2px solid var(--gold);border-bottom:2px solid var(--gold)}
.stat-inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;text-align:center;padding:0 24px}
.stat-item{padding:8px}
.metric{font-family:'DM Serif Display',Georgia,serif;font-size:32px;color:var(--gold-bright);line-height:1}
.stat-label,.m-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#cbd5df;margin-top:6px}
.m-val{font-family:'DM Serif Display',Georgia,serif;font-size:24px;color:var(--navy)}

/* ═══════ COUNTY TAGS ═════════════════════════════════════════════════ */
.county-tag{
  display:inline-block;background:#fff;border:1px solid var(--border);
  padding:8px 14px;border-radius:30px;font-size:13px;font-weight:600;color:var(--navy);
  text-decoration:none;margin:4px 4px 4px 0;
}
.county-tag:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ═══════ FOOTER ══════════════════════════════════════════════════════ */
footer.site-footer{background:var(--navy-deep);color:#9fb0c0;padding:36px 24px 22px;border-top:3px solid var(--gold);margin-top:48px}
.footer-inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
@media(max-width:780px){.footer-inner{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.footer-inner{grid-template-columns:1fr}}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:#fff;text-decoration:none}
.footer-brand img{width:48px;height:48px;border-radius:50%}
.footer-brand .brand-wordmark{font-size:20px;color:#fff}
.footer-brand .brand-wordmark .accent{color:var(--gold)}
.footer-col h4{color:var(--gold-bright);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-weight:700}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:7px}
.footer-col a{color:#cbd5df;text-decoration:none;font-size:13.5px}
.footer-col a:hover{color:var(--gold-bright)}
.footer-col p{font-size:13px;line-height:1.7;color:#9fb0c0}
.footer-legal{max-width:var(--maxw);margin:24px auto 0;padding-top:18px;border-top:1px solid rgba(201,162,75,.18);font-size:12px;color:#7a8a9a;text-align:center;line-height:1.7}
.footer-legal a{color:var(--gold-bright);text-decoration:none}

/* ═══════ ANTI-HARVEST HONEYPOT (carry-over) ═════════════════════════ */
.bc-hp-wrap{position:absolute;left:-9999px;top:-9999px;opacity:0;height:0;overflow:hidden;pointer-events:none}
.bc-hp-wrap input{height:0;padding:0;border:0}

/* ═══════ MOBILE ═════════════════════════════════════════════════════ */
@media(max-width:780px){
  .header-top{flex-wrap:wrap;gap:12px;padding:12px 18px}
  .brand img{width:54px;height:54px;flex-basis:54px}
  .brand-wordmark{font-size:20px}
  .header-contact{font-size:12px}
  nav.primary-nav{padding:0 12px}
  nav.primary-nav a{padding:11px 12px;font-size:11px}
  .hero{padding:52px 20px 48px}
  .hero h1{font-size:32px}
  .hero-pillars{font-size:17px;gap:6px 14px}
  main{padding:36px 18px}
}
@media(max-width:560px){
  .header-top{flex-direction:column;text-align:center}
  .header-contact{text-align:center}
  .hero-btns{flex-direction:column;align-items:stretch}
  .hero-btns .btn-primary,.hero-btns .btn-outline{width:100%}
}

/* ═══════ PRINT ═══════════════════════════════════════════════════════ */
@media print{
  header,nav,footer,.alert-banner,.cta-band,.hero-btns{display:none}
  body{background:#fff;color:#000}
  .hero{background:#fff;color:#000;border:0;padding:20px 0}
  .hero h1,.hero h1 .accent{color:#000}
}

/* ═══════ SNIPPET ANSWER BLOCK (playbook compliance) ═══════ */
.snippet-answer{
  background:var(--gold-pale);
  border-left:5px solid var(--gold);
  padding:22px 28px;
  margin:24px 0;
  border-radius:6px;
  font-size:17px;
  line-height:1.7;
  color:var(--charcoal);
  font-weight:500;
}
