/*
 * theme-style.css - the Enfold ADAPTER layer for Hunter Glass.
 *
 * Load order (functions.php): design-tokens.css -> proof.css (verbatim from the handover) -> this file.
 * proof.css already styles every hg-* component. This file only maps Enfold's own DOM (header, menu,
 * mega menu, burger, footer, socket, columns, headings, images, accordion, testimonials, tabs, gallery,
 * Forminator) onto those components and neutralises Enfold defaults that fight the design.
 *
 * Enfold 8 traps honoured here: #top IS the <body>; .template-page == .content (reset only L/R padding);
 * page ground on #wrap_all not .container_wrap; av_image sits in two inline-block wrappers; grid
 * containers need ::before/::after{content:none}; av_buttonrow_item drops custom_class (style by position).
 */

/* =====================================================================
   0. Page ground, typography, containers
   ===================================================================== */
#top #wrap_all { background: var(--hg-paper); }
#top #main { background: var(--hg-paper); overflow-x: clip; }
#top #main .container_wrap_first.main_color { background: transparent; border: 0; }
#top, #top body, #top .avia_textblock, #top .main_color, #top .alternate_color { font-family: var(--hg-font); font-size: var(--hg-fs-body); line-height: var(--hg-lh-body); color: var(--hg-body); }
#top h1, #top h2, #top h3, #top h4, #top .main_color h1, #top .main_color h2, #top .main_color h3, #top .main_color h4 { font-family: var(--hg-font); color: var(--hg-navy); margin: 0; }
#top .avia_textblock p { margin: 0; }
#top .avia_textblock p + p, #top .avia_textblock p + ul, #top .avia_textblock ul + p, #top .avia_textblock p + ol, #top .avia_textblock ol + p, #top .avia_textblock h3 + p, #top .avia_textblock p + h3, #top .avia_textblock ul + h3, #top .avia_textblock h3 + ul, #top .avia_textblock p + h2, #top .avia_textblock h2 + p { margin-top: 16px; }
#top .avia_textblock ul, #top .avia_textblock ol { margin: 0; }
#top a { color: var(--hg-accent); }
#top a:hover { color: var(--hg-accent-hover); }

/* Containers: 1350px, 90vw below (handover 2 "Widths"). Header + sections + footer all use .container. */
#top .container, .responsive #top .container, .responsive #top .avia-section .container { max-width: var(--hg-max); width: 90vw; padding-left: 0; padding-right: 0; margin: 0 auto; }
#top .avia-section .template-page, #top .avia-section .content { padding-left: 0; padding-right: 0; float: none; width: 100%; }
#top .av-content-full.alpha.units { width: 100%; }
#top .post-entry, #top .entry-content-wrapper { position: static; }

/* =====================================================================
   1. Bands (Color Section) - proof.css .hg-band carries the padding, Enfold's inner padding is zeroed
   ===================================================================== */
#top .avia-section.hg-band .content { padding-top: 0; padding-bottom: 0; }
#top .avia-section.hg-band { border: 0; margin: 0; }
#top .avia-section.hg-band > .container { position: relative; z-index: 1; }
/* band grounds must beat #top #wrap_all .main_color.container_wrap (gotcha 5) */
#top #wrap_all .main_color.container_wrap.hg-band--white { background: var(--hg-paper); }
#top #wrap_all .main_color.container_wrap.hg-band--mist { background: var(--hg-mist); }
#top #wrap_all .main_color.container_wrap.hg-band--navy { background: var(--hg-grad-navy); color: var(--hg-on-dark-muted); }
#top #wrap_all .main_color.container_wrap.hg-band--blue { background: var(--hg-blue-band); color: var(--hg-on-dark-muted); }
#top #wrap_all .main_color.container_wrap.hg-cta-band { background: var(--hg-grad-cta); }
#top #wrap_all .main_color.container_wrap.hg-stats { background: transparent; }
/* text + headings on dark bands (beat #top .main_color h2) */
#top .hg-band--navy, #top .hg-band--navy .avia_textblock, #top .hg-band--blue, #top .hg-band--blue .avia_textblock { color: var(--hg-on-dark-muted); }
#top .hg-band--navy h1, #top .hg-band--navy h2, #top .hg-band--navy h3, #top .hg-band--navy .av-special-heading-tag, #top .hg-band--blue h2, #top .hg-band--blue .av-special-heading-tag { color: var(--hg-on-dark); }
#top .hg-band--navy a:not(.avia-button):not(.hg-btn) { color: var(--hg-on-dark); }
/* glass texture + angled foot (proof: .hg-texture / .hg-angle divs) as pseudo-elements on the section */
#top .hg-band--navy.hg-hero::before, #top .hg-band--navy.hg-steps::before, #top .hg-cta-band::after, #top .hg-band--navy.hg-enduro-shield::before, #top .hg-band--navy.hg-why-us::before, #top .hg-band--navy.hg-why-choose-us::before, #top .hg-band--navy.hg-values::before, #top .hg-band--navy.hg-feature-image::before, #top .hg-band--navy.hg-mission::before { content: ""; position: absolute; inset: 0; background: var(--hg-texture-url) right -40px top / 1600px auto; opacity: var(--hg-texture-opacity); pointer-events: none; z-index: 0; }
#top .hg-hero.hg-hero--centred::after, #top .hg-cta-band::before { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: clamp(60px, 10vw, 140px); background: var(--hg-angle-band); clip-path: var(--hg-clip-hero-foot); pointer-events: none; z-index: 0; }
#top .hg-cta-band::before { top: auto; margin: 0; }
/* the CTA glow from proof.css uses ::before on .hg-cta-band - re-create it on the container */
#top .hg-cta-band > .container::before { content: ""; position: absolute; top: -220px; left: 50%; width: 1100px; height: 700px; margin-left: -550px; background: var(--hg-cta-glow); pointer-events: none; z-index: -1; }

/* =====================================================================
   2. Columns -> CSS grid (Enfold floats + 4% margins replaced by the design's 12-col grid)
   ===================================================================== */
#top .hg-band .entry-content-wrapper { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--hg-gap); align-items: start; }
#top .hg-band .entry-content-wrapper::before, #top .hg-band .entry-content-wrapper::after { content: none; display: none; }
#top .hg-band .flex_column, .responsive #top .hg-band .flex_column, #top .hg-band .flex_column.column-top-margin { float: none; width: auto; margin: 0; min-width: 0; }
#top .hg-band .entry-content-wrapper > .flex_column { grid-column: span 12; }
#top .hg-band .entry-content-wrapper > .av_one_half { grid-column: span 6; }
#top .hg-band .entry-content-wrapper > .av_one_third { grid-column: span 4; }
#top .hg-band .entry-content-wrapper > .av_two_third { grid-column: span 8; }
#top .hg-band .entry-content-wrapper > .av_one_fourth { grid-column: span 3; }
#top .hg-band .entry-content-wrapper > .av_three_fourth { grid-column: span 9; }
#top .hg-band .entry-content-wrapper > .av_one_full { grid-column: span 12; }
/* generic row gap inside a column: stack children 20px apart (proof .hg-col / .hg-stack) */
#top .hg-band .entry-content-wrapper > .flex_column > * + * { margin-top: 20px; }
#top .hg-band .entry-content-wrapper > .flex_column > .av-special-heading + * { margin-top: 20px; } /* proof .hg-col gap 20px (+ the h2's own 8px margin-bottom, now contained by flow-root) */
#top .hg-band .entry-content-wrapper > .flex_column > .hg-breadcrumbwrap + .av-special-heading { margin-top: 20px; }
/* split sections: 64px gutter like proof .hg-split */
#top .hg-hero .entry-content-wrapper, #top .hg-overview .entry-content-wrapper, #top .hg-contact .entry-content-wrapper, #top .hg-product .entry-content-wrapper, #top .hg-our-story .entry-content-wrapper, #top .hg-what-we-do .entry-content-wrapper, #top .hg-value-proposition .entry-content-wrapper, #top .hg-why-us .entry-content-wrapper, #top .hg-tabs .entry-content-wrapper, #top .hg-fogged-dgus-and-emergencies .entry-content-wrapper, #top .hg-compare-band .entry-content-wrapper { column-gap: var(--hg-space-8); }
#top .hg-hero .entry-content-wrapper { align-items: center; }
/* narrow (1000px) rows: FAQ, CTA, milestones, article, privacy */
#top .hg-band .flex_column.hg-container--narrow { max-width: var(--hg-max-narrow); margin-left: auto; margin-right: auto; width: 100%; }
/* section-level "head" rows (H2 above a grid) */
#top .hg-band .flex_column.hg-steps__head, #top .hg-band .flex_column.hg-values__head, #top .hg-band .flex_column.hg-related__head, #top .hg-band .flex_column.hg-gallery__head, #top .hg-band .flex_column.hg-services__head, #top .hg-band .flex_column.hg-team__head, #top .hg-band .flex_column.hg-products__head { margin-bottom: 8px; }
#top .hg-band .flex_column.hg-steps__head + .flex_column, #top .hg-band .flex_column.hg-values__head + .flex_column, #top .hg-band .flex_column.hg-related__head + .flex_column { margin-top: 0; }

/* =====================================================================
   3. Headings (Special Heading) + eyebrows
   ===================================================================== */
/* Enfold floats .av-special-heading-tag and clears it with .special-heading-border (hidden here), so the wrapper was 0px high and every following block started at the heading's TOP. Contain the float so margins are real. */
#top .av-special-heading { display: flow-root; margin-bottom: 0; }
#top .av-special-heading .av-special-heading-tag { float: none; display: block; } /* the float only existed for the hidden border; un-floated, text-align:center works on CTA/hero headings again */
#top .av-special-heading { margin: 0; padding: 0; clear: none; float: none; }
#top .av-special-heading .special-heading-border { display: none; }
#top .av-special-heading .special_amp { font: inherit !important; font-style: normal !important; color: inherit; }
#top .av-special-heading .av-special-heading-tag { font-family: var(--hg-font); padding: 0; margin: 0; letter-spacing: 0; text-transform: none; }
#top .hg-band h2, #top .hg-band .av-special-heading-h2 .av-special-heading-tag { font-size: var(--hg-fs-h2); line-height: var(--hg-lh-heading); font-weight: var(--hg-fw-bold); }
#top .hg-band h3 { font-size: var(--hg-fs-h3); font-weight: var(--hg-fw-bold); line-height: 1.3; }
#top .hg-hero h1, #top .hg-hero .av-special-heading-h1 .av-special-heading-tag, #top .hg-product h1 { font-size: var(--hg-fs-h1); line-height: var(--hg-lh-tight); letter-spacing: var(--hg-ls-h1); font-weight: var(--hg-fw-bold); color: var(--hg-on-dark); }
#top .hg-product h1 { color: var(--hg-navy); }
#top .hg-cta-band h2, #top .hg-cta-band .av-special-heading-tag { font-size: var(--hg-fs-h2-cta); }
#top .hg-hero .hg-hero__lead p, #top .hg-hero .avia_textblock.hg-hero__lead p { font-size: var(--hg-fs-lead); color: var(--hg-on-dark-muted); max-width: 640px; }
#top .hg-band--white .hg-hero__lead p { color: var(--hg-body); }
#top .avia_textblock .hg-eyebrow, #top .hg-band .hg-eyebrow { font-size: var(--hg-fs-eyebrow); font-weight: var(--hg-fw-bold); letter-spacing: var(--hg-ls-eyebrow); text-transform: uppercase; color: var(--hg-accent); }
#top .hg-band--navy .hg-eyebrow { color: #78a6f7; }

/* Breadcrumb (Rank Math shortcode inside the hero) */
#top .hg-breadcrumbwrap { margin: 0; }
#top .hg-breadcrumb .rank-math-breadcrumb p { margin: 0; display: flex; flex-wrap: wrap; gap: 10px; font-size: 15px; color: var(--hg-on-dark-muted); }
#top .hg-breadcrumb .rank-math-breadcrumb a { color: var(--hg-on-dark-muted); }
#top .hg-breadcrumb .rank-math-breadcrumb a:hover { color: var(--hg-on-dark); }
#top .hg-breadcrumb .rank-math-breadcrumb .separator { color: var(--hg-on-dark-muted); }
#top .hg-band--white .hg-breadcrumb .rank-math-breadcrumb p, #top .hg-band--white .hg-breadcrumb .rank-math-breadcrumb a, #top .hg-band--white .hg-breadcrumb .rank-math-breadcrumb .separator { color: var(--hg-subtle); }

/* =====================================================================
   4. Buttons (av_button + av_buttonrow). Row items drop custom_class - styled by position.
   ===================================================================== */
#top .avia-button.hg-btn, #top .avia-button-wrap.hg-btn .avia-button, #top .hg-btn-group .avia-button, #top .avia-buttonrow-wrap .avia-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; padding: 0 30px; margin: 0; border: 1.5px solid var(--hg-accent); border-radius: var(--hg-radius-btn); background: var(--hg-accent) !important; color: #fff !important; font: var(--hg-fw-semibold) var(--hg-fs-btn)/1 var(--hg-font); white-space: nowrap; box-shadow: none; text-shadow: none; transition: background var(--hg-t-fast) var(--hg-ease), color var(--hg-t-fast) var(--hg-ease); }
#top .avia-button.hg-btn .avia_iconbox_title, #top .avia-button-wrap.hg-btn .avia-button .avia_iconbox_title, #top .hg-btn-group .avia-button .avia_iconbox_title { font: inherit; color: inherit; }
#top .avia-button-wrap { margin: 0; display: block; }
#top .avia-button.hg-btn:hover, #top .avia-button-wrap.hg-btn .avia-button:hover, #top .hg-btn-group .avia-button:hover { background: var(--hg-accent-hover) !important; border-color: var(--hg-accent-hover); color: #fff !important; }
#top .avia-button.hg-btn--navy, #top .avia-button-wrap.hg-btn--navy .avia-button { background: var(--hg-navy) !important; border-color: var(--hg-navy); }
#top .avia-button.hg-btn--navy:hover, #top .avia-button-wrap.hg-btn--navy .avia-button:hover { background: var(--hg-ink) !important; border-color: var(--hg-ink); }
#top .avia-button.hg-btn--white, #top .avia-button-wrap.hg-btn--white .avia-button { background: #fff !important; border-color: #fff; color: var(--hg-ink) !important; }
#top .avia-button.hg-btn--white:hover, #top .avia-button-wrap.hg-btn--white .avia-button:hover { background: var(--hg-accent-tint) !important; border-color: var(--hg-accent-tint); color: var(--hg-ink) !important; }
#top .avia-button.hg-btn--outline, #top .avia-button-wrap.hg-btn--outline .avia-button { background: transparent !important; border-color: var(--hg-navy); color: var(--hg-navy) !important; }
#top .avia-button.hg-btn--outline:hover, #top .avia-button-wrap.hg-btn--outline .avia-button:hover { background: var(--hg-navy) !important; color: #fff !important; }
#top .avia-button.hg-btn--outline-light, #top .avia-button-wrap.hg-btn--outline-light .avia-button { background: transparent !important; border-color: #fff; color: #fff !important; }
#top .avia-button.hg-btn--outline-light:hover, #top .avia-button-wrap.hg-btn--outline-light .avia-button:hover { background: #fff !important; color: var(--hg-ink) !important; }
/* button rows: variants encoded in the row class hg-btn-group--<first>-<second> */
#top .avia-buttonrow-wrap.hg-btn-group { display: flex; flex-wrap: wrap; gap: var(--hg-space-4); margin: 0; }
#top .avia-buttonrow-wrap.avia-buttonrow-center { justify-content: center; }
#top .hg-btn-group--white-outline-light .avia-button:nth-child(1), #top .hg-btn-group--white-outline .avia-button:nth-child(1) { background: #fff !important; border-color: #fff; color: var(--hg-ink) !important; }
#top .hg-btn-group--white-outline-light .avia-button:nth-child(1):hover, #top .hg-btn-group--white-outline .avia-button:nth-child(1):hover { background: var(--hg-accent-tint) !important; border-color: var(--hg-accent-tint); }
#top .hg-btn-group--navy-outline-light .avia-button:nth-child(1), #top .hg-btn-group--navy-outline .avia-button:nth-child(1) { background: var(--hg-navy) !important; border-color: var(--hg-navy); }
#top .hg-btn-group--accent-outline-light .avia-button:nth-child(2), #top .hg-btn-group--white-outline-light .avia-button:nth-child(2), #top .hg-btn-group--navy-outline-light .avia-button:nth-child(2) { background: transparent !important; border-color: #fff; color: #fff !important; }
#top .hg-btn-group--accent-outline-light .avia-button:nth-child(2):hover, #top .hg-btn-group--white-outline-light .avia-button:nth-child(2):hover, #top .hg-btn-group--navy-outline-light .avia-button:nth-child(2):hover { background: #fff !important; color: var(--hg-ink) !important; }
#top .hg-btn-group--accent-outline .avia-button:nth-child(2), #top .hg-btn-group--white-outline .avia-button:nth-child(2), #top .hg-btn-group--navy-outline .avia-button:nth-child(2) { background: transparent !important; border-color: var(--hg-navy); color: var(--hg-navy) !important; }
#top .hg-btn-group--accent-outline .avia-button:nth-child(2):hover, #top .hg-btn-group--navy-outline .avia-button:nth-child(2):hover { background: var(--hg-navy) !important; color: #fff !important; }
/* plain .hg-btn anchors inside textblocks / widgets keep proof.css styling (not Enfold buttons) */

/* =====================================================================
   5. Images (av_image) - kill the inline-block intrinsic-width wrappers
   ===================================================================== */
#top .avia-image-container, #top .avia-image-container-inner, #top .avia-image-overlay-wrap { display: block; width: 100%; max-width: none; margin: 0; }
#top .avia-image-container img, #top .avia-image-container-inner img { display: block; width: 100%; height: auto; max-width: 100%; }
#top .avia-image-container.hg-img--cover img { aspect-ratio: 4 / 3; object-fit: cover; }
#top .hg-hero__photo { position: relative; overflow: visible; }
#top .hg-hero .entry-content-wrapper, #top .hg-hero .post-entry, #top .hg-hero .template-page, #top .hg-hero .container { overflow: visible; }
#top .hg-hero__photo::before { content: ""; position: absolute; top: -20px; right: -20px; width: 150px; height: 150px; background: var(--hg-accent); clip-path: var(--hg-clip-corner); z-index: 0; visibility: visible; }
#top .hg-hero__photo .avia-image-container { position: relative; z-index: 1; box-shadow: var(--hg-shadow-photo); }
#top .avia-image-container.hg-img--contain img { object-fit: contain; background: #fff; }
/* image + caption textblock combos */
#top .avia_textblock.hg-caption p { font-size: var(--hg-fs-small); color: var(--hg-subtle); }

/* =====================================================================
   6. Cards (column-level custom_class hg-card ...) - proof.css .hg-card applies; fix Enfold column internals
   ===================================================================== */
#top .flex_column.hg-card { padding: 34px 32px; }
#top .flex_column.hg-card > * + * { margin-top: 16px; }
#top .flex_column.hg-card.hg-why, #top .hg-split > aside.hg-card { border-radius: var(--hg-radius-aside); box-shadow: var(--hg-shadow-aside); max-width: 440px; justify-self: end; }
#top .avia_textblock.hg-card { display: block; }
#top .avia_textblock.hg-card > * + * { margin-top: 16px; }
#top .hg-why .hg-stack { display: flex; flex-direction: column; gap: 20px; margin-top: 16px; }
#top .hg-why .hg-stat { padding: 0; }
#top .hg-why .hg-stack .hg-stat .hg-stat__value { font-size: 27px; font-weight: var(--hg-fw-bold); color: var(--hg-navy); line-height: 1.2; }
#top .hg-why .hg-stack .hg-stat .hg-stat__label { font-size: 16px; color: var(--hg-muted); margin-top: 4px; }
#top .hg-why .hg-checklist { margin-top: 20px; }
#top .hg-why .avia-button { margin-top: 20px; }
#top .hg-why .hg-why__body > * + * { margin-top: 16px; }

/* checklist inside textblocks */
#top .avia_textblock ul.hg-checklist { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
#top .avia_textblock ul.hg-checklist li { position: relative; padding-left: 30px; font-size: 18px; color: var(--hg-body); margin: 0; }
#top .avia_textblock ul.hg-checklist li::before { content: ""; position: absolute; left: 0; top: 0.7em; width: 16px; height: 2px; background: var(--hg-accent); }
#top .hg-band--navy .avia_textblock ul.hg-checklist li { color: var(--hg-on-dark-muted); }
#top .avia_textblock ol, #top .avia_textblock ul:not([class]) { padding-left: 1.3em; display: grid; gap: 6px; }
#top .avia_textblock ol li, #top .avia_textblock ul:not([class]) li { margin: 0; }

/* =====================================================================
   7. Steps (How it works)
   ===================================================================== */
#top .hg-steps .flex_column.hg-step, #top .hg-values .flex_column.hg-step { display: flex; flex-direction: column; gap: 12px; padding: 34px 30px 36px; background: var(--hg-step-bg); border: 1px solid var(--hg-step-border); }
#top .hg-steps .flex_column.hg-step:last-child, #top .hg-values .flex_column.hg-step:last-child { background: var(--hg-step-bg-final); border-color: var(--hg-step-border-final); }
#top .hg-steps .hg-step .avia_textblock > * + *, #top .hg-values .hg-step .avia_textblock > * + * { margin-top: 12px; }
#top .hg-steps .hg-step p:not(.hg-eyebrow), #top .hg-values .hg-step p:not(.hg-eyebrow) { font-size: 17px; }
#top .hg-steps .hg-step h3, #top .hg-values .hg-step h3 { color: var(--hg-on-dark); }
#top .hg-steps .entry-content-wrapper, #top .hg-values .entry-content-wrapper { align-items: stretch; } /* proof .hg-grid: equal-height step cards */

/* =====================================================================
   8. FAQ accordion (av_toggle_container) -> proof .hg-faq__item / __q / __a
   ===================================================================== */
#top .togglecontainer { margin: 0; display: flex; flex-direction: column; gap: 12px; }
#top .hg-faq .av-special-heading + .togglecontainer, #top .hg-faq .av-special-heading + .av_toggle_section, #top .hg-faq .av-special-heading + .togglecontainer.hg-faq__list { margin-top: 24px; } /* client request 23 Oct 2026: more air under the FAQ heading (proof has 8px) */
#top .togglecontainer .av_toggle_section { margin: 0; }
#top .togglecontainer .single_toggle { margin: 0; background: var(--hg-paper); border: 0; }
#top .togglecontainer .single_toggle p.toggler { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin: 0; padding: 26px 32px; border: 0; background: var(--hg-paper); font-family: var(--hg-font); font-size: var(--hg-fs-lead); font-weight: var(--hg-fw-semibold); line-height: 1.4; color: var(--hg-navy); }
#top .togglecontainer .single_toggle p.toggler:hover, #top .togglecontainer .single_toggle p.toggler.activeTitle { background: var(--hg-paper); color: var(--hg-navy); }
#top .togglecontainer .toggle_icon { position: static; order: 2; flex: 0 0 auto; width: auto; height: auto; border: 0; margin: 0; }
#top .togglecontainer .toggle_icon .vert_icon, #top .togglecontainer .toggle_icon .hor_icon { display: none; }
#top .togglecontainer .toggle_icon::before { content: "+"; font-size: 30px; font-weight: var(--hg-fw-light); line-height: 1; color: var(--hg-accent); }
#top .togglecontainer .activeTitle .toggle_icon::before { content: "−"; }
#top .togglecontainer .toggle_wrap { margin: 0; border: 0; }
#top .togglecontainer .toggle_content { margin: 0; padding: 0 32px 28px; border: 0; background: var(--hg-paper); color: var(--hg-body); font-size: var(--hg-fs-body); }
#top .togglecontainer .toggle_content p { margin: 0; }
#top .togglecontainer .toggle_content p + p { margin-top: 12px; }
#top .togglecontainer .toggle_content.invers-color { color: var(--hg-body); }
#top .hg-faq .av-special-heading { margin-bottom: 20px; }

/* =====================================================================
   9. Testimonials (av_testimonials grid) -> proof .hg-testimonial
   ===================================================================== */
#top .avia-testimonial-wrapper { margin: 0; }
#top .avia-testimonial-wrapper .avia-testimonial-row { display: grid; grid-template-columns: repeat(var(--hg-tcols, 2), minmax(0, 1fr)); gap: var(--hg-gap); margin: 0; }
#top .avia-testimonial-wrapper.avia-grid-1-testimonials .avia-testimonial-row { --hg-tcols: 1; }
#top .avia-testimonial-wrapper.avia-grid-3-testimonials .avia-testimonial-row { --hg-tcols: 3; }
#top .avia-testimonial-wrapper .avia-testimonial-row::before, #top .avia-testimonial-wrapper .avia-testimonial-row::after { content: none; }
#top .avia-testimonial-wrapper .avia-testimonial { position: relative; float: none; width: auto; margin: 0; padding: 0; display: flex; flex-direction: column; background: var(--hg-mist); border: 1px solid var(--hg-border); border-radius: 0; }
#top .avia-testimonial-wrapper .avia-testimonial::before { content: "”"; position: absolute; right: 26px; top: 22px; font-size: 34px; line-height: 1; font-weight: var(--hg-fw-bold); color: var(--hg-quote-mark); }
#top .avia-testimonial-wrapper .avia-testimonial_inner { padding: 30px 32px 32px; border: 0; background: transparent; display: flex; flex-direction: column; flex: 1; }
#top .avia-testimonial-wrapper .avia-testimonial-content { padding: 0; }
#top .avia-testimonial-wrapper .avia-testimonial-content::before { content: "★★★★★"; display: block; margin-bottom: 18px; font-size: 15px; letter-spacing: 1px; color: var(--hg-star); }
#top .avia-testimonial-wrapper .avia-testimonial-markup-entry-content p { font-size: 17px; line-height: 26px; font-style: italic; color: var(--hg-body); margin: 0; }
#top .avia-testimonial-wrapper .avia-testimonial-meta { margin: auto 0 0; padding: 0; display: block; }
#top .avia-testimonial-wrapper .avia-testimonial-arrow-wrap, #top .avia-testimonial-wrapper .avia-testimonial-image { display: none; }
#top .avia-testimonial-wrapper .avia-testimonial-meta-mini { margin: 22px 0 0; padding: 0; }
#top .avia-testimonial-wrapper .avia-testimonial-name { font-size: 16px; font-weight: var(--hg-fw-bold); color: var(--hg-navy); font-style: normal; }
#top .hg-testimonials__intro { display: flex; flex-wrap: wrap; gap: var(--hg-space-4); align-items: center; margin-bottom: 24px; }
#top .hg-testimonials__intro img { height: 64px; width: auto; }
#top .hg-testimonials__intro h3 { font-size: var(--hg-fs-h3); }

/* =====================================================================
   10. Image tiles (av_image + label textblock inside a column .hg-tilewrap)
   ===================================================================== */
#top .flex_column.hg-tilewrap { position: relative; overflow: hidden; aspect-ratio: 441 / 328; box-shadow: var(--hg-shadow-tile); transition: box-shadow var(--hg-t-tile) var(--hg-ease); }
#top .flex_column.hg-tilewrap:hover { box-shadow: var(--hg-shadow-tile-hover); z-index: 5; }
#top .hg-tilewrap .avia-image-container.hg-tile { position: absolute; inset: 0; margin: 0; }
#top .hg-tilewrap .avia-image-container.hg-tile img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: auto; }
#top .hg-tilewrap .avia-image-container.hg-tile::after { content: ""; position: absolute; inset: 0; background: var(--hg-tile-shade); clip-path: var(--hg-clip-tile); pointer-events: none; }
#top .hg-tilewrap .av_textblock_section { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; z-index: 2; }
#top .hg-tilewrap .hg-tile__labelwrap { margin: 0; padding: 0 23px 13px; }
#top .hg-tilewrap .hg-tile__label { position: static; display: block; color: #fff; font-size: 18px; font-weight: var(--hg-fw-semibold); }
#top .hg-tilewrap .hg-tile__label:hover { color: #fff; }
#top .hg-related .flex_column.hg-tilewrap, #top .hg-services .flex_column.hg-tilewrap { margin-top: 0; }

/* =====================================================================
   11. Gallery (av_gallery) + before/after pairs
   ===================================================================== */
#top .avia-gallery { padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--hg-gap); }
#top .avia-gallery::before, #top .avia-gallery::after { content: none; }
#top .avia-gallery .avia-gallery-thumb { display: contents; }
#top .avia-gallery .avia-gallery-thumb a { float: none; width: auto; padding: 0; margin: 0; display: block; }
#top .avia-gallery .avia-gallery-thumb img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border: 0; padding: 0; margin: 0; display: block; }
#top .avia-gallery .avia-gallery-big { display: none; }
#top .hg-gallery .avia-image-container img, #top .hg-gallery .hg-comparewrap img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
#top .hg-comparewrap { margin: 0; }
#top .hg-comparewrap .hg-compare { margin: 0; }

/* =====================================================================
   12. Tabs (av_tab_section) - labels styled on .av-inner-tab-title, auto height
   ===================================================================== */
#top .av-tab-section-container { margin: 0; }
#top .av-tab-section-tab-title-container { background: #fff; border: 0; padding: 0; margin: 0 0 32px; text-align: left; overflow-x: auto; white-space: nowrap; }
#top .av-section-tab-title { display: inline-block; float: none; padding: 26px 26px 22px; margin: 0 8px 0 0; border: 0; border-bottom: 4px solid transparent; background: transparent; box-shadow: none; }
#top .av-section-tab-title .av-outer-tab-title, #top .av-section-tab-title .av-inner-tab-title { padding: 0; margin: 0; text-transform: none; font-family: var(--hg-font); font-size: 18px; font-weight: var(--hg-fw-medium); color: var(--hg-tab-idle); letter-spacing: 0; }
#top .av-section-tab-title:hover .av-inner-tab-title { color: var(--hg-navy); }
#top .av-section-tab-title.av-active-tab-title { border-bottom-color: var(--hg-accent); background: transparent; }
#top .av-section-tab-title.av-active-tab-title .av-inner-tab-title { color: var(--hg-navy); font-weight: var(--hg-fw-semibold); }
#top .av-section-tab-title:focus, #top .av-section-tab-title .av-inner-tab-title:focus, #top .av-section-tab-title .av-outer-tab-title:focus { outline: none; }
#top .av-section-tab-title .av-tab-arrow-container, #top .av-section-tab-title .av-tab-section-icon { display: none; }
#top .av-tab-section-outer-container, #top .av-tab-section-inner-container, #top .av-layout-tab { background: transparent; padding: 0; border: 0; }
#top .av-layout-tab .av-layout-tab-inner { padding: 0; }
#top .av-layout-tab .av-layout-tab-inner .container { width: 100%; max-width: none; }
#top .av-layout-tab .entry-content-wrapper, #top .av-layout-tab .av-layout-grid-container { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hg-space-8); row-gap: var(--hg-gap); }

/* =====================================================================
   13. Code block embeds (map / flipbook)
   ===================================================================== */
#top .avia_codeblock_section { margin: 0; }
#top .hg-embed iframe { width: 100%; aspect-ratio: 4 / 3; height: auto; border: 0; display: block; }

#top #scroll-top-link { display: none !important; }

/* =====================================================================
   14. Header (Enfold #header) -> proof .hg-header
   ===================================================================== */
#top #header { background: var(--hg-grad-header); border: 0; box-shadow: none; }
#top #header .header_bg { background: transparent; box-shadow: none; opacity: 1; }
#top #header_main { border: 0; background: transparent; }
#top #header_main > .container { display: flex; align-items: center; justify-content: space-between; height: var(--hg-header-h); min-height: 0; }
#top #header_main .inner-container { display: flex; align-items: center; justify-content: space-between; width: 100%; height: var(--hg-header-h); }
#top .logo { position: static; float: none; height: auto; max-height: none; line-height: 0; padding: 0; margin: 0; display: block; }
#top .logo a { display: block; height: auto; line-height: 0; }
#top .logo img, #top .logo a img { width: 330px; height: auto; max-height: none; padding: 0; }
#top .main_menu { position: static; float: none; height: auto; line-height: normal; margin: 0; }
#top .av-main-nav-wrap { float: none; }
#top .av-main-nav { display: flex; align-items: center; gap: 40px; float: none; }
#top .av-main-nav > li { float: none; height: auto; line-height: normal; position: relative; margin: 0; }
#top #header .av-main-nav > li, .html_custom #top #header .av-main-nav > li { height: auto !important; line-height: normal !important; }
#top #header .av-main-nav > li > a, .html_custom #top #header .av-main-nav > li > a { height: auto !important; line-height: 1 !important; padding: 6px 0; border: 0 !important; box-shadow: none; color: #fff; font-family: var(--hg-font); font-size: 18px; font-weight: var(--hg-fw-regular); letter-spacing: 0; text-transform: none; display: inline-flex; align-items: center; gap: 10px; }
#top #header .av-main-nav > li > a::after, #top #header .av-main-nav > li > a::before { border: 0; }
#top .av-main-nav > li > a:hover, #top .av-main-nav > li:hover > a { color: var(--hg-on-dark-hover); background: transparent; }
#top .av-main-nav .avia-menu-fx, #top .av-main-nav .avia-bullet { display: none; }
#top .av-main-nav > li > a .avia-menu-text { font: inherit; color: inherit; }
/* current item: 2px accent underline (handover 7) */
#top .av-main-nav > li.menu-item-top-level.current-menu-item > a .avia-menu-text, #top .av-main-nav > li.menu-item-top-level.current-menu-ancestor > a .avia-menu-text, #top .av-main-nav > li.menu-item-top-level.current_page_ancestor > a .avia-menu-text, #top .av-main-nav > li.menu-item-top-level.current-page-ancestor > a .avia-menu-text { box-shadow: inset 0 -2px 0 var(--hg-accent); padding-bottom: 4px; }
#top .av-main-nav > li.hg-btn > a .avia-menu-text { box-shadow: none !important; padding-bottom: 0; }
/* Services chevron */
#top #header .av-main-nav > li.hg-nav__item--mega > a::after { content: ""; width: 9px; height: 9px; border-right: 2.2px solid currentColor; border-bottom: 2.2px solid currentColor; transform: translateY(-3px) rotate(45deg); flex: 0 0 auto; }
/* CTA button items (li carries hg-btn classes from proof.css; the <a> inherits) */
#top #header .av-main-nav > li.hg-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 41px !important; height: 41px !important; padding: 0 22px; margin: 0 0 0 -28px; border: 1.5px solid #fff; border-radius: var(--hg-radius-btn); background: transparent; color: #fff; font-size: 18px; font-weight: var(--hg-fw-regular); line-height: 1; }
#top #header .av-main-nav > li.hg-btn + li.hg-btn { margin-left: -28px; }
#top #header .av-main-nav > li.hg-btn--white { background: #fff; border-color: #fff; color: var(--hg-ink); }
#top #header .av-main-nav > li.hg-btn--white:hover { background: var(--hg-accent-tint); border-color: var(--hg-accent-tint); }
#top #header .av-main-nav > li.hg-btn--outline-light:hover { background: #fff; color: var(--hg-ink); }
#top #header .av-main-nav > li.hg-btn > a, .html_custom #top #header .av-main-nav > li.hg-btn > a { padding: 0 !important; height: auto !important; line-height: 1 !important; color: inherit; font: inherit; display: block; background: transparent; }
#top .av-main-nav > li.hg-btn > a:hover { color: inherit; }
#top .av-main-nav > li.hg-btn--white > a, #top .av-main-nav > li.hg-btn--white > a .avia-menu-text { color: var(--hg-ink); }
#top .av-main-nav > li.hg-btn--outline-light:hover > a, #top .av-main-nav > li.hg-btn--outline-light:hover > a .avia-menu-text { color: var(--hg-ink); }
/* search icon off (option treats empty as on) */
#top #menu-item-search, #top .av-main-nav > li.menu-item-search-dropdown { display: none !important; }
/* burger: Enfold shows it at 989px and below (html_mobile_menu_tablet); desktop hidden */
#top .av-main-nav > li.av-burger-menu-main { display: none; }
#top .av-hamburger-inner, #top .av-hamburger-inner::before, #top .av-hamburger-inner::after { background-color: #fff; height: 2.5px; width: 28px; border-radius: 2px; }
#top .av-burger-menu-main a { padding: 0; }
#top .av-burger-menu-main strong { display: none; }
/* mobile-only items (CTA + phone appended by functions.php) hidden in the desktop bar */
#top .av-main-nav > li.hg-mobile-only { display: none; }

/* Mega menu (Services): one column, 9 links as a 2-col grid + "View all" spanning (proof .hg-mega) */
#top #header .avia_mega_div { left: -24px; top: calc(100% + 18px); width: 560px !important; padding: 26px 30px 28px; background: var(--hg-mega-bg); border: 0; border-top: 4px solid var(--hg-accent); box-shadow: var(--hg-shadow-mega); border-radius: 0; }
#top #header .avia_mega_div::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 22px; }
#top #header .avia_mega_div { background: var(--hg-mega-bg) !important; }
#top #header .avia_mega_div > .sub-menu, #top #header .avia_mega_div > .sub-menu > li, #top #header .avia_mega_div ul.sub-menu, #top #header .avia_mega_div li { background: transparent !important; border: 0 !important; box-shadow: none !important; }
#top #header .avia_mega_div > .sub-menu { display: block; padding: 0; margin: 0; }
#top #header .avia_mega_div > .sub-menu > li.hg-mega__col { width: 100% !important; float: none; padding: 0; margin: 0; border: 0; }
#top #header .avia_mega_div .mega_menu_title { display: block; padding: 0; margin: 0 0 16px; font-family: var(--hg-font); font-size: 12px; font-weight: var(--hg-fw-bold); letter-spacing: 1.3px; text-transform: uppercase; color: var(--hg-mega-title); }
#top #header .avia_mega_div > .sub-menu > li.hg-mega__col > .sub-menu { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(5, auto); grid-auto-flow: column; gap: 4px 28px; padding: 0; margin: 0; }
#top #header .avia_mega_div li.hg-mega__link { margin: 0; padding: 0; border: 0; }
#top #header .avia_mega_div li.hg-mega__link > a { display: block; padding: 7px 0; margin: 0; border: 0; font-family: var(--hg-font); font-size: 16px; font-weight: var(--hg-fw-regular); line-height: 1.4; color: var(--hg-mega-link); background: transparent; text-transform: none; letter-spacing: 0; }
#top #header .avia_mega_div li.hg-mega__link > a:hover, #top #header .avia_mega_div li.hg-mega__link.current-menu-item > a { color: var(--hg-accent); background: transparent; }
#top #header .avia_mega_div li.hg-mega__all { grid-column: 1 / -1; grid-row: 6; margin: 20px 0 0; padding: 18px 0 0; border: 0; border-top: 1px solid var(--hg-rule); }
#top #header .avia_mega_div li.hg-mega__all > a { display: block; padding: 0; margin: 0; border: 0; background: transparent; font-family: var(--hg-font); font-size: 16px; font-weight: var(--hg-fw-semibold); color: var(--hg-accent); text-transform: none; letter-spacing: 0; }
#top #header .avia_mega_div li.hg-mega__all > a:hover { color: var(--hg-accent-hover); }
#top #header .avia_mega_div .avia-bullet, #top #header .avia_mega_div .avia-menu-fx { display: none; }
#top #header .avia_mega_div a .avia-menu-text { font: inherit; color: inherit; }

/* =====================================================================
   15. Mobile menu (<= 1179px since 27 Oct - Gary: burger before the logo has to shrink): burger + full-width dropdown sheet under the header (proof .hg-sheet)
   ===================================================================== */
#top .logo, #top .logo img { flex-shrink: 0; }
@media (max-width: 767px) {
  #top .logo img, #top .logo a img { width: 240px; }
}
@media (max-width: 1179px) {
  #top #header_main > .container, #top #header_main .inner-container { height: var(--hg-header-h); }
  #top #header .av-main-nav > li.menu-item-top-level, #top #header .av-main-nav > li.hg-btn { display: none !important; }
  #top #header .av-main-nav > li.av-burger-menu-main { display: block !important; }
  #top .av-main-nav { gap: 0; }
  #top .av-burger-overlay { top: var(--hg-header-h) !important; height: auto !important; max-height: calc(100vh - var(--hg-header-h)); bottom: auto; background: transparent; }
  #top .av-burger-overlay-bg { display: none; }
  #top .av-burger-overlay-scroll { position: relative; width: 100%; max-width: none; height: auto; max-height: calc(100vh - var(--hg-header-h)); overflow-y: auto; background: #fff; box-shadow: var(--hg-shadow-sheet); padding: 0; }
  #top .av-burger-overlay-inner { padding: 0; display: block; position: static !important; height: auto; width: 100%; }
  #top #av-burger-menu-ul { padding: 0 !important; margin: 0; display: block; height: auto; width: 100%; }
  #top #av-burger-menu-ul .av-submenu-indicator, #top #av-burger-menu-ul .dropdown_available, #top #av-burger-menu-ul .avia-arrow-wrap { display: none !important; }
  #top #av-burger-menu-ul > li > a, .html_custom #top #header .main_menu #av-burger-menu-ul > li > a { display: flex !important; height: auto !important; line-height: 1.3 !important; color: var(--hg-navy) !important; }
  #top .av-burger-overlay { height: auto !important; min-height: 0; }
  #top .av-burger-overlay-scroll { height: auto !important; }
  #top #av-burger-menu-ul li { margin: 0; padding: 0; border: 0; text-align: left; }
  #top #av-burger-menu-ul > li > a { display: flex; justify-content: space-between; align-items: center; padding: 18px 24px; margin: 0; border: 0; border-bottom: 1px solid var(--hg-sheet-rule); font-family: var(--hg-font); font-size: 19px; font-weight: var(--hg-fw-semibold); color: var(--hg-navy); text-transform: none; letter-spacing: 0; line-height: 1.3; background: #fff; }
  #top #av-burger-menu-ul > li > a:hover { background: var(--hg-sheet-sub); color: var(--hg-navy); }
  #top #av-burger-menu-ul .avia-menu-fx, #top #av-burger-menu-ul .avia-bullet, #top #av-burger-menu-ul .mega_menu_title { display: none; }
  #top #av-burger-menu-ul .avia-menu-text { font: inherit; color: inherit; }
  /* Services sub-list (mega menu children) */
  #top #av-burger-menu-ul .sub-menu { display: block; padding: 0; margin: 0; background: var(--hg-sheet-sub); border-bottom: 1px solid var(--hg-sheet-rule); }
  #top #av-burger-menu-ul .sub-menu .sub-menu { border: 0; }
  #top #av-burger-menu-ul .sub-menu li { padding: 0; margin: 0; }
  #top #av-burger-menu-ul .sub-menu > li.av-width-submenu > a, #top #av-burger-menu-ul .sub-menu li.hg-mega__col > a { display: none !important; }
  #top #av-burger-menu-ul .sub-menu li a { display: block; padding: 14px 24px 14px 40px; margin: 0; border: 0; font-family: var(--hg-font); font-size: 17px; font-weight: var(--hg-fw-regular); color: var(--hg-body); background: transparent; text-transform: none; }
  #top #av-burger-menu-ul .sub-menu li.hg-mega__all { display: none; }
  #top #av-burger-menu-ul li.hg-mega__link > a .avia-menu-text { font: inherit; }
  /* Enfold collapses nested overlay items until tapped - the design shows the Services list open */
  #top .av-burger-overlay .av-burger-overlay-scroll #av-burger-menu-ul li, #top .av-burger-overlay .av-burger-overlay-scroll #av-burger-menu-ul li a, #top .av-burger-overlay .av-burger-overlay-scroll #av-burger-menu-ul .sub-menu { opacity: 1 !important; visibility: visible !important; transform: none !important; }
  #top .av-burger-overlay .av-burger-overlay-scroll #av-burger-menu-ul .sub-menu { display: block !important; height: auto !important; max-height: none !important; overflow: visible !important; }
  #top .av-burger-overlay .av-burger-overlay-scroll #av-burger-menu-ul .sub-menu li a, #top .av-burger-overlay .av-burger-overlay-scroll #av-burger-menu-ul .sub-menu li a .avia-menu-text { color: var(--hg-body) !important; font-size: 17px !important; font-weight: var(--hg-fw-regular) !important; }
  #top .av-burger-overlay .av-burger-overlay-scroll #av-burger-menu-ul .sub-menu li.current-menu-item a, #top .av-burger-overlay .av-burger-overlay-scroll #av-burger-menu-ul .sub-menu li.current-menu-item a .avia-menu-text { color: var(--hg-accent) !important; }
  /* hide the desktop button items in the sheet; show the mobile CTA block */
  #top #av-burger-menu-ul > li.hg-btn--nav { display: none; }
  #top #av-burger-menu-ul > li.hg-mobile-only { display: block; padding: 0 24px; border: 0; background: #fff; }
  #top #av-burger-menu-ul > li.hg-mobile-only:first-of-type { padding-top: 24px; }
  #top #av-burger-menu-ul > li.hg-mobile-only > a { display: inline-flex; width: 100%; justify-content: center; align-items: center; min-height: 56px; padding: 0 30px; margin: 0 0 12px; border: 1.5px solid var(--hg-accent); border-radius: var(--hg-radius-btn); background: var(--hg-accent); color: #fff; font-family: var(--hg-font); font-size: var(--hg-fs-btn); font-weight: var(--hg-fw-semibold); line-height: 1; }
  #top #av-burger-menu-ul > li.hg-mobile-only > a.hg-btn--outline { background: transparent; border-color: var(--hg-navy); color: var(--hg-navy); margin-bottom: 24px; }
  #top #av-burger-menu-ul > li.hg-mobile-only > a .avia-menu-text { color: inherit; font: inherit; }
  /* Enfold's own active-state styles in the overlay */
  #top #av-burger-menu-ul li.current-menu-item > a, #top #av-burger-menu-ul li.current-menu-ancestor > a { color: var(--hg-accent); }
  #top .av-burger-overlay .av-burger-overlay-scroll #av-burger-menu-ul li:hover > a { background: var(--hg-sheet-sub); }
  #top .av-hamburger--spin.is-active .av-hamburger-inner, #top .av-hamburger--spin.is-active .av-hamburger-inner::before, #top .av-hamburger--spin.is-active .av-hamburger-inner::after { background-color: #fff; }
}
@media (max-width: 480px) {
  #top .logo img, #top .logo a img { width: 190px; }
}

/* =====================================================================
   16. Footer (#footer widgets) + badge row + socket -> proof .hg-footer / .hg-socket
   ===================================================================== */
#top #footer { background: var(--hg-grad-footer); border: 0; padding: 0; color: #e2e8f4; font-size: 17px; }
#top #footer > .container { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 48px; padding: 80px 0 48px; }
#top #footer > .container::before, #top #footer > .container::after { content: none; }
#top #footer .flex_column { float: none; width: auto; margin: 0; }
#top #footer .widget { margin: 0; padding: 0; border: 0; clear: none; }
#top #footer .widget .seperator { display: none; }
#top #footer .widgettitle { display: none; }
#top #footer a { color: #e2e8f4; }
#top #footer a:hover { color: #fff; }
#top #footer .hg-footer__col { display: flex; flex-direction: column; gap: 14px; }
#top #footer .hg-footer__logo { width: 300px; height: auto; }
#top #footer .hg-footer__heading { font-size: 18px; font-weight: var(--hg-fw-bold); color: #fff; margin: 12px 0 0; }
#top #footer ul { list-style: none; margin: 0; padding: 0; }
#top #footer .hg-footer__links, #top #footer .hg-footer__contact { display: grid; gap: 10px; }
#top #footer .hg-footer__links--areas { grid-template-columns: 1fr 1fr; column-gap: 24px; }
#top #footer .hg-footer__social { display: flex; gap: 12px; }
#top #footer .hg-footer__social img { opacity: .9; width: 50px; height: 50px; }
#top #footer .hg-footer__social a:hover img { opacity: 1; }
#top #footer .hg-footer__note { font-size: 15px; color: #c4cee2; margin: 0; }
#top #footer li { margin: 0; padding: 0; border: 0; line-height: 1.5; }
#top #footer .hg-btn-group { display: flex; flex-wrap: wrap; gap: var(--hg-space-4); }
#top #footer .hg-btn-group .hg-btn { color: #fff; }
#top #footer .hg-btn-group .hg-btn--outline-light:hover { color: var(--hg-ink); }
/* badge row (hooked in by functions.php, ava_before_socket) */
#top .hg-footer__badges-wrap { background: var(--hg-grad-footer); }
#top .hg-footer__badges { width: 90vw; max-width: var(--hg-max); margin: 0 auto; padding: 28px 0; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; border-top: 1px solid rgba(255,255,255,.14); list-style: none; }
#top .hg-footer__badges li { margin: 0; padding: 0; }
#top .hg-footer__badges img { height: 64px; width: auto; display: block; }
/* socket */
#top #socket { background: var(--hg-grad-footer); border: 0; padding: 0; color: #c4cee2; font-size: 14px; }
#top #socket > .container { padding: 22px 0 28px; border-top: 1px solid rgba(255,255,255,.14); }
#top #socket .copyright { float: none; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; width: 100%; font-family: var(--hg-font); font-size: 14px; color: #c4cee2; }
#top #socket .copyright a { color: #c4cee2; }
#top #socket .copyright a:hover { color: #fff; }
#top #socket .hg-socket__credit { display: inline-flex; align-items: center; gap: 10px; }
#top #socket .hg-socket__credit img { height: 22px; width: auto; display: inline-block; }

/* =====================================================================
   17. Forminator (Contact form) -> proof .hg-form / .hg-field / .hg-input
   ===================================================================== */
#top .forminator-ui.forminator-custom-form { font-family: var(--hg-font) !important; }
#top .forminator-ui .forminator-row { margin-bottom: 24px !important; }
#top .forminator-ui .forminator-row:last-of-type { margin-bottom: 0 !important; }
#top .forminator-ui .forminator-label { font-family: var(--hg-font) !important; font-size: 17px !important; font-weight: var(--hg-fw-semibold) !important; color: var(--hg-navy) !important; margin-bottom: 10px !important; }
#top .forminator-ui .forminator-label .forminator-required { color: var(--hg-navy) !important; }
#top .forminator-ui input.forminator-input, #top .forminator-ui .forminator-input input, #top .forminator-ui textarea.forminator-textarea, #top .forminator-ui select.forminator-select2 + .forminator-select .selection .select2-selection--single, #top .forminator-ui .forminator-select .select2-selection--single { height: 56px !important; min-height: 56px !important; padding: 0 18px !important; border: 1px solid var(--hg-border-input) !important; border-radius: 4px !important; background: var(--hg-input-bg) !important; font-family: var(--hg-font) !important; font-size: 18px !important; color: var(--hg-navy) !important; box-shadow: none !important; }
#top .forminator-ui textarea.forminator-textarea { height: 160px !important; padding: 14px 18px !important; resize: vertical !important; }
#top .forminator-ui input.forminator-input:focus, #top .forminator-ui textarea.forminator-textarea:focus { outline: none !important; border-color: var(--hg-accent) !important; box-shadow: 0 0 0 3px var(--hg-accent-tint) !important; background: #fff !important; }
#top .forminator-ui .forminator-select .select2-selection__rendered { line-height: 54px !important; padding: 0 !important; color: var(--hg-navy) !important; font-size: 18px !important; }
#top .forminator-ui .forminator-select .select2-selection__arrow { height: 54px !important; }
#top .forminator-ui input::placeholder, #top .forminator-ui textarea::placeholder { color: var(--hg-subtle) !important; opacity: 1 !important; }
#top .forminator-ui button.forminator-button-submit, #top .forminator-ui .forminator-button-submit { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 56px !important; height: auto !important; padding: 0 30px !important; margin: 0 !important; border: 1.5px solid var(--hg-accent) !important; border-radius: var(--hg-radius-btn) !important; background: var(--hg-accent) !important; color: #fff !important; font-family: var(--hg-font) !important; font-size: var(--hg-fs-btn) !important; font-weight: var(--hg-fw-semibold) !important; line-height: 1 !important; width: auto !important; min-width: 0 !important; box-shadow: none !important; }
#top .forminator-ui button.forminator-button-submit:hover { background: var(--hg-accent-hover) !important; border-color: var(--hg-accent-hover) !important; color: #fff !important; }
#top .forminator-ui .forminator-error-message { font-family: var(--hg-font) !important; font-size: 14px !important; font-weight: var(--hg-fw-medium) !important; color: #c0392b !important; }
#top .forminator-ui .forminator-field.forminator-has_error input.forminator-input, #top .forminator-ui .forminator-has_error .forminator-input { border-color: #c0392b !important; }
#top .forminator-ui .forminator-response-message.forminator-success { padding: 28px 30px !important; background: var(--hg-mist) !important; border: 0 !important; border-top: 3px solid var(--hg-accent) !important; border-radius: 0 !important; color: var(--hg-body) !important; font-family: var(--hg-font) !important; }
#top .forminator-ui .forminator-description, #top .forminator-ui .forminator-consent { font-family: var(--hg-font) !important; font-size: var(--hg-fs-small) !important; color: var(--hg-muted) !important; }
#top .forminator-ui .forminator-upload .forminator-upload--multiple { border: 1px dashed var(--hg-border-input) !important; border-radius: 4px !important; background: var(--hg-input-bg) !important; }
#top .forminator-ui .forminator-upload-file--text, #top .forminator-ui .forminator-upload .forminator-button-upload { font-family: var(--hg-font) !important; }
#top .forminator-ui .forminator-upload .forminator-button-upload { background: #fff !important; border: 1.5px solid var(--hg-navy) !important; border-radius: var(--hg-radius-btn) !important; color: var(--hg-navy) !important; font-weight: var(--hg-fw-semibold) !important; }

/* =====================================================================
   18. Blog: masonry grid (Blog page), single post (designed header hooked in)
   ===================================================================== */
#top .av-masonry { background: transparent; }
#top .av-masonry-entry .av-inner-masonry { background: var(--hg-paper); }
#top.hg-single-post .post-title, #top.hg-single-post .post-meta-infos, #top.hg-single-post .big-preview, #top.hg-single-post .blog-meta, #top.hg-single-post .post-entry-type-post > .entry-content-header, #top.hg-single-post .av-post-metadata, #top.hg-single-post .comment-entry, #top.hg-single-post .post_delimiter, #top.hg-single-post .post-author-info { display: none; }
#top.hg-single-post .hg-feature-image { padding: 72px 0 96px; }
#top.hg-single-post .hg-feature-image .hg-container { width: 90vw; max-width: var(--hg-max-narrow); margin: 0 auto; position: relative; z-index: 1; display: flex; flex-direction: column; gap: 20px; }
#top.hg-single-post .hg-feature-image h1 { font-size: var(--hg-fs-h1); line-height: var(--hg-lh-tight); letter-spacing: var(--hg-ls-h1); font-weight: var(--hg-fw-bold); color: #fff; }
#top.hg-single-post .hg-feature-image .hg-lead { font-size: var(--hg-fs-lead); color: var(--hg-on-dark-muted); }
#top.hg-single-post .hg-feature-image .hg-breadcrumb .rank-math-breadcrumb p { color: var(--hg-on-dark-muted); display: flex; gap: 10px; flex-wrap: wrap; font-size: 15px; margin: 0; }
#top.hg-single-post .hg-feature-image .hg-breadcrumb a { color: var(--hg-on-dark-muted); }
#top.hg-single-post .hg-post-featured { padding: 0; border: 0; overflow: hidden; }
#top.hg-single-post .hg-post-featured img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
#top.hg-single-post .container_wrap_first .container { max-width: var(--hg-max-narrow); }
#top.hg-single-post .entry-content-wrapper { padding: var(--hg-pad-l) 0; font-size: var(--hg-fs-body); line-height: var(--hg-lh-body); color: var(--hg-body); }
#top.hg-single-post .entry-content-wrapper > * + * { margin-top: 18px; }
#top.hg-single-post .entry-content-wrapper h2 { font-size: var(--hg-fs-h2); margin-top: 40px; }
#top.hg-single-post .entry-content-wrapper h3 { font-size: var(--hg-fs-h3); margin-top: 28px; }
#top.hg-single-post .entry-content-wrapper ul { padding-left: 1.3em; display: grid; gap: 6px; }

/* =====================================================================
   19. Responsive (Enfold breakpoints only: 989 / 767 / 480)
   ===================================================================== */
@media (max-width: 989px) {
  #top .hg-band .entry-content-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--hg-gap); } /* proof .hg-grid keeps --hg-gap (24px) at 989; only .hg-split widens to space-7, and those bands stack here */
  #top .hg-band .entry-content-wrapper > .flex_column { grid-column: span 1; }
  #top .hg-band .entry-content-wrapper > .av_one_full, #top .hg-band .entry-content-wrapper > .av_three_fourth, #top .hg-band .entry-content-wrapper > .av_two_third, #top .hg-band .entry-content-wrapper > .flex_column.hg-container--narrow { grid-column: span 2; }
  #top .hg-band .flex_column.hg-card.hg-why, #top .hg-split > aside.hg-card { max-width: none; justify-self: stretch; }
  #top .hg-hero .entry-content-wrapper > .av_one_half { grid-column: span 2; }
  #top .hg-contact .entry-content-wrapper > .av_one_half { grid-column: span 2; } /* handover 10: form, then details tile, full width below 989 */
  #top .hg-our-story .entry-content-wrapper > .av_one_fourth.hg-item { grid-column: span 1; } /* About showroom figures stay 2-up (proof .hg-grid--2) while the story text goes full width */
  /* proof .hg-split > * { flex: 1 1 100% } at 989: every split band stacks (text first, aside/photo under) */
  #top .hg-overview .entry-content-wrapper > .flex_column, #top .hg-product .entry-content-wrapper > .flex_column, #top .hg-our-story .entry-content-wrapper > .flex_column, #top .hg-what-we-do .entry-content-wrapper > .flex_column, #top .hg-value-proposition .entry-content-wrapper > .flex_column, #top .hg-why-us .entry-content-wrapper > .flex_column, #top .hg-fogged-dgus-and-emergencies .entry-content-wrapper > .flex_column, #top .hg-compare-band .entry-content-wrapper > .flex_column { grid-column: span 2; }
  #top .avia-testimonial-wrapper.avia-grid-3-testimonials .avia-testimonial-row { --hg-tcols: 2; }
  #top .avia-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #top #footer > .container { grid-template-columns: 1fr 1fr; }
  #top .hg-band h2, #top .hg-band .av-special-heading-h2 .av-special-heading-tag { font-size: 34px; }
  #top .hg-hero h1, #top .hg-hero .av-special-heading-h1 .av-special-heading-tag, #top .hg-product h1 { font-size: 44px; }
  #top .hg-cta-band h2, #top .hg-cta-band .av-special-heading-tag { font-size: 34px; }
  #top .av-layout-tab .entry-content-wrapper, #top .av-layout-tab .av-layout-grid-container { column-gap: var(--hg-space-7); }
}
@media (max-width: 767px) {
  #top .hg-band .entry-content-wrapper { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
  #top .hg-band .entry-content-wrapper > .flex_column { grid-column: 1 / -1 !important; }
  #top .avia-testimonial-wrapper .avia-testimonial-row { --hg-tcols: 1 !important; }
  #top .avia-gallery { grid-template-columns: 1fr; }
  #top #footer > .container { grid-template-columns: 1fr; padding-top: 56px; }
  #top .hg-band h2, #top .hg-band .av-special-heading-h2 .av-special-heading-tag, #top .hg-cta-band h2, #top .hg-cta-band .av-special-heading-tag { font-size: 28px; }
  #top .hg-hero h1, #top .hg-hero .av-special-heading-h1 .av-special-heading-tag, #top .hg-product h1 { font-size: 34px; }
  #top .togglecontainer .single_toggle p.toggler { padding: 20px 22px; font-size: 17px; }
  #top .togglecontainer .toggle_content { padding: 0 22px 22px; }
  #top .hg-comparewrap .hg-compare { grid-template-columns: 1fr; }
  #top .av-section-tab-title { padding: 18px 16px 14px; }
  #top .av-section-tab-title .av-inner-tab-title { font-size: 16px; }
  #top .flex_column.hg-card { padding: 28px 22px; }
  #top.hg-single-post .entry-content-wrapper { padding: 56px 0; }
}
@media (max-width: 480px) {
  #top .avia-buttonrow-wrap.hg-btn-group .avia-button, #top .avia-button.hg-btn { width: 100%; }
}

/* =====================================================================
   20. Home: fullwidth slider + overlaid angled navy band (proof .hg-hero--home), stats strip, display H2
   ===================================================================== */
#top #main { position: relative; }
#top .avia-slideshow.hg-hero__slider { margin: 0; height: min(1048px, 62vw); overflow: hidden; }
#top .hg-hero__slider .avia-slideshow-inner { padding-bottom: 0 !important; height: 100%; }
#top .hg-hero__slider .avia-slideshow-slide, #top .hg-hero__slider .avia-slide-wrap { height: 100%; }
#top .hg-hero__slider .avia-slideshow-slide img { width: 100%; height: 100%; object-fit: cover; }
#top .hg-hero__slider .avia-slideshow-arrows a { top: 36px; bottom: auto; left: auto; width: 48px; height: 48px; line-height: 48px; background: rgba(13,26,51,0.55); border-radius: 0; opacity: 1; transform: none; }
#top .hg-hero__slider .avia-slideshow-arrows a.prev-slide { right: calc(5vw + 56px); }
#top .hg-hero__slider .avia-slideshow-arrows a.next-slide { right: 5vw; }
#top .hg-hero__slider .avia-slideshow-dots { top: 96px; bottom: auto; left: auto; right: 5vw; width: auto; transform: none; }
#top .hg-hero__slider .avia-slideshow-dots a { background: rgba(255,255,255,0.45); border: 0; width: 10px; height: 10px; margin: 0 4px; }
#top .hg-hero__slider .avia-slideshow-dots a.active { background: #fff; }
/* the text section is lifted over the slider */
#top #wrap_all .main_color.container_wrap.hg-hero--home { position: absolute; top: 117px; /* = header height, so the band's foot meets the slider's foot like the proof */ left: 0; right: 0; height: min(1048px, 62vw); padding: 0; margin: 0; background: transparent; overflow: hidden; z-index: 5; pointer-events: none; }
#top .hg-hero--home::before { display: none; }
#top .hg-hero--home::after { content: ""; position: absolute; inset: 0; background: var(--hg-grad-home-band); clip-path: var(--hg-clip-home-band); pointer-events: none; }
#top .hg-hero--home > .container { position: absolute; top: auto; left: max(4vw, 20px); bottom: 8%; width: min(700px, 58vw); max-width: none; margin: 0; z-index: 2; pointer-events: auto; }
#top .hg-hero--home .entry-content-wrapper { display: block; }
#top .hg-hero--home h1 { font-size: var(--hg-fs-h1-home); line-height: 62px; font-weight: var(--hg-fw-light); letter-spacing: var(--hg-ls-display); color: #fff; text-transform: none; }
#top .hg-hero--home h1 strong { font-weight: var(--hg-fw-bold); }
#top .hg-hero--home p { margin-top: 10px; color: var(--hg-on-dark); font-size: 24px; line-height: 36px; font-weight: var(--hg-fw-semibold); max-width: 645px; }
/* small laptops: shorter text block so "Welcome to" stays inside the slanted band (Gary 27 Oct) */
@media (min-width: 1180px) and (max-width: 1439px) {
  #top .hg-hero--home h1 { font-size: 46px; line-height: 1.12; }
  #top .hg-hero--home p { font-size: 18px; line-height: 28px; max-width: 520px; }
  #top #wrap_all .hg-hero--home > .container, #top .hg-hero--home > .container.av-section-cont-open { bottom: 7%; }
}
/* stacked hero (photo, then the band with the text) up to 1179px since 27 Oct - Gary: text must always sit in the blue box */
@media (max-width: 1179px) {
  #top .avia-slideshow.hg-hero__slider { height: 62vw; min-height: 230px; }
  #top #wrap_all .main_color.container_wrap.hg-hero--home { position: relative; top: 0; height: auto; margin-top: -28px; padding: 58px 22px 92px; background-image: var(--hg-grad-home-band); background-color: var(--hg-navy-deep); /* proof: 0.9-alpha gradient over navy-deep, not over white */ clip-path: var(--hg-clip-home-band-mobile); pointer-events: auto; }
  #top .hg-hero--home::after { display: none; }
  #top .hg-hero--home > .container { position: static; width: 100%; }
  #top .hg-hero--home h1 { font-size: 44px; line-height: 1.16; }
  #top .hg-hero--home p { font-size: 17px; line-height: 27px; }
  #top .hg-hero__slider .avia-slideshow-arrows, #top .hg-hero__slider .avia-slideshow-dots { display: none; }
}
@media (max-width: 480px) { #top .hg-hero--home h1 { font-size: 30px; } }
/* stats strip */
#top #wrap_all .main_color.container_wrap.hg-band--paper { background: transparent; }
#top .hg-band.hg-stats { padding: 0 0 6px; margin-top: -49px; overflow: visible; z-index: 30; }
#top .hg-stats .entry-content-wrapper { gap: 16px; align-items: stretch; }
#top .hg-stats .flex_column.hg-stat { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 4px; }
#top .hg-stats .hg-stat .avia_textblock > * + * { margin-top: 4px; }
/* display H2 ("Our Services": light + bold) and Enfold's uppercase headings reset */
#top .avia_textblock h1, #top .avia_textblock h2, #top .avia_textblock h3, #top .avia_textblock h4 { text-transform: none; letter-spacing: 0; }
#top .hg-h2-display, #top .avia_textblock h2.hg-h2-display { font-size: var(--hg-fs-h2); font-weight: var(--hg-fw-bold); letter-spacing: normal; line-height: var(--hg-lh-heading); } /* proof renders 'Our Services' as a plain bold .hg-band h2 */
#top .hg-h2-display strong { font-weight: var(--hg-fw-bold); }
@media (max-width: 989px) { #top .hg-h2-display, #top .avia_textblock h2.hg-h2-display { font-size: 34px; } }
@media (max-width: 767px) { #top .hg-h2-display, #top .avia_textblock h2.hg-h2-display { font-size: 28px; } }
/* about / promise photo card */
#top .hg-about-promise .avia-image-container.hg-about-promise__photo { padding: 34px 32px; background: #fff; box-shadow: var(--hg-shadow-card); margin-top: 32px; }

/* =====================================================================
   21. Fixes from the page-build audit (products, outline buttons, key-facts table, single post)
   ===================================================================== */
/* outline buttons: Enfold writes inline border-color from custom_bg - force the design's border */
#top .avia-button.hg-btn--outline, #top .avia-button-wrap.hg-btn--outline .avia-button, #top .hg-btn-group--accent-outline .avia-button:nth-child(2), #top .hg-btn-group--white-outline .avia-button:nth-child(2), #top .hg-btn-group--navy-outline .avia-button:nth-child(2) { border-color: var(--hg-navy) !important; }
#top .avia-button.hg-btn--outline-light, #top .avia-button-wrap.hg-btn--outline-light .avia-button, #top .hg-btn-group--accent-outline-light .avia-button:nth-child(2), #top .hg-btn-group--white-outline-light .avia-button:nth-child(2), #top .hg-btn-group--navy-outline-light .avia-button:nth-child(2) { border-color: #fff !important; }
#top .avia-button.hg-btn, #top .avia-button-wrap.hg-btn .avia-button, #top .hg-btn-group--accent-outline .avia-button:nth-child(1), #top .hg-btn-group--accent-outline-light .avia-button:nth-child(1) { border-color: var(--hg-accent) !important; }
#top .hg-btn-group--white-outline-light .avia-button:nth-child(1), #top .hg-btn-group--white-outline .avia-button:nth-child(1), #top .avia-button.hg-btn--white, #top .avia-button-wrap.hg-btn--white .avia-button { border-color: #fff !important; }
#top .hg-btn-group--navy-outline-light .avia-button:nth-child(1), #top .hg-btn-group--navy-outline .avia-button:nth-child(1), #top .avia-button.hg-btn--navy, #top .avia-button-wrap.hg-btn--navy .avia-button { border-color: var(--hg-navy) !important; }
/* key-facts table (av_table emits td only; first cell = label) */
#top .avia-data-table.hg-specs, #top table.hg-specs { width: 100%; border-collapse: collapse; font-size: 17px; margin: 0; border: 0; }
#top .avia-data-table.hg-specs tr, #top .avia-data-table.hg-specs tr:nth-child(odd), #top .avia-data-table.hg-specs tr:nth-child(even) { background: transparent; }
#top .avia-data-table.hg-specs td, #top .avia-data-table.hg-specs th { padding: 12px 0; border: 0; border-bottom: 1px solid var(--hg-border); text-align: left; vertical-align: top; background: transparent; font-size: 17px; line-height: 1.5; color: var(--hg-body); font-family: var(--hg-font); }
#top .avia-data-table.hg-specs td:first-child { width: 40%; font-weight: var(--hg-fw-semibold); color: var(--hg-navy); }
#top .avia-data-table.hg-specs.avia-responsive-table td:first-child::before { display: none; }
/* product page */
#top .hg-product h1, #top .hg-product .av-special-heading-h1 .av-special-heading-tag { font-size: var(--hg-fs-h2); line-height: var(--hg-lh-heading); letter-spacing: 0; color: var(--hg-navy); }
#top .hg-product .entry-content-wrapper > .flex_column.hg-product__head { margin-bottom: 0; }
#top .hg-product .entry-content-wrapper > .flex_column.hg-product__head + .flex_column { margin-top: 0; }
#top .hg-product .avia-image-container.hg-product__main { border: 1px solid var(--hg-border); padding: 24px; background: #fff; }
#top .hg-product .avia-image-container.hg-product__main img { aspect-ratio: 1; object-fit: contain; }
#top .hg-product .hg-product__thumbs .hg-row { gap: 12px; }
#top .hg-product .hg-product__info .av-special-heading-h2 { margin-top: 8px; }
@media (max-width: 989px) { #top .hg-product h1, #top .hg-product .av-special-heading-h1 .av-special-heading-tag { font-size: 34px; } }
/* single post (handover blog-post.html): feature band, meta row, article | aside, share, feed */
#top.hg-single-post .hg-feature-image { padding: 0 0 72px; }
#top.hg-single-post .hg-feature-image .hg-container { width: 90vw; max-width: var(--hg-max); gap: 20px; }
#top.hg-single-post .hg-feature-image .hg-post-featured { margin: 0 0 32px; }
#top.hg-single-post .hg-feature-image .hg-post-featured img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
#top.hg-single-post .hg-feature-image h1 { max-width: 1000px; }
#top.hg-single-post .hg-post-meta { width: 90vw; max-width: var(--hg-max); margin: 32px auto 0; gap: 16px; font-size: var(--hg-fs-small); color: var(--hg-muted); }
#top.hg-single-post .hg-post-meta .hg-badge { position: static; }
#top.hg-single-post .hg-post-meta p { margin: 0; }
#top.hg-single-post .big-preview, #top.hg-single-post .blog-meta, #top.hg-single-post .entry-content-header, #top.hg-single-post .post-meta-infos, #top.hg-single-post .post_delimiter, #top.hg-single-post .post-author-info, #top.hg-single-post .comment-entry, #top.hg-single-post #comments { display: none; }
#top.hg-single-post .container_wrap_first .container { max-width: var(--hg-max); width: 90vw; }
#top.hg-single-post .av-main-single { padding: 0; }
#top.hg-single-post .entry-content-wrapper { padding: 48px 0 var(--hg-pad-l); }
#top.hg-single-post .entry-content { display: grid; grid-template-columns: minmax(0, 1fr) 400px; column-gap: var(--hg-space-8); align-items: start; font-size: var(--hg-fs-body); line-height: var(--hg-lh-body); color: var(--hg-body); }
#top.hg-single-post .hg-article__body > * + * { margin-top: 18px; }
#top.hg-single-post .hg-article__body h2 { font-size: var(--hg-fs-h2); margin-top: 40px; }
#top.hg-single-post .hg-article__body h3 { font-size: var(--hg-fs-h3); margin-top: 28px; }
#top.hg-single-post .hg-article__body .hg-card--mist { margin-top: 24px; }
#top.hg-single-post .hg-article__body .hg-share { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--hg-border); font-weight: var(--hg-fw-semibold); color: var(--hg-navy); }
#top.hg-single-post .hg-article__aside { display: flex; flex-direction: column; gap: 20px; }
#top .hg-panel-dark { position: relative; overflow: hidden; padding: 32px; background: var(--hg-grad-navy); color: var(--hg-on-dark-muted); display: flex; flex-direction: column; gap: 14px; }
#top .hg-panel-dark .hg-stat__value, #top .hg-panel-dark h3 { color: #fff; }
#top .hg-panel-dark p { margin: 0; }
#top .hg-panel-dark a { color: #fff; }
#top .hg-panel-dark .hg-angle { position: absolute; left: 0; bottom: 0; width: 100%; height: 60px; background: var(--hg-angle-band); clip-path: var(--hg-clip-hero-foot); pointer-events: none; }
#top .hg-panel-dark .hg-btn { align-self: flex-start; position: relative; z-index: 1; }
#top.hg-single-post .hg-blog-feed { width: 100vw; margin-left: calc(50% - 50vw); margin-top: 0; }
#top .hg-blog-feed .hg-container, #top.hg-single-post .hg-blog-feed .hg-container { width: 90vw; max-width: var(--hg-max); margin: 0 auto; }
#top .hg-blog-feed .hg-btn-group { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--hg-gap); margin-top: 24px; }
#top .hg-blog-feed .hg-card--link { display: flex; flex-direction: column; gap: 10px; padding: 0 0 24px; color: var(--hg-navy); }
#top .hg-blog-feed .hg-card--link > :not(img) { padding-inline: 24px; }
#top .hg-blog-feed .hg-card--link h3 { font-size: var(--hg-fs-h3); }
#top .hg-blog-feed .hg-card--link .hg-card__img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
@media (max-width: 989px) { #top.hg-single-post .entry-content { grid-template-columns: minmax(0, 1fr); row-gap: 48px; } #top .hg-blog-feed .hg-btn-group { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { #top .hg-blog-feed .hg-btn-group { grid-template-columns: 1fr; } #top.hg-single-post .hg-feature-image { padding-bottom: 48px; } }

/* =====================================================================
   22. Audit round 2: single post width/share/comments, centred heroes, mission quote, team, contact aside, specs zebra
   ===================================================================== */
#top.hg-single-post .single-big .entry-content-wrapper, #top.hg-single-post .entry-content-wrapper { width: 100%; max-width: none; margin: 0; padding-left: 0; padding-right: 0; text-align: left; }
#top.hg-single-post .entry-content, #top.hg-single-post .entry-content p { text-align: left; }
#top.hg-single-post .av-social-sharing-box, #top.hg-single-post .comment-entry, #top.hg-single-post #comments, #top.hg-single-post .comment-respond, #top.hg-single-post .post_delimiter, #top.hg-single-post .single-big .post-meta-infos { display: none !important; }
#top.hg-single-post .hg-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
#top.hg-single-post .hg-post-meta .hg-badge { position: static; display: inline-block; }
#top.hg-single-post .hg-article__body ul.hg-checklist { list-style: none; padding-left: 0; }
#top.hg-single-post .hg-article__body ul.hg-checklist li { list-style: none; }
#top.hg-single-post .hg-article__body .hg-card--mist .hg-eyebrow { margin-top: 12px; }
#top .hg-panel-dark p a { display: block; }
#top .hg-panel-dark p a + a { margin-top: 6px; }
/* key-facts table: no zebra rows (Enfold styles td of odd rows) */
#top .avia-data-table.hg-specs tr:nth-child(odd) td, #top .avia-data-table.hg-specs tr:nth-child(even) td, #top .avia-data-table.hg-specs tr td { background: transparent !important; }
/* centred heroes (About, Blog, Contact, Privacy, Thank-you): centred copy, no breadcrumb row (proofs show none) */
#top .hg-hero--centred .entry-content-wrapper > .flex_column { text-align: center; max-width: 1000px; margin-left: auto; margin-right: auto; }
#top .hg-hero--centred .hg-hero__lead p { margin-left: auto; margin-right: auto; max-width: 820px; }
#top .hg-hero--centred .hg-breadcrumbwrap { display: none; }
#top .hg-hero--centred .avia-buttonrow-wrap { justify-content: center; }
/* mission band quote (About): bare centred white quote */
#top .hg-mission blockquote, #top .hg-mission .avia_textblock blockquote { margin: 0 auto; padding: 0; border: 0; max-width: none; font-size: 19px; line-height: 1.6; font-weight: var(--hg-fw-regular); font-style: normal; color: var(--hg-on-dark-muted); text-align: center; } /* proof: plain 19px muted quote, not a display heading */
#top .hg-mission blockquote p { color: var(--hg-on-dark-muted); }
#top .hg-mission .avia_textblock { text-align: center; }
/* team / grid items: image cards keep 4:3 */
#top .flex_column.hg-item .avia-image-container img { aspect-ratio: 4 / 3; object-fit: cover; }
#top .flex_column.hg-item .avia_textblock h3 { margin-top: 4px; }
#top .flex_column.hg-item .avia_textblock .hg-eyebrow { margin-top: 2px; }
/* contact aside */
#top .hg-contact__aside .hg-panel-dark { margin-bottom: 8px; }
#top .hg-contact__aside .avia-data-table.hg-specs, #top .hg-contact__aside table.hg-specs { margin-top: 8px; }

/* =====================================================================
   23. Audit round 3: tab sections (top-level on Enfold 8), galleries, white hero, home hero, cards, navy tables, areas
   ===================================================================== */
/* Tab Section is a top-level fullwidth element: give it the band padding + a 1350px container + the 12-col grid */
#top .av-tab-section-container.hg-tabs__section { padding: var(--hg-pad-l) 0; background: var(--hg-paper); border: 0; margin: 0; }
#top .av-tab-section-container.hg-tabs__section.hg-compare-band { padding-top: var(--hg-pad-l); }
#top .hg-tabs__section .av-tab-section-tab-title-container { width: 90vw; max-width: var(--hg-max); margin: 0 auto 32px; background: #fff; border: 0; padding: 0; text-align: left; overflow-x: auto; white-space: nowrap; }
#top .hg-tabs__section .av-section-tab-title { display: inline-block; width: auto; min-width: 0; float: none; padding: 26px 26px 22px; margin: 0 8px 0 0; border: 0; border-bottom: 4px solid transparent; background: transparent; }
#top .hg-tabs__section .av-section-tab-title .av-outer-tab-title, #top .hg-tabs__section .av-section-tab-title .av-inner-tab-title { display: inline; width: auto; min-width: 0; white-space: nowrap; }
#top .hg-tabs__section .av-layout-tab-inner > .container, #top .av-layout-tab .av-layout-tab-inner .container { width: 90vw; max-width: var(--hg-max); margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hg-space-8); row-gap: var(--hg-gap); align-items: start; }
#top .av-layout-tab .av-layout-tab-inner .container::before, #top .av-layout-tab .av-layout-tab-inner .container::after { content: none; }
#top .av-layout-tab .av-layout-tab-inner .container > .flex_column { float: none; width: auto; margin: 0; min-width: 0; grid-column: span 12; }
#top .av-layout-tab .av-layout-tab-inner .container > .av_one_half { grid-column: span 6; }
#top .av-layout-tab .av-layout-tab-inner .container > .av_one_third { grid-column: span 4; }
#top .av-layout-tab .av-layout-tab-inner .container > .av_two_third { grid-column: span 8; }
#top .av-layout-tab .av-layout-tab-inner .container > .av_one_fourth { grid-column: span 3; }
#top .av-layout-tab .av-layout-tab-inner .container > .av_three_fourth { grid-column: span 9; }
#top .av-layout-tab .av-layout-tab-inner .container > .flex_column > * + * { margin-top: 20px; }
#top .av-layout-tab .av-layout-tab-inner .container > .flex_column > .av-special-heading + * { margin-top: 12px; }
#top .av-layout-tab .av-layout-tab-inner .container > .av_one_full.hg-gallery__head, #top .av-layout-tab .av-layout-tab-inner .container > .av_one_full.hg-quote-options__head, #top .av-layout-tab .av-layout-tab-inner .container > .av_one_full.hg-collections__head { margin-top: 48px; }
#top .av-layout-tab .avia-button-wrap .avia-button, #top .av-layout-tab .avia-button { width: auto; }
#top .av-layout-tab .flex_column.hg-card { padding: 34px 32px; }
#top .av-layout-tab .flex_column.hg-card > * + * { margin-top: 16px; }
@media (max-width: 989px) {
  #top .hg-tabs__section .av-layout-tab-inner > .container, #top .av-layout-tab .av-layout-tab-inner .container { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--hg-space-7); }
  #top .av-layout-tab .av-layout-tab-inner .container > .flex_column { grid-column: span 1; }
  #top .av-layout-tab .av-layout-tab-inner .container > .av_one_full, #top .av-layout-tab .av-layout-tab-inner .container > .av_two_third, #top .av-layout-tab .av-layout-tab-inner .container > .av_three_fourth { grid-column: span 2; }
  /* proof .hg-split stacks at 989 inside tab panels too (text first, gallery/aside under); hg-item halves are a 2-up grid and stay side by side */
  #top .av-layout-tab .av-layout-tab-inner .container > .hg-overview__main, #top .av-layout-tab .av-layout-tab-inner .container > .hg-overview__main + .flex_column, #top .av-layout-tab .av-layout-tab-inner .container > .hg-hero__text, #top .av-layout-tab .av-layout-tab-inner .container > .hg-hero__photo, #top .av-layout-tab .av-layout-tab-inner .container > .hg-why, #top .av-layout-tab .av-layout-tab-inner .container > .av_one_half.hg-card--mist { grid-column: span 2; }
}
@media (max-width: 767px) {
  #top .av-tab-section-container.hg-tabs__section { padding: 56px 0; }
  #top .hg-tabs__section .av-layout-tab-inner > .container, #top .av-layout-tab .av-layout-tab-inner .container { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
  #top .av-layout-tab .av-layout-tab-inner .container > .flex_column { grid-column: 1 / -1 !important; }
  #top .hg-tabs__section .av-section-tab-title { padding: 18px 16px 14px; }
}
/* Galleries: beat Enfold's per-element thumb width + inline-block, 4-up pet gallery */
#top #wrap_all .avia-gallery .avia-gallery-thumb a, #top #wrap_all .avia-gallery.avia-gallery-animate .avia-gallery-thumb a { display: block !important; width: 100% !important; float: none; padding: 0; margin: 0; opacity: 1; transform: none; }
#top #wrap_all .avia-gallery .avia-gallery-thumb { display: contents; }
#top .hg-pet-gallery .avia-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 989px) { #top .hg-pet-gallery .avia-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { #top .hg-pet-gallery .avia-gallery { grid-template-columns: 1fr; } }
/* White hero variant (Commercial, Residential Services) */
#top #wrap_all .main_color.container_wrap.hg-hero--white { background: var(--hg-paper); color: var(--hg-body); }
#top .hg-hero--white::before, #top .hg-hero--white::after { display: none; }
#top .hg-hero--white h1, #top .hg-hero--white .av-special-heading-h1 .av-special-heading-tag { color: var(--hg-navy); }
#top .hg-hero--white .hg-hero__lead p, #top .hg-hero--white .avia_textblock.hg-hero__lead p, #top .hg-hero--white .avia_textblock p { color: var(--hg-body); }
#top .hg-hero--white .hg-eyebrow { color: var(--hg-accent); }
#top .hg-hero--white .hg-breadcrumb .rank-math-breadcrumb p, #top .hg-hero--white .hg-breadcrumb .rank-math-breadcrumb a, #top .hg-hero--white .hg-breadcrumb .rank-math-breadcrumb .separator { color: var(--hg-subtle); }
#top .hg-hero--white .hg-btn-group--accent-outline-light .avia-button:nth-child(2), #top .hg-hero--white .avia-button.hg-btn--outline-light { background: transparent !important; border-color: var(--hg-navy) !important; color: var(--hg-navy) !important; }
#top .hg-hero--white .hg-btn-group--accent-outline-light .avia-button:nth-child(2):hover { background: var(--hg-navy) !important; color: #fff !important; }
/* Home hero: Enfold forces .container to position:relative - the overlay needs absolute */
#top #wrap_all .hg-hero--home > .container, #top .hg-hero--home > .container.av-section-cont-open { position: absolute !important; top: auto !important; bottom: 8%; }
@media (max-width: 1179px) { #top #wrap_all .hg-hero--home > .container, #top .hg-hero--home > .container.av-section-cont-open { position: static !important; } }
/* Cards with images that bleed (commercial recent work, product cards, blog) */
#top .hg-gallery .flex_column.hg-card.hg-card--raised, #top .hg-products .flex_column.hg-card--link, #top .flex_column.hg-card--link { padding: 0; overflow: hidden; }
#top .hg-gallery .flex_column.hg-card.hg-card--raised > .av_textblock_section, #top .hg-gallery .flex_column.hg-card.hg-card--raised > .av-special-heading, #top .flex_column.hg-card--link > .av_textblock_section, #top .flex_column.hg-card--link > .av-special-heading, #top .flex_column.hg-card--link > .avia-button-wrap { padding: 0 24px; }
#top .hg-gallery .flex_column.hg-card.hg-card--raised > :last-child, #top .flex_column.hg-card--link > :last-child { padding-bottom: 24px; }
#top .hg-gallery .flex_column.hg-card.hg-card--raised > .avia-image-container + *, #top .flex_column.hg-card--link > .avia-image-container + * { margin-top: 20px; }
#top .hg-gallery .flex_column.hg-card.hg-card--raised .avia-image-container img, #top .flex_column.hg-card--link .avia-image-container img { aspect-ratio: 16 / 10; object-fit: cover; }
#top .hg-products .flex_column.hg-card--link .avia-image-container img { object-fit: contain; background: #fff; }
#top .flex_column.hg-card--link { transition: box-shadow var(--hg-t-tile) var(--hg-ease); }
#top .flex_column.hg-card--link:hover { box-shadow: var(--hg-shadow-card-hover); }
#top .hg-gallery .flex_column.hg-card .hg-badge { left: 14px; top: 14px; }
/* key-facts tables on navy bands */
#top .hg-band--navy .avia-data-table.hg-specs td, #top .hg-band--navy table.hg-specs td, #top .hg-band--navy table.hg-specs th { color: var(--hg-on-dark-muted); border-bottom-color: rgba(255,255,255,0.16); }
#top .hg-band--navy .avia-data-table.hg-specs td:first-child, #top .hg-band--navy table.hg-specs th { color: #fff; }
/* raw <table class="hg-specs"> inside textblocks (contact hours etc.) */
#top .avia_textblock table.hg-specs { width: 100%; border-collapse: collapse; font-size: 17px; margin: 0; }
#top .avia_textblock table.hg-specs th, #top .avia_textblock table.hg-specs td { padding: 12px 0; border: 0; border-bottom: 1px solid var(--hg-border); text-align: left; vertical-align: top; background: transparent; }
#top .avia_textblock table.hg-specs th { width: 40%; font-weight: var(--hg-fw-semibold); color: var(--hg-navy); }
/* service areas + why-choose-us (single column in the build map): text left, image right */
#top .hg-areas .hg-badge, #top .avia_textblock .hg-areas .hg-badge, #top .hg-areas .avia_textblock .hg-badge { position: static; display: inline-block; margin: 0 8px 8px 0; }
#top .hg-why-choose-us .entry-content-wrapper > .av_one_full, #top .hg-areas .entry-content-wrapper > .av_one_full { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--hg-space-8); row-gap: 20px; align-items: start; }
#top .hg-why-choose-us .entry-content-wrapper > .av_one_full > *, #top .hg-areas .entry-content-wrapper > .av_one_full > * { grid-column: 1; margin-top: 0 !important; }
#top .hg-why-choose-us .entry-content-wrapper > .av_one_full > .avia-image-container, #top .hg-areas .entry-content-wrapper > .av_one_full > .avia-image-container { grid-column: 2; grid-row: 1 / span 6; align-self: center; }
@media (max-width: 989px) {
  #top .hg-why-choose-us .entry-content-wrapper > .av_one_full, #top .hg-areas .entry-content-wrapper > .av_one_full { grid-template-columns: minmax(0, 1fr); }
  #top .hg-why-choose-us .entry-content-wrapper > .av_one_full > .avia-image-container, #top .hg-areas .entry-content-wrapper > .av_one_full > .avia-image-container { grid-column: 1; grid-row: auto; }
}

/* round 3b */
#top #wrap_all .avia-gallery.avia-gallery-animate .avia-gallery-thumb a, #top #wrap_all .avia-gallery .avia-gallery-thumb a, #top #wrap_all .av-layout-tab .avia-gallery .avia-gallery-thumb a { opacity: 1 !important; transform: none !important; visibility: visible !important; }
#top .hg-band--navy .avia-data-table.hg-specs, #top .hg-band--navy .avia-table-wrap, #top .hg-band--navy .avia-data-table.hg-specs tbody, #top .hg-band--navy .avia-data-table.hg-specs tr { background: transparent !important; }
#top .hg-gallery .flex_column.hg-card { position: relative; }
#top .hg-gallery .flex_column.hg-card > .av_textblock_section:has(> .avia_textblock > .hg-badge:only-child) { position: absolute; top: 0; left: 0; margin: 0; padding: 0; z-index: 3; }
#top .hg-gallery .flex_column.hg-card > .av_textblock_section:has(> .avia_textblock > .hg-badge:only-child) + * { margin-top: 0; }
/* blog masonry cards (Blog page): tile image 441:328, label block below */
#top .av-masonry.hg-blog-grid .av-masonry-container { margin: 0; }
#top .hg-blog-grid .av-masonry-entry { padding: 0; }
#top .hg-blog-grid .av-masonry-entry .av-inner-masonry { background: var(--hg-paper); border: 1px solid var(--hg-border); overflow: hidden; }
#top .hg-blog-grid .av-masonry-entry .av-masonry-image-container { height: auto; aspect-ratio: 441 / 328; background-size: cover; background-position: center; }
#top .hg-blog-grid .av-masonry-entry .av-masonry-image-container img { width: 100%; height: 100%; object-fit: cover; }
#top .hg-blog-grid .av-masonry-entry .av-inner-masonry-content { position: static; padding: 20px 24px 24px; background: var(--hg-paper); }
#top .hg-blog-grid .av-masonry-entry .av-masonry-entry-title { font-size: var(--hg-fs-h3); font-weight: var(--hg-fw-bold); color: var(--hg-navy); line-height: 1.3; }
#top .hg-blog-grid .av-masonry-entry .av-masonry-entry-content { font-size: var(--hg-fs-small); color: var(--hg-body); margin-top: 10px; }
#top .hg-blog-grid .av-masonry-entry .avia-arrow { display: none; }
#top .hg-blog-grid .av-masonry-entry:hover .av-inner-masonry { box-shadow: var(--hg-shadow-card-hover); }
#top .hg-blog-grid .av-masonry-sort { margin-bottom: 24px; }
#top .hg-blog-grid .av-masonry-sort a { display: inline-block; height: 44px; line-height: 42px; padding: 0 22px; margin: 0 8px 8px 0; border: 1px solid var(--hg-border-strong); border-radius: var(--hg-radius-pill); background: #fff; color: var(--hg-body); font: var(--hg-fw-medium) 17px var(--hg-font); }
#top .hg-blog-grid .av-masonry-sort a.active_sort { background: var(--hg-accent); border-color: var(--hg-accent); color: #fff; font-weight: var(--hg-fw-semibold); }
#top .hg-blog-grid .av-masonry-sort .text-sep { display: none; }
/* footer badge row sits after the 4 widget columns inside #footer > .container (grid) */
#top #footer > .container > .hg-footer__badges-wrap { grid-column: 1 / -1; background: transparent; margin-top: 8px; }
#top #footer .hg-footer__badges { width: 100%; max-width: none; }
/* linked images: the anchor is inline-block and adds descender space below the image */
#top .avia-image-container { line-height: 0; }
#top .avia-image-overlay-wrap > a, #top .avia-image-container-inner > a { display: block; line-height: 0; }
#top .avia-image-container .av-image-caption-overlay { display: none; }
#top .hg-gallery .flex_column.hg-card.hg-card--raised > .avia-image-container + * { margin-top: 24px; }
/* gallery scroll-in animation (on the img) must never leave thumbs faded in panels */
#top #wrap_all .avia-gallery-animate .avia-gallery-thumb img, #top #wrap_all .avia-gallery .avia-gallery-thumb img { opacity: 1 !important; transform: none !important; animation: none !important; }
/* masonry: caption always visible, in flow, below the image */
#top .hg-blog-grid .av-inner-masonry-content, #top .hg-blog-grid .av-inner-masonry-content-pos, #top .hg-blog-grid .av-inner-masonry-content-pos-content { position: static !important; opacity: 1 !important; visibility: visible !important; transform: none !important; display: block !important; height: auto !important; width: auto !important; padding: 0; margin: 0; background: var(--hg-paper) !important; text-align: left; }
#top .hg-blog-grid .av-inner-masonry-content { padding: 20px 24px 24px !important; }
#top .hg-blog-grid .av-masonry-entry-title, #top .hg-blog-grid .av-masonry-entry-content { position: static; opacity: 1; display: block; }
#top .hg-blog-grid .av-masonry-date { display: block; margin-top: 12px; font-size: var(--hg-fs-small); color: var(--hg-subtle); }
#top .hg-blog-grid .av-masonry-text-sep, #top .hg-blog-grid .av-masonry-author { display: none; }
#top .hg-blog-grid .av-masonry-outerimage-container { position: static; }
#top .hg-blog-grid .av-masonry-entry.av-masonry-item-no-image { display: none; }
/* masonry entries: let the caption extend the card (Enfold fixes .av-inner-masonry height to the image) */
#top .hg-blog-grid .av-masonry-entry .av-inner-masonry { height: auto !important; overflow: visible; }
#top .hg-blog-grid .av-inner-masonry-sizer { display: none; }
/* linked image cards: proof.css gives .hg-img a 4:3 aspect - the av_image WRAPPER carries that class, the img must set the ratio */
#top .hg-gallery .avia-image-container.hg-img, #top .avia-image-container.hg-img { aspect-ratio: auto; height: auto; }
/* masonry: image + caption in normal flow so the entry has a height for isotope */
#top .hg-blog-grid .av-masonry-outerimage-container, #top .hg-blog-grid .av-masonry-image-container { position: relative !important; height: auto; aspect-ratio: 441 / 328; width: 100%; }
#top .hg-blog-grid .av-masonry-entry .av-inner-masonry { display: flex; flex-direction: column; }
#top .hg-blog-grid .av-masonry-entry .av-inner-masonry-content { flex: 1; }
#top .hg-blog-grid .av-masonry-entry .av-inner-masonry { position: relative !important; top: auto; left: auto; right: auto; bottom: auto; width: 100%; margin: 0; }
#top .hg-blog-grid .av-masonry-outerimage-container { display: block; height: auto; aspect-ratio: 441 / 328; }
#top .hg-blog-grid .av-masonry-image-container { position: absolute !important; inset: 0; height: 100%; aspect-ratio: auto; }
#top .hg-blog-grid .av-masonry-entry { padding: 0 12px 24px 0; }
#top .hg-blog-grid .av-masonry-entry { padding: 0 12px 0 0; }
#top .hg-blog-grid .av-masonry-entry .av-inner-masonry { margin-bottom: 24px; }
#top .hg-blog-grid .av-masonry-container { overflow: visible; }
#top .av-masonry.hg-blog-grid, #top .hg-blog-grid .av-masonry-container { overflow: visible !important; }

/* =====================================================================
   25. Card borders: Enfold's `.main_color div { border-color }` (0,1,1) beats proof.css's single-class
       card modifiers (0,1,0), and the per-element CSS pins `.flex_column.av-xxx { border-radius: 0 }`
   ===================================================================== */
#top .main_color .hg-card--raised, #top .main_color .hg-card--mist { border-color: transparent; }
#top .flex_column.hg-card--accent-top, #top .avia_textblock.hg-card--accent-top, #top .main_color .hg-card--accent-top { border-top: 3px solid var(--hg-accent); border-radius: var(--hg-radius-card); }

/* Enfold colorset: `.main_color table { background: bg2 }` paints every spec table mist - the proof has no panel */
#top .main_color table.hg-specs, #top .main_color .avia-data-table.hg-specs, #top .main_color .avia-table-wrap { background: transparent; }
/* Enfold gives <strong> inside headings weight 600; proof headings (and their <strong>) are 700 */
#top .hg-band h2 strong, #top .av-special-heading-tag strong, #top .hg-band h1 strong { font-weight: var(--hg-fw-bold); }

/* Contact page details block: the proof has no rule for .hg-panel-dark (plain text on white), so no navy panel here.
   The blog-post aside keeps the dark panel because its white button needs it. */
#top .hg-contact__aside .hg-panel-dark { padding: 0; background: none; color: inherit; overflow: visible; gap: 10px; margin-bottom: 20px; }
#top .hg-contact__aside .hg-panel-dark .hg-angle { display: none; }
#top .hg-contact__aside .hg-panel-dark h3 { color: var(--hg-navy); }
#top .hg-contact__aside .hg-panel-dark a { color: var(--hg-accent); }
#top .hg-contact__aside .hg-panel-dark .hg-small { color: var(--hg-muted); }

/* Commercial "Recent Work" (and other hg-gallery card grids): equal-height cards, more air under the intro line (client request 23 Oct 2026; proof has ~0) */
#top .hg-gallery .entry-content-wrapper { align-items: stretch; }
#top .hg-gallery .entry-content-wrapper > .flex_column.hg-gallery__head { margin-bottom: 16px; }

/* =====================================================================
   26. Blog grid as image TILES (proof blog listing uses .hg-tile: photo, angled navy shade, white label).
       Overrides the card rules in sections 18/24 above.
   ===================================================================== */
#top .hg-blog-grid .av-masonry-entry .av-inner-masonry { display: block; border: 0; background: var(--hg-navy-deep); aspect-ratio: 441 / 328; height: auto !important; overflow: hidden; box-shadow: var(--hg-shadow-tile); transition: box-shadow var(--hg-t-tile) var(--hg-ease); }
#top .hg-blog-grid .av-masonry-entry:hover .av-inner-masonry { box-shadow: var(--hg-shadow-tile-hover); z-index: 5; }
#top .hg-blog-grid .av-masonry-outerimage-container { position: absolute !important; inset: 0; height: 100%; aspect-ratio: auto; }
#top .hg-blog-grid .av-masonry-image-container { position: absolute !important; inset: 0; height: 100%; background-size: cover; background-position: center; }
#top .hg-blog-grid .av-masonry-outerimage-container::after { content: ""; position: absolute; inset: 0; background: var(--hg-tile-shade); clip-path: polygon(0 38%, 100% 52%, 100% 100%, 0 100%); pointer-events: none; }
#top .hg-blog-grid .av-inner-masonry-content { position: absolute !important; left: 0; right: 0; bottom: 0; top: auto; width: auto !important; height: auto !important; padding: 0 23px 15px !important; background: transparent !important; color: #fff; z-index: 2; flex: none; }
#top .hg-blog-grid .av-inner-masonry-content-pos-content { display: flex !important; flex-direction: column; gap: 6px; }
#top .hg-blog-grid .hg-tile__meta { display: block; font-size: var(--hg-fs-eyebrow); font-weight: var(--hg-fw-bold); letter-spacing: var(--hg-ls-eyebrow); text-transform: uppercase; color: #fff; opacity: .85; }
#top .hg-blog-grid .av-masonry-entry .av-masonry-entry-title { font-size: 18px; line-height: 1.3; font-weight: var(--hg-fw-semibold); color: #fff; margin: 0; }
#top .hg-blog-grid .av-masonry-entry .av-masonry-entry-content { font-size: 15px; line-height: 1.5; color: var(--hg-on-dark); margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
#top .hg-blog-grid .av-masonry-entry .av-masonry-entry-content::after { content: " \2192"; }
#top .hg-blog-grid .av-masonry-date, #top .hg-blog-grid .av-masonry-author, #top .hg-blog-grid .av-masonry-text-sep { display: none; }
#top .hg-blog-grid .av-masonry-entry .av-inner-masonry { margin-bottom: 24px; }
@media (max-width: 480px) { #top .hg-blog-grid .av-masonry-entry .av-masonry-entry-content { display: none; } #top .hg-blog-grid .av-inner-masonry-content { padding: 0 18px 13px !important; } }
#top .hg-blog-grid .av-inner-masonry-content, #top .hg-blog-grid .av-inner-masonry-content-pos, #top .hg-blog-grid .av-inner-masonry-content-pos-content { background: transparent !important; }
#top .hg-blog-grid .av-inner-masonry-content-pos, #top .hg-blog-grid .av-inner-masonry-content-pos-content { padding: 0 !important; margin: 0 !important; }
#top .hg-blog-grid .av-masonry-entry .av-masonry-entry-title, #top .hg-blog-grid .av-masonry-entry .av-masonry-entry-content, #top .hg-blog-grid .av-masonry-entry:hover .av-masonry-entry-title { color: #fff !important; }
/* shade on the tile itself (Enfold stacks the image container above the outer container's pseudo-element) */
#top .hg-blog-grid .av-masonry-outerimage-container::after { content: none; }
#top .hg-blog-grid .av-masonry-entry .av-inner-masonry { position: relative !important; }
#top .hg-blog-grid .av-masonry-entry .av-inner-masonry::after { content: ""; position: absolute; inset: 0; background: var(--hg-tile-shade); clip-path: var(--hg-clip-tile); pointer-events: none; z-index: 1; } /* same band as the service tiles (68% -> 83%) */
#top .hg-blog-grid .av-inner-masonry-content { text-shadow: 0 1px 10px rgba(10, 22, 50, 0.55); }
#top .hg-blog-grid .av-inner-masonry-content { z-index: 2; }
/* masonry columns follow the proof grid: 3 -> 2 at 989 -> 1 at 767 */
@media (max-width: 989px) { #top .hg-blog-grid .av-masonry-entry { width: 50%; } }
@media (max-width: 767px) { #top .hg-blog-grid .av-masonry-entry { width: 100%; padding-right: 0; } }

