/*
Theme Name: FireHorse Child
Template: kadence
Version: 1.9.0
Description: FireHorse Systems brand overrides for Kadence.
*/

:root {
  --fh-carbon:      #0A1620;
  --fh-carbon-2:    #0E1F2E;
  --fh-teal:        #0A2F44;
  --fh-teal-2:      #13405C;
  --fh-cyan:        #00E5FF;
  --fh-cyan-soft:   #66F0FF;
  --fh-ice:         #CFFBFF;
  --fh-white:       #FFFFFF;
  --fh-mute:        #8FB3C4;
  --fh-mute-2:      #B8CFDB;
  --fh-line:        rgba(0,229,255,0.18);
  --fh-line-strong: rgba(0,229,255,0.35);
  --fh-shadow-cyan: 0 6px 20px -10px rgba(0,229,255,0.18);
}

html, body { background: var(--fh-carbon); }
body {
  color: var(--fh-white);
  font-family: "Roboto","Helvetica Neue",Arial,sans-serif;
  font-weight: 400; line-height: 1.6;
}

.wp-site-blocks,
.site, .site-container, .content-container,
#content, .content-area, .entry-content,
.site-content, .content-bg, .hfeed.site-main,
.entry-content-wrap, .content-style-unboxed .entry-content {
  background: var(--fh-carbon) !important;
  color: var(--fh-white);
}
.content-container.site-container { padding: 0 !important; max-width: 100% !important; }
.entry-content { margin: 0 !important; }

/* Kill gaps between sections */
.entry-content > section,
.entry-content > .wp-block-group {
  margin: 0 !important;
}
.entry-content > section + section,
.entry-content > .wp-block-group + .wp-block-group {
  margin-top: 0 !important;
}

/* Don't stretch main; let footer sit right after content on short pages */
.site.wp-site-blocks > main.wrap,
.wp-site-blocks > main {
  flex: 0 0 auto !important;
}

.single .entry-header,
.page .entry-header,
.page .entry-hero-container-inner,
.page-title, .page .entry-title, .single .entry-title,
.entry-hero, .entry-hero-container,
main > .entry-hero,
main > section.entry-hero { display: none !important; height: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; }

/* Typography */
h1,h2,h3,h4,h5,h6 {
  font-family: "Roboto","Helvetica Neue",Arial,sans-serif;
  font-weight: 700; color: var(--fh-white);
  letter-spacing: -0.01em; line-height: 1.1;
}
h1 { font-size: clamp(2.75rem, 5.5vw, 4.75rem); letter-spacing: -0.02em; }
h2 { font-size: clamp(2rem, 3.8vw, 3rem); }
h3 { font-size: clamp(1.3rem, 2vw, 1.65rem); }
h4 { font-size: clamp(1.1rem, 1.5vw, 1.3rem); }
p  { color: var(--fh-mute-2); font-size: 1.05rem; }
strong { color: var(--fh-white); font-weight: 600; }

/* Header */
.site-header, #masthead,
.site-header-wrap, .site-header-inner-wrap,
.site-header-main-inner-wrap, .site-top-header-wrap,
.site-middle-header-wrap, .site-bottom-header-wrap {
  background: var(--fh-carbon) !important;
  border-bottom: 1px solid var(--fh-line);
  color: var(--fh-white);
}
.site-header a, .header-navigation a, .site-branding a { color: var(--fh-white); }
html body .main-navigation .primary-menu-container > ul > li.menu-item > a,
html body .header-navigation .menu > li > a {
  color: #FFFFFF !important;
  padding: 1.1rem 1rem;
  font-weight: 500;
}
html body .main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
html body .header-navigation .menu > li > a:hover {
  color: #00E5FF !important;
}

/* Active / current page link — cyan, not merging with carbon bg */
.header-navigation .menu > li.current-menu-item > a,
.header-navigation .menu > li.current_page_item > a,
.header-navigation .menu > li.current-menu-parent > a,
.header-navigation .menu > li.current_page_parent > a,
.header-navigation .menu > li.current-menu-ancestor > a {
  color: var(--fh-cyan) !important;
  position: relative;
}
.header-navigation .menu > li.current-menu-item > a::after,
.header-navigation .menu > li.current_page_item > a::after {
  content: "";
  position: absolute; left: 1rem; right: 1rem; bottom: .55rem;
  height: 2px; background: var(--fh-cyan); border-radius: 2px;
}

/* Logo: force size for horizontal SVG lockup */
.site-branding a.brand { display: inline-flex !important; align-items: center; }
.site-branding img,
.site-branding .custom-logo {
  width: 220px !important;
  height: auto !important;
  max-width: 220px !important;
  max-height: none !important;
  display: block !important;
}
@media (max-width: 960px) {
  .site-branding img, .site-branding .custom-logo { width: 160px !important; max-width: 160px !important; }
}
/* Hide the "FireHorse Systems" site-title text next to the logo (but keep logo) */
.site-branding .site-title,
.site-branding .site-description,
.site-branding .site-title-wrap { display: none !important; }

html body .header-navigation .menu li.fh-btn-primary > a,
html body .header-menu-container li[class*="fh-btn-primary"] > a {
  background: transparent !important;
  color: var(--fh-cyan) !important;
  border: 1px solid var(--fh-line-strong) !important;
  padding: 0.55rem 1.15rem !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  margin-left: .5rem;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
html body .header-navigation .menu li.fh-btn-primary > a:hover {
  background: rgba(0,229,255,0.08) !important;
  border-color: var(--fh-cyan) !important;
  color: var(--fh-cyan) !important;
}
.header-navigation .sub-menu,
.header-navigation ul.sub-menu,
.drawer-navigation .sub-menu {
  background: var(--fh-teal) !important;
  border: 1px solid var(--fh-line) !important;
  border-radius: 10px; padding: .5rem !important;
  min-width: 220px;
  box-shadow: 0 20px 40px -20px rgba(0,0,0,0.6);
}
.header-navigation .sub-menu li > a,
.header-navigation .sub-menu a {
  color: var(--fh-white) !important;
  padding: .65rem 1rem !important;
  border-radius: 6px !important;
  font-family: "Roboto","Helvetica Neue",Arial,sans-serif !important;
  font-size: .95rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.4 !important;
}
.header-navigation .sub-menu a:hover {
  background: var(--fh-teal-2) !important;
  color: var(--fh-cyan) !important;
}
.header-navigation .sub-menu li.current-menu-item > a {
  color: var(--fh-cyan) !important;
  background: rgba(0,229,255,0.08) !important;
}

/* Sections */
.fh-section-carbon { background: var(--fh-carbon) !important; position: relative; overflow: hidden; }
.fh-section-teal {
  background: linear-gradient(180deg, var(--fh-teal) 0%, var(--fh-teal-2) 100%) !important;
  position: relative; overflow: hidden;
  border-top: 1px solid var(--fh-line);
  border-bottom: 1px solid var(--fh-line);
}

/* Subtle circuit pattern on carbon sections — institutional, not glow */
.fh-section-carbon::before {
  content: "";
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%2300E5FF' stroke-opacity='0.05' stroke-width='1'%3E%3Cpath d='M0 60 H40 L50 70 H120'/%3E%3Cpath d='M60 0 V30 L70 40 V120'/%3E%3Ccircle cx='40' cy='60' r='1.8' fill='%2300E5FF' fill-opacity='0.18'/%3E%3Ccircle cx='70' cy='40' r='1.8' fill='%2300E5FF' fill-opacity='0.18'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 140px 140px;
  pointer-events: none;
}
.fh-section-carbon > * { position: relative; z-index: 1; }
.fh-section-teal::after { content: none; }
.fh-section-teal > * { position: relative; z-index: 1; }

/* Hero — same precision pattern, slightly more visible */
.entry-content > section.fh-section-carbon:first-of-type::before {
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%2300E5FF' stroke-opacity='0.07' stroke-width='1.2'%3E%3Cpath d='M0 80 H55 L65 90 H160'/%3E%3Cpath d='M80 0 V35 L90 45 V160'/%3E%3Cpath d='M0 35 H25 L35 45 H70'/%3E%3Ccircle cx='55' cy='80' r='2.2' fill='%2300E5FF' fill-opacity='0.25'/%3E%3Ccircle cx='90' cy='45' r='2.2' fill='%2300E5FF' fill-opacity='0.25'/%3E%3Ccircle cx='35' cy='45' r='1.8' fill='%2300E5FF' fill-opacity='0.22'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 180px 180px;
}

/* Eyebrow — uppercase, wide tracking, inherits parent text-align */
p.fh-eyebrow, .fh-eyebrow {
  display: block;
  color: var(--fh-cyan);
  text-transform: uppercase;
  letter-spacing: .3em;
  font-size: .78rem; font-weight: 700; margin-bottom: 1rem;
}
.fh-eyebrow::before { content: "◆ "; color: var(--fh-cyan); opacity: .6; margin-right: .35rem; }
.has-text-align-center.fh-eyebrow, .fh-eyebrow.has-text-align-center { text-align: center; }

/* Stat numbers */
.fh-stat-number {
  font-family: "Roboto","Helvetica Neue",Arial,sans-serif;
  font-size: clamp(3.5rem, 7vw, 5.75rem) !important;
  font-weight: 700 !important;
  color: var(--fh-cyan) !important;
  line-height: 1; letter-spacing: -0.03em;
  margin: 0 0 .5rem 0 !important;
}

/* Cards */
.fh-card {
  background: linear-gradient(180deg, rgba(19,64,92,.6) 0%, rgba(10,47,68,.9) 100%) !important;
  border: 1px solid var(--fh-line) !important;
  border-radius: 16px !important;
  padding: 2rem !important;
  position: relative; overflow: hidden;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.fh-card::after {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at 100% 0%, rgba(0,229,255,0.15) 0, transparent 45%);
  pointer-events: none;
}
.fh-card:hover {
  transform: translateY(-4px);
  border-color: var(--fh-line-strong) !important;
  box-shadow: var(--fh-shadow-cyan);
}
.fh-card > * { position: relative; z-index: 1; }

/* Hero image frame — anchors stock photos so they don't float */
.fh-hero-image { margin: 0 !important; position: relative; }
.fh-hero-image img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 16px !important;
  border: 1px solid var(--fh-line);
  box-shadow:
    0 30px 60px -20px rgba(0,0,0,0.6),
    0 0 0 6px rgba(10,47,68,0.6);
  display: block;
}
.fh-hero-image::before {
  content: "";
  position: absolute; inset: -12px;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(0,229,255,0.18) 0%, transparent 40%, transparent 60%, rgba(0,229,255,0.10) 100%);
  z-index: -1;
  pointer-events: none;
}
.fh-hero-image::after {
  content: "";
  position: absolute;
  top: -8px; right: -8px;
  width: 60px; height: 60px;
  border-top: 2px solid var(--fh-cyan);
  border-right: 2px solid var(--fh-cyan);
  border-top-right-radius: 16px;
  pointer-events: none;
}

/* Card cells in the same row stretch to equal height; CTA pinned to bottom */
.wp-block-columns:has(.fh-card) > .wp-block-column { display: flex; }
.wp-block-column.fh-card { display: flex; flex-direction: column; }
.wp-block-column.fh-card .wp-block-buttons { margin-top: auto; }
.fh-card h3 { margin-top: 0 !important; color: var(--fh-white); }
.fh-card .fh-eyebrow { margin-bottom: .5rem; }
.fh-card ul { color: var(--fh-mute-2); padding-left: 1.2rem; }
.fh-card li { margin: .4rem 0; }
.fh-card li::marker { color: var(--fh-cyan); }

/* Icon badges — per-card via modifier class */
.wp-block-column.fh-card::before,
.fh-card::before {
  content: "" !important;
  display: block !important;
  width: 56px !important; height: 56px !important; border-radius: 14px;
  background-color: rgba(0,229,255,0.10);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 28px 28px;
  border: 1px solid var(--fh-line-strong);
  box-shadow: inset 0 0 20px rgba(0,229,255,0.12);
  margin-bottom: 1.25rem;
  position: relative; z-index: 2;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E5FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L3 14h7l-1 8 10-12h-7l1-8z'/%3E%3C/svg%3E");
}
.fh-card.fh-i-bolt::before    { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E5FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L3 14h7l-1 8 10-12h-7l1-8z'/%3E%3C/svg%3E"); }
.fh-card.fh-i-target::before  { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E5FF' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1.5' fill='%2300E5FF'/%3E%3C/svg%3E"); }
.fh-card.fh-i-arrow::before   { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E5FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 5l7 7-7 7'/%3E%3C/svg%3E"); }
.fh-card.fh-i-phone::before   { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E5FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7A2 2 0 0 1 22 16.9z'/%3E%3C/svg%3E"); }
.fh-card.fh-i-refresh::before { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E5FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-6.2-8.55'/%3E%3Cpath d='M21 3v6h-6'/%3E%3C/svg%3E"); }
.fh-card.fh-i-star::before    { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E5FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15 9 22 9 17 14 19 21 12 17 5 21 7 14 2 9 9 9 12 2'/%3E%3C/svg%3E"); }
.fh-card.fh-i-db::before      { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E5FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M3 5v14a9 3 0 0 0 18 0V5'/%3E%3Cpath d='M3 12a9 3 0 0 0 18 0'/%3E%3C/svg%3E"); }
.fh-card.fh-i-cal::before     { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E5FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E"); }
.fh-card.fh-i-shield::before  { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E5FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 4 5v6c0 5 3.5 9.7 8 11 4.5-1.3 8-6 8-11V5l-8-3z'/%3E%3C/svg%3E"); }
.fh-card.fh-i-medspa::before  { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E5FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2c2 4 5 6 5 10a5 5 0 0 1-10 0c0-4 3-6 5-10z'/%3E%3Cpath d='M9 16c.5 1 1.5 1.5 3 1.5s2.5-.5 3-1.5'/%3E%3C/svg%3E"); }
.fh-card.fh-i-wrench::before  { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E5FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E"); }

/* Buttons */
.wp-block-button__link {
  border-radius: 12px !important;
  padding: 1rem 1.75rem !important;
  font-weight: 700 !important;
  letter-spacing: .03em;
  font-size: 1rem;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  border: 0 !important;
}
.wp-block-button__link.fh-btn-primary,
.wp-block-button.fh-btn-primary > .wp-block-button__link {
  background: var(--fh-cyan) !important;
  color: var(--fh-teal) !important;
}
.wp-block-button__link.fh-btn-primary:hover,
.wp-block-button.fh-btn-primary > .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: var(--fh-shadow-cyan);
  background: var(--fh-cyan-soft) !important;
}
.wp-block-button__link.fh-btn-ghost,
.wp-block-button.fh-btn-ghost > .wp-block-button__link {
  background: transparent !important;
  color: var(--fh-cyan) !important;
  border: 1px solid var(--fh-line-strong) !important;
}
.wp-block-button__link.fh-btn-ghost:hover,
.wp-block-button.fh-btn-ghost > .wp-block-button__link:hover {
  background: rgba(0,229,255,0.08) !important;
  border-color: var(--fh-cyan) !important;
}
.wp-block-buttons { gap: .75rem; flex-wrap: wrap; }

/* Timeline */
.fh-timeline-step {
  border-left: 2px solid var(--fh-cyan);
  padding: 1rem 0 1rem 1.5rem !important;
  margin: 0 0 1.25rem 0;
  position: relative;
}
.fh-timeline-step::before {
  content: "";
  position: absolute; left: -7px; top: 1.25rem;
  width: 12px; height: 12px; border-radius: 50%;
  background: var(--fh-cyan);
  border: 2px solid var(--fh-teal);
}
.fh-timeline-step .fh-eyebrow { margin-bottom: .25rem; }

.wp-block-columns { gap: 1.5rem; }
.wp-block-column { padding: 0; }
.wp-block-image img { border-radius: 12px; }

.entry-content a:not(.wp-block-button__link) {
  color: var(--fh-cyan);
  text-decoration-color: var(--fh-line-strong);
  text-underline-offset: 3px;
}
.entry-content a:not(.wp-block-button__link):hover { color: var(--fh-cyan-soft); }

/* Footer — full teal wash, no nested boxes */
.site-footer, #colophon, .site-footer-wrap,
.site-footer-row-container, .site-footer-row-container-inner, .site-footer-inner-wrap,
.footer-widget-area, .site-info,
.site-top-footer-wrap, .site-middle-footer-wrap, .site-bottom-footer-wrap,
.site-footer .site-container, .site-footer .site-footer-row,
.site-footer .site-footer-section,
.site-footer .site-top-footer-inner-wrap,
.site-footer .site-middle-footer-inner-wrap,
.site-footer .site-bottom-footer-inner-wrap {
  background: var(--fh-teal) !important;
  color: var(--fh-mute) !important;
}
.site-top-footer-wrap { border-top: 1px solid var(--fh-line); }
.site-bottom-footer-wrap { border-top: 1px solid var(--fh-line); }

/* Kill per-column / per-widget card backgrounds so footer reads as one flat band */
.site-footer .site-footer-section,
.site-footer .footer-widget-area,
.site-footer .widget,
.site-footer .wp-block-group,
.site-footer .wp-block-column {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.site-footer .site-footer-row-container-inner { padding: 0 !important; }
.site-footer .site-top-footer-wrap .site-footer-row-container-inner { padding: 3.5rem 0 2rem !important; }
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner { padding: 1rem 0 !important; }
.site-footer .site-footer-row,
.site-footer .site-top-footer-inner-wrap,
.site-footer .site-bottom-footer-inner-wrap { padding: 0 !important; gap: 2.5rem; }
.site-footer .site-footer-section { padding: 0 !important; }

/* Footer titles: cyan square dot, roboto */
.site-footer h2, .site-footer h3, .site-footer h4,
.site-footer .widget-title, .site-footer .widgettitle {
  color: var(--fh-white) !important;
  font-size: .95rem !important;
  text-transform: none;
  letter-spacing: .02em;
  margin: 0 0 1.25rem 0 !important;
  display: flex; align-items: center; gap: .6rem;
  font-weight: 700 !important;
}
.site-footer h2::before, .site-footer h3::before, .site-footer h4::before,
.site-footer .widget-title::before {
  content: "";
  width: 8px; height: 8px; border-radius: 2px;
  background: var(--fh-cyan);
  flex: 0 0 auto;
}

.site-footer a { color: var(--fh-mute-2) !important; text-decoration: none; }
.site-footer a:hover { color: var(--fh-cyan) !important; }
.site-footer p { color: var(--fh-mute); margin-bottom: .4rem; line-height: 1.7; }

/* FireHorse column: logo + tagline */
.fh-footer-logo img {
  width: 200px !important; max-width: 200px; height: auto;
  display: block; margin-bottom: 1rem;
}

/* Bottom bar */
.site-bottom-footer-wrap { border-top: 1px solid var(--fh-line); }
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner,
.site-bottom-footer-wrap > .site-footer-row-container-inner {
  padding: 1rem 0 !important;
}
.site-footer .site-bottom-footer-wrap .site-bottom-footer-inner-wrap,
.site-bottom-footer-wrap .site-footer-row {
  padding: 0 !important;
  min-height: 0 !important;
}
.site-bottom-footer-wrap .site-footer-section { min-height: 0 !important; padding: 0 !important; }
.site-bottom-footer-wrap .footer-html { margin: 0 !important; }
.site-bottom-footer-wrap .site-info,
.site-bottom-footer-wrap p {
  font-size: .85rem; color: var(--fh-mute) !important;
  margin: 0 !important;
}
.site-bottom-footer-wrap a {
  color: var(--fh-cyan) !important;
  text-decoration: none;
}
.site-bottom-footer-wrap a:hover { color: var(--fh-cyan-soft) !important; }

/* Pre-footer CTA band — quiet teal block, no neon */
.fh-prefooter-cta {
  background: var(--fh-teal) !important;
  position: relative; overflow: hidden;
  padding: 5rem 1.5rem !important;
  border-top: 1px solid var(--fh-line);
  border-bottom: 1px solid var(--fh-line);
}
.fh-prefooter-cta > * { position: relative; z-index: 1; }

/* Final CTA band — keep institutional, no radial glow */

@media (max-width: 960px) {
  .fh-card { padding: 1.5rem !important; }
  h1 { font-size: 2.25rem !important; }
  h2 { font-size: 1.75rem !important; }
}

/* FAQ Accordion — native details/summary, brand-styled */
.fh-faq { margin: 2rem 0; }
.fh-faq details {
  background: linear-gradient(180deg, rgba(19,64,92,.5) 0%, rgba(10,47,68,.8) 100%);
  border: 1px solid var(--fh-line);
  border-radius: 12px;
  margin-bottom: .75rem;
  overflow: hidden;
  transition: border-color .2s ease;
}
.fh-faq details:hover,
.fh-faq details[open] {
  border-color: var(--fh-line-strong);
}
.fh-faq summary {
  padding: 1.1rem 1.5rem;
  font-family: "Roboto","Helvetica Neue",Arial,sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: var(--fh-white);
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
}
.fh-faq summary::-webkit-details-marker { display: none; }
.fh-faq summary::after {
  content: "+";
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--fh-cyan);
  flex: 0 0 auto;
  margin-left: 1rem;
  transition: transform .2s ease;
}
.fh-faq details[open] summary::after {
  content: "−";
}
.fh-faq details > div,
.fh-faq details > p {
  padding: 0 1.5rem 1.25rem 1.5rem;
  color: var(--fh-mute-2);
  font-size: .95rem;
  line-height: 1.6;
}

/* Trust Signals / Report section cards — reuse fh-card but with a top accent line */
.fh-report-card {
  position: relative;
}
.fh-report-card::before {
  border-radius: 14px 14px 0 0 !important;
  border-top: 3px solid var(--fh-cyan) !important;
}


/* Cal.com embed — match hero image frame treatment */
.cal-inline-container {
  border-radius: 16px !important;
  border: 1px solid rgba(0,229,255,0.18) !important;
  overflow: hidden !important;
  margin: 2.5rem auto 0 auto !important;
  max-width: 850px !important;
  position: relative;
  box-shadow:
    0 30px 60px -20px rgba(0,0,0,0.6),
    0 0 0 6px rgba(10,47,68,0.6) !important;
}
.cal-inline-container::before {
  content: "";
  position: absolute;
  inset: -12px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(0,229,255,0.18) 0%, transparent 40%, transparent 60%, rgba(0,229,255,0.10) 100%);
  z-index: -1;
  pointer-events: none;
}
.cal-inline-container::after {
  content: "";
  position: absolute;
  top: -8px;
  right: -8px;
  width: 60px;
  height: 60px;
  border-top: 2px solid #00E5FF;
  border-right: 2px solid #00E5FF;
  border-top-right-radius: 16px;
  pointer-events: none;
  z-index: 2;
}
.cal-inline-container iframe.cal-embed {
  border-radius: 16px !important;
  display: block !important;
}

/* Hide post navigation on single posts */
.navigation.post-navigation,
.post-navigation-sub,
.nav-links,
.entry-related,
.comments-area, #comments {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
}



/* Footer Resources: compact post title links */
.site-footer-top-section-3 p {
  font-size: .85rem !important;
  line-height: 1.35 !important;
  margin-bottom: .3rem !important;
}
.site-footer-top-section-3 p a {
  color: #8FB3C4 !important;
  text-decoration: none;
}
.site-footer-top-section-3 p a:hover {
  color: #00E5FF !important;
}


/* Footer: align logo column top with other column headings */
.site-footer .fh-footer-logo {
  margin-top: 0 !important;
  margin-bottom: .75rem !important;
}
.site-footer .fh-footer-logo img {
  margin-top: -2px !important;
}
.site-footer .site-footer-row .site-footer-section {
  vertical-align: top;
}

/* Footer column 1: kill all top spacing on logo figure */
.site-footer-top-section-1 > div:first-child,
.site-footer-top-section-1 figure,
.site-footer-top-section-1 figure.wp-block-image,
.site-footer-top-section-1 .fh-footer-logo,
.site-footer-top-section-1 .widget:first-child,
.site-footer-top-section-1 .footer-widget-area {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.site-footer-top-section-1 figure.fh-footer-logo {
  margin: 0 0 .75rem 0 !important;
}

/* Blog cards: fix title/excerpt overlap on mobile */
.loop-entry .entry-content-wrap {
  display: flex !important;
  flex-direction: column !important;
}
.loop-entry .entry-title {
  position: relative !important;
  z-index: 2 !important;
  margin-bottom: 1rem !important;
}
.loop-entry .entry-summary,
.loop-entry .entry-content {
  position: relative !important;
  z-index: 1 !important;
}
.loop-entry header.entry-header {
  position: relative !important;
  display: block !important;
  margin-bottom: .5rem !important;
}
