/* Veriton brand treatments, loaded after the inherited blueprint stylesheet. */
body { --veriton-mint: #f2f2f2; --veriton-charcoal: #1a1a1a; }
body h1, body h2, body h3, body h4, body .veriton-kicker,
body [class*="veriton-"], body .heading-1, body .heading-2 { letter-spacing: 0; }
body .veriton-kicker { color: var(--ocf-primary); font-size: 12px; }
body .btn-primary, body .btn-primary.veriton-button,
body #main-nav.veriton-nav .nav-cta, body #main-nav.veriton-nav .mobile-cta {
    background: var(--ocf-primary); border-color: var(--ocf-primary); color: #fff;
    border-radius: 2px; box-shadow: none; min-height: 48px;
}
body .btn-primary:hover, body .btn-primary.veriton-button:hover,
body #main-nav.veriton-nav .nav-cta:hover, body #main-nav.veriton-nav .mobile-cta:hover {
    background: var(--ocf-primary-hover); border-color: var(--ocf-primary-hover); color: #fff;
}
body a:focus-visible, body button:focus-visible { outline: 3px solid #b38b23; outline-offset: 4px; }
body .veriton-text-link { color: var(--ocf-primary); }
html body.home section#hero.veriton-hero { background: var(--ocf-bg-alt) !important; }
body .veriton-hero__layout { padding-block: 36px; gap: 48px; grid-template-columns: 1.12fr 1fr; }
body .veriton-hero__copy { padding: 0; }
body .veriton-hero__title { max-width: 19ch; margin-top: 20px; font-size: 52px; line-height: 1.1; color: var(--ocf-heading); text-wrap: pretty; }
body .veriton-hero__intro { margin-top: 20px; font-size: 17px; line-height: 1.6; color: var(--ocf-body); }
body .veriton-hero__actions { margin-top: 24px; }
body .veriton-hero__media { height: 480px; }
body .veriton-hero__media img { filter: none; }
.veriton-experience { margin: 12px 0 0; font-size: 14px; color: var(--ocf-heading); font-weight: 600; }
.veriton-google-proof { display: flex; width: fit-content; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 22px; color: var(--ocf-heading); font-size: 13px; text-decoration: none; }
.veriton-google-proof img, .veriton-google-summary img { flex: 0 0 auto; }
.veriton-google-proof__stars { color: #996b05; font-size: 17px; white-space: nowrap; }
body .veriton-reviews { padding-block: 28px; background: var(--veriton-charcoal); border: 0; color: #fff; }
body .veriton-reviews__inner { display: flex; justify-content: space-between; gap: 24px; align-items: center; }
body .veriton-reviews .veriton-kicker { color: #ddd; }
body .veriton-reviews__heading { margin: 8px 0 0; font-size: 26px; text-align: left; color: #fff; }
.veriton-google-summary { display: flex; align-items: center; gap: 20px; color: #fff; text-decoration: none; }
.veriton-google-summary__rating { display: grid; gap: 4px; }
.veriton-google-summary__rating strong { font-size: 32px; line-height: 1; }
.veriton-google-summary .veriton-google-proof__stars { color: #fbbc04; }
.veriton-google-summary__label { display: grid; gap: 5px; font-size: 15px; }
.veriton-google-summary__label > span { color: #ddd; text-decoration: underline; text-underline-offset: 4px; font-size: 13px; }
body .veriton-about { background: #fff; }
body .veriton-about__heading { font-size: 44px; color: var(--ocf-heading); max-width: 20ch; }
body .veriton-about__media img { filter: none; }
html body section.veriton-services--home, html body section.veriton-services--related { background: var(--veriton-mint) !important; }
body .veriton-services__header h2 { font-size: 44px; color: var(--ocf-heading); max-width: 22ch; }
body .veriton-services__name { font-size: 23px; color: var(--ocf-heading); }
body .veriton-services__item { border-color: #ccc; }
body .veriton-services__description, body .veriton-services__header > p { color: #505050; }
body .veriton-services__number, body .veriton-services__arrow { color: var(--ocf-primary); }
html body.home section#commitments.veriton-process { background: var(--veriton-charcoal) !important; }
body .veriton-process__heading { font-size: 44px; max-width: 22ch; }
body .veriton-process .veriton-kicker, body .veriton-process__number { color: #ddd; }
body .veriton-process__image img { filter: none; }
html body .ocf-page-header, html body .ocf-service-detail-hero { background: var(--ocf-bg-alt) !important; color: var(--ocf-heading); }
body .ocf-page-header::before, body .ocf-page-header::after,
body .ocf-service-detail-hero::before, body .ocf-service-detail-hero::after { background: none; opacity: 0; }
body .ocf-page-header__headline, body .ocf-service-detail-hero__title { color: var(--ocf-heading); font-size: 56px; }
body .ocf-page-header__eyebrow, body .ocf-service-detail-hero__breadcrumb,
body .ocf-service-detail-hero__breadcrumb a { color: var(--ocf-primary); }
body .ocf-service-detail-hero__intro { color: var(--ocf-body); }
body .ocf-detail-aside { background: var(--ocf-bg-alt); border-color: var(--ocf-border); border-top: 3px solid var(--ocf-primary); }
body .ocf-detail-sticky-heading { color: var(--ocf-heading); font-size: 24px; }
body .ocf-detail-sticky-desc, body .ocf-detail-sticky-phone { color: var(--ocf-body); }
body .ocf-detail-content .prose h2 { padding-top: 8px; color: var(--ocf-heading); font-size: 32px; }
body .ocf-detail-content .prose h3 { color: var(--ocf-heading); font-size: 23px; }
body .prose a[href^="tel:"], body .prose a[href^="mailto:"] { color: var(--ocf-primary); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.veriton-coverage-cta { margin-top: 40px; padding: 30px 0; border-block: 1px solid var(--ocf-border); }
.veriton-coverage-cta h2 { margin: 10px 0; font-size: 30px; color: var(--ocf-heading); }
.veriton-coverage-cta > p:not(.veriton-kicker) { margin: 0 0 20px; }
html body section.ocf-contact { background: var(--ocf-bg-alt) !important; }
body .ocf-about-story { border-bottom: 1px solid var(--ocf-border-light); }
html body section.veriton-team-gallery { background: var(--veriton-mint) !important; }
body .veriton-team-gallery__grid { margin-top: 44px; }
body .veriton-team-gallery__heading h2 { font-size: 44px; max-width: 24ch; }
.veriton-team-members { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 24px; margin-top: 42px; }
.veriton-team-member { min-width: 0; margin: 0; }
.veriton-team-member img { display: block; width: 100%; aspect-ratio: 4/5; height: auto; object-fit: cover; object-position: center top; background: #fff; }
.veriton-team-member h3 { margin: 16px 0 5px; font-size: 22px; color: var(--ocf-heading); }
.veriton-team-member p { margin: 0; font-size: 14px; color: #505050; }
body .veriton-footer__cta { background: #222 !important; }
body .veriton-footer__cta-title { font-size: 48px; max-width: 20ch; }
body .veriton-footer__kicker { color: #ddd !important; }
body .veriton-footer__cta-button { color: #171717 !important; }
body .veriton-footer { background: #f2f2f2; }
body .veriton-footer__logo-crop { background: #f2f2f2; }
body .veriton-footer__logo-crop img { mix-blend-mode: multiply; }
body .veriton-footer__contact a { width: fit-content; text-decoration: underline; text-underline-offset: 3px; }
@media(max-width:1100px) {
    body .veriton-hero__title { font-size: 44px; }
    body .veriton-hero__layout { gap: 32px; }
    .veriton-team-members { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:720px) {
    body .veriton-hero__layout { grid-template-columns: 1fr; gap: 28px; padding-block: 28px; }
    body .veriton-hero__title { font-size: 38px; max-width: 20ch; margin-top: 18px; }
    body .veriton-hero__intro { font-size: 16px; margin-top: 16px; }
    body .veriton-hero__media { height: auto; aspect-ratio: 4/3; }
    body .veriton-reviews__inner { align-items: flex-start; flex-direction: column; }
    body .veriton-reviews__heading { font-size: 25px; }
    body .veriton-about__heading, body .veriton-services__header h2,
    body .veriton-process__heading, body .veriton-team-gallery__heading h2,
    body .veriton-footer__cta-title { font-size: 34px; }
    body .ocf-page-header__headline, body .ocf-service-detail-hero__title { font-size: 38px; }
    body .ocf-detail-content .prose h2 { font-size: 28px; }
    .veriton-team-members { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 16px; }
    .veriton-team-member h3 { font-size: 20px; }
    .veriton-google-summary { gap: 14px; }
    .veriton-coverage-cta h2 { font-size: 28px; }
}
@media(max-width:360px) {
    body .veriton-hero__title { font-size: 34px; }
    .veriton-google-proof { font-size: 12px; gap: 6px; }
}

/* Preserve the supplied group photograph without cropping. */
body .veriton-team-gallery__photo:only-child { grid-column: 1 / -1; aspect-ratio: 3 / 2; }

/* Match portrait framing while keeping the supplied image files unchanged. */
.veriton-team-member__portrait { aspect-ratio: 4 / 5; overflow: hidden; background: #fff; }
.veriton-team-member__portrait img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center 12%; border-radius: 6px; }
body .veriton-team-gallery__photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; border-radius: 6px; }

/* Homepage hero and review layout refinements. */
html body.home {
    --ocf-heading: #171717; --ocf-body: #505050;
    --ocf-primary: #171717; --ocf-primary-hover: #383838;
    --ocf-secondary: #555; --ocf-bg-alt: #f2f2f2;
    --ocf-border: #d5d5d5; --ocf-border-light: #e5e5e5;
    --veriton-mint: #f2f2f2;
}
html body.home section#hero.veriton-hero { background: #111 !important; }
html body.home .veriton-hero__title,
html body.home .veriton-google-proof { color: #fff; }
html body.home .veriton-hero__intro,
html body.home .veriton-hero .veriton-kicker,
html body.home .veriton-experience { color: #ddd; }
html body.home .veriton-hero .btn-primary { background: #fff; border-color: #fff; color: #171717; }
html body.home .veriton-hero .btn-primary:hover { background: #dedede; border-color: #dedede; }
html body.home .veriton-google-proof__stars { color: #fbbc04; }
html body.home .veriton-hero__copy > .veriton-google-proof { margin: 0; }
html body.home .veriton-google-proof + .veriton-experience { margin-top: 8px; }
html body.home .veriton-reviews { background: #f2f2f2 !important; color: #171717; padding-block: 36px; }
html body.home .veriton-reviews__inner { display: block; text-align: left; }
html body.home .veriton-reviews .veriton-kicker { color: #555; }
html body.home .veriton-reviews__heading { color: #171717; text-align: left; }
html body.home .veriton-reviews__embed { margin: 24px 0 0; width: 100%; overflow: hidden; background: #fff; }
html body.home .veriton-reviews__embed iframe { display: block; width: 100%; max-width: 100%; min-height: 360px; border: 0; }
html body.home .veriton-services__item { border-color: #ccc; }
html body.home .veriton-services__description,
html body.home .veriton-services__header > p { color: #505050; }
html body.home .veriton-process .veriton-kicker,
html body.home .veriton-process__number { color: #ddd; }
html body.home .veriton-footer__cta { background: #222 !important; }
html body.home .veriton-footer__kicker { color: #ddd !important; }
html body.home .veriton-footer__cta-button { color: #171717 !important; }
html body.home .veriton-footer,
html body.home .veriton-footer__logo-crop { background: #f2f2f2; }
