:root {
  --sand-text:        #4a3f30;
  --sand-text-muted:  #6b5a3f;
  --sand-text-light:  #9a8060;
  --sand-btn-hover:   #a78a62; /* = w3-theme-d2 */
}

/* Raleway defaults to old-style figures, so "2026" and "404" read unevenly. */
body { font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }

/* Border stays inline so the hero "Continue" button can go without one. */
.sand-outline-btn {
  text-transform:uppercase; font-weight:300;
  background:transparent; color:var(--sand-text);
}
.sand-outline-btn:hover,
.sand-outline-btn:focus {
  background:   var(--sand-btn-hover) !important;
  border-color: var(--sand-btn-hover) !important;
  color: #fff !important;
}

/* w3.css sets outline:0 on .w3-bar-item; the ID selectors outrank it without !important. */
#nav-desktop .w3-bar-item:focus-visible,
#nav-mobile-bar .w3-bar-item:focus-visible,
#nav-mobile-menu .w3-bar-item:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
/* An outward ring is clipped at the screen edge there. */
#nav-mobile-bar .w3-bar-item:focus-visible,
#nav-mobile-menu .w3-bar-item:focus-visible { outline-offset: -4px; }

.bhj-cta        { font-size:14px; padding:11px 35px;
                  border:1px solid var(--sand-text); }

.bhj-inner      { max-width:960px; margin:0 auto; }

main,
body > footer   { max-width:1400px; margin-left:auto; margin-right:auto; }

.bhj-page-head  { font-family:'Raleway',sans-serif; text-transform:uppercase;
                  font-weight:700; margin:0 0 24px; line-height:1.2; }
.bhj-body       { font-family:'Roboto',sans-serif; font-weight:300;
                  color:var(--sand-text); line-height:1.7; }
@media (max-width:600px) {
  .bhj-body     { line-height:1.6; }
}
.bhj-note       { font-family:'Roboto',sans-serif; color:var(--sand-text-muted); }

.w3-theme-l5 {color:#000 !important; background-color:#fbfaf8 !important}
.w3-theme-l4 {color:#000 !important; background-color:#f2eee8 !important}
.w3-theme-l3 {color:#000 !important; background-color:#e5ddd1 !important}
.w3-theme-l2 {color:#000 !important; background-color:#d8ccba !important}
.w3-theme-l1 {color:#000 !important; background-color:#ccbba4 !important}
.w3-theme-d1 {color:#fff !important; background-color:#b39a78 !important}
.w3-theme-d2 {color:#fff !important; background-color:#a78a62 !important}
.w3-theme-d3 {color:#fff !important; background-color:#957954 !important}
.w3-theme-d4 {color:#fff !important; background-color:#7f6848 !important}
.w3-theme-d5 {color:#fff !important; background-color:#6a573c !important}

.w3-theme-light {color:#000 !important; background-color:#fbfaf8 !important}
.w3-theme-dark {color:#fff !important; background-color:#6a573c !important}
.w3-theme-action {color:#fff !important; background-color:#6a573c !important}

.w3-theme {color:#000 !important; background-color:#c0ab8e !important}
.w3-text-theme {color:#c0ab8e !important}
.w3-border-theme {border-color:#c0ab8e !important}

.w3-hover-theme:hover {color:#000 !important; background-color:#c0ab8e !important}
.w3-hover-text-theme:hover {color:#c0ab8e !important}
.w3-hover-border-theme:hover {border-color:#c0ab8e !important}


/* Print support is opt-in per page; see inc/print-tools.inc. */
.print-only     { display:none; }
/* The row takes over the heading's bottom margin. */
.print-title-row { display:flex; align-items:center; justify-content:space-between;
                   gap:16px; margin-bottom:24px; }
.print-title-row .bhj-page-head { margin:0; }
.print-bar      { flex:none; }
.print-kicker   { font-family:'Raleway',sans-serif; font-weight:700; font-size:15px;
                  letter-spacing:0.1em; text-transform:uppercase; color:var(--sand-text); }
.print-date     { font-family:'Roboto',sans-serif; font-size:12px;
                  color:var(--sand-text-muted); margin-top:2px; }

@media print {
  /* Not display:none: on a fixed element that triggers Chrome's blank-page-after-print bug. */
  body.printable .w3-top    { visibility:hidden !important; }
  body.printable .skip-link,
  body.printable > footer,
  body.printable .no-print  { display:none !important; }

  body.printable {
    background:#fff !important; color:#000 !important;
    /* Safari/iOS drop background colors (the callout tints) unless this is set */
    -webkit-print-color-adjust:exact; print-color-adjust:exact;
  }
  /* For the browser's own Print menu; the Print button prints .print-root alone. */
  body.printable .print-page { padding:0 !important; background:#fff !important; }
  body.printable .print-root {
    max-width:none; margin:0 !important;
    /* Not on body/html: zooming the root during print triggers Chrome's repaint bug. */
    zoom:0.75;
  }
  body.printable .print-root .w3-theme-l4 { background:#fff !important; }
  body.printable a { color:#000 !important; text-decoration:none; }

  body.printable .print-only   { display:block !important; }
  body.printable .print-header { text-align:center; padding-bottom:10px; margin-bottom:20px;
                                 border-bottom:1px solid var(--sand-text-light); }
}
