/* HHC About & Team Page v3.0.0 — clean, stable, theme-isolated layout */
.hhc-about-page {
    --hhc-primary: #012c5a;
    --hhc-accent: #8bd346;
    --hhc-dark: #082743;
    --hhc-sky: #dff1ff;
    --hhc-text: #24374a;
    --hhc-muted: #677a8f;
    --hhc-light: #f3f7fb;
    --hhc-white: #fff;
    --hhc-gradient-start: #082743;
    --hhc-gradient-end: #012c5a;
    --hhc-max: 1240px;
    --hhc-radius: 24px;
    --hhc-button-radius: 12px;
    --hhc-gap: 76px;
    --hhc-heading-scale: 1;
    --hhc-body-scale: 1;
    --hhc-reveal-distance: 20px;
    --hhc-shadow: 0 18px 48px rgba(1, 44, 90, .12);
    width: 100%;
    overflow: clip;
    color: var(--hhc-text);
    font-family: inherit;
    font-size: calc(16px * var(--hhc-body-scale));
    line-height: 1.62;
}

.hhc-about-page,
.hhc-about-page * {
    box-sizing: border-box;
}

.hhc-about-page img {
    display: block;
    max-width: 100%;
}

.hhc-about-page a {
    text-decoration: none;
}

.hhc-about-page button,
.hhc-about-page a {
    font-family: inherit;
}

.hhc-container {
    width: min(calc(100% - 40px), var(--hhc-max));
    margin-inline: auto;
}

.hhc-section {
    position: relative;
    padding-top: var(--hhc-section-top, var(--hhc-gap));
    padding-bottom: var(--hhc-section-bottom, var(--hhc-gap));
    isolation: isolate;
}

.hhc-theme-white {
    --hhc-section-heading: var(--hhc-dark);
    --hhc-section-copy: var(--hhc-muted);
    background: var(--hhc-white);
}

.hhc-theme-light {
    --hhc-section-heading: var(--hhc-dark);
    --hhc-section-copy: var(--hhc-muted);
    background: var(--hhc-light);
}

.hhc-theme-navy {
    --hhc-section-heading: var(--hhc-white);
    --hhc-section-copy: rgba(255, 255, 255, .78);
    background: linear-gradient(135deg, var(--hhc-gradient-start), var(--hhc-gradient-end));
}

.hhc-theme-accent {
    --hhc-section-heading: var(--hhc-dark);
    --hhc-section-copy: rgba(8, 39, 67, .78);
    background: linear-gradient(135deg, var(--hhc-accent), #b7eb7a);
}

.hhc-about-page h1,
.hhc-about-page h2,
.hhc-about-page h3 {
    margin: 0 !important;
    color: var(--hhc-section-heading, var(--hhc-dark)) !important;
    font-family: inherit !important;
    font-weight: 750 !important;
    line-height: 1.08 !important;
    letter-spacing: -.03em !important;
    text-transform: none !important;
}

.hhc-about-page h1 {
    font-size: calc(clamp(44px, 5vw, 72px) * var(--hhc-heading-scale)) !important;
}

.hhc-about-page h2 {
    font-size: calc(clamp(34px, 3.7vw, 52px) * var(--hhc-heading-scale)) !important;
}

.hhc-about-page h3 {
    font-size: calc(clamp(19px, 1.7vw, 24px) * var(--hhc-heading-scale)) !important;
    letter-spacing: -.02em !important;
}

.hhc-about-page p {
    margin: 0;
    color: var(--hhc-section-copy, var(--hhc-muted));
}

.hhc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    padding: 7px 12px;
    border: 1px solid rgba(1, 44, 90, .1);
    border-radius: 999px;
    background: rgba(139, 211, 70, .14);
    color: var(--hhc-primary);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .075em;
    line-height: 1;
    text-transform: uppercase;
}

.hhc-eyebrow::before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--hhc-accent);
    box-shadow: 0 0 0 4px rgba(139, 211, 70, .15);
    content: "";
}

.hhc-eyebrow.on-dark {
    border-color: rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .08);
    color: var(--hhc-white);
}

.hhc-section-heading {
    max-width: 760px;
    margin-bottom: 38px;
}

.hhc-section-heading h2 {
    margin-bottom: 15px !important;
}

.hhc-section-heading p {
    max-width: 680px;
    font-size: 17px;
}

.hhc-section-heading.centered {
    margin-inline: auto;
    text-align: center;
}

.hhc-section-heading.centered p {
    margin-inline: auto;
}

.hhc-section-heading.light h2,
.hhc-section-heading.light p {
    color: var(--hhc-white) !important;
}

.hhc-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.hhc-about-page .hhc-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 11px !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 12px 19px !important;
    border: 1px solid transparent !important;
    border-radius: var(--hhc-button-radius) !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    text-transform: none !important;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}

.hhc-about-page .hhc-button:hover {
    transform: translateY(-2px) !important;
}

.hhc-about-page .hhc-button span {
    font-size: 17px;
    transition: transform .2s ease;
}

.hhc-about-page .hhc-button:hover span {
    transform: translateX(3px);
}

.hhc-button-accent,
.hhc-button-accent-small {
    background: var(--hhc-accent) !important;
    color: var(--hhc-dark) !important;
    box-shadow: 0 12px 28px rgba(139, 211, 70, .22) !important;
}

.hhc-button-accent:hover,
.hhc-button-accent-small:hover {
    background: #9ee35a !important;
}

.hhc-button-primary {
    background: var(--hhc-primary) !important;
    color: var(--hhc-white) !important;
    box-shadow: 0 12px 28px rgba(1, 44, 90, .18) !important;
}

.hhc-button-primary:hover {
    background: var(--hhc-dark) !important;
}

.hhc-button-ghost {
    border-color: rgba(255, 255, 255, .28) !important;
    background: rgba(255, 255, 255, .06) !important;
    color: var(--hhc-white) !important;
}

.hhc-button-ghost:hover {
    background: rgba(255, 255, 255, .12) !important;
}

.hhc-button-accent-small {
    min-height: 42px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
}

/* Hero — compact split layout with a controlled photo mosaic. */
.hhc-hero {
    min-height: 0;
    overflow: hidden;
}

.hhc-hero::before {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 20%, rgba(139, 211, 70, .16), transparent 28%),
        radial-gradient(circle at 88% 78%, rgba(84, 164, 236, .13), transparent 32%);
    content: "";
    pointer-events: none;
}

.hhc-aurora {
    display: none;
}

.hhc-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(440px, .92fr);
    align-items: center;
    gap: clamp(42px, 6vw, 78px);
}

.hhc-hero-copy {
    position: relative;
    z-index: 2;
    max-width: 680px;
}

.hhc-hero-copy h1 {
    max-width: 680px;
}

.hhc-hero-copy h1 span {
    display: block;
    margin-top: 3px;
    color: var(--hhc-accent) !important;
    -webkit-text-fill-color: currentColor;
}

.hhc-hero-copy > p {
    max-width: 625px;
    margin-top: 22px;
    color: var(--hhc-section-copy, rgba(255, 255, 255, .78));
    font-size: clamp(17px, 1.45vw, 20px);
}

.hhc-hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 28px;
    color: var(--hhc-section-copy, rgba(255, 255, 255, .8));
    font-size: 13px;
    font-weight: 800;
}

.hhc-hero-proof span {
    display: flex;
    align-items: center;
    gap: 8px;
}

.hhc-hero-proof i {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 50%;
    background: rgba(139, 211, 70, .14);
    color: var(--hhc-accent);
    font-style: normal;
}

.hhc-hero-proof svg {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.hhc-hero-collage {
    position: relative;
    display: grid;
    grid-template-columns: 1.18fr .82fr;
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: 13px;
    height: clamp(430px, 44vw, 520px);
    min-height: 430px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: calc(var(--hhc-radius) + 6px);
    background: rgba(255, 255, 255, .07);
    box-shadow: 0 26px 70px rgba(0, 0, 0, .23);
}

.hhc-collage-image {
    position: relative;
    inset: auto !important;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
    margin: 0;
    border: 0;
    border-radius: 18px;
    background: #16436f;
    box-shadow: none;
    transform: rotate(var(--hhc-rotate, 0deg));
}

.hhc-collage-image-1 {
    grid-column: 1;
    grid-row: 1 / 4;
}

.hhc-collage-image-2 {
    grid-column: 2;
    grid-row: 1;
}

.hhc-collage-image-3 {
    grid-column: 2;
    grid-row: 2;
}

.hhc-collage-image-4 {
    grid-column: 2;
    grid-row: 3;
}

.hhc-collage-image img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

.hhc-collage-badge {
    position: absolute;
    right: 28px;
    bottom: 26px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 220px;
    padding: 12px 14px;
    border-radius: 14px;
    background: var(--hhc-accent);
    color: var(--hhc-dark);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
    transform: none;
}

.hhc-collage-badge > span {
    display: grid;
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    place-items: center;
    border-radius: 9px;
    background: rgba(8, 39, 67, .1);
}

.hhc-collage-badge svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.hhc-collage-badge strong,
.hhc-collage-badge small {
    display: block;
    line-height: 1.25;
}

.hhc-collage-badge strong {
    font-size: 14px;
}

.hhc-collage-badge small {
    margin-top: 2px;
    font-size: 11px;
    font-weight: 750;
}

/* Statistics — no negative margins or section overlap. */
.hhc-stats-section {
    overflow: visible;
}

.hhc-stats-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(1, 44, 90, .08);
    border-radius: 20px;
    background: var(--hhc-white);
    box-shadow: 0 12px 35px rgba(1, 44, 90, .08);
}

.hhc-stats-strip > div {
    position: relative;
    min-width: 0;
    padding: 23px 25px;
}

.hhc-stats-strip > div:not(:last-child)::after {
    position: absolute;
    top: 22%;
    right: 0;
    width: 1px;
    height: 56%;
    background: rgba(1, 44, 90, .09);
    content: "";
}

.hhc-stats-strip strong,
.hhc-stats-strip span {
    display: block;
}

.hhc-stats-strip strong {
    color: var(--hhc-primary);
    font-size: 25px;
    line-height: 1.1;
}

.hhc-stats-strip span {
    margin-top: 5px;
    color: var(--hhc-muted);
    font-size: 13px;
    font-weight: 750;
}

/* Company story — stable two-column editorial layout. */
.hhc-story-grid {
    display: grid;
    grid-template-columns: minmax(360px, .88fr) minmax(0, 1.12fr);
    align-items: center;
    gap: clamp(45px, 6vw, 78px);
}

.hhc-story-visual {
    position: relative;
    display: grid;
    gap: 18px;
    min-height: 0;
}

.hhc-story-image {
    position: relative;
    inset: auto;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: var(--hhc-radius);
    background: var(--hhc-primary);
    box-shadow: var(--hhc-shadow);
}

.hhc-story-image::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(4, 29, 53, .55), transparent 45%);
    content: "";
}

.hhc-story-image img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

.hhc-story-image > span {
    position: absolute;
    right: 20px;
    bottom: 18px;
    left: 20px;
    z-index: 2;
    color: var(--hhc-white);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.hhc-story-visual blockquote {
    position: static;
    width: auto;
    margin: 0;
    padding: 20px 22px;
    border: 1px solid rgba(1, 44, 90, .08);
    border-left: 4px solid var(--hhc-accent);
    border-radius: 16px;
    background: var(--hhc-white);
    box-shadow: 0 10px 28px rgba(1, 44, 90, .07);
    text-align: left;
}

.hhc-story-visual blockquote p {
    color: var(--hhc-dark);
    font-size: 15px;
    font-weight: 760;
    line-height: 1.55;
}

.hhc-story-visual blockquote cite {
    display: block;
    margin-top: 10px;
    color: var(--hhc-primary);
    font-size: 12px;
    font-style: normal;
    font-weight: 850;
}

.hhc-story-copy h2 {
    max-width: 680px;
    margin-bottom: 20px !important;
}

.hhc-rich-text > * + * {
    margin-top: 14px;
}

.hhc-rich-text p,
.hhc-rich-text li {
    color: var(--hhc-section-copy, var(--hhc-muted));
}

.hhc-rich-text strong {
    color: var(--hhc-dark);
}

.hhc-story-features {
    display: grid;
    gap: 10px;
    margin-top: 26px;
}

.hhc-story-features article {
    display: grid;
    grid-template-columns: 44px 1fr;
    align-items: center;
    gap: 14px;
    padding: 15px 16px;
    border: 1px solid rgba(1, 44, 90, .08);
    border-radius: 15px;
    background: rgba(243, 247, 251, .75);
}

.hhc-story-features article > span {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    background: var(--hhc-primary);
    color: var(--hhc-white);
    font-size: 12px;
    font-weight: 900;
}

.hhc-story-features h3 {
    margin-bottom: 3px !important;
    color: var(--hhc-dark) !important;
    font-size: 17px !important;
}

.hhc-story-features p {
    color: var(--hhc-muted) !important;
    font-size: 13px;
    line-height: 1.45;
}

/* Team — one consistent card size for all eight employees. */
.hhc-team-grid {
    display: grid;
    grid-template-columns: repeat(var(--hhc-team-cols, 4), minmax(0, 1fr));
    gap: 20px;
}

.hhc-team-card,
.hhc-team-card.is-featured {
    position: relative;
    display: flex;
    grid-column: auto;
    grid-template-columns: none;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(1, 44, 90, .09);
    border-radius: 20px;
    background: var(--hhc-white);
    box-shadow: 0 10px 30px rgba(1, 44, 90, .075);
    transition: transform .22s ease, box-shadow .22s ease;
}

.hhc-team-card:hover {
    box-shadow: 0 18px 42px rgba(1, 44, 90, .13);
    transform: translateY(-4px);
}

.hhc-team-card.is-featured {
    border-top: 4px solid var(--hhc-accent);
}

.hhc-team-photo,
.hhc-team-card.is-featured .hhc-team-photo {
    position: relative;
    width: 100%;
    min-height: 0;
    aspect-ratio: 4 / 4.7;
    overflow: hidden;
    background: linear-gradient(135deg, #dce7f0, #f4f7fa);
}

.hhc-team-photo img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

.hhc-team-index {
    position: absolute;
    top: 14px;
    left: 14px;
    display: grid;
    min-width: 38px;
    height: 32px;
    place-items: center;
    padding-inline: 9px;
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 999px;
    background: rgba(4, 29, 53, .78);
    color: var(--hhc-white);
    font-size: 11px;
    font-weight: 900;
    backdrop-filter: blur(8px);
}

.hhc-team-card-body,
.hhc-team-card.is-featured .hhc-team-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 21px;
}

.hhc-role-label {
    display: block;
    margin-bottom: 8px;
    color: var(--hhc-primary);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    line-height: 1.35;
    text-transform: uppercase;
}

.hhc-team-card h3 {
    color: var(--hhc-dark) !important;
    font-size: 22px !important;
}

.hhc-employment {
    margin-top: 7px !important;
    color: var(--hhc-accent) !important;
    font-size: 12px;
    font-weight: 850;
}

.hhc-team-card-body > p:not(.hhc-employment) {
    display: -webkit-box;
    min-height: 69px;
    margin-top: 13px;
    overflow: hidden;
    color: var(--hhc-muted) !important;
    font-size: 14px;
    line-height: 1.62;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.hhc-about-page button.hhc-text-button {
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: auto 0 0 !important;
    padding: 17px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--hhc-primary) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    cursor: pointer;
}

.hhc-text-button span {
    font-size: 17px;
    transition: transform .2s ease;
}

.hhc-text-button:hover span {
    transform: translateX(3px);
}

/* Bio modal */
body.hhc-modal-open {
    overflow: hidden;
}

.hhc-team-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    place-items: center;
    padding: 28px;
}

.hhc-team-modal.is-open {
    display: grid;
}

.hhc-team-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 25, 44, .8);
    backdrop-filter: blur(8px);
}

.hhc-team-modal-panel {
    position: relative;
    z-index: 2;
    width: min(1080px, 100%);
    height: min(720px, calc(100vh - 56px));
    overflow: hidden;
    border-radius: 24px;
    background: var(--hhc-white);
    box-shadow: 0 35px 100px rgba(0, 0, 0, .36);
}

.hhc-modal-profile {
    display: grid;
    grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr);
    width: 100%;
    height: 100%;
}

.hhc-modal-photo {
    position: relative;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    background: #e9eff4;
}

.hhc-modal-photo img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

.hhc-modal-copy {
    height: 100%;
    overflow-y: auto;
    padding: 62px 58px 48px;
}

.hhc-modal-copy h2 {
    margin-bottom: 10px !important;
    color: var(--hhc-dark) !important;
    font-size: clamp(37px, 4.2vw, 57px) !important;
}

.hhc-modal-copy .hhc-rich-text {
    margin-top: 22px;
    font-size: 16px;
}

.hhc-modal-detail {
    margin-top: 28px;
}

.hhc-responsibilities p,
.hhc-favorite-part p {
    margin: 0;
    color: var(--hhc-text);
    line-height: 1.7;
}

.hhc-favorite-part {
    margin-top: 22px;
    padding: 17px 19px;
    border: 1px solid rgba(1, 44, 90, .09);
    border-left: 4px solid var(--hhc-primary);
    border-radius: 13px;
    background: var(--hhc-light);
}

.hhc-modal-detail > strong,
.hhc-favorite-part > strong,
.hhc-fun-fact > strong {
    display: block;
    margin-bottom: 10px;
    color: var(--hhc-dark);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.hhc-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.hhc-chip-row span,
.hhc-area-grid span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid rgba(1, 44, 90, .08);
    border-radius: 999px;
    background: var(--hhc-light);
    color: var(--hhc-primary);
    font-size: 13px;
    font-weight: 800;
}

.hhc-fun-fact {
    margin-top: 25px;
    padding: 17px 19px;
    border-left: 4px solid var(--hhc-accent);
    border-radius: 13px;
    background: rgba(139, 211, 70, .12);
}

.hhc-fun-fact span {
    color: var(--hhc-text);
}

.hhc-contact-row {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 24px;
}

.hhc-contact-row a,
.hhc-contact-row button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 9px 13px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--hhc-primary) !important;
    box-shadow: none !important;
    color: var(--hhc-white) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    cursor: pointer !important;
    transform: none !important;
    appearance: none !important;
}

.hhc-contact-row a:hover,
.hhc-contact-row a:focus-visible,
.hhc-contact-row button:hover,
.hhc-contact-row button:focus-visible,
.hhc-contact-row button.is-copied {
    background: var(--hhc-accent) !important;
    color: var(--hhc-dark) !important;
    outline: none !important;
}

.hhc-contact-row button:disabled {
    opacity: 1 !important;
    cursor: default !important;
}

.hhc-email-copy-toast {
    position: fixed !important;
    left: 50% !important;
    bottom: 24px !important;
    z-index: 2147483647 !important;
    max-width: min(92vw, 520px) !important;
    padding: 13px 18px !important;
    border: 1px solid rgba(139, 211, 70, .42) !important;
    border-radius: 14px !important;
    background: #012c5a !important;
    box-shadow: 0 18px 48px rgba(0, 18, 42, .28) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    opacity: 0;
    pointer-events: none !important;
    transform: translate(-50%, 18px) scale(.98) !important;
    transition: opacity .22s ease, transform .22s ease !important;
}

.hhc-email-copy-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0) scale(1) !important;
}

.hhc-email-copy-toast.is-error {
    border-color: rgba(255, 122, 122, .55) !important;
    background: #6f1d2a !important;
}

@media (max-width: 767px) {
    .hhc-email-copy-toast {
        bottom: 18px !important;
        width: calc(100vw - 32px) !important;
        max-width: none !important;
        padding: 12px 15px !important;
        font-size: 13px !important;
    }
}

.hhc-about-page button.hhc-modal-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 10 !important;
    display: grid !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--hhc-accent) !important;
    box-shadow: 0 8px 20px rgba(1, 44, 90, .18) !important;
    color: var(--hhc-dark) !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transform: none !important;
}

.hhc-modal-close svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
}

/* Difference cards */
.hhc-bento-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.hhc-bento-card,
.hhc-bento-card.is-featured {
    display: grid;
    grid-column: auto;
    grid-template-columns: 48px 1fr;
    align-items: start;
    gap: 15px;
    min-height: 0;
    padding: 23px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 18px;
    background: rgba(255, 255, 255, .08);
    box-shadow: none;
    transition: background .2s ease, transform .2s ease;
}

.hhc-bento-card:hover {
    background: rgba(255, 255, 255, .13);
    transform: translateY(-3px);
}

.hhc-bento-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 13px;
    background: var(--hhc-accent);
    color: var(--hhc-dark);
}

.hhc-bento-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.hhc-bento-card small {
    display: block;
    margin-bottom: 4px;
    color: var(--hhc-accent);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
}

.hhc-bento-card h3 {
    margin-bottom: 7px !important;
    color: var(--hhc-white) !important;
    font-size: 19px !important;
}

.hhc-bento-card p {
    color: rgba(255, 255, 255, .72) !important;
    font-size: 14px;
    line-height: 1.55;
}

.hhc-difference-section:not(.hhc-theme-navy) .hhc-bento-card {
    border-color: rgba(1, 44, 90, .08);
    background: var(--hhc-white);
    box-shadow: 0 10px 28px rgba(1, 44, 90, .07);
}

.hhc-difference-section:not(.hhc-theme-navy) .hhc-bento-card:hover {
    background: var(--hhc-light);
}

.hhc-difference-section:not(.hhc-theme-navy) .hhc-bento-card h3 {
    color: var(--hhc-dark) !important;
}

.hhc-difference-section:not(.hhc-theme-navy) .hhc-bento-card p {
    color: var(--hhc-muted) !important;
}

.hhc-difference-section:not(.hhc-theme-navy) .hhc-bento-card small {
    color: var(--hhc-primary);
}

/* Timeline — no oversized heading or connected-line glitches. */
.hhc-timeline {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.hhc-timeline::before {
    display: none;
}

.hhc-timeline article {
    position: relative;
    min-width: 0;
    padding: 24px;
    border: 1px solid rgba(1, 44, 90, .08);
    border-top: 4px solid var(--hhc-accent);
    border-radius: 17px;
    background: var(--hhc-white);
    box-shadow: 0 10px 28px rgba(1, 44, 90, .07);
}

.hhc-timeline article > span {
    display: inline-flex;
    margin-bottom: 18px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(139, 211, 70, .15);
    color: var(--hhc-primary);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.hhc-timeline h3 {
    margin-bottom: 10px !important;
    color: var(--hhc-dark) !important;
    font-size: 20px !important;
}

.hhc-timeline p {
    color: var(--hhc-muted) !important;
    font-size: 14px;
}

/* Gallery */
.hhc-gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.hhc-gallery-card,
.hhc-gallery-card-1,
.hhc-gallery-card-2,
.hhc-gallery-card-3,
.hhc-gallery-card-4 {
    position: relative;
    grid-column: auto;
    grid-row: auto;
    height: 340px;
    min-height: 0;
    overflow: hidden;
    margin: 0;
    border-radius: 20px;
    background: var(--hhc-primary);
    box-shadow: 0 12px 34px rgba(1, 44, 90, .1);
}

.hhc-gallery-card img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    transition: transform .35s ease;
}

.hhc-gallery-card:hover img {
    transform: scale(1.04);
}

.hhc-gallery-card::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(4, 29, 53, .82), transparent 56%);
    content: "";
}

.hhc-gallery-card figcaption {
    position: absolute;
    right: 22px;
    bottom: 20px;
    left: 22px;
    z-index: 2;
}

.hhc-gallery-card figcaption small {
    display: block;
    margin-bottom: 5px;
    color: var(--hhc-accent);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.hhc-gallery-card figcaption p {
    color: var(--hhc-white) !important;
    font-size: 15px;
    font-weight: 760;
    line-height: 1.45;
}

/* Testimonials */
.hhc-reviews-heading-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 30px;
    margin-bottom: 30px;
}

.hhc-reviews-heading-row .hhc-section-heading {
    max-width: 760px;
    margin: 0;
}

.hhc-review-proof {
    display: grid;
    min-width: 190px;
    padding: 16px 18px;
    border: 1px solid rgba(1, 44, 90, .1);
    border-radius: 16px;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 10px 26px rgba(1, 44, 90, .06);
}

.hhc-review-proof strong {
    color: var(--hhc-dark);
    font-size: 15px;
}

.hhc-review-proof span {
    color: var(--hhc-muted);
    font-size: 12px;
}

.hhc-review-shell {
    position: relative;
}

.hhc-review-track {
    gap: 18px;
}

.hhc-review-shell.is-grid .hhc-review-track {
    display: grid;
}

.hhc-review-shell.is-grid.hhc-review-cards-1 .hhc-review-track { grid-template-columns: 1fr; }
.hhc-review-shell.is-grid.hhc-review-cards-2 .hhc-review-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hhc-review-shell.is-grid.hhc-review-cards-3 .hhc-review-track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hhc-review-shell.is-grid.hhc-review-cards-4 .hhc-review-track { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.hhc-review-shell.is-carousel .hhc-review-track {
    display: grid;
    grid-auto-flow: column;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 5px 3px 18px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.hhc-review-shell.is-carousel .hhc-review-track::-webkit-scrollbar {
    display: none;
}

.hhc-review-shell.is-carousel.hhc-review-cards-1 .hhc-review-track { grid-auto-columns: calc(100% - 1px); }
.hhc-review-shell.is-carousel.hhc-review-cards-2 .hhc-review-track { grid-auto-columns: calc((100% - 18px) / 2); }
.hhc-review-shell.is-carousel.hhc-review-cards-3 .hhc-review-track { grid-auto-columns: calc((100% - 36px) / 3); }
.hhc-review-shell.is-carousel.hhc-review-cards-4 .hhc-review-track { grid-auto-columns: calc((100% - 54px) / 4); }

.hhc-review-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 320px;
    margin: 0 !important;
    padding: 26px !important;
    overflow: hidden;
    border: 1px solid rgba(1, 44, 90, .09) !important;
    border-radius: 20px;
    background: linear-gradient(155deg, #ffffff 0%, #f8fbfe 100%) !important;
    background-image: none !important;
    box-shadow: 0 12px 34px rgba(1, 44, 90, .08);
    scroll-snap-align: start;
    quotes: none;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.hhc-review-card:hover {
    border-color: rgba(139, 211, 70, .65) !important;
    box-shadow: 0 18px 42px rgba(1, 44, 90, .11), 0 0 0 1px rgba(139, 211, 70, .2);
    transform: translateY(-3px);
}

/* Prevent theme-level blockquote decorations or quote icons from covering review text. */
.hhc-review-card::before,
.hhc-review-card::after,
.hhc-review-card > p::before,
.hhc-review-card > p::after {
    display: none !important;
    content: none !important;
    background: none !important;
}

.hhc-review-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

.hhc-review-card-top > span {
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(139, 211, 70, .14);
    color: var(--hhc-primary);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.hhc-stars {
    margin: 0;
    color: #f5ad22;
    letter-spacing: 2px;
}

.hhc-review-card > p {
    flex: 1;
    min-height: 0;
    margin: 0 !important;
    color: var(--hhc-text) !important;
    font-size: 15px;
    line-height: 1.7;
}

.hhc-review-card footer {
    display: grid;
    gap: 3px;
    margin-top: 22px;
    padding-top: 17px;
    border-top: 1px solid rgba(1, 44, 90, .08);
}

.hhc-review-card footer strong {
    color: var(--hhc-dark);
}

.hhc-review-card footer span {
    color: var(--hhc-muted);
    font-size: 12px;
}

.hhc-review-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    margin-top: 14px;
}

.hhc-review-counter {
    min-width: 68px;
    color: var(--hhc-muted);
    font-size: 13px;
    font-weight: 800;
    text-align: center;
}

.hhc-review-controls button {
    display: inline-grid !important;
    place-items: center !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(1, 44, 90, .12) !important;
    border-radius: 50% !important;
    background: var(--hhc-white) !important;
    color: var(--hhc-primary) !important;
    box-shadow: 0 8px 20px rgba(1, 44, 90, .08);
    font-size: 19px !important;
    line-height: 1 !important;
    transform: none !important;
}

.hhc-review-controls button:hover,
.hhc-review-controls button:focus-visible {
    border-color: var(--hhc-accent) !important;
    background: var(--hhc-accent) !important;
    color: var(--hhc-dark) !important;
}

/* Service area */
.hhc-service-grid {
    display: grid;
    grid-template-columns: minmax(380px, .92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: clamp(44px, 6vw, 74px);
}

.hhc-service-visual {
    position: relative;
    min-height: 500px;
    overflow: hidden;
    border-radius: var(--hhc-radius);
    background: linear-gradient(135deg, var(--hhc-primary), var(--hhc-dark));
    box-shadow: var(--hhc-shadow);
}

.hhc-service-visual > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

.hhc-service-visual.has-image::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(4, 29, 53, .78), rgba(1, 44, 90, .2));
    content: "";
}

.hhc-map-rings {
    position: absolute;
    z-index: 2;
    inset: 16%;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
}

.hhc-map-rings::before,
.hhc-map-rings::after {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 50%;
    content: "";
}

.hhc-map-rings::before {
    inset: 18%;
}

.hhc-map-rings::after {
    inset: 36%;
}

.hhc-map-pin {
    position: absolute;
    z-index: 4;
    top: 42%;
    left: 50%;
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 50%;
    background: var(--hhc-accent);
    color: var(--hhc-dark);
    box-shadow: 0 15px 34px rgba(0, 0, 0, .24);
    transform: translate(-50%, -50%);
}

.hhc-map-pin svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.hhc-service-card {
    position: absolute;
    z-index: 5;
    right: 18px;
    bottom: 18px;
    left: 18px;
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 16px;
    background: rgba(4, 29, 53, .87);
    backdrop-filter: blur(10px);
}

.hhc-service-card strong {
    display: block;
    margin-bottom: 5px;
    color: var(--hhc-white);
    font-size: 16px;
}

.hhc-service-card p {
    margin-bottom: 14px;
    color: rgba(255, 255, 255, .72) !important;
    font-size: 13px;
}

.hhc-service-copy h2 {
    margin-bottom: 18px !important;
}

.hhc-service-copy > p {
    font-size: 17px;
}

.hhc-area-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

/* Brands */
.hhc-brands-shell {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    align-items: center;
    gap: clamp(42px, 6vw, 72px);
}

.hhc-brands-copy h2 {
    margin-bottom: 17px !important;
}

.hhc-brands-copy > p {
    margin-bottom: 24px;
    font-size: 16px;
}

.hhc-brand-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
}

.hhc-brand-card {
    display: grid !important;
    min-height: 88px !important;
    place-items: center !important;
    padding: 13px !important;
    border: 1px solid rgba(1, 44, 90, .08) !important;
    border-radius: 14px !important;
    background: var(--hhc-white) !important;
    box-shadow: 0 7px 20px rgba(1, 44, 90, .05) !important;
    color: var(--hhc-primary) !important;
    text-align: center !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
}

.hhc-brand-card:hover {
    box-shadow: 0 13px 28px rgba(1, 44, 90, .1) !important;
    transform: translateY(-3px);
}

.hhc-brand-card img {
    max-width: 105px;
    max-height: 44px;
    object-fit: contain;
}

.hhc-brand-card strong {
    font-size: 14px;
    font-weight: 900;
}

/* Closing CTA */
.hhc-cta-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    overflow: hidden;
    border-radius: calc(var(--hhc-radius) + 2px);
    background: linear-gradient(135deg, var(--hhc-gradient-start), var(--hhc-gradient-end));
    box-shadow: var(--hhc-shadow);
}

.hhc-cta-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(38px, 5vw, 58px);
}

.hhc-cta-copy h2 {
    margin-bottom: 15px !important;
    color: var(--hhc-white) !important;
}

.hhc-cta-copy > p {
    max-width: 620px;
    color: rgba(255, 255, 255, .75) !important;
    font-size: 16px;
}

.hhc-cta-image {
    position: relative;
    min-height: 430px;
    overflow: hidden;
}

.hhc-cta-image::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--hhc-gradient-end), transparent 35%);
    content: "";
}

.hhc-cta-image img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

.hhc-cta-image > span {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 2;
    max-width: 260px;
    padding: 12px 14px;
    border-radius: 12px;
    background: var(--hhc-accent);
    color: var(--hhc-dark);
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .2);
}

/* Editable-theme safeguards */
.hhc-hero:not(.hhc-theme-navy) .hhc-hero-proof i {
    background: rgba(1, 44, 90, .08);
    color: var(--hhc-primary);
}

.hhc-hero:not(.hhc-theme-navy) .hhc-button-ghost {
    border-color: rgba(1, 44, 90, .16) !important;
    background: rgba(1, 44, 90, .05) !important;
    color: var(--hhc-primary) !important;
}

.hhc-theme-navy .hhc-section-heading p,
.hhc-theme-navy .hhc-section-copy {
    color: rgba(255, 255, 255, .75);
}

/* Reveal animations */
.hhc-animation-none .hhc-reveal {
    opacity: 1;
    transform: none;
}

.hhc-animation-subtle .hhc-reveal,
.hhc-animation-expressive .hhc-reveal {
    opacity: 0;
    transform: translateY(var(--hhc-reveal-distance));
    transition: opacity .58s ease var(--hhc-delay, 0ms), transform .58s ease var(--hhc-delay, 0ms);
}

.hhc-animation-expressive .hhc-reveal {
    transform: translateY(var(--hhc-reveal-distance)) scale(.985);
}

.hhc-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
}

.hhc-reveal-delay-1 {
    --hhc-delay: 90ms;
}

@media (max-width: 1120px) {
    .hhc-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr);
        gap: 42px;
    }

    .hhc-team-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .hhc-story-grid,
    .hhc-service-grid,
    .hhc-brands-shell {
        gap: 46px;
    }

    .hhc-bento-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hhc-cta-shell {
        grid-template-columns: 1fr 390px;
    }
}

@media (max-width: 900px) {
    .hhc-container {
        width: min(calc(100% - 30px), var(--hhc-max));
    }

    .hhc-hero-grid,
    .hhc-story-grid,
    .hhc-service-grid,
    .hhc-brands-shell {
        grid-template-columns: 1fr;
    }

    .hhc-hero-copy {
        max-width: 760px;
    }

    .hhc-hero-collage {
        width: min(720px, 100%);
        height: 500px;
        margin-inline: auto;
    }

    .hhc-stats-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hhc-stats-strip > div:nth-child(2)::after {
        display: none;
    }

    .hhc-stats-strip > div:nth-child(-n + 2) {
        border-bottom: 1px solid rgba(1, 44, 90, .08);
    }

    .hhc-story-visual {
        width: min(640px, 100%);
        margin-inline: auto;
    }

    .hhc-story-image {
        aspect-ratio: 5 / 4;
    }

    .hhc-team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hhc-timeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hhc-reviews-heading-row {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .hhc-review-proof {
        width: fit-content;
    }

    .hhc-review-shell.is-grid.hhc-review-tablet-1 .hhc-review-track { grid-template-columns: 1fr; }
    .hhc-review-shell.is-grid.hhc-review-tablet-2 .hhc-review-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hhc-review-shell.is-grid.hhc-review-tablet-3 .hhc-review-track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hhc-review-shell.is-carousel.hhc-review-tablet-1 .hhc-review-track { grid-auto-columns: calc(100% - 1px); }
    .hhc-review-shell.is-carousel.hhc-review-tablet-2 .hhc-review-track { grid-auto-columns: calc((100% - 18px) / 2); }
    .hhc-review-shell.is-carousel.hhc-review-tablet-3 .hhc-review-track { grid-auto-columns: calc((100% - 36px) / 3); }

    .hhc-service-visual {
        min-height: 520px;
    }

    .hhc-brand-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .hhc-cta-shell {
        grid-template-columns: 1fr;
    }

    .hhc-cta-image {
        min-height: 390px;
    }

    .hhc-cta-image::after {
        background: linear-gradient(to bottom, var(--hhc-gradient-end), transparent 32%);
    }

    .hhc-team-modal-panel {
        height: calc(100vh - 28px);
        overflow: auto;
    }

    .hhc-modal-profile {
        grid-template-columns: 1fr;
        height: auto;
    }

    .hhc-modal-photo {
        height: 390px;
    }

    .hhc-modal-copy {
        height: auto;
        overflow: visible;
        padding: 38px 30px 42px;
    }
}

@media (max-width: 650px) {
    .hhc-about-page h1 {
        font-size: calc(clamp(39px, 11vw, 54px) * var(--hhc-heading-scale)) !important;
    }

    .hhc-about-page h2 {
        font-size: calc(clamp(31px, 8.5vw, 42px) * var(--hhc-heading-scale)) !important;
    }

    .hhc-section-heading {
        margin-bottom: 30px;
    }

    .hhc-button-row {
        flex-direction: column;
    }

    .hhc-about-page .hhc-button {
        width: 100% !important;
    }

    .hhc-hero-collage {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(2, minmax(0, 1fr));
        height: 430px;
        min-height: 430px;
        padding: 9px;
        gap: 9px;
    }

    .hhc-collage-image-1,
    .hhc-collage-image-2,
    .hhc-collage-image-3,
    .hhc-collage-image-4 {
        grid-column: auto;
        grid-row: auto;
    }

    .hhc-collage-badge {
        right: 18px;
        bottom: 18px;
        max-width: 180px;
        padding: 10px 12px;
    }

    .hhc-collage-badge > span {
        display: none;
    }

    .hhc-hero-proof {
        display: grid;
        grid-template-columns: 1fr;
    }

    .hhc-stats-strip {
        grid-template-columns: 1fr;
    }

    .hhc-stats-strip > div {
        padding: 18px 20px;
    }

    .hhc-stats-strip > div:not(:last-child)::after {
        top: auto;
        right: 18px;
        bottom: 0;
        left: 18px;
        width: auto;
        height: 1px;
    }

    .hhc-stats-strip > div:nth-child(2)::after {
        display: block;
    }

    .hhc-stats-strip > div:nth-child(-n + 2) {
        border-bottom: 0;
    }

    .hhc-story-image {
        aspect-ratio: 4 / 5;
    }

    .hhc-story-features article {
        grid-template-columns: 40px 1fr;
        padding: 13px;
    }

    .hhc-team-grid,
    .hhc-bento-grid,
    .hhc-timeline,
    .hhc-gallery-grid {
        grid-template-columns: 1fr;
    }

    .hhc-team-card-body > p:not(.hhc-employment) {
        min-height: 0;
    }

    .hhc-gallery-card,
    .hhc-gallery-card-1,
    .hhc-gallery-card-2,
    .hhc-gallery-card-3,
    .hhc-gallery-card-4 {
        height: 320px;
    }

    .hhc-service-visual {
        min-height: 500px;
    }

    .hhc-map-pin {
        top: 34%;
    }

    .hhc-brand-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hhc-cta-copy {
        padding: 34px 22px;
    }

    .hhc-cta-image {
        min-height: 340px;
    }

    .hhc-team-modal {
        padding: 7px;
    }

    .hhc-team-modal-panel {
        height: calc(100vh - 14px);
        border-radius: 18px;
    }

    .hhc-modal-photo {
        height: 330px;
    }

    .hhc-modal-copy {
        padding: 32px 20px 36px;
    }

    .hhc-modal-copy h2 {
        font-size: 36px !important;
    }

    .hhc-about-page button.hhc-modal-close {
        top: 10px !important;
        right: 10px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hhc-about-page * {
        scroll-behavior: auto !important;
        transition: none !important;
    }

    .hhc-reveal {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ========================================================================
   HHC About & Team Page v4.0.0 — dynamic, editable overhaul
   These rules intentionally come last so they remain isolated from the
   WordPress theme and supersede the earlier v3 section layouts.
   ======================================================================== */

.hhc-about-page {
    --hhc-parallax-y: 0px;
    position: relative;
    overflow: clip;
}

.hhc-about-page[data-hhc-smooth-scroll="1"] {
    scroll-behavior: smooth;
}

.hhc-section-motion-off .hhc-reveal,
.hhc-animations-off .hhc-reveal {
    opacity: 1 !important;
    transform: none !important;
}

/* Motion is progressive enhancement: content stays visible unless JS is active. */
.hhc-js .hhc-animations-on[data-hhc-scroll-reveal="1"] .hhc-reveal:not(.is-visible) {
    opacity: 0;
    transition: opacity .68s ease, transform .78s cubic-bezier(.2,.72,.2,1);
    transition-delay: var(--hhc-delay, 0ms);
}

.hhc-js .hhc-animations-on.hhc-reveal-rise[data-hhc-scroll-reveal="1"] .hhc-reveal:not(.is-visible) {
    transform: translate3d(0, var(--hhc-reveal-distance), 0);
}

.hhc-js .hhc-animations-on.hhc-reveal-fade[data-hhc-scroll-reveal="1"] .hhc-reveal:not(.is-visible) {
    transform: none;
}

.hhc-js .hhc-animations-on.hhc-reveal-zoom[data-hhc-scroll-reveal="1"] .hhc-reveal:not(.is-visible) {
    transform: scale(.965);
}

.hhc-js .hhc-animations-on .hhc-reveal.is-visible {
    opacity: 1;
    transform: none;
}

[data-hhc-parallax-item] {
    --hhc-parallax-y: 0px;
}

.hhc-parallax-on [data-hhc-parallax-item] {
    translate: 0 var(--hhc-parallax-y);
    will-change: translate;
}

/* Fade images only after JS takes control, avoiding invisible images without JS. */
.hhc-js .hhc-lazy-fade-on img.hhc-image-pending {
    opacity: 0;
}

.hhc-js .hhc-lazy-fade-on img {
    transition: opacity .45s ease;
}

.hhc-js .hhc-lazy-fade-on img.hhc-image-loaded {
    opacity: 1;
}

/* ------------------------------ Hero ----------------------------------- */
.hhc-hero {
    min-height: auto !important;
    overflow: hidden;
}

.hhc-hero::before {
    background:
        radial-gradient(circle at 12% 18%, rgba(139, 211, 70, .16), transparent 27%),
        radial-gradient(circle at 86% 72%, rgba(75, 153, 231, .15), transparent 33%) !important;
}

.hhc-hero-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(3px);
    pointer-events: none;
}

.hhc-hero-orb-one {
    top: -120px;
    right: 18%;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(255,255,255,.08);
}

.hhc-hero-orb-two {
    right: -150px;
    bottom: -170px;
    width: 460px;
    height: 460px;
    background: radial-gradient(circle, rgba(139,211,70,.08), transparent 68%);
}

.hhc-hero-grid {
    grid-template-columns: minmax(0, .92fr) minmax(500px, 1.08fr) !important;
    gap: clamp(42px, 5.5vw, 78px) !important;
}

.hhc-hero-copy {
    max-width: 650px !important;
}

.hhc-hero-copy h1 {
    max-width: 650px !important;
    font-size: calc(clamp(42px, 4.35vw, 64px) * var(--hhc-heading-scale)) !important;
    line-height: 1.02 !important;
}

.hhc-hero-copy > p {
    margin-top: 20px !important;
    font-size: clamp(16px, 1.35vw, 19px) !important;
}

.hhc-hero-collage {
    position: relative !important;
    display: block !important;
    width: 100%;
    height: clamp(470px, 43vw, 590px) !important;
    min-height: 470px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.hhc-hero-collage-stage {
    position: absolute;
    inset: 0;
    border-radius: calc(var(--hhc-radius) + 12px);
}

.hhc-hero-collage-stage::before {
    position: absolute;
    inset: 6% 3% 4% 4%;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: calc(var(--hhc-radius) + 18px);
    background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.015));
    box-shadow: 0 32px 80px rgba(0,0,0,.18);
    content: "";
}

.hhc-collage-image,
.hhc-collage-image-1,
.hhc-collage-image-2,
.hhc-collage-image-3,
.hhc-collage-image-4 {
    position: absolute !important;
    top: var(--hhc-box-y) !important;
    left: var(--hhc-box-x) !important;
    z-index: var(--hhc-box-z) !important;
    display: block !important;
    grid-area: auto !important;
    width: var(--hhc-box-w) !important;
    height: var(--hhc-box-h) !important;
    min-height: 0 !important;
    overflow: hidden;
    border: 5px solid rgba(255,255,255,.22) !important;
    border-radius: clamp(18px, 2vw, 28px) !important;
    background: #16436f;
    box-shadow: 0 25px 54px rgba(0,0,0,.25) !important;
    transform: rotate(var(--hhc-rotate)) !important;
    transform-origin: center;
    transition: opacity .74s ease, transform .9s cubic-bezier(.16,.82,.22,1), box-shadow .28s ease !important;
    transition-delay: var(--hhc-enter-delay) !important;
}

.hhc-collage-image:hover {
    /* Keep the authored collage stacking order stable on hover. */
    z-index: var(--hhc-box-z) !important;
    box-shadow: 0 25px 54px rgba(0,0,0,.25) !important;
    transform: rotate(var(--hhc-rotate)) !important;
}

.hhc-collage-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
}

.hhc-collage-clean-grid .hhc-hero-collage-stage {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    grid-template-rows: repeat(3, 1fr);
    gap: 12px;
    padding: 12px;
}

.hhc-collage-clean-grid .hhc-collage-image {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
    transform: none !important;
}

.hhc-collage-clean-grid .hhc-collage-image-1 { grid-column: 1; grid-row: 1 / 4; }
.hhc-collage-clean-grid .hhc-collage-image-2 { grid-column: 2; grid-row: 1; }
.hhc-collage-clean-grid .hhc-collage-image-3 { grid-column: 2; grid-row: 2; }
.hhc-collage-clean-grid .hhc-collage-image-4 { grid-column: 2; grid-row: 3; }

.hhc-collage-badge {
    position: absolute !important;
    top: var(--hhc-badge-y) !important;
    left: var(--hhc-badge-x) !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 20 !important;
    max-width: 220px !important;
    padding: 11px 14px !important;
    border: 1px solid rgba(8,39,67,.08);
    border-radius: 16px !important;
    background: var(--hhc-accent) !important;
    color: var(--hhc-dark) !important;
    box-shadow: 0 16px 36px rgba(0,0,0,.24) !important;
    transform: translate(-50%, -50%) !important;
}

.hhc-collage-badge strong,
.hhc-collage-badge small {
    display: block;
    color: var(--hhc-dark) !important;
    line-height: 1.25;
}

.hhc-collage-badge strong { font-size: 14px; }
.hhc-collage-badge small { margin-top: 2px; font-size: 11px; font-weight: 750; }

/* Hero entrance effects. */
.hhc-js .hhc-animations-on[data-hhc-hero-entrance="1"]:not(.hhc-hero-ready) .hhc-hero-collage .hhc-collage-image {
    opacity: 0;
}

.hhc-js .hhc-animations-on.hhc-hero-enter-stagger[data-hhc-hero-entrance="1"]:not(.hhc-hero-ready) .hhc-collage-image {
    transform: translate3d(0, 34px, 0) rotate(var(--hhc-rotate)) scale(.94) !important;
}

.hhc-js .hhc-animations-on.hhc-hero-enter-fan[data-hhc-hero-entrance="1"]:not(.hhc-hero-ready) .hhc-collage-image:nth-child(odd) {
    transform: translate3d(-30px, 25px, 0) rotate(-7deg) scale(.94) !important;
}

.hhc-js .hhc-animations-on.hhc-hero-enter-fan[data-hhc-hero-entrance="1"]:not(.hhc-hero-ready) .hhc-collage-image:nth-child(even) {
    transform: translate3d(30px, 25px, 0) rotate(7deg) scale(.94) !important;
}

.hhc-js .hhc-animations-on.hhc-hero-enter-scale[data-hhc-hero-entrance="1"]:not(.hhc-hero-ready) .hhc-collage-image {
    transform: rotate(var(--hhc-rotate)) scale(.84) !important;
}

.hhc-js .hhc-animations-on.hhc-hero-ready .hhc-collage-image {
    opacity: 1;
    transform: rotate(var(--hhc-rotate)) !important;
}

/* Hero collage photos are decorative, not interactive cards. */
.hhc-about-page .hhc-hero-collage-stage .hhc-collage-image:hover,
.hhc-about-page .hhc-hero-collage-stage .hhc-collage-image:focus-within {
    z-index: var(--hhc-box-z) !important;
    transform: rotate(var(--hhc-rotate)) !important;
}

.hhc-js .hhc-animations-on[data-hhc-hero-entrance="1"]:not(.hhc-hero-ready) .hhc-collage-badge {
    opacity: 0;
    transform: translate(-50%, -30%) scale(.86) !important;
}

.hhc-js .hhc-animations-on.hhc-hero-ready .hhc-collage-badge {
    opacity: 1;
    transition: opacity .55s ease .7s, transform .7s cubic-bezier(.2,.8,.2,1) .7s;
}

/* ------------------------------ Team ----------------------------------- */
.hhc-team-section .hhc-section-heading {
    margin-bottom: 32px;
}

.hhc-team-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--hhc-team-cols, 4), minmax(0, 1fr)) !important;
    gap: 20px !important;
}

.hhc-team-card,
.hhc-team-card.is-featured {
    position: relative !important;
    display: flex !important;
    grid-column: auto !important;
    flex-direction: column !important;
    min-width: 0;
    overflow: hidden !important;
    border: 1px solid rgba(1,44,90,.1) !important;
    border-radius: 22px !important;
    background: var(--hhc-white) !important;
    box-shadow: 0 12px 34px rgba(1,44,90,.09) !important;
    isolation: isolate;
    transition: transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .28s ease, border-color .28s ease !important;
}

.hhc-team-photo,
.hhc-team-card.is-featured .hhc-team-photo {
    position: relative;
    width: 100%;
    min-height: 0 !important;
    aspect-ratio: 4 / 5.1 !important;
    overflow: hidden;
    background: linear-gradient(135deg, #dce7f0, #f4f7fa);
}

.hhc-team-photo img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .35s ease !important;
}

.hhc-team-photo-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(3,28,52,.94) 0%, rgba(3,28,52,.5) 40%, transparent 70%);
    pointer-events: none;
}

.hhc-team-featured-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 3;
    padding: 7px 10px;
    border-radius: 999px;
    background: var(--hhc-accent);
    color: var(--hhc-dark);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.hhc-team-index {
    z-index: 3 !important;
}

.hhc-team-style-overlay .hhc-team-card-body {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    min-height: 43%;
    padding: 24px 20px 19px !important;
    background: linear-gradient(to top, rgba(3,28,52,.98), rgba(3,28,52,.76) 70%, transparent);
    transform: translateY(0);
    transition: transform .32s ease, background .32s ease;
}

.hhc-team-style-overlay .hhc-role-label,
.hhc-team-style-overlay .hhc-team-card h3,
.hhc-team-style-overlay .hhc-employment,
.hhc-team-style-overlay .hhc-team-short-bio,
.hhc-team-style-overlay .hhc-team-open-button {
    color: var(--hhc-white) !important;
}

.hhc-team-style-overlay .hhc-role-label {
    margin-bottom: 6px;
    color: var(--hhc-accent) !important;
}

.hhc-team-style-overlay .hhc-team-card h3 {
    font-size: 22px !important;
}

.hhc-team-style-overlay .hhc-employment {
    margin-top: 5px !important;
    color: rgba(255,255,255,.78) !important;
}

.hhc-team-short-bio {
    display: -webkit-box;
    margin-top: 10px !important;
    overflow: hidden;
    color: var(--hhc-muted) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.hhc-team-style-overlay .hhc-team-short-bio {
    max-height: 0;
    margin-top: 0 !important;
    opacity: 0;
    transition: max-height .3s ease, margin .3s ease, opacity .3s ease;
}

.hhc-about-page button.hhc-team-open-button {
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;
    justify-content: center !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 39px !important;
    margin: 14px 0 0 !important;
    padding: 9px 12px !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.1) !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer;
    backdrop-filter: blur(8px);
    transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease !important;
}

.hhc-team-style-classic .hhc-team-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px !important;
}

.hhc-team-style-classic .hhc-team-open-button {
    margin-top: auto !important;
    border-color: rgba(1,44,90,.12) !important;
    background: rgba(1,44,90,.05) !important;
    color: var(--hhc-primary) !important;
}

.hhc-team-interactions-on .hhc-team-hover-green-glow .hhc-team-card:hover,
.hhc-team-interactions-on .hhc-team-hover-green-glow .hhc-team-card.is-tapped {
    border-color: rgba(139,211,70,.92) !important;
    box-shadow: 0 22px 50px rgba(1,44,90,.18), 0 0 0 3px rgba(139,211,70,.18) !important;
    transform: translateY(-7px) !important;
}

.hhc-team-interactions-on .hhc-team-hover-lift .hhc-team-card:hover,
.hhc-team-interactions-on .hhc-team-hover-lift .hhc-team-card.is-tapped {
    box-shadow: 0 22px 50px rgba(1,44,90,.17) !important;
    transform: translateY(-7px) !important;
}

.hhc-team-interactions-on .hhc-team-card:hover .hhc-team-photo img,
.hhc-team-interactions-on .hhc-team-card.is-tapped .hhc-team-photo img {
    transform: scale(1.045) !important;
}

.hhc-team-interactions-on .hhc-team-style-overlay .hhc-team-card:hover .hhc-team-short-bio,
.hhc-team-interactions-on .hhc-team-style-overlay .hhc-team-card.is-tapped .hhc-team-short-bio {
    max-height: 52px;
    margin-top: 9px !important;
    opacity: 1;
}

.hhc-team-interactions-on .hhc-team-style-overlay .hhc-team-card:hover .hhc-team-open-button,
.hhc-team-interactions-on .hhc-team-style-overlay .hhc-team-card.is-tapped .hhc-team-open-button {
    border-color: var(--hhc-accent) !important;
    background: var(--hhc-accent) !important;
    color: var(--hhc-dark) !important;
}

.hhc-team-mobile-hint,
.hhc-team-progress {
    display: none;
}

/* Modal remains a consistent size and is theme-proof. */
.hhc-team-modal-panel {
    width: min(1080px, 100%) !important;
    height: min(720px, calc(100vh - 56px)) !important;
}

.hhc-about-page button.hhc-modal-close {
    top: 18px !important;
    right: 18px !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    aspect-ratio: 1 / 1 !important;
}

/* ------------------------- Address checker ------------------------------ */
.hhc-service-shell {
    display: grid;
    grid-template-columns: minmax(390px, .88fr) minmax(0, 1.12fr);
    overflow: hidden;
    border: 1px solid rgba(1,44,90,.09);
    border-radius: calc(var(--hhc-radius) + 6px);
    background: var(--hhc-white);
    box-shadow: var(--hhc-shadow);
}

.hhc-service-map {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    padding: 32px;
    background:
        radial-gradient(circle at 50% 48%, rgba(139,211,70,.13), transparent 28%),
        linear-gradient(145deg, var(--hhc-dark), var(--hhc-primary));
    color: rgba(255,255,255,.82);
}

.hhc-service-map::before {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 34px 34px;
    content: "";
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.75), transparent 92%);
}

.hhc-service-map-head {
    position: relative;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 12px;
}

.hhc-service-map-head > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    background: var(--hhc-accent);
    color: var(--hhc-dark);
}

.hhc-service-map-head svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.hhc-service-map-head strong,
.hhc-service-map-head small { display: block; color: var(--hhc-white); }
.hhc-service-map-head strong { font-size: 18px; }
.hhc-service-map-head small { margin-top: 3px; color: rgba(255,255,255,.62); font-size: 12px; }

.hhc-service-map-art {
    position: absolute;
    inset: 72px 18px 18px;
    width: calc(100% - 36px);
    height: calc(100% - 90px);
    color: var(--hhc-accent);
}

.hhc-map-pulse {
    position: absolute;
    top: 51%;
    left: 50%;
    width: 32px;
    height: 32px;
    border: 2px solid var(--hhc-accent);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: hhc-map-pulse 2.5s ease-out infinite;
}

@keyframes hhc-map-pulse {
    0% { opacity: .8; transform: translate(-50%, -50%) scale(.7); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(3.8); }
}

.hhc-map-label {
    position: absolute;
    z-index: 3;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(4,29,53,.72);
    color: var(--hhc-white);
    font-size: 11px;
    font-weight: 800;
    backdrop-filter: blur(8px);
}

.hhc-map-label-1 { top: 44%; left: 42%; }
.hhc-map-label-2 { top: 30%; left: 16%; }
.hhc-map-label-3 { top: 32%; right: 10%; }
.hhc-map-label-4 { bottom: 24%; left: 24%; }
.hhc-map-label-5 { bottom: 17%; right: 15%; }
.hhc-map-label-6 { top: 18%; left: 48%; }

.hhc-service-checker {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(36px, 5vw, 68px);
}

.hhc-service-checker h2 {
    margin-bottom: 16px !important;
    font-size: calc(clamp(34px, 3.25vw, 50px) * var(--hhc-heading-scale)) !important;
}

.hhc-service-checker > p {
    max-width: 650px;
    font-size: 16px;
}

.hhc-address-checker-form {
    margin-top: 27px;
}

.hhc-address-checker-form label > span {
    display: block;
    margin-bottom: 9px;
    color: var(--hhc-dark);
    font-size: 13px;
    font-weight: 900;
}

.hhc-address-input-row {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 9px;
}

.hhc-address-input-icon {
    position: absolute;
    top: 50%;
    left: 15px;
    z-index: 2;
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    color: var(--hhc-primary);
    transform: translateY(-50%);
}

.hhc-address-input-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.hhc-address-input-row input {
    width: 100%;
    min-height: 56px;
    padding: 12px 15px 12px 46px;
    border: 1px solid rgba(1,44,90,.16);
    border-radius: 13px;
    outline: 0;
    background: var(--hhc-white);
    color: var(--hhc-dark);
    font: inherit;
    box-shadow: 0 9px 25px rgba(1,44,90,.06);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.hhc-address-input-row input:focus {
    border-color: var(--hhc-accent);
    box-shadow: 0 0 0 4px rgba(139,211,70,.18);
}

.hhc-address-input-row button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-width: 160px !important;
    min-height: 56px !important;
    padding: 12px 18px !important;
    border: 0 !important;
    border-radius: 13px !important;
    background: var(--hhc-accent) !important;
    color: var(--hhc-dark) !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(139,211,70,.22) !important;
}

.hhc-checker-note {
    display: block;
    margin-top: 9px;
    color: var(--hhc-muted);
    font-size: 11px;
}

.hhc-checker-result {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 15px;
    margin-top: 22px;
    padding: 20px;
    border: 1px solid rgba(139,211,70,.34);
    border-left: 5px solid var(--hhc-accent);
    border-radius: 16px;
    background: rgba(139,211,70,.09);
    animation: hhc-result-in .38s ease both;
}

.hhc-checker-result[hidden] { display: none !important; }
.hhc-checker-result.is-outside { border-color: rgba(1,44,90,.16); border-left-color: var(--hhc-primary); background: rgba(1,44,90,.055); }

@keyframes hhc-result-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: none; }
}

.hhc-checker-result-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    background: var(--hhc-accent);
    color: var(--hhc-dark);
}

.hhc-checker-result.is-outside .hhc-checker-result-icon { background: var(--hhc-primary); color: var(--hhc-white); }
.hhc-checker-result-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.3; }
.hhc-checker-result h3 { color: var(--hhc-dark) !important; font-size: 20px !important; }
.hhc-checker-result p { margin-top: 6px; font-size: 13px; }
.hhc-checker-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.hhc-checker-actions .hhc-button { min-height: 42px !important; padding: 10px 14px !important; font-size: 12px !important; }

.hhc-area-grid {
    gap: 7px !important;
    margin-top: 22px !important;
}

.hhc-area-grid > span {
    padding: 7px 10px !important;
    border: 1px solid rgba(1,44,90,.09) !important;
    border-radius: 999px !important;
    background: var(--hhc-light) !important;
    color: var(--hhc-primary) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

.hhc-service-fallback-card {
    margin-top: 24px;
    padding: 22px;
    border-radius: 16px;
    background: var(--hhc-light);
}
.hhc-service-fallback-card strong { color: var(--hhc-dark); }
.hhc-service-fallback-card p { margin: 6px 0 16px; }

/* ------------------------------ Brands --------------------------------- */
.hhc-brands-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 34px;
}

.hhc-brands-heading > div { max-width: 760px; }
.hhc-brands-heading h2 { margin-bottom: 13px !important; }
.hhc-brands-heading p { max-width: 680px; font-size: 16px; }

.hhc-logo-ribbon {
    position: relative;
    overflow: hidden;
    padding: 13px 0;
    mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}

.hhc-logo-track {
    display: flex;
    width: max-content;
    gap: 14px;
}

.hhc-logo-set {
    display: flex;
    gap: 14px;
}

.hhc-logo-ribbon.is-moving .hhc-logo-track {
    animation: hhc-logo-scroll var(--hhc-logo-speed, 28s) linear infinite;
}

.hhc-logo-ribbon.is-moving:hover .hhc-logo-track { animation-play-state: paused; }

@keyframes hhc-logo-scroll {
    to { transform: translateX(calc(-50% - 7px)); }
}

.hhc-logo-ribbon.is-static .hhc-logo-track,
.hhc-logo-ribbon.is-static .hhc-logo-set {
    width: 100%;
}

.hhc-logo-ribbon.is-static .hhc-logo-set {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.hhc-brand-card {
    display: grid !important;
    width: 190px !important;
    min-width: 190px !important;
    min-height: 108px !important;
    place-items: center !important;
    padding: 18px !important;
    border: 1px solid rgba(1,44,90,.09) !important;
    border-radius: 18px !important;
    background: var(--hhc-white) !important;
    box-shadow: 0 10px 26px rgba(1,44,90,.07) !important;
}

.hhc-brand-card img {
    max-width: 132px !important;
    max-height: 56px !important;
    object-fit: contain !important;
    filter: saturate(.96);
}

.hhc-brand-card:hover {
    border-color: rgba(139,211,70,.7) !important;
    box-shadow: 0 15px 34px rgba(1,44,90,.12), 0 0 0 3px rgba(139,211,70,.12) !important;
}

/* --------------------------- Compact CTA ------------------------------- */
.hhc-cta-shell {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(310px, .46fr) !important;
    min-height: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: calc(var(--hhc-radius) + 4px) !important;
    background:
        radial-gradient(circle at 88% 20%, rgba(139,211,70,.15), transparent 28%),
        linear-gradient(135deg, var(--hhc-gradient-start), var(--hhc-gradient-end)) !important;
    box-shadow: var(--hhc-shadow);
}

.hhc-cta-shell::before {
    position: absolute;
    right: -90px;
    bottom: -130px;
    width: 330px;
    height: 330px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 50%;
    content: "";
}

.hhc-cta-copy {
    padding: clamp(36px, 5vw, 58px) !important;
}

.hhc-cta-copy h2 {
    max-width: 700px;
    margin-bottom: 14px !important;
    font-size: calc(clamp(34px, 3.2vw, 49px) * var(--hhc-heading-scale)) !important;
}

.hhc-cta-copy > p { max-width: 660px !important; }

.hhc-cta-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 16px;
    margin-top: 22px;
}

.hhc-cta-trust span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255,255,255,.78);
    font-size: 12px;
    font-weight: 800;
}

.hhc-cta-trust i {
    display: grid;
    width: 21px;
    height: 21px;
    place-items: center;
    border-radius: 50%;
    background: rgba(139,211,70,.14);
    color: var(--hhc-accent);
}
.hhc-cta-trust svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 2.4; }

.hhc-cta-action-deck {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 22px;
    padding: 26px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 20px;
    background: rgba(255,255,255,.075);
    text-align: center;
    backdrop-filter: blur(12px);
}

.hhc-cta-avatar {
    width: 118px;
    height: 118px;
    overflow: hidden;
    border: 5px solid rgba(255,255,255,.2);
    border-radius: 50%;
    background: var(--hhc-white);
    box-shadow: 0 18px 38px rgba(0,0,0,.24);
}

.hhc-cta-avatar img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.hhc-cta-badge { display: block; max-width: 250px; margin-top: 15px; color: var(--hhc-white); font-size: 14px; }
.hhc-cta-buttons { display: grid; width: 100%; gap: 9px; margin-top: 20px; }
.hhc-cta-buttons .hhc-button { width: 100% !important; }

/* ----------------------------- Responsive ------------------------------- */
@media (max-width: 1100px) {
    .hhc-hero-grid {
        grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr) !important;
        gap: 38px !important;
    }

    .hhc-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .hhc-service-shell { grid-template-columns: minmax(340px, .82fr) minmax(0, 1.18fr); }
    .hhc-service-checker { padding: 42px; }
    .hhc-logo-ribbon.is-static .hhc-logo-set { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .hhc-hero-grid {
        grid-template-columns: 1fr !important;
    }

    .hhc-hero-copy {
        max-width: 760px !important;
        text-align: center;
        margin-inline: auto;
    }

    .hhc-hero-copy h1,
    .hhc-hero-copy > p { margin-inline: auto; }
    .hhc-hero-copy .hhc-button-row,
    .hhc-hero-proof { justify-content: center; }
    .hhc-hero-collage { width: min(100%, 680px); height: 570px !important; margin-inline: auto; }

    .hhc-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .hhc-service-shell { grid-template-columns: 1fr; }
    .hhc-service-map { min-height: 390px; }
    .hhc-service-map-art { inset: 60px 18px 5px; height: calc(100% - 65px); }
    .hhc-cta-shell { grid-template-columns: 1fr !important; }
    .hhc-cta-action-deck { flex-direction: row; gap: 22px; margin-top: 0; }
    .hhc-cta-buttons { max-width: 320px; margin-top: 0; }
}

@media (max-width: 767px) {
    .hhc-container { width: min(calc(100% - 28px), var(--hhc-max)); }

    .hhc-hero-copy h1 {
        font-size: calc(clamp(38px, 11.5vw, 50px) * var(--hhc-heading-scale)) !important;
    }

    .hhc-hero-copy > p { font-size: 16px !important; }
    .hhc-hero-collage { height: min(112vw, 500px) !important; min-height: 390px !important; }

    .hhc-collage-image,
    .hhc-collage-image-1,
    .hhc-collage-image-2,
    .hhc-collage-image-3,
    .hhc-collage-image-4 {
        top: var(--hhc-m-box-y) !important;
        left: var(--hhc-m-box-x) !important;
        width: var(--hhc-m-box-w) !important;
        height: var(--hhc-m-box-h) !important;
        border-width: 3px !important;
        border-radius: 18px !important;
    }

    .hhc-collage-badge {
        top: var(--hhc-m-badge-y) !important;
        left: var(--hhc-m-badge-x) !important;
        max-width: 176px !important;
        padding: 9px 11px !important;
    }

    .hhc-collage-badge > span { width: 28px; height: 28px; flex-basis: 28px; }
    .hhc-collage-badge strong { font-size: 12px; }
    .hhc-collage-badge small { font-size: 10px; }

    .hhc-team-mobile-hint {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin: -13px 0 18px;
        color: var(--hhc-primary);
        font-size: 12px;
        font-weight: 850;
    }
    .hhc-team-mobile-hint svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }

    .hhc-team-mobile-carousel .hhc-team-grid {
        display: flex !important;
        gap: 14px !important;
        width: auto;
        margin-right: -14px;
        padding: 3px 14px 18px 3px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-padding-left: 3px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .hhc-team-mobile-carousel .hhc-team-grid::-webkit-scrollbar { display: none; }

    .hhc-team-mobile-carousel .hhc-team-card {
        flex: 0 0 min(82vw, 330px);
        scroll-snap-align: start;
    }

    .hhc-team-mobile-carousel .hhc-team-progress {
        display: flex;
        justify-content: center;
        gap: 6px;
        margin-top: 7px;
    }

    .hhc-team-progress span {
        width: 7px;
        height: 7px;
        border-radius: 999px;
        background: rgba(1,44,90,.18);
        transition: width .2s ease, background .2s ease;
    }

    .hhc-team-progress span.is-active {
        width: 24px;
        background: var(--hhc-accent);
    }

    .hhc-team-mobile-grid .hhc-team-grid { grid-template-columns: 1fr !important; }

    .hhc-team-style-overlay .hhc-team-short-bio {
        max-height: 52px;
        margin-top: 9px !important;
        opacity: 1;
    }

    .hhc-service-map { min-height: 320px; padding: 22px; }
    .hhc-map-label { padding: 5px 8px; font-size: 9px; }
    .hhc-service-checker { padding: 30px 20px; }
    .hhc-service-checker h2 { font-size: calc(clamp(31px, 9.5vw, 42px) * var(--hhc-heading-scale)) !important; }
    .hhc-address-input-row { grid-template-columns: 1fr; }
    .hhc-address-input-row button { width: 100% !important; }
    .hhc-checker-result { grid-template-columns: 1fr; }
    .hhc-checker-actions { display: grid; }
    .hhc-checker-actions .hhc-button { width: 100% !important; }

    .hhc-brands-heading { align-items: flex-start; flex-direction: column; }
    .hhc-brand-card { width: 150px !important; min-width: 150px !important; min-height: 94px !important; }
    .hhc-logo-ribbon.is-static .hhc-logo-set { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hhc-logo-ribbon.is-static .hhc-brand-card { width: 100% !important; min-width: 0 !important; }

    .hhc-cta-copy { padding: 34px 22px !important; }
    .hhc-cta-action-deck { align-items: center; flex-direction: column; margin: 0 14px 14px; padding: 22px; }
    .hhc-cta-buttons { width: 100%; max-width: none; }
    .hhc-cta-avatar { width: 104px; height: 104px; }

    .hhc-parallax-mobile-off [data-hhc-parallax-item] { translate: none !important; }
}

@media (max-width: 480px) {
    .hhc-hero-proof { display: grid; grid-template-columns: 1fr; justify-items: center; }
    .hhc-hero-collage { height: 420px !important; }
    .hhc-collage-badge { max-width: 158px !important; }
    .hhc-map-label-6 { display: none; }
    .hhc-team-mobile-carousel .hhc-team-card { flex-basis: 86vw; }
}

@media (prefers-reduced-motion: reduce) {
    .hhc-about-page *,
    .hhc-about-page *::before,
    .hhc-about-page *::after {
        animation: none !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
    }

    .hhc-reveal,
    .hhc-collage-image,
    .hhc-collage-badge {
        opacity: 1 !important;
        transform: none !important;
    }

    [data-hhc-parallax-item] { translate: none !important; }
}
@media (max-width: 767px) {
    .hhc-address-input-icon { top: 28px !important; transform: translateY(-50%) !important; }
}


/* v4.0.3 — keep manufacturer logos truly centred on mobile.
   Some WordPress themes apply global img widths/margins that can shift the
   artwork inside the fixed-width marquee cards. These isolated rules reset
   those properties without changing the desktop layout. */
.hhc-about-page .hhc-brand-card {
    overflow: hidden !important;
}

.hhc-about-page .hhc-brand-card img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: auto !important;
    inset: auto !important;
    justify-self: center !important;
    align-self: center !important;
    object-position: 50% 50% !important;
    transform: none !important;
}

@media (max-width: 767px) {
    .hhc-about-page .hhc-logo-ribbon {
        padding-inline: 8px !important;
        /* A softer edge mask keeps the end cards readable without making
           the moving ribbon look abruptly clipped. */
        -webkit-mask-image: linear-gradient(90deg, transparent, #000 3.5%, #000 96.5%, transparent) !important;
        mask-image: linear-gradient(90deg, transparent, #000 3.5%, #000 96.5%, transparent) !important;
    }

    .hhc-about-page .hhc-brand-card {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        padding: 16px !important;
        text-align: center !important;
    }

    .hhc-about-page .hhc-brand-card img {
        max-width: min(118px, 100%) !important;
        max-height: 52px !important;
    }

    .hhc-about-page .hhc-logo-track,
    .hhc-about-page .hhc-logo-set {
        align-items: stretch !important;
    }
}

/* ========================================================================
   v4.0.4 — Team card visibility + Harry's green hover glow
   The profile copy now sits below the portrait instead of covering faces.
   ======================================================================== */
.hhc-about-page .hhc-team-style-overlay .hhc-team-card,
.hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured {
    height: var(--hhc-team-card-height, 468px) !important;
    min-height: var(--hhc-team-card-height, 468px) !important;
    max-height: var(--hhc-team-card-height, 468px) !important;
    background: linear-gradient(155deg, #083867 0%, #041f3b 100%) !important;
    border-color: rgba(255,255,255,.10) !important;
    box-shadow: 0 14px 36px rgba(1,44,90,.14) !important;
    transform: translateZ(0);
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-photo,
.hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured .hhc-team-photo {
    flex: 0 0 var(--hhc-team-photo-height, 63%) !important;
    width: 100% !important;
    height: var(--hhc-team-photo-height, 63%) !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-photo-shade {
    background: linear-gradient(to top, rgba(3,28,52,.28) 0%, rgba(3,28,52,.08) 18%, transparent 38%) !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-card-body,
.hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured .hhc-team-card-body {
    position: relative !important;
    inset: auto !important;
    z-index: 2 !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 16px 20px 18px !important;
    overflow: hidden !important;
    background: linear-gradient(155deg, rgba(8,56,103,.99), rgba(4,31,59,.99)) !important;
    transform: none !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-role-label {
    margin-bottom: 4px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-card h3 {
    font-size: 20px !important;
    line-height: 1.08 !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-employment {
    margin-top: 4px !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-short-bio {
    display: -webkit-box !important;
    max-height: 36px !important;
    margin-top: 7px !important;
    overflow: hidden !important;
    opacity: .78 !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 11px !important;
    line-height: 1.42 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

.hhc-about-page .hhc-team-style-overlay button.hhc-team-open-button {
    margin-top: auto !important;
    padding: 9px 12px !important;
    min-height: 38px !important;
}

/* The glow applies to both mouse hover and the mobile tap state. */
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped {
    border-color: rgba(139,211,70,.98) !important;
    box-shadow:
        0 0 0 2px rgba(139,211,70,var(--hhc-team-glow-alpha, .51)),
        0 0 36px rgba(139,211,70,var(--hhc-team-glow-alpha, .51)),
        0 26px 58px rgba(1,44,90,.28) !important;
    transform: translateY(-6px) scale(1.006) !important;
}

.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover .hhc-team-photo img,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within .hhc-team-photo img,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped .hhc-team-photo img {
    transform: scale(1.035) !important;
    filter: saturate(1.04) contrast(1.02) !important;
}

.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover button.hhc-team-open-button,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within button.hhc-team-open-button,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped button.hhc-team-open-button {
    border-color: var(--hhc-accent) !important;
    background: var(--hhc-accent) !important;
    color: var(--hhc-dark) !important;
}

@media (max-width: 767px) {
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card,
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured {
        height: min(var(--hhc-team-card-height, 468px), 128vw) !important;
        min-height: min(var(--hhc-team-card-height, 468px), 128vw) !important;
        max-height: min(var(--hhc-team-card-height, 468px), 128vw) !important;
    }

    .hhc-about-page .hhc-team-style-overlay .hhc-team-card-body,
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured .hhc-team-card-body {
        padding: 15px 17px 17px !important;
    }
}

@media (hover: none) {
    .hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped {
        transform: translateY(-3px) scale(1.004) !important;
    }
}



/* ========================================================================
   v4.0.6 — Premium employee cards
   Removes the cramped dark panel and hard height cap. Cards now use a clean
   portrait + content layout, equal-height grid rows, fully visible buttons,
   and a deliberate Harry's green halo on hover/focus/mobile tap.
   ======================================================================== */
.hhc-about-page .hhc-team-grid {
    align-items: stretch !important;
    grid-auto-rows: 1fr !important;
    gap: clamp(20px, 2vw, 30px) !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-card,
.hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: var(--hhc-team-card-height, 468px) !important;
    max-height: none !important;
    overflow: hidden !important;
    border: 1px solid rgba(1,44,90,.13) !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 18px 45px rgba(1,44,90,.11) !important;
    isolation: isolate;
    transform: translateZ(0) !important;
    transition: border-color .28s ease, box-shadow .28s ease, transform .28s ease !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-card::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 4;
    height: 4px;
    content: "";
    background: linear-gradient(90deg, var(--hhc-accent), rgba(139,211,70,.22));
    opacity: .9;
    pointer-events: none;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured {
    border-color: rgba(139,211,70,.58) !important;
    box-shadow: 0 18px 46px rgba(1,44,90,.13), inset 0 0 0 1px rgba(139,211,70,.18) !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-photo,
.hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured .hhc-team-photo {
    position: relative !important;
    flex: 0 0 var(--hhc-team-photo-px, 295px) !important;
    width: 100% !important;
    height: var(--hhc-team-photo-px, 295px) !important;
    min-height: 240px !important;
    max-height: 360px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #eef4f8 !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-photo::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    height: 5px;
    content: "";
    background: linear-gradient(90deg, var(--hhc-accent), #b9f07f 48%, var(--hhc-accent));
    opacity: .9;
    pointer-events: none;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-photo img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    transition: transform .38s cubic-bezier(.2,.7,.2,1), filter .38s ease !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-photo-shade {
    display: none !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-index {
    top: 16px !important;
    left: 16px !important;
    z-index: 4 !important;
    width: 40px !important;
    height: 40px !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    background: rgba(1,44,90,.88) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(1,44,90,.22) !important;
    backdrop-filter: blur(10px);
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-featured-badge {
    top: 16px !important;
    right: 16px !important;
    z-index: 4 !important;
    padding: 9px 13px !important;
    border: 1px solid rgba(255,255,255,.6) !important;
    border-radius: 999px !important;
    background: var(--hhc-accent) !important;
    color: var(--hhc-dark) !important;
    box-shadow: 0 10px 22px rgba(35,91,0,.2) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-card-body,
.hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured .hhc-team-card-body {
    position: relative !important;
    inset: auto !important;
    z-index: 3 !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 22px 22px 24px !important;
    overflow: visible !important;
    background: #fff !important;
    color: var(--hhc-primary) !important;
    transform: none !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-role-label {
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;
    width: auto !important;
    margin: 0 0 10px !important;
    padding: 7px 10px !important;
    border: 1px solid rgba(139,211,70,.32) !important;
    border-radius: 999px !important;
    background: rgba(139,211,70,.12) !important;
    color: #397800 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    letter-spacing: .055em !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-card h3 {
    margin: 0 !important;
    color: var(--hhc-primary) !important;
    font-size: clamp(21px, 1.55vw, 25px) !important;
    font-weight: 850 !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-employment {
    margin: 7px 0 0 !important;
    color: #53687c !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.42 !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-short-bio {
    display: -webkit-box !important;
    min-height: 63px !important;
    max-height: none !important;
    margin: 13px 0 0 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    color: #64778a !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

.hhc-about-page .hhc-team-style-overlay button.hhc-team-open-button {
    appearance: none !important;
    position: relative !important;
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    align-self: stretch !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 46px !important;
    max-height: none !important;
    margin: 18px 0 0 !important;
    padding: 12px 15px !important;
    overflow: visible !important;
    border: 1px solid rgba(1,44,90,.16) !important;
    border-radius: 13px !important;
    background: var(--hhc-primary) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    transform: none !important;
    transition: background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease !important;
}

.hhc-about-page .hhc-team-style-overlay button.hhc-team-open-button span {
    display: grid !important;
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    margin-left: 12px !important;
    border-radius: 50% !important;
    place-items: center !important;
    background: rgba(255,255,255,.12) !important;
    color: inherit !important;
    line-height: 1 !important;
}

.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped {
    z-index: 3 !important;
    border-color: rgba(139,211,70,.98) !important;
    box-shadow:
        0 0 0 2px rgba(139,211,70,.68),
        0 0 30px rgba(139,211,70,var(--hhc-team-glow-alpha, .48)),
        0 28px 58px rgba(1,44,90,.18) !important;
    transform: translateY(-7px) !important;
}

.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover .hhc-team-photo img,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within .hhc-team-photo img,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped .hhc-team-photo img {
    transform: scale(1.028) !important;
    filter: saturate(1.04) contrast(1.02) !important;
}

.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover button.hhc-team-open-button,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within button.hhc-team-open-button,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped button.hhc-team-open-button {
    border-color: var(--hhc-accent) !important;
    background: var(--hhc-accent) !important;
    color: var(--hhc-dark) !important;
    box-shadow: 0 10px 22px rgba(139,211,70,.22) !important;
}

.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover button.hhc-team-open-button span,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within button.hhc-team-open-button span,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped button.hhc-team-open-button span {
    background: rgba(1,44,90,.12) !important;
}

@media (max-width: 1024px) {
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card,
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured {
        min-height: 500px !important;
    }
}

@media (max-width: 767px) {
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card,
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured {
        height: auto !important;
        min-height: 520px !important;
        max-height: none !important;
    }

    .hhc-about-page .hhc-team-style-overlay .hhc-team-photo,
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured .hhc-team-photo {
        flex-basis: min(var(--hhc-team-photo-px, 295px), 82vw) !important;
        height: min(var(--hhc-team-photo-px, 295px), 82vw) !important;
        min-height: 270px !important;
        max-height: 340px !important;
    }

    .hhc-about-page .hhc-team-style-overlay .hhc-team-card-body,
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured .hhc-team-card-body {
        padding: 20px 19px 23px !important;
    }

    .hhc-about-page .hhc-team-style-overlay .hhc-team-short-bio {
        min-height: 60px !important;
        -webkit-line-clamp: 3 !important;
    }

    .hhc-about-page .hhc-team-style-overlay button.hhc-team-open-button {
        min-height: 48px !important;
        margin-top: 17px !important;
    }
}

@media (hover: none) {
    .hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped {
        transform: translateY(-3px) !important;
    }
}

@media (min-width: 768px) {
    .hhc-about-page .hhc-team-grid {
        margin: -10px -8px -24px !important;
        padding: 10px 8px 24px !important;
    }
}

/* ========================================================================
   v4.0.7 — Restored navy employee cards
   Returns to the dark Harry's card style while keeping the portrait clear,
   the bio button fully visible, equal-height rows, and a vivid green edge
   glow on hover, keyboard focus, and mobile tap.
   ======================================================================== */
.hhc-about-page .hhc-team-grid {
    align-items: stretch !important;
    grid-auto-rows: 1fr !important;
    gap: clamp(20px, 2vw, 28px) !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-card,
.hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: max(var(--hhc-team-card-height, 468px), 520px) !important;
    max-height: none !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 24px !important;
    background: linear-gradient(155deg, #083867 0%, #041f3b 100%) !important;
    box-shadow: 0 18px 42px rgba(1,44,90,.16) !important;
    isolation: isolate !important;
    transform: translateZ(0) !important;
    transition: border-color .28s ease, box-shadow .28s ease, transform .28s ease !important;
}

/* Remove the white-card underline from v4.0.6; the green edge is interactive. */
.hhc-about-page .hhc-team-style-overlay .hhc-team-card::after {
    position: absolute !important;
    inset: 0 !important;
    z-index: 7 !important;
    height: auto !important;
    border: 0 solid transparent !important;
    border-radius: inherit !important;
    background: transparent !important;
    box-shadow: inset 0 0 0 0 rgba(139,211,70,0) !important;
    opacity: 1 !important;
    content: "" !important;
    pointer-events: none !important;
    transition: box-shadow .28s ease, border-color .28s ease !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured {
    border-color: rgba(139,211,70,.48) !important;
    box-shadow: 0 18px 44px rgba(1,44,90,.18), inset 0 0 0 1px rgba(139,211,70,.12) !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-photo,
.hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured .hhc-team-photo {
    position: relative !important;
    flex: 0 0 var(--hhc-team-photo-px, 292px) !important;
    width: 100% !important;
    height: var(--hhc-team-photo-px, 292px) !important;
    min-height: 255px !important;
    max-height: 340px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #dfe8ef !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-photo::after {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 3 !important;
    height: 3px !important;
    background: linear-gradient(90deg, rgba(139,211,70,.22), var(--hhc-accent), rgba(139,211,70,.22)) !important;
    opacity: .8 !important;
    content: "" !important;
    pointer-events: none !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-photo img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    transition: transform .38s cubic-bezier(.2,.7,.2,1), filter .38s ease !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-photo-shade {
    display: block !important;
    background: linear-gradient(to top, rgba(3,28,52,.20) 0%, rgba(3,28,52,.05) 18%, transparent 42%) !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-index {
    top: 15px !important;
    left: 15px !important;
    z-index: 5 !important;
    width: 40px !important;
    height: 40px !important;
    border: 1px solid rgba(255,255,255,.62) !important;
    background: rgba(1,44,90,.88) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(1,44,90,.24) !important;
    backdrop-filter: blur(10px) !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-featured-badge {
    top: 15px !important;
    right: 15px !important;
    z-index: 5 !important;
    padding: 9px 13px !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    border-radius: 999px !important;
    background: var(--hhc-accent) !important;
    color: var(--hhc-dark) !important;
    box-shadow: 0 10px 22px rgba(35,91,0,.22) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-card-body,
.hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured .hhc-team-card-body {
    position: relative !important;
    inset: auto !important;
    z-index: 4 !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 225px !important;
    padding: 20px 21px 22px !important;
    overflow: visible !important;
    background: linear-gradient(155deg, rgba(8,56,103,.99), rgba(4,31,59,.995)) !important;
    color: #fff !important;
    transform: none !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-role-label {
    display: block !important;
    width: auto !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--hhc-accent) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    letter-spacing: .055em !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-card h3 {
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(20px, 1.4vw, 23px) !important;
    font-weight: 850 !important;
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-employment {
    margin: 6px 0 0 !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 11.5px !important;
    font-weight: 750 !important;
    line-height: 1.38 !important;
}

.hhc-about-page .hhc-team-style-overlay .hhc-team-short-bio {
    display: -webkit-box !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 10px 0 0 !important;
    overflow: hidden !important;
    opacity: .84 !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

.hhc-about-page .hhc-team-style-overlay button.hhc-team-open-button {
    appearance: none !important;
    position: relative !important;
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    align-self: stretch !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 44px !important;
    max-height: none !important;
    margin: auto 0 0 !important;
    padding: 11px 13px !important;
    overflow: visible !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 12.5px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    backdrop-filter: blur(8px) !important;
    transform: none !important;
    transition: background .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease !important;
}

.hhc-about-page .hhc-team-style-overlay button.hhc-team-open-button span {
    display: grid !important;
    flex: 0 0 27px !important;
    width: 27px !important;
    height: 27px !important;
    margin-left: 10px !important;
    border-radius: 50% !important;
    place-items: center !important;
    background: rgba(255,255,255,.10) !important;
    color: inherit !important;
    line-height: 1 !important;
}

.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped {
    z-index: 3 !important;
    border-color: var(--hhc-accent) !important;
    box-shadow:
        0 0 0 var(--hhc-team-glow-edge, 1px) rgba(139,211,70,.82),
        0 0 var(--hhc-team-glow-size, 18px) rgba(139,211,70,var(--hhc-team-glow-alpha, .48)),
        0 28px 58px rgba(1,44,90,.26) !important;
    transform: translateY(-6px) !important;
}

.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover::after,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within::after,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped::after {
    box-shadow: inset 0 0 calc(var(--hhc-team-glow-size, 18px) * .7) rgba(139,211,70,.10) !important;
}

.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover .hhc-team-photo img,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within .hhc-team-photo img,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped .hhc-team-photo img {
    transform: scale(1.028) !important;
    filter: saturate(1.04) contrast(1.02) !important;
}

.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover button.hhc-team-open-button,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within button.hhc-team-open-button,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped button.hhc-team-open-button {
    border-color: var(--hhc-accent) !important;
    background: var(--hhc-accent) !important;
    color: var(--hhc-dark) !important;
    box-shadow: 0 10px 24px rgba(139,211,70,.24) !important;
}

.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover button.hhc-team-open-button span,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within button.hhc-team-open-button span,
.hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped button.hhc-team-open-button span {
    background: rgba(1,44,90,.12) !important;
}

@media (max-width: 1024px) {
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card,
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured {
        min-height: 520px !important;
    }
}

@media (max-width: 767px) {
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card,
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured {
        height: auto !important;
        min-height: 535px !important;
        max-height: none !important;
    }

    .hhc-about-page .hhc-team-style-overlay .hhc-team-photo,
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured .hhc-team-photo {
        flex-basis: min(var(--hhc-team-photo-px, 292px), 82vw) !important;
        height: min(var(--hhc-team-photo-px, 292px), 82vw) !important;
        min-height: 270px !important;
        max-height: 340px !important;
    }

    .hhc-about-page .hhc-team-style-overlay .hhc-team-card-body,
    .hhc-about-page .hhc-team-style-overlay .hhc-team-card.is-featured .hhc-team-card-body {
        min-height: 235px !important;
        padding: 19px 18px 21px !important;
    }

    .hhc-about-page .hhc-team-style-overlay .hhc-team-short-bio {
        min-height: 54px !important;
        max-height: 54px !important;
        -webkit-line-clamp: 3 !important;
    }
}

@media (hover: none) {
    .hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped {
        transform: translateY(-3px) !important;
    }
}


/* ========================================================================
   v4.0.8 — Adjustable employee-card green edge
   The edge line and surrounding halo now use separate admin-controlled sizes.
   ======================================================================== */
.hhc-about-page .hhc-team-grid {
    --hhc-team-glow-edge: 1px;
    --hhc-team-glow-size: 18px;
}

/* ========================================================================
   v4.0.9 — Mobile team-card tap clipping fix
   Touch interactions keep the green glow/button state without physically
   lifting the card beyond the horizontal carousel's clipping boundary.
   ======================================================================== */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
    .hhc-about-page .hhc-team-mobile-carousel .hhc-team-grid {
        padding-top: 14px !important;
        padding-bottom: 24px !important;
        overflow-y: hidden !important;
        scroll-padding-top: 14px !important;
    }

    .hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover,
    .hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within,
    .hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped {
        transform: none !important;
    }
}

/* ========================================================================
   v4.0.10 — Consistent employee image interaction
   Each portrait keeps its admin-set zoom. Desktop hover adds the same small
   relative zoom to every image; touch/tap never changes image depth.
   ======================================================================== */
.hhc-about-page .hhc-team-photo img {
    transform: scale(var(--hhc-team-base-scale, 1)) !important;
}

@media (hover: hover) and (pointer: fine) {
    .hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover .hhc-team-photo img,
    .hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within .hhc-team-photo img {
        transform: scale(var(--hhc-team-hover-scale, 1.028)) !important;
    }
}

@media (hover: none), (pointer: coarse), (max-width: 767px) {
    .hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:hover .hhc-team-photo img,
    .hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card:focus-within .hhc-team-photo img,
    .hhc-about-page.hhc-team-interactions-on .hhc-team-section:not(.hhc-team-hover-none) .hhc-team-card.is-tapped .hhc-team-photo img {
        transform: scale(var(--hhc-team-base-scale, 1)) !important;
        filter: none !important;
    }
}

/* ========================================================================
   v4.1.0 — Google address autocomplete and exact-address verification
   ======================================================================== */
.hhc-google-map-stage{position:absolute;inset:76px 0 0;overflow:hidden}
.hhc-google-map-canvas,.hhc-map-fallback{position:absolute;inset:0;width:100%;height:100%}
.hhc-google-map-canvas[hidden],.hhc-map-fallback[hidden],.hhc-google-map-pin[hidden]{display:none!important}
.hhc-map-fallback{overflow:hidden}
.hhc-google-map-stage .hhc-service-map-art{inset:0;width:100%;height:100%}
.hhc-google-map-stage .hhc-map-labels{position:absolute;inset:0}
.hhc-google-map-pin{position:absolute;z-index:5;top:50%;left:50%;display:grid;width:48px;height:48px;place-items:center;border:4px solid var(--hhc-white);border-radius:50% 50% 50% 8px;background:var(--hhc-accent);color:var(--hhc-dark);box-shadow:0 12px 30px rgba(1,44,90,.32);transform:translate(-50%,-100%) rotate(-45deg);pointer-events:none}
.hhc-google-map-pin svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;transform:rotate(45deg)}
.hhc-map-start-message{position:absolute;z-index:4;right:24px;bottom:24px;left:24px;display:grid;grid-template-columns:46px 1fr;gap:2px 12px;padding:16px;border:1px solid rgba(255,255,255,.15);border-radius:15px;background:rgba(4,29,53,.78);box-shadow:0 14px 32px rgba(0,0,0,.18);backdrop-filter:blur(12px)}
.hhc-map-start-message>span{grid-row:1/3;display:grid;width:46px;height:46px;place-items:center;border-radius:13px;background:var(--hhc-accent);color:var(--hhc-dark)}
.hhc-map-start-message svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9}
.hhc-map-start-message strong{align-self:end;color:var(--hhc-white);font-size:14px}.hhc-map-start-message small{color:rgba(255,255,255,.68);font-size:11px}
.hhc-address-checker-label{display:block;margin-bottom:9px}.hhc-address-checker-label>span{margin:0!important}
.hhc-google-autocomplete-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:9px;overflow:visible}
.hhc-google-autocomplete-host{position:relative;z-index:20;display:flex;align-items:center;min-width:0;min-height:58px;border:1px solid rgba(1,44,90,.16);border-radius:13px;background:var(--hhc-white);box-shadow:0 9px 25px rgba(1,44,90,.06);transition:border-color .2s ease,box-shadow .2s ease}
.hhc-google-autocomplete-host:focus-within{border-color:var(--hhc-accent);box-shadow:0 0 0 4px rgba(139,211,70,.18)}
.hhc-google-autocomplete-host.is-configuration-missing{border-color:rgba(177,66,66,.35);background:#fff8f8}
.hhc-google-loading-placeholder{display:flex;align-items:center;min-height:56px;padding:0 16px;color:var(--hhc-muted);font-size:13px}
.hhc-google-place-autocomplete,gmp-place-autocomplete{display:block;width:100%;min-width:0;min-height:56px;border:0!important;border-radius:13px;color-scheme:light;font:inherit}
/* Google renders its own input inside shadow DOM. Strip its default blue
   outline/border so the visitor sees one field, with the HHC green focus ring. */
.hhc-google-place-autocomplete::part(input),gmp-place-autocomplete::part(input){min-height:56px!important;padding-top:0!important;padding-bottom:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;font:inherit!important;color:var(--hhc-dark)!important}
.hhc-google-place-autocomplete::part(focus-ring),gmp-place-autocomplete::part(focus-ring){border:0!important;outline:0!important;box-shadow:none!important}
.hhc-about-page button.hhc-address-submit{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-width:170px!important;min-height:58px!important;margin:0!important;padding:12px 18px!important;border:0!important;border-radius:13px!important;background:var(--hhc-accent)!important;color:var(--hhc-dark)!important;font:inherit!important;font-size:14px!important;font-weight:900!important;line-height:1.1!important;cursor:pointer!important;box-shadow:0 12px 28px rgba(139,211,70,.22)!important;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}
.hhc-about-page button.hhc-address-submit:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(139,211,70,.3)!important}
.hhc-about-page button.hhc-address-submit:disabled{opacity:.68;cursor:wait!important;transform:none!important}
.hhc-selected-address-preview{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:11px;padding:11px 12px;border:1px solid rgba(139,211,70,.42);border-radius:12px;background:rgba(139,211,70,.08)}
.hhc-selected-address-preview[hidden]{display:none!important}.hhc-selected-address-preview>span{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--hhc-accent);color:var(--hhc-dark)}
.hhc-selected-address-preview svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2}.hhc-selected-address-preview strong{min-width:0;color:var(--hhc-dark);font-size:12px;line-height:1.4}
.hhc-about-page .hhc-selected-address-preview button{min-width:0!important;min-height:34px!important;margin:0!important;padding:7px 10px!important;border:1px solid rgba(1,44,90,.14)!important;border-radius:9px!important;background:var(--hhc-white)!important;color:var(--hhc-primary)!important;font-size:11px!important;font-weight:900!important;box-shadow:none!important}
.hhc-address-confirm{display:grid;grid-template-columns:auto 1fr;gap:15px;margin-top:22px;padding:20px;border:1px solid rgba(139,211,70,.34);border-left:5px solid var(--hhc-accent);border-radius:16px;background:rgba(139,211,70,.09);animation:hhc-result-in .38s ease both}
.hhc-address-confirm[hidden]{display:none!important}.hhc-address-confirm-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:var(--hhc-accent);color:var(--hhc-dark)}
.hhc-address-confirm-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}.hhc-address-confirm h3{color:var(--hhc-dark)!important;font-size:20px!important}.hhc-address-confirm p{margin-top:6px;font-size:13px}.hhc-address-confirm [data-hhc-confirm-address-text]{display:block;margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--hhc-white);color:var(--hhc-primary);font-size:13px;line-height:1.45}
.hhc-address-confirm .hhc-button{appearance:none;cursor:pointer}
.hhc-checker-result.is-outside .hhc-checker-result-icon svg{transform:rotate(45deg)}
@media(max-width:767px){.hhc-google-autocomplete-row{grid-template-columns:1fr}.hhc-about-page button.hhc-address-submit{width:100%!important;min-width:0!important}.hhc-google-map-stage{inset:72px 0 0}.hhc-map-start-message{right:16px;bottom:16px;left:16px}.hhc-selected-address-preview{grid-template-columns:auto 1fr}.hhc-selected-address-preview button{grid-column:2;justify-self:start}.hhc-address-confirm{grid-template-columns:1fr}.hhc-address-confirm-icon{width:38px;height:38px}}
.hhc-service-shell.is-google-checker{overflow:visible}
.hhc-service-shell.is-google-checker .hhc-service-map{border-radius:calc(var(--hhc-radius) + 5px) 0 0 calc(var(--hhc-radius) + 5px)}
.hhc-service-shell.is-google-checker .hhc-service-checker{border-radius:0 calc(var(--hhc-radius) + 5px) calc(var(--hhc-radius) + 5px) 0;background:var(--hhc-white)}
@media(max-width:920px){.hhc-service-shell.is-google-checker .hhc-service-map{border-radius:calc(var(--hhc-radius) + 5px) calc(var(--hhc-radius) + 5px) 0 0}.hhc-service-shell.is-google-checker .hhc-service-checker{border-radius:0 0 calc(var(--hhc-radius) + 5px) calc(var(--hhc-radius) + 5px)}}

/* ========================================================================
   v4.1.2 — Custom Places API (New) address suggestions
   Replaces the Google shadow-DOM widget with a stable, theme-safe field.
   ======================================================================== */
.hhc-google-autocomplete-host{
    overflow:visible!important;
    padding:0!important;
}
.hhc-google-search-icon{
    position:absolute;
    top:50%;
    left:17px;
    z-index:3;
    display:grid;
    width:23px;
    height:23px;
    place-items:center;
    color:var(--hhc-primary);
    transform:translateY(-50%);
    pointer-events:none;
}
.hhc-google-search-icon svg,
.hhc-google-suggestion-pin svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.hhc-google-address-input{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:56px!important;
    margin:0!important;
    padding:12px 50px 12px 52px!important;
    border:0!important;
    border-radius:13px!important;
    outline:0!important;
    background:transparent!important;
    color:var(--hhc-dark)!important;
    font:inherit!important;
    font-size:16px!important;
    line-height:1.35!important;
    box-shadow:none!important;
    appearance:none!important;
}
.hhc-google-address-input::placeholder{color:rgba(83,105,128,.82)!important;opacity:1!important}
.hhc-about-page button.hhc-google-clear-input{
    position:absolute!important;
    top:50%!important;
    right:13px!important;
    z-index:5!important;
    display:grid!important;
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    margin:0!important;
    padding:0!important;
    place-items:center!important;
    border:2px solid rgba(1,44,90,.8)!important;
    border-radius:50%!important;
    background:var(--hhc-white)!important;
    color:var(--hhc-dark)!important;
    font:700 23px/1 Arial,sans-serif!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transform:translateY(-50%)!important;
}
.hhc-about-page button.hhc-google-clear-input:hover,
.hhc-about-page button.hhc-google-clear-input:focus-visible{
    border-color:var(--hhc-accent)!important;
    background:rgba(139,211,70,.14)!important;
    outline:0!important;
}
.hhc-about-page button.hhc-google-clear-input[hidden]{display:none!important}
.hhc-google-autocomplete-host.is-loading:after{
    content:"";
    position:absolute;
    top:50%;
    right:18px;
    z-index:6;
    width:18px;
    height:18px;
    margin-top:-9px;
    border:2px solid rgba(1,44,90,.18);
    border-top-color:var(--hhc-accent);
    border-radius:50%;
    animation:hhc-google-spin .75s linear infinite;
}
.hhc-google-autocomplete-host.is-loading .hhc-google-clear-input{visibility:hidden!important}
@keyframes hhc-google-spin{to{transform:rotate(360deg)}}
.hhc-google-suggestions{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    left:0;
    z-index:99999;
    overflow:hidden;
    max-height:min(390px,52vh);
    padding:7px;
    border:1px solid rgba(1,44,90,.16);
    border-radius:15px;
    background:var(--hhc-white);
    box-shadow:0 24px 58px rgba(1,44,90,.24);
    overflow-y:auto;
    overscroll-behavior:contain;
}
.hhc-google-suggestions[hidden]{display:none!important}
.hhc-about-page button.hhc-google-suggestion{
    display:grid!important;
    grid-template-columns:36px minmax(0,1fr)!important;
    gap:11px!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:11px 12px!important;
    align-items:center!important;
    border:0!important;
    border-radius:11px!important;
    background:transparent!important;
    color:var(--hhc-dark)!important;
    text-align:left!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transform:none!important;
}
.hhc-about-page button.hhc-google-suggestion:hover,
.hhc-about-page button.hhc-google-suggestion:focus-visible,
.hhc-about-page button.hhc-google-suggestion.is-active{
    background:rgba(139,211,70,.14)!important;
    outline:0!important;
    box-shadow:inset 0 0 0 1px rgba(139,211,70,.38)!important;
}
.hhc-google-suggestion-pin{
    display:grid;
    width:34px;
    height:34px;
    padding:8px;
    place-items:center;
    border-radius:10px;
    background:rgba(1,44,90,.07);
    color:var(--hhc-primary);
}
.hhc-google-suggestion-copy{display:block;min-width:0}
.hhc-google-suggestion-copy strong,
.hhc-google-suggestion-copy small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.hhc-google-suggestion-copy strong{color:var(--hhc-dark);font-size:14px;line-height:1.35}
.hhc-google-suggestion-copy small{margin-top:2px;color:var(--hhc-muted);font-size:12px;line-height:1.35}
.hhc-google-suggestion-empty{padding:14px;color:var(--hhc-muted);font-size:13px;line-height:1.5}
.hhc-google-attribution{
    margin:5px 5px 1px;
    padding:8px 9px 3px;
    border-top:1px solid rgba(1,44,90,.09);
    color:#5e5e5e;
    font:600 11px/1.3 Roboto,Arial,sans-serif;
    text-align:right;
    white-space:nowrap;
}
.hhc-google-autocomplete-status{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
.hhc-google-autocomplete-host.has-api-error{
    border-color:rgba(190,45,45,.5)!important;
    background:#fff9f9!important;
}
.hhc-google-autocomplete-host.has-api-error .hhc-google-autocomplete-status{
    top:calc(100% + 8px)!important;
    right:0!important;
    left:0!important;
    z-index:99998!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:11px 13px!important;
    overflow:visible!important;
    clip:auto!important;
    white-space:normal!important;
    border:1px solid rgba(190,45,45,.22)!important;
    border-radius:11px!important;
    background:#fff3f3!important;
    color:#8f2424!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1.45!important;
    box-shadow:0 12px 28px rgba(90,20,20,.12)!important;
}
@media(max-width:767px){
    .hhc-google-address-input{font-size:16px!important;padding-left:48px!important}
    .hhc-google-suggestions{right:-1px;left:-1px;max-height:48vh;border-radius:13px}
    .hhc-about-page button.hhc-google-suggestion{padding:12px 10px!important}
    .hhc-google-suggestion-copy strong{font-size:13px}
    .hhc-google-suggestion-copy small{font-size:11px}
}

/* 4.1.4 — polished post-verification states */
.hhc-service-section .hhc-checker-result {
    position: relative;
    isolation: isolate;
    align-items: start;
    gap: 16px;
    margin-top: 18px;
    padding: 20px 22px;
    overflow: hidden;
    border-width: 1px;
    border-left-width: 4px;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(1,44,90,.08);
}
.hhc-service-section .hhc-checker-result::after {
    position: absolute;
    right: -34px;
    bottom: -48px;
    z-index: -1;
    width: 150px;
    height: 150px;
    border: 24px solid currentColor;
    border-radius: 50%;
    opacity: .035;
    content: "";
}
.hhc-service-section .hhc-checker-result.is-success {
    border-color: rgba(139,211,70,.5);
    border-left-color: var(--hhc-accent);
    background: linear-gradient(135deg, rgba(139,211,70,.15), rgba(139,211,70,.055));
    color: var(--hhc-accent);
}
.hhc-service-section .hhc-checker-result.is-outside {
    border-color: rgba(1,44,90,.16);
    border-left-color: var(--hhc-primary);
    background: linear-gradient(135deg, rgba(1,44,90,.075), rgba(1,44,90,.035));
    color: var(--hhc-primary);
}
.hhc-service-section .hhc-checker-result.is-error {
    border-color: rgba(190,52,52,.2);
    border-left-color: #be3434;
    background: linear-gradient(135deg, rgba(190,52,52,.07), rgba(190,52,52,.025));
    color: #be3434;
}
.hhc-service-section .hhc-checker-result.is-error .hhc-checker-result-icon {
    background: #be3434;
    color: #fff;
}
.hhc-service-section .hhc-checker-result.is-success .hhc-checker-result-icon {
    background: var(--hhc-accent);
    color: var(--hhc-dark);
    box-shadow: 0 8px 20px rgba(139,211,70,.25);
}
.hhc-service-section .hhc-checker-result h3 {
    margin: 0 !important;
    font-size: 21px !important;
    line-height: 1.2 !important;
}
.hhc-service-section .hhc-checker-result p {
    max-width: 660px;
    margin: 7px 0 0 !important;
    color: var(--hhc-muted) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}
.hhc-service-section .hhc-checker-result .hhc-checker-actions {
    margin-top: 15px;
}
.hhc-service-section .hhc-checker-result .hhc-button {
    min-width: 150px !important;
    justify-content: center !important;
}
.hhc-service-section.hhc-address-state-active .hhc-selected-address-preview {
    margin-bottom: 2px;
    box-shadow: 0 8px 20px rgba(139,211,70,.09);
}
.hhc-service-section.hhc-address-state-success .hhc-selected-address-preview {
    border-color: rgba(139,211,70,.55);
    background: rgba(139,211,70,.11);
}
.hhc-service-section.hhc-address-state-error .hhc-selected-address-preview {
    border-color: rgba(1,44,90,.12);
    background: rgba(1,44,90,.025);
    box-shadow: none;
}
.hhc-service-section.hhc-address-state-active .hhc-google-map-canvas {
    animation: hhc-map-verified-in .45s ease both;
}
@keyframes hhc-map-verified-in {
    from { opacity: .72; transform: scale(1.012); }
    to { opacity: 1; transform: none; }
}
@media (max-width: 767px) {
    .hhc-service-section .hhc-checker-result {
        grid-template-columns: auto minmax(0,1fr);
        padding: 17px;
        border-radius: 15px;
    }
    .hhc-service-section .hhc-checker-result-icon {
        width: 38px;
        height: 38px;
        border-radius: 11px;
    }
    .hhc-service-section .hhc-checker-result h3 {
        font-size: 18px !important;
    }
    .hhc-service-section .hhc-checker-result .hhc-checker-actions {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }
    .hhc-service-section .hhc-checker-result .hhc-button {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* ========================================================================
   v4.1.6 — Edge-to-edge verified-address map
   The decorative navy map remains before selection. Once Google renders a
   real address, the live map fills the entire left grid panel with no navy
   bands above or below it. The panel still stretches with the form column.
   ======================================================================== */
.hhc-service-shell.is-google-checker .hhc-service-map {
    width: 100%;
    min-height: var(--hhc-google-map-height-desktop, 560px);
    align-self: stretch;
}

.hhc-service-section.hhc-map-is-live .hhc-service-map {
    padding: 0;
    background: #fff;
}

.hhc-service-section.hhc-map-is-live .hhc-service-map::before,
.hhc-service-section.hhc-map-is-live .hhc-service-map-head {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.hhc-service-section.hhc-map-is-live .hhc-google-map-stage {
    inset: 0;
    width: 100%;
    height: 100%;
}

.hhc-service-section.hhc-map-is-live .hhc-google-map-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

@media (max-width: 920px) {
    .hhc-service-shell.is-google-checker .hhc-service-map {
        min-height: var(--hhc-google-map-height-tablet, 460px);
    }
}

@media (max-width: 767px) {
    .hhc-service-shell.is-google-checker .hhc-service-map {
        min-height: var(--hhc-google-map-height-mobile, 360px);
    }
}



/* v4.1.9 — viewport-level biography modal portal.
 * The modal is moved to document.body when opened so transformed/parallax
 * sections, isolated stacking contexts, overflow clipping, and sticky headers
 * can never sit above or crop it. */
html.hhc-modal-open,
body.hhc-modal-open {
    overflow: hidden !important;
}

body > .hhc-team-modal[data-hhc-modal-portal="body"] {
    --hhc-primary: #012c5a;
    --hhc-accent: #8bd346;
    --hhc-dark: #082743;
    --hhc-text: #24374a;
    --hhc-muted: #677a8f;
    --hhc-light: #f3f7fb;
    --hhc-white: #fff;
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 16px !important;
    overflow: hidden !important;
    isolation: isolate !important;
    transform: none !important;
    filter: none !important;
    perspective: none !important;
    contain: none !important;
}

body > .hhc-team-modal[data-hhc-modal-portal="body"],
body > .hhc-team-modal[data-hhc-modal-portal="body"] * {
    box-sizing: border-box;
}

body > .hhc-team-modal[data-hhc-modal-portal="body"].is-open {
    display: grid !important;
    place-items: center !important;
}

body > .hhc-team-modal[data-hhc-modal-portal="body"] .hhc-team-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
}

body > .hhc-team-modal[data-hhc-modal-portal="body"] .hhc-team-modal-panel {
    position: relative !important;
    z-index: 1 !important;
    width: min(1080px, calc(100vw - 32px)) !important;
    height: min(720px, calc(100dvh - 32px)) !important;
    max-width: 1080px !important;
    max-height: calc(100dvh - 32px) !important;
    margin: 0 !important;
    transform: none !important;
}

body > .hhc-team-modal[data-hhc-modal-portal="body"] button.hhc-modal-close {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    z-index: 20 !important;
    display: grid !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--hhc-accent) !important;
    box-shadow: 0 8px 20px rgba(1, 44, 90, .18) !important;
    color: var(--hhc-dark) !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transform: none !important;
}

@media (max-width: 820px) {
    body > .hhc-team-modal[data-hhc-modal-portal="body"] {
        padding: 7px !important;
    }

    body > .hhc-team-modal[data-hhc-modal-portal="body"] .hhc-team-modal-panel {
        width: calc(100vw - 14px) !important;
        height: calc(100dvh - 14px) !important;
        max-height: calc(100dvh - 14px) !important;
        overflow: auto !important;
    }
}

@media (max-width: 650px) {
    body > .hhc-team-modal[data-hhc-modal-portal="body"] button.hhc-modal-close {
        top: 10px !important;
        right: 10px !important;
    }
}


/* ========================================================================
   v4.2.1 — Adjustable employee grid
   The administrator controls cards per row independently for desktop,
   tablet, and mobile grid layouts. Employee drag order determines each
   card's exact position from left to right, then top to bottom.
   ======================================================================== */
.hhc-about-page .hhc-team-grid {
    grid-template-columns: repeat(var(--hhc-team-cols-desktop, 3), minmax(0, 1fr)) !important;
}

@media (max-width: 1100px) {
    .hhc-about-page .hhc-team-grid {
        grid-template-columns: repeat(var(--hhc-team-cols-tablet, 2), minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .hhc-about-page .hhc-team-mobile-grid .hhc-team-grid {
        grid-template-columns: repeat(var(--hhc-team-cols-mobile, 1), minmax(0, 1fr)) !important;
    }

    /* The carousel remains one swipeable card at a time regardless of grid settings. */
    .hhc-about-page .hhc-team-mobile-carousel .hhc-team-grid {
        display: flex !important;
    }
}


@media (max-width: 767px) {
    .hhc-reviews-heading-row {
        gap: 18px;
        margin-bottom: 22px;
    }

    .hhc-review-proof {
        min-width: 0;
        width: 100%;
    }

    .hhc-review-shell.is-grid.hhc-review-mobile-1 .hhc-review-track { grid-template-columns: 1fr; }
    .hhc-review-shell.is-grid.hhc-review-mobile-2 .hhc-review-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hhc-review-shell.is-carousel.hhc-review-mobile-1 .hhc-review-track { grid-auto-columns: calc(92% - 1px); }
    .hhc-review-shell.is-carousel.hhc-review-mobile-2 .hhc-review-track { grid-auto-columns: calc((100% - 14px) / 2); gap: 14px; }

    .hhc-review-card {
        min-height: 0;
        padding: 22px !important;
    }

    .hhc-review-card:hover {
        transform: none;
    }

    .hhc-review-controls {
        justify-content: space-between;
    }
}


/* ========================================================================
   v4.2.4 — Mobile Google review carousel polish
   One complete review per screen, compact trust summary, centred controls,
   and no autoplay before the section is actually visible.
   ======================================================================== */
@media (max-width: 767px) {
    .hhc-testimonials-section {
        padding-top: 48px !important;
        padding-bottom: 56px !important;
    }

    .hhc-testimonials-section .hhc-container {
        width: min(calc(100% - 28px), var(--hhc-max));
    }

    .hhc-testimonials-section .hhc-reviews-heading-row {
        display: block;
        margin-bottom: 22px;
    }

    .hhc-testimonials-section .hhc-reviews-heading-row .hhc-section-heading {
        margin-bottom: 17px;
    }

    .hhc-testimonials-section .hhc-reviews-heading-row .hhc-section-heading p {
        font-size: 16px;
        line-height: 1.62;
    }

    .hhc-testimonials-section .hhc-review-proof {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        width: auto;
        min-width: 0;
        padding: 8px 12px;
        border-radius: 999px;
        background: rgba(255, 255, 255, .72);
        box-shadow: none;
    }

    .hhc-testimonials-section .hhc-review-proof strong,
    .hhc-testimonials-section .hhc-review-proof span {
        font-size: 11px;
        line-height: 1.2;
    }

    .hhc-testimonials-section .hhc-review-proof strong::after {
        margin-left: 7px;
        color: rgba(1, 44, 90, .28);
        content: "•";
    }

    .hhc-testimonials-section .hhc-review-shell {
        width: 100%;
        overflow: hidden;
    }

    .hhc-testimonials-section .hhc-review-shell.is-carousel .hhc-review-track,
    .hhc-testimonials-section .hhc-review-shell.is-carousel.hhc-review-mobile-1 .hhc-review-track,
    .hhc-testimonials-section .hhc-review-shell.is-carousel.hhc-review-mobile-2 .hhc-review-track {
        grid-auto-columns: 100% !important;
        gap: 0 !important;
        width: 100%;
        padding: 3px 0 8px;
        scroll-padding-inline: 0;
        touch-action: pan-x;
    }

    .hhc-testimonials-section .hhc-review-card {
        width: 100%;
        height: 380px;
        min-height: 380px;
        padding: 23px 21px !important;
        border-radius: 18px;
        box-shadow: 0 12px 28px rgba(1, 44, 90, .09);
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .hhc-testimonials-section .hhc-review-card-top {
        margin-bottom: 17px;
    }

    .hhc-testimonials-section .hhc-stars {
        font-size: 15px;
        letter-spacing: 1.5px;
    }

    .hhc-testimonials-section .hhc-review-card-top > span {
        padding: 6px 9px;
        font-size: 9px;
    }

    .hhc-testimonials-section .hhc-review-card > p {
        display: -webkit-box;
        flex: 0 1 auto;
        overflow: hidden;
        color: var(--hhc-text) !important;
        font-size: 16px;
        line-height: 1.62;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 8;
    }

    .hhc-testimonials-section .hhc-review-card footer {
        margin-top: auto;
        padding-top: 16px;
    }

    .hhc-testimonials-section .hhc-review-controls {
        display: grid;
        grid-template-columns: 46px auto 46px;
        align-items: center;
        justify-content: center;
        gap: 14px;
        margin-top: 16px;
    }

    .hhc-testimonials-section .hhc-review-controls [data-hhc-review-prev] {
        order: 1;
    }

    .hhc-testimonials-section .hhc-review-counter {
        order: 2;
        min-width: 74px;
        padding: 8px 12px;
        border: 1px solid rgba(1, 44, 90, .1);
        border-radius: 999px;
        background: rgba(255, 255, 255, .76);
        color: var(--hhc-primary);
        line-height: 1;
    }

    .hhc-testimonials-section .hhc-review-controls [data-hhc-review-next] {
        order: 3;
    }

    .hhc-testimonials-section .hhc-review-controls button {
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        box-shadow: 0 8px 18px rgba(1, 44, 90, .1);
    }
}

@media (max-width: 390px) {
    .hhc-testimonials-section .hhc-review-card {
        height: 396px;
        min-height: 396px;
        padding: 21px 19px !important;
    }

    .hhc-testimonials-section .hhc-review-card > p {
        font-size: 15px;
        -webkit-line-clamp: 9;
    }
}

/* ========================================================================
   v4.2.5 — Flat mobile review presentation
   Removes the nested-card/shadow-box look and prevents control shadows from
   being clipped by the carousel wrapper. Desktop and tablet stay unchanged.
   ======================================================================== */
@media (max-width: 767px) {
    .hhc-testimonials-section .hhc-review-shell {
        overflow: visible !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .hhc-testimonials-section .hhc-review-shell.is-carousel .hhc-review-track,
    .hhc-testimonials-section .hhc-review-shell.is-carousel.hhc-review-mobile-1 .hhc-review-track,
    .hhc-testimonials-section .hhc-review-shell.is-carousel.hhc-review-mobile-2 .hhc-review-track {
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .hhc-testimonials-section .hhc-review-card {
        height: 350px;
        min-height: 350px;
        padding: 22px 6px 14px !important;
        overflow: hidden;
        border: 0 !important;
        border-top: 2px solid rgba(139, 211, 70, .58) !important;
        border-bottom: 1px solid rgba(1, 44, 90, .10) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .hhc-testimonials-section .hhc-review-card:hover,
    .hhc-testimonials-section .hhc-review-card:focus-within {
        border-top-color: var(--hhc-accent) !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .hhc-testimonials-section .hhc-review-card > p {
        -webkit-line-clamp: 7;
    }

    .hhc-testimonials-section .hhc-review-card footer {
        margin-top: auto;
        padding-top: 16px;
        border-top-color: rgba(1, 44, 90, .10);
    }

    .hhc-testimonials-section .hhc-review-controls {
        overflow: visible !important;
        margin-top: 18px;
        padding: 0 0 6px;
        background: transparent !important;
        box-shadow: none !important;
    }

    .hhc-testimonials-section .hhc-review-counter {
        min-width: 70px;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .hhc-testimonials-section .hhc-review-controls button {
        border-color: rgba(1, 44, 90, .14) !important;
        background: rgba(255, 255, 255, .86) !important;
        box-shadow: none !important;
    }

    .hhc-testimonials-section .hhc-review-controls button:hover,
    .hhc-testimonials-section .hhc-review-controls button:focus-visible {
        border-color: var(--hhc-accent) !important;
        background: var(--hhc-accent) !important;
        box-shadow: none !important;
    }
}

@media (max-width: 390px) {
    .hhc-testimonials-section .hhc-review-card {
        height: 362px;
        min-height: 362px;
        padding: 20px 4px 13px !important;
    }

    .hhc-testimonials-section .hhc-review-card > p {
        -webkit-line-clamp: 8;
    }
}
