/* BillRelief Check - site polish (additive, safe to load site-wide) */

/* smooth in-page scrolling, with respect for reduced-motion */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  /* never let fade-in content stay invisible for reduced-motion users */
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* anchored sections never hide under the sticky header */
:target { scroll-margin-top: 92px; }
h1, h2, h3, [id] { scroll-margin-top: 92px; }

/* accessible, on-brand focus ring (keyboard users) */
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid #D99A45;
  outline-offset: 2px;
  border-radius: 4px;
}

/* smoother interaction feel on links and buttons */
a, button { transition: color .15s ease, background-color .15s ease, transform .15s ease, box-shadow .15s ease, opacity .15s ease; }
button:active, a.btn:active, .nav-cta:active { transform: translateY(1px); }

/* brand-colored text selection */
::selection { background: #D99A45; color: #0A3833; }

/* never let an image overflow its container on small screens */
img { max-width: 100%; height: auto; }

/* comfortable link underlines in article bodies */
.wrap p a, article p a { text-underline-offset: 2px; }

/* active nav item (set by polish.js) */
.blr-nav-active { color: #D99A45 !important; }

/* skip-to-content link (visible only on keyboard focus) */
.blr-skip {
  position: fixed; left: 12px; top: -60px; z-index: 10000;
  background: #0E4D45; color: #fff; padding: 10px 16px; border-radius: 10px;
  text-decoration: none; font-weight: 700; font-family: inherit;
  transition: top .18s ease;
}
.blr-skip:focus { top: 12px; }

/* desktop nav: keep every item on ONE line (no mid-word wrapping) */
header .nav-links a, header .navlinks a, header .lp-nav a,
.nav-links a, .navlinks a, .lp-nav a { white-space: nowrap; }
@media (min-width: 641px) {
  .nav-links, .navlinks, .lp-nav { flex-wrap: nowrap; gap: 20px; }
}
@media (min-width: 641px) and (max-width: 1150px) {
  .nav-links, .navlinks, .lp-nav { gap: 13px; }
  .nav-links a, .navlinks a, .lp-nav a { font-size: .88rem; }
}

/* logo breathing room from the first nav item */
header .nav .logo { margin-right: 26px; }

/* Tools dropdown (built by polish.js to declutter the desktop nav) */
.blr-dd { position: relative; display: inline-flex; align-items: center; }
.blr-dd-btn { background: none; border: none; cursor: pointer; font: inherit; font-size: .94rem; font-weight: 500;
  color: #0A3833; opacity: .85; display: inline-flex; align-items: center; gap: 5px; padding: 0; }
.blr-dd-btn:hover { opacity: 1; }
.blr-dd-btn svg { width: 11px; height: 11px; transition: transform .18s ease; }
.blr-dd.open .blr-dd-btn svg { transform: rotate(180deg); }
.blr-dd-menu { position: absolute; top: calc(100% + 14px); right: 0; min-width: 180px; background: #fff;
  border: 1px solid #e6ddcf; border-radius: 12px; box-shadow: 0 12px 26px rgba(0,0,0,.12);
  padding: 8px; display: none; flex-direction: column; gap: 2px; z-index: 9999; }
.blr-dd.open .blr-dd-menu { display: flex; }
.blr-dd-menu a { padding: 9px 12px; border-radius: 8px; font-size: .95rem; color: #0A3833 !important;
  text-decoration: none; opacity: 1 !important; white-space: nowrap; }
.blr-dd-menu a:hover { background: #FBF8F2; }
@media (max-width: 640px) { .blr-dd { display: none; } }

/* inline content opt-in box (topic-matched, on articles) */
.blr-optin { background: #0E4D45; border-radius: 16px; padding: 26px 24px; margin: 34px 0; color: #EAF3F1; }
.blr-optin-eyebrow { font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: #D99A45; margin-bottom: 8px; }
.blr-optin-head { font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; color: #fff; margin-bottom: 8px; line-height: 1.2; }
.blr-optin-sub { color: #C9DBD5; font-size: .98rem; margin-bottom: 16px; }
.blr-optin form { display: flex; gap: 10px; flex-wrap: wrap; }
.blr-optin input[type="email"] { flex: 1 1 200px; padding: 14px 15px; font-size: 1.02rem; border: none; border-radius: 11px; background: #fff; color: #223029; }
.blr-optin input[type="email"]:focus { outline: 2px solid #D99A45; }
.blr-optin button { padding: 14px 22px; font-size: 1.02rem; font-weight: 800; color: #0A3833; background: #D99A45; border: none; border-radius: 11px; cursor: pointer; }
.blr-optin button:hover { background: #c98a34; }
.blr-optin button:disabled { opacity: .65; cursor: default; }
.blr-optin-trust { font-size: .82rem; color: #9FBAB2; margin-top: 12px; }
.blr-optin-trust a { color: #C9DBD5; }
.blr-optin-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* back-to-top button (shown by polish.js after scrolling) */
.blr-top {
  position: fixed; right: 18px; bottom: 18px; z-index: 9998;
  width: 48px; height: 48px; border: none; border-radius: 50%;
  background: #0E4D45; color: #fff; cursor: pointer;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transform: translateY(10px);
}
.blr-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
.blr-top:hover { background: #0A3833; }
.blr-top svg { width: 22px; height: 22px; }
@media (max-width: 520px) { .blr-top { right: 14px; bottom: 14px; width: 44px; height: 44px; } }

/* GEO / AI-search layer */
.geo-byline{font-size:.9rem;color:#5f7168;margin:2px 0 18px;}
.geo-byline b{color:#0A3833;}
.geo-tldr{background:#eef5f1;border-left:4px solid #0E4D45;border-radius:10px;padding:16px 18px;margin:0 0 22px;font-size:1.02rem;color:#1a2d28;}
.geo-tldr b{color:#0A3833;}
.geo-faq{margin:34px 0 10px;}
.geo-faq h2{font-family:Georgia,'Times New Roman',serif;color:#0A3833;font-size:1.5rem;margin:0 0 14px;}
.geo-faq details{border:1px solid #e7ddcc;border-radius:10px;margin-bottom:10px;background:#fff;}
.geo-faq summary{cursor:pointer;padding:14px 16px;font-weight:700;color:#0A3833;list-style:none;}
.geo-faq summary::-webkit-details-marker{display:none;}
.geo-faq summary:after{content:"+";float:right;color:#D99A45;font-weight:800;}
.geo-faq details[open] summary:after{content:"\2013";}
.geo-faq .geo-a{padding:0 16px 14px;color:#33403a;line-height:1.6;}
