/**
 * Homepage (2026). Section styling is inline in the template, ported 1:1 from the
 * design. This sheet holds the design's own <style> block (scoped to .av2), its
 * hover states, bb-theme resets, and the HubSpot form restyle for the audit card.
 */

/* ---------- Design globals, scoped ---------- */
html:has(.av2) { scroll-behavior: smooth; }
.av2, .av2 *, .av2 *::before, .av2 *::after { box-sizing: border-box; }
.av2 { color: #3a3a3a; -webkit-font-smoothing: antialiased; }
.av2 a { text-decoration: none; color: #1b6493; }
.av2 a:hover { color: #00263D; }
.av2 summary { list-style: none; cursor: pointer; }
.av2 summary::-webkit-details-marker { display: none; }
.av2 details[open] .av-chev { transform: rotate(180deg); }
.av2 .av-acc-body { transition: height .32s cubic-bezier(.4,0,.2,1), opacity .28s ease; }
.av2 ::selection { background: #58c2e3; color: #00263D; }
.av2 .av-carousel { scrollbar-width: none; -ms-overflow-style: none; }
.av2 .av-carousel::-webkit-scrollbar { display: none; }
.av2 section[data-screen-label] { scroll-margin-top: 90px; }
@keyframes avMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.av2 .av-marquee-track { display: flex; align-items: center; gap: 72px; padding-right: 72px; width: max-content; animation: avMarquee 46s linear infinite; }
.av2 .av-marquee-track img { display: block; flex: none; height: auto; max-height: 58px; max-width: 190px; width: auto; object-fit: contain; }
.av2 .av-marquee:hover .av-marquee-track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .av2 .av-marquee-track { animation: none; } }
@media (max-width: 980px) {
	.av2 .av-2col { grid-template-columns: 1fr !important; gap: 40px !important; }
	.av2 .av-3col { grid-template-columns: 1fr !important; }
	.av2 .av-4col { grid-template-columns: 1fr 1fr !important; }
	.av2 .av-cs-card { flex-basis: 84% !important; }
	.av2 .av-hero-h2 { font-size: 38px !important; }
	.av2 .av-hero-photo { min-height: 340px !important; }
	.av2 .av-order-first { order: -1; }
	.av2 .av-split-photo { height: 240px !important; min-height: 0 !important; }
	.av2 .av-wwd-photo { margin-left: 0 !important; margin-right: 0 !important; min-height: 360px !important; }
}
/* Industry panels and the trust bar need help on phones (the design only went to 980px) */
@media (max-width: 760px) {
	.av2 [data-av2-panel] > div { grid-template-columns: 1fr !important; padding: 28px !important; gap: 28px !important; }
	.av2 .av-4col { grid-template-columns: 1fr !important; }
	.av2 [data-av2-tab] { font-size: 14px !important; padding: 10px 14px !important; }
	.av2 #industries .av2-tabs { flex-wrap: wrap; }
}

/* Grid columns may shrink below their content (long words, the chart) on narrow screens */
.av2 .av-2col > *, .av2 .av-3col > *, .av2 .av-4col > *, .av2 [data-av2-panel] > div > * { min-width: 0; }
@media (max-width: 560px) {
	.av2 h1 { white-space: normal; text-align: left; line-height: 1.4; }
	.av2 .av-hero-h2 { font-size: 34px !important; }
	.av2 .av-hero-photo { padding: 22px !important; }
	.av2 .av-wwd-photo { min-height: 0 !important; }
	.av2 .av2-chart-head { flex-wrap: wrap; gap: 10px !important; }
	.av2 .av2-chart-head > * { min-width: 0; }
	.av2 .av2-stat-grid { grid-template-columns: 1fr !important; }
	.av2 #free-audit .av-2col, .av2 [data-screen-label] .av-2col { padding-left: 0; padding-right: 0; }
}

/* ---------- Hover states (style-hover in the design) ---------- */
.av2 .av2-h1:hover{background:#E4EAEF !important;color:#00263D !important}
.av2 .av2-h2:hover{background:rgba(88,194,227,.12) !important;color:#fff !important}
.av2 .av2-h3:hover{background:#134E76 !important;color:#fff !important}
.av2 .av2-h4:hover{background:#0d7f78 !important}
.av2 .av2-h5:hover{background:#1b6493 !important;color:#fff !important}
.av2 .av2-h6:hover{transform:translateY(-4px) !important;color:#3a3a3a !important}
.av2 .av2-h7:hover{background:#00263D !important;color:#fff !important}
.av2 .av2-h8:hover{color:#fff !important}
.av2 .av2-h9:hover{background:rgba(255,255,255,.12) !important;color:#fff !important}
.av2 .av2-h10:hover{background:#DCE9F0 !important}
.av2 .av2-h11:hover{background:#7FD3EE !important}
.av2 .av2-h12:focus{border-color:#1b6493 !important;outline:none !important}
.av2 .av2-lift:hover { transform: translateY(-4px); color: #3a3a3a; }

/* ---------- bb-theme resets ---------- */
.av2 h1, .av2 h2, .av2 h3 { letter-spacing: normal; text-transform: none; }
.av2 h2, .av2 h3 { color: inherit; }
.av2 li { padding-bottom: 0 !important; }
.av2 button { line-height: normal; text-transform: none; letter-spacing: normal; text-shadow: none; box-shadow: none; }
.av2 input[type="text"] { height: auto; box-shadow: none; }
.av2 p { margin-bottom: 0; }

/* ---------- Audit card: HubSpot form restyle ---------- */
.av2 .av2-hubspot { min-height: 360px; }
.av2 .av2-hubspot .hs-form fieldset { max-width: none !important; }
.av2 .av2-hubspot .hs-form fieldset.form-columns-2 .hs-form-field { width: 50% !important; }
.av2 .av2-hubspot .hs-form fieldset.form-columns-2 .hs-form-field:first-child { padding-right: 14px; }
.av2 .av2-hubspot .hs-form-field { margin-bottom: 16px; }
.av2 .av2-hubspot .hs-form-field > label { display: block; font-size: 13.5px; font-weight: 600; color: #00263D; margin-bottom: 6px; }
.av2 .av2-hubspot .hs-form-required { color: #13a89e; margin-left: 2px; }
.av2 .av2-hubspot .input { margin: 0 !important; }
.av2 .av2-hubspot input.hs-input:not([type="checkbox"]):not([type="radio"]),
.av2 .av2-hubspot select.hs-input,
.av2 .av2-hubspot textarea.hs-input { width: 100% !important; box-sizing: border-box; font: 400 15.5px/1.4 'Open Sans', sans-serif; color: #33424E; background: #fff; border: 1px solid #C7D6E0; border-radius: 4px; padding: 13px 14px; height: auto; min-height: 48px; box-shadow: none; }
.av2 .av2-hubspot textarea.hs-input { min-height: 96px; resize: vertical; }
.av2 .av2-hubspot .hs-input:focus { outline: none; border-color: #1b6493; }
.av2 .av2-hubspot .hs-error-msgs { list-style: none; margin: 6px 0 0; padding: 0; }
.av2 .av2-hubspot .hs-error-msg, .av2 .av2-hubspot .hs-main-font-element { font-size: 13px; color: #c2410c; }
.av2 .av2-hubspot .legal-consent-container, .av2 .av2-hubspot .hs-richtext { font-size: 12.5px; line-height: 1.5; color: #5A7183; }
.av2 .av2-hubspot .hs-button { width: 100%; margin-top: 6px; background: #13a89e; color: #fff; border: 0; font-family: 'Open Sans', sans-serif; font-weight: 600; font-size: 16px; padding: 17px 30px; border-radius: 4px; cursor: pointer; box-shadow: 0 12px 30px rgba(19,168,158,.28); text-transform: none; letter-spacing: normal; text-shadow: none; }
.av2 .av2-hubspot .hs-button:hover { background: #0d7f78; }
.av2 .av2-hubspot .submitted-message { font-family: 'Poppins', sans-serif; font-size: 17px; line-height: 1.5; color: #00263D; padding: 16px 0; }
@media (max-width: 560px) {
	.av2 .av2-hubspot .hs-form fieldset.form-columns-2 .hs-form-field { width: 100% !important; padding-right: 0 !important; }
	.av2 .av2-audit-card { padding: 26px 20px !important; }
}

/* Bold words typed into the copy fields (<strong>) */
.av2 .av2-feat strong { font-weight: 700; color: #00263D; }
.av2 .av2-note strong { color: #00263D; }
.av2 .av2-cta-people strong { font-weight: 700; }
