/* Rhino Heavy Duty design system. Fonts: SIL Open Font License, see fonts/OFL.txt */
@font-face {
  font-family: "Barlow Condensed";
  src: url("fonts/barlow-condensed-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Barlow Condensed";
  src: url("fonts/barlow-condensed-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Barlow";
  src: url("fonts/barlow-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Barlow";
  src: url("fonts/barlow-400-italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Barlow";
  src: url("fonts/barlow-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  --hd-bg: #F1F2F3;
  --hd-surface: #FFFFFF;
  --hd-ink: #16191D;
  --hd-charcoal: #1E2227;
  --hd-steel: #2B3037;
  --hd-muted: #5A616B;
  --hd-line: #D5D8DC;
  --hd-on-dark: #F1F2F3;
  --hd-on-dark-muted: #B7BDC5;
  --hd-accent: #E27013;
  --hd-accent-hover: #F08A36;
  --hd-accent-text: #B85108;
  --hd-font-display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --hd-font-body: "Barlow", "Helvetica Neue", Arial, sans-serif;
}

/* ---------- Home hero ---------- */
.rh-hero.wp-block-cover { color: var(--hd-on-dark); }
.rh-hero .rh-hero__content > * { margin-left: 0; }
.rh-hero .rh-eyebrow {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0 0 1.25rem;
  font-family: var(--hd-font-body);
  font-weight: 600;
  font-size: .95rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--hd-on-dark);
}
.rh-hero .rh-eyebrow::before {
  content: "";
  flex: 0 0 40px;
  height: 4px;
  background: var(--hd-accent);
}
.rh-hero h1.wp-block-heading {
  margin: 0 0 1.25rem;
  font-family: var(--hd-font-display);
  font-weight: 700;
  font-size: clamp(2.75rem, 5.6vw, 5.25rem);
  line-height: 1.02;
  letter-spacing: .005em;
  text-transform: uppercase;
  color: var(--hd-on-dark);
}
.rh-hero .rh-hero__lead {
  max-width: 36rem;
  margin: 0 0 2rem;
  font-family: var(--hd-font-body);
  font-weight: 400;
  font-size: clamp(1.1rem, 1.6vw, 1.3rem);
  line-height: 1.55;
  color: var(--hd-on-dark);
}
.rh-hero .rh-hero__actions { gap: .75rem; margin: 0; }
.rh-hero .wp-block-button > .wp-block-button__link {
  padding: 1rem 1.75rem;
  border-radius: 0;
  border: 2px solid transparent;
  font-family: var(--hd-font-body);
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: .06em;
  text-transform: uppercase;
  box-shadow: none;
}
.rh-hero .wp-block-button.rh-btn-primary > .wp-block-button__link {
  background: var(--hd-accent);
  border-color: var(--hd-accent);
  color: var(--hd-ink);
}
.rh-hero .wp-block-button.rh-btn-primary > .wp-block-button__link:hover,
.rh-hero .wp-block-button.rh-btn-primary > .wp-block-button__link:focus-visible {
  background: var(--hd-accent-hover);
  border-color: var(--hd-accent-hover);
  color: var(--hd-ink);
  box-shadow: none;
}
.rh-hero .wp-block-button.rh-btn-secondary > .wp-block-button__link {
  background: transparent;
  border-color: var(--hd-on-dark);
  color: var(--hd-on-dark);
}
.rh-hero .wp-block-button.rh-btn-secondary > .wp-block-button__link:hover,
.rh-hero .wp-block-button.rh-btn-secondary > .wp-block-button__link:focus-visible {
  background: var(--hd-on-dark);
  border-color: var(--hd-on-dark);
  color: var(--hd-ink);
  box-shadow: none;
}
.rh-hero :focus-visible { outline-color: var(--hd-accent); }
@media (max-width: 600px) {
  .rh-hero.wp-block-cover { min-height: 560px !important; padding-top: 4rem !important; padding-bottom: 4rem !important; }
  .rh-hero .rh-hero__actions { flex-direction: column; align-items: stretch; }
  .rh-hero .wp-block-button { width: 100%; }
  .rh-hero .wp-block-button > .wp-block-button__link { display: block; text-align: center; }
}

/* =====================================================================
   SITE-WIDE ROLLOUT
   Restyles existing blocks without editing page content. Remove this
   stylesheet to return to the previous look.
   ===================================================================== */

/* ---------- Base type ---------- */
body {
  font-family: var(--hd-font-body);
  color: var(--hd-ink);
  background: var(--hd-surface);
}
body [class*="-font-family"] { font-family: var(--hd-font-body) !important; }
body .wp-site-blocks :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--hd-font-display) !important;
  text-transform: uppercase !important;
  line-height: 1.05 !important;
  letter-spacing: .005em !important;
  font-style: normal !important;
}
body .wp-site-blocks :is(h1, h2, h3) { font-weight: 700 !important; }
body .wp-site-blocks :is(h4, h5, h6) { font-weight: 600 !important; letter-spacing: .04em !important; }

/* Off-palette inline text colours become ink */
body .wp-site-blocks :is([style^="color:#000000"], [style*=";color:#000000"],
  [style^="color:#010101"], [style*=";color:#010101"],
  [style^="color:#212121"], [style*=";color:#212121"],
  [style^="color:#315fb5"], [style*=";color:#315fb5"],
  [style^="color:#07277c"], [style*=";color:#07277c"],
  [style^="color:#03081e"], [style*=";color:#03081e"]) { color: var(--hd-ink) !important; }
body .wp-site-blocks .has-link-color a:not(.wp-block-button__link) { color: inherit; }

/* Body links */
body .wp-site-blocks main :is(p, li) a:not(.wp-block-button__link) {
  color: var(--hd-accent-text);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
body .wp-site-blocks main :is(p, li) a:not(.wp-block-button__link):hover { color: var(--hd-ink); }
/* Links on dark photo sections: light text, orange underline */
body .wp-site-blocks .wp-block-cover:not(.is-light) :is(p, li) a:not(.wp-block-button__link) {
  color: var(--hd-on-dark) !important;
  text-decoration: underline;
  text-decoration-color: var(--hd-accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
body .wp-site-blocks .wp-block-cover:not(.is-light) :is(p, li) a:not(.wp-block-button__link):hover { text-decoration-color: var(--hd-on-dark); }

/* ---------- Square corners everywhere ---------- */
body .wp-site-blocks :is(img, figure, .wp-block-image, .wp-block-cover, .wp-block-group, .wp-block-column, iframe) { border-radius: 0 !important; }

/* ---------- Section grounds ---------- */
/* Near-white inline backgrounds become the white surface */
body .wp-site-blocks :is([style*="background-color:#fffffd"], [style*="background-color:#fffafa"],
  [style*="background-color:#fefefe"], [style*="background-color:#f8f8f8"],
  [style*="background-color:#f9f7f7"]):not(.wp-block-cover__background):not(.wp-block-button__link) { background-color: var(--hd-surface) !important; }
/* Tinted sections become light steel */
body .wp-site-blocks :is([style*="background-color:#eff9ff"], [style*="background-color:#fff3ea"]):not(.wp-block-cover__background) { background-color: var(--hd-bg) !important; }
/* Near-black inline backgrounds become charcoal */
body .wp-site-blocks :is([style*="background-color:#060606"], [style*="background-color:#070707"],
  [style*="background-color:#0e0e0e"], [style*="background-color:#010101"], [style*="background-color:#000000"]):not(.wp-block-cover__background) { background-color: var(--hd-charcoal) !important; }

/* Photo covers with dark overlays: charcoal scrim, light text */
body .wp-site-blocks .wp-block-cover:not(.is-light) > .wp-block-cover__background { background-color: var(--hd-charcoal) !important; }
body .wp-site-blocks .wp-block-cover:not(.is-light) :is(h1, h2, h3, h4, h5, h6, p, li) { color: var(--hd-on-dark) !important; }

/* Light covers without a photo are plain light-steel sections */
body .wp-site-blocks .wp-block-cover.is-light:not(:has(> .wp-block-cover__image-background)) > .wp-block-cover__background {
  background-color: var(--hd-bg) !important;
  opacity: 1 !important;
}

/* Inner-page heroes: the first photo cover on a page becomes a charcoal hero */
body .rh-main > .wp-block-post-content > .wp-block-cover.is-light:first-child:has(> .wp-block-cover__image-background) {
  min-height: 380px !important;
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
  color: var(--hd-on-dark);
}
body .rh-main > .wp-block-post-content > .wp-block-cover.is-light:first-child:has(> .wp-block-cover__image-background) > .wp-block-cover__background {
  background-color: var(--hd-charcoal) !important;
  opacity: .72 !important;
}
body .rh-main > .wp-block-post-content > .wp-block-cover.is-light:first-child:has(> .wp-block-cover__image-background) :is(h1, h2, h3, h4, h5, h6, p, li, a:not(.wp-block-button__link)) {
  color: var(--hd-on-dark) !important;
}
body .rh-main > .wp-block-post-content > .wp-block-cover.is-light:first-child:has(> .wp-block-cover__image-background) h1 {
  font-size: clamp(2.75rem, 5vw, 4.5rem) !important;
  margin-bottom: .75rem !important;
}

/* ---------- Separators: short orange accent bar ---------- */
body .wp-site-blocks main .wp-block-separator {
  width: 48px;
  height: 4px;
  margin: 1rem 0 1.25rem;
  border: 0 !important;
  background: var(--hd-accent) !important;
  opacity: 1 !important;
}
body .wp-site-blocks main .has-text-align-center + .wp-block-separator,
body .wp-site-blocks main .wp-block-separator.aligncenter { margin-left: auto; margin-right: auto; }

/* ---------- Buttons ---------- */
body .wp-site-blocks .wp-block-button > .wp-block-button__link,
body .rh-newsletter button[type="submit"],
body .wp-site-blocks .wp-block-search__button {
  border-radius: 0 !important;
  font-family: var(--hd-font-body) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  transform: none !important;
}
body .wp-site-blocks .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
body .rh-newsletter button[type="submit"],
body .wp-site-blocks main .wp-block-search__button {
  background-color: var(--hd-accent) !important;
  color: var(--hd-ink) !important;
  border: 2px solid var(--hd-accent) !important;
}
body .wp-site-blocks .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
body .wp-site-blocks .wp-block-button:not(.is-style-outline) > .wp-block-button__link:focus-visible,
body .rh-newsletter button[type="submit"]:hover,
body .wp-site-blocks main .wp-block-search__button:hover {
  background-color: var(--hd-accent-hover) !important;
  border-color: var(--hd-accent-hover) !important;
  color: var(--hd-ink) !important;
}
body .wp-site-blocks .wp-block-button.is-style-outline > .wp-block-button__link {
  background: transparent !important;
  color: var(--hd-ink) !important;
  border: 2px solid var(--hd-ink) !important;
}
body .wp-site-blocks .wp-block-button.is-style-outline > .wp-block-button__link:hover {
  background: var(--hd-ink) !important;
  color: var(--hd-on-dark) !important;
}
body .wp-site-blocks .wp-block-cover:not(.is-light) .wp-block-button.is-style-outline > .wp-block-button__link,
body .rh-main > .wp-block-post-content > .wp-block-cover.is-light:first-child .wp-block-button.is-style-outline > .wp-block-button__link {
  color: var(--hd-on-dark) !important;
  border-color: var(--hd-on-dark) !important;
}
body .wp-site-blocks .wp-block-cover:not(.is-light) .wp-block-button.is-style-outline > .wp-block-button__link:hover {
  background: var(--hd-on-dark) !important;
  color: var(--hd-ink) !important;
}

/* ---------- Header ---------- */
.wp-site-blocks > header.wp-block-template-part {
  background: var(--hd-surface);
  border-bottom: 1px solid var(--hd-line);
}
.wp-site-blocks > header .wp-block-navigation {
  font-family: var(--hd-font-body) !important;
  color: var(--hd-ink) !important;
}
.wp-site-blocks > header .wp-block-navigation .wp-block-navigation-item__content {
  font-family: var(--hd-font-body) !important;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--hd-ink) !important;
}
.wp-site-blocks > header .wp-block-navigation .wp-block-navigation-item__content strong { font-weight: 600; }
.rh-header-search .wp-block-search__button {
  border-radius: 0 !important;
  border: 1px solid var(--hd-line) !important;
  background: transparent !important;
  color: var(--hd-ink) !important;
}
.rh-header-search .wp-block-search__button:hover {
  background: var(--hd-ink) !important;
  border-color: var(--hd-ink) !important;
  color: var(--hd-on-dark) !important;
}
.rh-header-search .wp-block-search__input { border-radius: 0 !important; border-color: var(--hd-line) !important; font-family: var(--hd-font-body); }
.wp-block-navigation__responsive-container.is-menu-open { background-color: var(--hd-surface) !important; color: var(--hd-ink) !important; }

/* ---------- Newsletter: charcoal band ---------- */
.rh-newsletter-section {
  background: var(--hd-charcoal);
  color: var(--hd-on-dark);
  border-top: 0 !important;
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}
body .wp-site-blocks .rh-newsletter-section :is(h2, p) { color: var(--hd-on-dark) !important; }
.rh-newsletter-section .rh-nl-title { font-size: clamp(2rem, 4vw, 3rem); }
.rh-newsletter-section .rh-nl-intro { color: var(--hd-on-dark-muted) !important; }
.rh-nl-row input[type="email"] {
  border-radius: 0 !important;
  border: 2px solid var(--hd-surface) !important;
  background: var(--hd-surface) !important;
  color: var(--hd-ink) !important;
  font-family: var(--hd-font-body);
}
.rh-nl-row input[type="email"]::placeholder { color: var(--hd-muted); }
.rh-newsletter .rh-nl-consent { color: var(--hd-on-dark-muted) !important; opacity: 1 !important; }
.rh-newsletter .rh-nl-consent a { color: var(--hd-on-dark) !important; }
.rh-newsletter .rh-nl-msg.is-error { color: #FFB38A !important; }
.rh-newsletter .rh-nl-success svg { color: var(--hd-accent); }
.rh-newsletter.is-loading .rh-nl-row button::after { border-color: rgba(22, 25, 29, .35); border-top-color: var(--hd-ink); }

/* ---------- Footer ---------- */
.wp-site-blocks > footer.wp-block-template-part { background: var(--hd-bg); }
.wp-site-blocks > footer a { color: var(--hd-ink); text-underline-offset: 3px; }
.wp-site-blocks > footer a:hover { color: var(--hd-accent-text); }

/* ---------- FAQ ---------- */
.rh-faq-wrap { background: var(--hd-bg); }
.rh-faq .wp-block-details {
  border-radius: 0 !important;
  border: 1px solid var(--hd-line) !important;
  border-left: 4px solid var(--hd-line) !important;
  background: var(--hd-surface) !important;
}
.rh-faq .wp-block-details[open] { border-left-color: var(--hd-accent) !important; }
.rh-faq .wp-block-details summary {
  border-radius: 0 !important;
  font-family: var(--hd-font-body);
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--hd-ink);
}
.rh-faq .wp-block-details summary:hover { color: var(--hd-accent-text); }

/* ---------- Floating UI ---------- */
.rh-wa, .rh-to-top, .rh-cookie, .rh-cookie button { border-radius: 0 !important; }
.rh-wa { font-family: var(--hd-font-body); letter-spacing: .04em; text-transform: uppercase; font-size: .95rem; }
.rh-to-top { background: var(--hd-charcoal); color: var(--hd-on-dark); border-color: var(--hd-charcoal); }
.rh-to-top:hover { background: var(--hd-accent); color: var(--hd-ink); border-color: var(--hd-accent); }
.rh-cookie { font-family: var(--hd-font-body); border-color: var(--hd-line); color: var(--hd-ink); }
.rh-cookie button { background: var(--hd-accent) !important; color: var(--hd-ink) !important; font-family: var(--hd-font-body); text-transform: uppercase; letter-spacing: .06em; }
.rh-cookie button:hover { background: var(--hd-accent-hover) !important; }
.rh-cookie a:hover { color: var(--hd-accent-text); }

/* ---------- 404 and last-updated ---------- */
.rh-404-code { font-family: var(--hd-font-display); color: var(--hd-accent); }
.rh-404-search .wp-block-search__input { border-radius: 0; border: 2px solid var(--hd-line); font-family: var(--hd-font-body); }
.rh-updated { color: var(--hd-muted); }

/* ---------- Compact hero (inner pages built in the new layout) ---------- */
.rh-hero.rh-hero--compact.wp-block-cover { min-height: 500px !important; }
@media (max-width: 600px) {
  .rh-hero.rh-hero--compact.wp-block-cover { min-height: 460px !important; }
}

/* ---------- Contact page ---------- */
body .wp-site-blocks .rh-contact {
  background: var(--hd-bg);
  padding: 5rem 1.25rem;
  margin-top: 0;
}
.rh-contact .rh-contact__cols { gap: 4rem; margin: 0; }
body .wp-site-blocks .rh-contact h2 {
  margin: 0 0 1rem;
  font-size: clamp(2.25rem, 4vw, 3.25rem);
  color: var(--hd-ink);
}
.rh-contact .rh-contact__intro {
  max-width: 34rem;
  margin: 0 0 2rem;
  font-size: 1.15rem;
  color: var(--hd-muted);
}
.rh-contact .rh-contact__row {
  margin: 0;
  padding: 1.5rem 0;
  border-top: 1px solid var(--hd-line);
}
.rh-contact .rh-contact__row:last-child { border-bottom: 1px solid var(--hd-line); }
body .wp-site-blocks .rh-contact .rh-contact__row h3 {
  margin: 0 0 .4rem;
  font-size: 1.05rem;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  color: var(--hd-muted);
}
.rh-contact .rh-contact__row p { margin: 0; }
body .wp-site-blocks main .rh-contact .rh-contact__phone a {
  font-family: var(--hd-font-display);
  font-weight: 700;
  font-size: clamp(2rem, 3.6vw, 2.75rem);
  line-height: 1.05;
  color: var(--hd-ink);
  text-decoration: none;
}
body .wp-site-blocks main .rh-contact .rh-contact__phone a:hover { color: var(--hd-accent-text); }
body .wp-site-blocks main .rh-contact .rh-contact__email a {
  font-size: 1.05rem;
  color: var(--hd-ink);
  word-break: break-word;
}
body .wp-site-blocks main .rh-contact .rh-contact__email a:hover { color: var(--hd-accent-text); }
.rh-contact .rh-contact__panel {
  align-self: flex-start;
  padding: 2.25rem 2rem;
  background: var(--hd-surface);
  border-top: 4px solid var(--hd-accent);
}
body .wp-site-blocks .rh-contact .rh-contact__panel h3 {
  margin: 0 0 .5rem;
  font-size: 1.6rem;
  color: var(--hd-ink);
}
.rh-contact .rh-contact__panel p {
  margin: 0 0 1.75rem;
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--hd-ink);
}
.rh-contact .rh-contact__panel .wp-block-buttons { margin: 0; }
body .wp-site-blocks .rh-contact__map { margin-top: 0; }
.rh-contact__map iframe {
  display: block;
  width: 100% !important;
  height: 440px;
  border: 0;
}
@media (max-width: 781px) {
  body .wp-site-blocks .rh-contact { padding: 3.5rem 1.25rem; }
  .rh-contact .rh-contact__cols { gap: 2.5rem; }
  .rh-contact .rh-contact__panel { padding: 1.75rem 1.5rem; }
  .rh-contact__map iframe { height: 340px; }
}

@media print {
  body .wp-site-blocks .wp-block-cover :is(h1, h2, h3, h4, h5, h6, p, li) { color: var(--hd-ink) !important; }
  .rh-newsletter-section { display: none !important; }
}
