/* =====================================================================
   Sheaney Homepage Redesign
   ===================================================================== */

:root {
    --sheaney-navy: #265d74;
    --sheaney-navy-dark: #1d4a5e;
    --sheaney-navy-deep: #1a4f63;
    --sheaney-accent: #2d6d85;
    --sheaney-cyan: #2eb8d9;
    --sheaney-amber: #e8a54b;
    --sheaney-green: #2f9a6a;
    --sheaney-text: #4b4b4b;
    --sheaney-muted: #6b7a82;
    --sheaney-light-bg: #eef2f5;
    --sheaney-header-height: 92px;
    --sheaney-container-max: 1200px;
    --sheaney-container-gutter: 15px;
    /* Transparent left pad baked into wp-content/uploads/2021/03/sheaney-logo-2021.png */
    --sheaney-logo-crop-left: 9.7097%;
    --sheaney-cta-radius: 24px;
    --sheaney-fill: #29617b;
}

/* Keep absolute header above hero chrome */
.home.header-style-5 #site-header-wrap,
body.header-style-5 #site-header-wrap {
    z-index: 10000;
}

/* Remove legacy top utility bar (LinkedIn / phone / email / hours) */
#top-bar {
    display: none !important;
}

body.header-style-5 #site-header.style-5:not(.is-sticky),
.home #site-header.style-5 {
    background-color: transparent !important;
    box-shadow: none;
}

body.header-style-5 #site-header.style-5.is-sticky,
.home #site-header.style-5.is-sticky {
    background-color: var(--sheaney-navy) !important;
    backdrop-filter: none;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.2);
}

body.header-style-5 #site-header.style-5 #main-nav > ul > li > a,
.home #site-header.style-5 #main-nav > ul > li > a {
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.2px;
    opacity: 0.9;
    text-transform: uppercase;
}

body.header-style-5 #site-header.style-5 #main-nav > ul > li.current-menu-item > a,
body.header-style-5 #site-header.style-5 #main-nav > ul > li > a:hover,
.home #site-header.style-5 #main-nav > ul > li.current-menu-item > a,
.home #site-header.style-5 #main-nav > ul > li > a:hover {
    color: #fff !important;
    opacity: 1;
}

body.header-style-5 #site-header.style-5 .header-search-icon,
body.header-style-5 #site-header.style-5 .header-search-icon:hover,
.home #site-header.style-5 .header-search-icon,
.home #site-header.style-5 .header-search-icon:hover {
    color: #fff !important;
    opacity: 0.9;
}

body.header-style-5 .mobile-button:before,
body.header-style-5 .mobile-button:after,
body.header-style-5 .mobile-button span,
.home .mobile-button:before,
.home .mobile-button:after,
.home .mobile-button span { background-color: #fff; }

/* ---------- Global navbar styling (style-5) ---------- */
#site-header.style-5 #site-header-inner {
    align-items: center;
    display: flex;
    padding-bottom: 20px;
    padding-top: 20px;
}
/* Override theme absolute positioning so CTA + search stay in the right-hand flex group */
body.header-style-5 #site-header #main-nav,
body.header-style-5 #site-header.style-5 #main-nav,
#site-header.style-5 #main-nav,
body.header-style-5 #site-header #header-search,
body.header-style-5 #site-header.style-5 #header-search,
#site-header.style-5 #header-search {
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
}
#site-header.style-5 #main-nav {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    justify-content: flex-end;
    margin-left: auto;
}
#site-header.style-5 #header-search,
#site-header.style-5 #main-nav > #header-search {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
    margin-left: 14px;
    position: relative !important;
}
#site-header.style-5 #header-search .header-search-icon,
#site-header.style-5 #main-nav > #header-search .header-search-icon {
    color: #fff !important;
    font-size: 16px;
    height: auto !important;
    line-height: 1 !important;
    opacity: 0.95;
}
#site-header.style-5 #header-search .header-search-form {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
}
#site-header.style-5 #site-logo .main-logo img {
    max-height: 80px;
    width: auto;
}
#site-header.style-5 .sheaney-nav-cta {
    background: #fff;
    border-radius: 24px;
    color: var(--sheaney-navy) !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 12px 22px;
}
#site-header.style-5 .sheaney-nav-cta:hover {
    background: #f4f7f9;
}

body.header-style-5 #site-logo .main-logo img,
.home #site-logo .main-logo img {
    max-height: 72px;
    transform: translateX(calc(-1 * var(--sheaney-logo-crop-left)));
    width: auto;
}

#site-logo .site-tagline {
    display: none !important;
}

/* Homepage header + hero share the same content column */
.home #site-header-inner.container,
.sheaney-hero-carousel .sheaney-hero__content > .container {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: var(--sheaney-container-max);
    padding-left: var(--sheaney-container-gutter);
    padding-right: var(--sheaney-container-gutter);
    width: 100%;
}

/* Inner page heroes — header overlays via header-style-5 absolute wrap */
body.header-style-5:not(.home) .sheaney-page-hero {
    padding: calc(var(--sheaney-header-height) + 56px) 0 80px;
    position: relative;
}
body.header-style-5:not(.home) .sheaney-page-hero::before {
    background: linear-gradient(180deg, rgba(8, 24, 32, 0.45) 0%, rgba(8, 24, 32, 0.72) 100%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 0;
}
body.header-style-5:not(.home) .sheaney-page-hero > .container {
    position: relative;
    z-index: 1;
}
body.header-style-5:not(.home) .sheaney-page-hero--engineering::before {
    background: transparent;
}

/* ---------- Hero ---------- */

.home #hero-section.sheaney-hero {
    background-color: #1a4f63 !important;
    background-image: none !important;
    height: 88vh !important;
    min-height: 560px !important;
    overflow: hidden;
    position: relative;
}

.home #hero-section.sheaney-hero .vegas-wrapper,
.home #hero-section.sheaney-hero .vegas-overlay,
.home #hero-section.sheaney-hero .vegas-timer {
    display: none !important;
}

.sheaney-hero__slides {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
    z-index: 1;
}

.sheaney-hero__slide {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    inset: 0;
    margin: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity 0.9s ease;
    visibility: hidden;
    width: 100%;
    z-index: 1;
}

.sheaney-hero__slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

.sheaney-hero__slide img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 1;
    width: 100%;
}

.home #hero-section.sheaney-hero .hero-content.sheaney-hero__content {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    min-height: 88vh;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 120px 0 96px;
    pointer-events: none;
    position: relative;
    z-index: 20;
}

.home #hero-section.sheaney-hero .hero-content.sheaney-hero__content a,
.home #hero-section.sheaney-hero .hero-content.sheaney-hero__content button {
    pointer-events: auto;
}

.sheaney-hero__controls {
    align-items: center;
    bottom: 32px;
    display: flex !important;
    gap: 16px;
    left: 50%;
    position: absolute;
    right: auto;
    transform: translateX(-50%);
    z-index: 6 !important;
}

.sheaney-hero__arrow {
    align-items: center;
    background: rgba(12, 28, 36, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.75);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 22px;
    height: 44px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    transition: background 0.2s ease, border-color 0.2s ease;
    width: 44px;
}

.sheaney-hero__arrow:hover,
.sheaney-hero__arrow:focus {
    background: rgba(12, 28, 36, 0.7);
    border-color: #fff;
    outline: none;
}

.sheaney-hero__dots {
    align-items: center;
    display: flex;
    gap: 10px;
}

.sheaney-hero__dot {
    background: rgba(255, 255, 255, 0.45);
    border: 0;
    border-radius: 50%;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
    cursor: pointer;
    height: 11px;
    padding: 0;
    transition: background 0.2s ease, transform 0.2s ease;
    width: 11px;
}

.sheaney-hero__dot.is-active,
.sheaney-hero__dot:hover {
    background: #fff;
    transform: scale(1.2);
}

@media (prefers-reduced-motion: reduce) {
    .sheaney-hero__slide {
        transition: none;
    }
}

/* Frosted left panel + clear photo on the right (mock) */
.home #hero-section.sheaney-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 10;
    background: linear-gradient(
        105deg,
        rgba(28, 58, 72, 0.72) 0%,
        rgba(38, 93, 116, 0.48) 32%,
        rgba(38, 93, 116, 0.22) 55%,
        rgba(0, 0, 0, 0.08) 75%,
        transparent 92%
    );
    pointer-events: none;
}

.home #hero-section.sheaney-hero .hero-content {
    position: relative;
    z-index: 20;
    text-align: left;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.home #hero-section.sheaney-hero .hero-content .container {
    width: 100%;
    max-width: 1170px;
    padding-left: 15px;
    padding-right: 15px;
}

.sheaney-hero__inner {
    max-width: 580px;
    padding: 24px 0 32px;
}

.sheaney-hero__title {
    margin: 0 0 28px;
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.5px;
}

.sheaney-hero__line {
    display: block;
    font-size: clamp(38px, 5.5vw, 68px);
    text-transform: uppercase;
}

.sheaney-hero__line--light {
    color: #fff !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

.sheaney-hero__line--accent {
    color: #6ec4de !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.sheaney-hero__text {
    color: rgba(255, 255, 255, 0.95) !important;
    font-size: clamp(15px, 1.35vw, 17px);
    line-height: 1.65;
    margin: 0 0 36px;
    max-width: 480px;
    font-weight: 400;
}

.sheaney-hero__cta.wprt-button,
.sheaney-hero__cta.wprt-button.rounded-3px {
    background-color: var(--sheaney-navy);
    border: none;
    border-radius: var(--sheaney-cta-radius) !important;
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 12px 22px;
    text-transform: uppercase;
    transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.sheaney-hero__cta.wprt-button:hover,
.sheaney-hero__cta.wprt-button:focus {
    background-color: var(--sheaney-navy-dark);
    border: none;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.sheaney-hero__cta .arrow {
    display: inline-flex;
    align-items: center;
    font-size: 16px;
    line-height: 1;
    transition: transform 0.25s ease;
}

.sheaney-hero__cta .arrow .fa {
    font-size: 16px;
}

.sheaney-hero__cta:hover .arrow { transform: translateX(5px); }

/* ---------- Pillars / refined ISO feature ---------- */

.sheaney-pillars,
.sheaney-iso {
    background-color: var(--sheaney-light-bg);
    padding: 80px 0 72px;
}

.sheaney-pillars__grid,
.sheaney-iso__grid {
    align-items: stretch;
    display: grid;
    gap: 28px;
    grid-template-columns: repeat(4, 1fr);
}

.sheaney-pillar,
.sheaney-iso__item {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(38, 93, 116, 0.1);
    border-radius: 16px;
    box-shadow:
        0 1px 2px rgba(11, 32, 48, 0.05),
        0 2px 8px rgba(11, 32, 48, 0.04);
    display: flex;
    flex-direction: column;
    isolation: isolate;
    overflow: hidden;
    padding: 36px 28px 32px;
    position: relative;
    text-align: center;
    transition:
        border-color 280ms cubic-bezier(0.2, 0, 0, 1),
        box-shadow 280ms cubic-bezier(0.2, 0, 0, 1),
        transform 280ms cubic-bezier(0.2, 0, 0, 1);
}

.sheaney-iso__item::before {
    background: linear-gradient(90deg, var(--sheaney-navy) 0%, var(--sheaney-cyan) 100%);
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 320ms cubic-bezier(0.2, 0, 0, 1);
}

.sheaney-iso__item::after {
    background: radial-gradient(circle at 50% 0%, rgba(46, 184, 217, 0.08) 0%, transparent 68%);
    content: "";
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity 320ms cubic-bezier(0.2, 0, 0, 1);
    z-index: 0;
}

.sheaney-iso__item:hover,
.sheaney-iso__item:focus-within {
    border-color: rgba(38, 93, 116, 0.14);
    box-shadow:
        0 1px 2px rgba(11, 32, 48, 0.04),
        0 6px 16px rgba(11, 32, 48, 0.06),
        0 20px 40px rgba(38, 93, 116, 0.08);
    transform: translateY(-3px);
}

.sheaney-iso__item:hover::before,
.sheaney-iso__item:focus-within::before {
    transform: scaleX(1);
}

.sheaney-iso__item:hover::after,
.sheaney-iso__item:focus-within::after {
    opacity: 1;
}

.sheaney-iso__seal,
.sheaney-iso__body {
    position: relative;
    z-index: 1;
}

.sheaney-iso__seal {
    align-items: center;
    border-radius: 50%;
    box-shadow:
        0 2px 6px rgba(11, 32, 48, 0.08),
        inset 0 0 0 1px rgba(255, 255, 255, 0.6);
    display: flex;
    flex: 0 0 auto;
    height: 112px;
    justify-content: center;
    margin-bottom: 24px;
    overflow: hidden;
    transition:
        box-shadow 320ms cubic-bezier(0.2, 0, 0, 1),
        transform 320ms cubic-bezier(0.2, 0, 0, 1);
    width: 112px;
}

.sheaney-iso__seal img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.06);
    transition: transform 320ms cubic-bezier(0.2, 0, 0, 1);
    width: 100%;
}

.sheaney-pillar:hover .sheaney-pillar__icon {
    box-shadow: 0 8px 24px rgba(38, 93, 116, 0.15);
    transform: translateY(-4px);
}

.sheaney-iso__item:hover .sheaney-iso__seal,
.sheaney-iso__item:focus-within .sheaney-iso__seal {
    box-shadow:
        0 8px 20px rgba(38, 93, 116, 0.14),
        inset 0 0 0 1px rgba(255, 255, 255, 0.8);
    transform: translateY(-2px) scale(1.02);
}

.sheaney-iso__item:hover .sheaney-iso__seal img,
.sheaney-iso__item:focus-within .sheaney-iso__seal img {
    transform: scale(1.08);
}

.sheaney-iso__title {
    transition: color 280ms cubic-bezier(0.2, 0, 0, 1);
}

.sheaney-iso__item:hover .sheaney-iso__title,
.sheaney-iso__item:focus-within .sheaney-iso__title {
    color: var(--sheaney-navy-deep);
}

.sheaney-iso__title a {
    transition: color 280ms cubic-bezier(0.2, 0, 0, 1);
}

.sheaney-iso__item:hover .sheaney-iso__title a,
.sheaney-iso__item:focus-within .sheaney-iso__title a {
    color: var(--sheaney-navy-deep);
}

.sheaney-iso__cert {
    border-radius: 999px;
    color: var(--sheaney-navy-dark);
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.4px;
    margin: 0 auto 12px;
    padding: 5px 12px;
    transition:
        background-color 280ms cubic-bezier(0.2, 0, 0, 1),
        color 280ms cubic-bezier(0.2, 0, 0, 1);
}

.sheaney-iso__item:hover .sheaney-iso__cert,
.sheaney-iso__item:focus-within .sheaney-iso__cert {
    background: rgba(38, 93, 116, 0.06);
    color: var(--sheaney-navy);
}

.sheaney-iso__item .sheaney-pillar__text {
    transition: color 280ms cubic-bezier(0.2, 0, 0, 1);
}

.sheaney-iso__item:hover .sheaney-pillar__text,
.sheaney-iso__item:focus-within .sheaney-pillar__text {
    color: #5a6b74;
}

@media (prefers-reduced-motion: reduce) {
    .sheaney-iso__item,
    .sheaney-iso__item::before,
    .sheaney-iso__item::after,
    .sheaney-iso__seal,
    .sheaney-iso__seal img,
    .sheaney-iso__title,
    .sheaney-iso__cert,
    .sheaney-iso__item .sheaney-pillar__text {
        transition: none;
    }

    .sheaney-iso__item:hover,
    .sheaney-iso__item:focus-within,
    .sheaney-iso__item:hover .sheaney-iso__seal,
    .sheaney-iso__item:focus-within .sheaney-iso__seal,
    .sheaney-iso__item:hover .sheaney-iso__seal img,
    .sheaney-iso__item:focus-within .sheaney-iso__seal img {
        transform: none;
    }
}

/* ISO flip cards */
.sheaney-iso__item--flip {
    background: transparent;
    border: 0;
    box-shadow: none;
    cursor: pointer;
    isolation: auto;
    overflow: visible;
    padding: 0;
    perspective: 1400px;
}

.sheaney-iso__item--flip::before,
.sheaney-iso__item--flip::after {
    display: none;
}

.sheaney-iso__item--flip:hover,
.sheaney-iso__item--flip:focus-within,
.sheaney-iso__item--flip.sheaney-iso__item--flipped {
    border-color: transparent;
    box-shadow: none;
    transform: none;
}

.sheaney-iso__flip {
    height: 100%;
    min-height: 420px;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.65s cubic-bezier(0.4, 0.05, 0.2, 1);
    width: 100%;
}

.sheaney-iso__face {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: 16px;
    inset: 0;
    overflow: hidden;
    position: absolute;
}

.sheaney-iso__face--front {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(38, 93, 116, 0.1);
    box-shadow:
        0 1px 2px rgba(11, 32, 48, 0.05),
        0 2px 8px rgba(11, 32, 48, 0.04);
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 36px 28px 32px;
    text-align: center;
    transform: rotateY(0deg);
    z-index: 2;
}

.sheaney-iso__face--back {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(38, 93, 116, 0.1);
    box-shadow:
        0 1px 2px rgba(11, 32, 48, 0.05),
        0 6px 16px rgba(11, 32, 48, 0.06);
    display: flex;
    justify-content: center;
    padding: 12px;
    transform: rotateY(180deg);
    z-index: 1;
}

.sheaney-iso__face--back img {
    display: block;
    height: 100%;
    max-height: 100%;
    object-fit: contain;
    width: 100%;
}

.sheaney-iso__item--flip:hover .sheaney-iso__face--front,
.sheaney-iso__item--flip:focus-within .sheaney-iso__face--front {
    border-color: rgba(38, 93, 116, 0.14);
    box-shadow:
        0 1px 2px rgba(11, 32, 48, 0.04),
        0 6px 16px rgba(11, 32, 48, 0.06),
        0 20px 40px rgba(38, 93, 116, 0.08);
}

.sheaney-iso__seal.sheaney-iso__seal--logo {
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    height: 112px;
    overflow: visible;
    width: 112px;
}

/* Reserve two title lines so seals, certs, and copy line up across the row */
.sheaney-iso__item .sheaney-iso__title {
    align-items: center;
    display: flex;
    justify-content: center;
    line-height: 1.25;
    min-height: 2.5em;
}

.sheaney-iso__seal.sheaney-iso__seal--logo img {
    height: 100%;
    object-fit: contain;
    object-position: center;
    padding: 0;
    transform: none;
    width: 100%;
}

.sheaney-iso__item:hover .sheaney-iso__seal.sheaney-iso__seal--logo,
.sheaney-iso__item:focus-within .sheaney-iso__seal.sheaney-iso__seal--logo {
    box-shadow: none;
    transform: translateY(-2px);
}

.sheaney-iso__item:hover .sheaney-iso__seal.sheaney-iso__seal--logo img,
.sheaney-iso__item:focus-within .sheaney-iso__seal.sheaney-iso__seal--logo img,
.sheaney-iso__item--flip:hover .sheaney-iso__seal.sheaney-iso__seal--logo img {
    transform: none;
}

@media (hover: hover) and (pointer: fine) {
    .sheaney-iso__item--flip:hover .sheaney-iso__flip {
        transform: rotateY(180deg);
    }
}

@media (hover: none), (pointer: coarse) {
    .sheaney-iso__item--flip.sheaney-iso__item--flipped .sheaney-iso__flip {
        transform: rotateY(180deg);
    }
}

@media (max-width: 1199px) {
    .sheaney-iso__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .sheaney-iso__grid {
        gap: 24px;
        grid-template-columns: 1fr;
        max-width: 420px;
        margin: 0 auto;
    }

    .sheaney-iso__flip {
        min-height: 380px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sheaney-iso__flip {
        transition: none;
    }

    .sheaney-iso__item--flip:hover .sheaney-iso__flip,
    .sheaney-iso__item--flip.sheaney-iso__item--flipped .sheaney-iso__flip {
        transform: none;
    }

    .sheaney-iso__face--back {
        position: relative;
        transform: none;
    }

    .sheaney-iso__item--flip .sheaney-iso__flip {
        display: grid;
        gap: 16px;
        min-height: 0;
        transform: none;
    }

    .sheaney-iso__item--flip .sheaney-iso__face {
        position: relative;
    }
}

.sheaney-pillar__icon {
    align-items: center;
    border: 2px solid var(--sheaney-navy);
    border-radius: 50%;
    display: flex;
    flex: 0 0 auto;
    height: 88px;
    justify-content: center;
    margin-bottom: 24px;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    width: 88px;
}

.sheaney-pillar__icon svg {
    fill: none;
    height: 40px;
    stroke: var(--sheaney-navy);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
    width: 40px;
}

.sheaney-pillar__body,
.sheaney-iso__body { max-width: 320px; }

.sheaney-pillar__title,
.sheaney-iso__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0.5px;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.sheaney-pillar__text {
    color: var(--sheaney-muted);
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}

/* ---------- Past clients carousel ---------- */

.sheaney-clients {
    background: linear-gradient(180deg, #1a4f63 0%, #14384a 100%);
    border-top: 3px solid rgba(46, 184, 217, 0.55);
    overflow: hidden;
    padding: 56px 0 64px;
}

.sheaney-clients__title {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(20px, 2.4vw, 28px);
    font-weight: 700;
    margin: 0 0 28px;
    text-align: center;
}

.sheaney-clients__title::after {
    background: linear-gradient(90deg, var(--sheaney-cyan), #7ad7ef);
    content: "";
    display: block;
    height: 3px;
    margin: 14px auto 0;
    width: 56px;
}

.sheaney-clients__viewport {
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    overflow: hidden;
    width: 100%;
}

.sheaney-clients__track {
    align-items: center;
    display: flex;
    gap: 48px;
    width: max-content;
    will-change: transform;
}

.sheaney-clients__item {
    align-items: center;
    background: transparent;
    border: 0;
    box-sizing: border-box;
    display: inline-flex;
    flex: 0 0 auto;
    height: 80px;
    justify-content: center;
    min-width: 120px;
    padding: 0 16px;
    white-space: nowrap;
}

.sheaney-clients__item:hover img {
    filter: drop-shadow(0 2px 8px rgba(255, 255, 255, 0.22));
    opacity: 1;
    transform: scale(1.04);
}

.sheaney-clients__item img {
    display: block;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35));
    height: 72px;
    max-width: 260px;
    object-fit: contain;
    object-position: center;
    opacity: 1;
    transition:
        opacity 280ms cubic-bezier(0.2, 0, 0, 1),
        transform 280ms cubic-bezier(0.2, 0, 0, 1),
        filter 280ms cubic-bezier(0.2, 0, 0, 1);
    width: auto;
}
.sheaney-clients__item--ink img {
    filter: brightness(0) invert(1) drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35));
}
.sheaney-clients__item--ink:hover img {
    filter: brightness(0) invert(1) drop-shadow(0 2px 8px rgba(255, 255, 255, 0.22));
    opacity: 1;
    transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
    .sheaney-clients__item img {
        transition: none;
    }

    .sheaney-clients__item:hover img {
        transform: none;
    }
}

/* ---------- Values bar ---------- */

.sheaney-values {
    background: linear-gradient(180deg, #14384a 0%, #1a5570 55%, #1a4f63 100%);
    overflow: hidden;
    padding: 40px 0;
}

.sheaney-values__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px 20px;
    align-items: start;
}

.sheaney-value {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    color: #fff;
    padding-right: 12px;
    position: relative;
}

.sheaney-value:not(:last-child):after {
    content: "";
    position: absolute;
    right: 0;
    top: 8%;
    height: 84%;
    width: 1px;
    background: rgba(46, 184, 217, 0.22);
}

.sheaney-value__icon {
    align-items: center;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    display: flex;
    flex: 0 0 auto;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.sheaney-value__icon svg {
    width: 26px;
    height: 26px;
    stroke: var(--sheaney-cyan);
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sheaney-value:nth-child(6n + 2) .sheaney-value__icon svg { stroke: var(--sheaney-amber); }
.sheaney-value:nth-child(6n + 3) .sheaney-value__icon svg { stroke: var(--sheaney-green); }
.sheaney-value:nth-child(6n + 4) .sheaney-value__icon svg { stroke: var(--sheaney-cyan); }
.sheaney-value:nth-child(6n + 5) .sheaney-value__icon svg { stroke: var(--sheaney-amber); }
.sheaney-value:nth-child(6n) .sheaney-value__icon svg { stroke: var(--sheaney-green); }

.sheaney-value:nth-child(6n + 2) .sheaney-value__icon {
    background: rgba(232, 165, 75, 0.12);
    border-color: rgba(232, 165, 75, 0.28);
}
.sheaney-value:nth-child(6n + 3) .sheaney-value__icon {
    background: rgba(47, 154, 106, 0.12);
    border-color: rgba(47, 154, 106, 0.28);
}
.sheaney-value:nth-child(6n + 4) .sheaney-value__icon {
    background: rgba(46, 184, 217, 0.12);
    border-color: rgba(46, 184, 217, 0.28);
}
.sheaney-value:nth-child(6n + 5) .sheaney-value__icon {
    background: rgba(232, 165, 75, 0.12);
    border-color: rgba(232, 165, 75, 0.28);
}
.sheaney-value:nth-child(6n) .sheaney-value__icon {
    background: rgba(47, 154, 106, 0.12);
    border-color: rgba(47, 154, 106, 0.28);
}
.sheaney-value:nth-child(6n + 1) .sheaney-value__icon {
    background: rgba(46, 184, 217, 0.12);
    border-color: rgba(46, 184, 217, 0.28);
}

.sheaney-value__title {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    margin: 0;
    text-transform: uppercase;
}

.sheaney-value__title::before {
    background: var(--sheaney-cyan);
    content: "";
    display: block;
    height: 2px;
    margin-bottom: 8px;
    width: 28px;
}

.sheaney-value:nth-child(6n + 2) .sheaney-value__title::before { background: var(--sheaney-amber); }
.sheaney-value:nth-child(6n + 3) .sheaney-value__title::before { background: var(--sheaney-green); }
.sheaney-value:nth-child(6n + 4) .sheaney-value__title::before { background: var(--sheaney-cyan); }
.sheaney-value:nth-child(6n + 5) .sheaney-value__title::before { background: var(--sheaney-amber); }
.sheaney-value:nth-child(6n) .sheaney-value__title::before { background: var(--sheaney-green); }

.sheaney-value__text {
    color: rgba(255, 255, 255, 0.75);
    font-size: 12px;
    line-height: 1.45;
    margin: 0;
}

/* ---------- Entrance animation (subtle) ---------- */

@media (prefers-reduced-motion: no-preference) {
    .sheaney-pillar,
    .sheaney-value {
        animation: sheaneyFadeUp 0.6s ease both;
    }

    .sheaney-pillar:nth-child(2) { animation-delay: 0.08s; }
    .sheaney-pillar:nth-child(3) { animation-delay: 0.16s; }

    .sheaney-value:nth-child(2) { animation-delay: 0.05s; }
    .sheaney-value:nth-child(3) { animation-delay: 0.1s; }
    .sheaney-value:nth-child(4) { animation-delay: 0.15s; }
    .sheaney-value:nth-child(5) { animation-delay: 0.2s; }
    .sheaney-value:nth-child(6) { animation-delay: 0.25s; }
}

@keyframes sheaneyFadeUp {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ---------- Responsive ---------- */

@media (max-width: 1199px) {
    .sheaney-values__grid { gap: 20px 16px; }
    .sheaney-value:not(:last-child):after { display: none; }
}

@media (max-width: 991px) {
    .home #hero-section.sheaney-hero {
        min-height: 75vh;
    }

    .home #hero-section.sheaney-hero:before {
        background: linear-gradient(
            180deg,
            rgba(28, 58, 72, 0.88) 0%,
            rgba(38, 93, 116, 0.65) 55%,
            rgba(0, 0, 0, 0.25) 100%
        );
    }

    .sheaney-hero__inner {
        max-width: 100%;
        text-align: center;
    }

    .sheaney-hero__text { margin-left: auto; margin-right: auto; }

    .home #hero-section.sheaney-hero .hero-content { text-align: center; }

    .sheaney-pillars__grid {
        grid-template-columns: 1fr;
        gap: 48px;
        max-width: 420px;
        margin: 0 auto;
    }

    .sheaney-values__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 28px 20px;
    }

    .sheaney-value {
        align-items: center;
        text-align: center;
        padding-right: 0;
    }

    .sheaney-value__title::before {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 767px) {
    .home #hero-section.sheaney-hero {
        height: 72vh !important;
        min-height: 480px !important;
    }

    .home #hero-section.sheaney-hero .hero-content.sheaney-hero__content {
        min-height: 72vh;
        padding: 100px 0 88px;
    }

    .sheaney-hero__controls {
        bottom: 20px;
        gap: 12px;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
    }

    .sheaney-pillars { padding: 56px 0; }

    .sheaney-values { padding: 32px 0; }

    .sheaney-values__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px 16px;
    }
}

@media (max-width: 480px) {
    .sheaney-values__grid { grid-template-columns: 1fr; }
}

/* ---------- Main services (3 cards) ---------- */

.sheaney-values {
    overflow: hidden;
}

.sheaney-services {
    background-color: #f0f4f7;
    padding: 64px 0 88px;
    position: relative;
    z-index: 1;
}

.sheaney-services__grid {
    align-items: stretch;
    display: grid;
    gap: 32px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sheaney-service-card {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 16px rgba(20, 56, 74, 0.06);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.sheaney-service-card__head {
    flex-shrink: 0;
    position: relative;
}

.sheaney-service-card__media {
    aspect-ratio: 16 / 10;
    background: #dce4e9;
    overflow: hidden;
    width: 100%;
}

.sheaney-service-card__media img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    width: 100%;
}

.sheaney-service-card__badge {
    align-items: center;
    background: var(--sheaney-navy);
    border: 5px solid #fff;
    border-radius: 50%;
    bottom: 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    display: flex;
    height: 76px;
    justify-content: center;
    left: 50%;
    position: absolute;
    transform: translate(-50%, 50%);
    width: 76px;
    z-index: 3;
}

.sheaney-service-card__badge svg {
    fill: none;
    height: 34px;
    stroke: #fff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
    width: 34px;
}

.sheaney-service-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 52px 28px 28px;
    text-align: center;
}

.sheaney-service-card__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.3px;
    line-height: 1.3;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.sheaney-service-card__tagline {
    color: var(--sheaney-text);
    font-size: 14px;
    line-height: 1.55;
    margin: 0 auto 20px;
    max-width: 300px;
}

.sheaney-service-card__list-wrap {
    flex: 1;
    margin-bottom: 24px;
    max-height: 320px;
    overflow-y: auto;
    padding-right: 4px;
    text-align: left;
}

.sheaney-service-card__list-wrap::-webkit-scrollbar {
    width: 4px;
}

.sheaney-service-card__list-wrap::-webkit-scrollbar-thumb {
    background: #c5d3db;
    border-radius: 4px;
}

.sheaney-service-card__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sheaney-service-card__list li {
    border-bottom: 1px solid #eef2f5;
    color: var(--sheaney-muted);
    font-size: 13px;
    line-height: 1.5;
    padding: 10px 0 10px 18px;
    position: relative;
}

.sheaney-service-card__list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.sheaney-service-card__list li:before {
    background-color: var(--sheaney-navy);
    border-radius: 50%;
    content: "";
    height: 6px;
    left: 0;
    position: absolute;
    top: 16px;
    width: 6px;
}

.sheaney-service-card__cta {
    align-items: center;
    background-color: var(--sheaney-navy);
    border-radius: 24px;
    color: #fff !important;
    display: flex;
    flex-shrink: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    gap: 10px;
    justify-content: center;
    letter-spacing: 1px;
    margin-top: auto;
    padding: 12px 22px;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: background-color 0.2s ease;
}

.sheaney-service-card__cta:hover,
.sheaney-service-card__cta:focus {
    background-color: var(--sheaney-navy-dark);
    color: #fff !important;
}

.sheaney-service-card__cta .fa {
    font-size: 14px;
    transition: transform 0.2s ease;
}

.sheaney-service-card__cta:hover .fa {
    transform: translateX(4px);
}

@media (max-width: 1199px) {
    .sheaney-services__grid { gap: 24px; }
    .sheaney-service-card__body { padding: 48px 20px 24px; }
    .sheaney-service-card__list-wrap { max-height: 280px; }
}

@media (max-width: 991px) {
    .sheaney-services {
        padding: 48px 0 64px;
    }

    .sheaney-services__grid {
        gap: 36px;
        grid-template-columns: 1fr;
        max-width: 520px;
        margin: 0 auto;
    }

    .sheaney-service-card__list-wrap {
        max-height: none;
        overflow: visible;
    }
}

@media (max-width: 767px) {
    .sheaney-services { padding: 40px 0 56px; }
}

/* Fallback: show page if animsition JS fails (e.g. broken script paths) */
#wrapper.animsition {
    animation: sheaney-show-wrapper 0.01s 2s forwards;
}
#wrapper.animsition.animsition-in {
    animation: none;
    opacity: 1;
}
@keyframes sheaney-show-wrapper {
    to { opacity: 1; }
}

/* =====================================================================
   Extended site-wide components
   ===================================================================== */

.sheaney-section { padding: 72px 0; }
@media (max-width: 767px) { .sheaney-section { padding: 48px 0; } }

/* Hero carousel rules live in the Hero section above — do not override height/background here */

/* Prevent theme .arrow rule from breaking the CTA */
.home #hero-section.sheaney-hero .sheaney-hero__cta .sheaney-hero__arrow-icon {
    animation: none;
    height: auto;
    margin: 0;
    position: static;
    width: auto;
}
.home #hero-section.sheaney-hero .sheaney-hero__cta .sheaney-hero__arrow-icon:after {
    content: none;
}

/* Standards diagonal banner */
.sheaney-standards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 200px;
    overflow: hidden;
}

.sheaney-standards__left {
    background: linear-gradient(135deg, #1a4f63 0%, #14384a 100%);
    clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
    color: #fff;
    display: flex;
    align-items: center;
    padding: 48px 56px;
}

.sheaney-standards__title {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(22px, 3vw, 34px);
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
    text-transform: none;
}

.sheaney-standards__title::after {
    background: linear-gradient(90deg, var(--sheaney-amber), #f0c078);
    content: "";
    display: block;
    height: 3px;
    margin-top: 16px;
    width: 64px;
}

.sheaney-standards__right {
    background: #e8f0f4;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 40px;
}

.sheaney-standards__cols {
    display: grid;
    gap: 32px;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    max-width: 560px;
}

.sheaney-standards__col {
    text-align: center;
}

.sheaney-standards__col-icon {
    align-items: center;
    background: var(--sheaney-cyan);
    border-radius: 50%;
    box-shadow: 0 6px 18px rgba(46, 184, 217, 0.28);
    color: #fff;
    display: flex;
    height: 56px;
    justify-content: center;
    margin: 0 auto 12px;
    width: 56px;
}

.sheaney-standards__col:nth-child(2) .sheaney-standards__col-icon {
    background: var(--sheaney-amber);
    box-shadow: 0 6px 18px rgba(232, 165, 75, 0.3);
}

.sheaney-standards__col:nth-child(3) .sheaney-standards__col-icon {
    background: var(--sheaney-green);
    box-shadow: 0 6px 18px rgba(47, 154, 106, 0.28);
}

.sheaney-standards__col-icon svg {
    fill: none;
    height: 28px;
    stroke: #fff;
    stroke-width: 1.5;
    width: 28px;
}

.sheaney-standards__col-label {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

/* Certifications strip */
.sheaney-certs {
    background: #fff;
    border-top: 1px solid #e2e8ec;
    padding: 56px 0 64px;
}

.sheaney-certs__header {
    margin-bottom: 40px;
}

.sheaney-certs__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(18px, 2.2vw, 22px);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.3;
    margin: 0 0 12px;
    text-transform: none;
}

.sheaney-certs__subtitle {
    color: var(--sheaney-muted);
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
    max-width: 560px;
}

.sheaney-certs__grid {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 28px 40px;
}

.sheaney-certs__logo {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    justify-content: center;
}

.sheaney-certs__logo img {
    display: block;
    max-height: 60px;
    max-width: 140px;
    object-fit: contain;
    width: auto;
}

/* Featured work restyle */
.sheaney-featured.vc_custom_1497501025433 {
    background-image: none !important;
    background-color: var(--sheaney-navy-deep) !important;
    padding: 72px 0 !important;
}
.sheaney-featured h2 { color: #fff !important; }

/* Global nav */
.sheaney-nav-cta {
    background: var(--sheaney-navy);
    border-radius: var(--sheaney-cta-radius);
    color: #fff !important;
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-left: 16px;
    padding: 10px 20px;
    text-decoration: none !important;
    text-transform: uppercase;
    vertical-align: middle;
}
.sheaney-nav-cta:hover { background: var(--sheaney-navy-dark); color: #fff !important; }

#site-header-inner {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
}
#site-header-inner .wrap-inner { flex: 0 0 auto; }
#site-header-inner .main-nav {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    justify-content: flex-end;
    margin-left: auto;
}
#main-nav .menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    margin: 0;
}
#site-header-inner .sheaney-nav-cta {
    flex-shrink: 0;
    margin-left: 16px;
    margin-right: 0;
}
#site-header-inner #header-search {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    margin-left: 14px;
    position: relative;
}

/* Page hero (inner pages) */
.sheaney-page-hero {
    background: linear-gradient(rgba(20,56,74,.85), rgba(20,56,74,.85)), url('../../../../uploads/2022/02/20220207_162804-scaled.jpg') center/cover;
    color: #fff;
    padding: 100px 0 80px;
    text-align: center;
}
.sheaney-page-hero__label {
    color: #6ec4de !important;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 12px;
    text-transform: uppercase;
}
.sheaney-page-hero__title {
    color: #fff !important;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(32px, 5vw, 52px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 16px;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
    text-transform: uppercase;
}
.sheaney-page-hero__text {
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 17px;
    line-height: 1.65;
    margin: 0 auto;
    max-width: 640px;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.25);
}

/* History page hero */
.sheaney-page-hero--history {
    background-image: none;
    isolation: isolate;
    min-height: 460px;
    overflow: hidden;
    padding: 130px 0 96px;
    position: relative;
    text-align: center;
}
.sheaney-page-hero--history::before {
    background-color: #0b2030;
    background-image:
        linear-gradient(180deg, rgba(8, 28, 40, 0.88) 0%, rgba(8, 28, 40, 0.78) 45%, rgba(8, 28, 40, 0.9) 100%),
        url("../../../../uploads/2026/07/home/sheaney-hero-1.jpeg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    inset: 0;
    position: absolute;
    z-index: 0;
}
body.header-style-5:not(.home) .sheaney-page-hero--history::before {
    background:
        linear-gradient(180deg, rgba(8, 28, 40, 0.88) 0%, rgba(8, 28, 40, 0.78) 45%, rgba(8, 28, 40, 0.9) 100%),
        url("../../../../uploads/2026/07/home/sheaney-hero-1.jpeg");
    background-position: center center;
    background-size: cover;
}
.sheaney-page-hero--history .sheaney-page-hero__inner--history {
    display: block;
    grid-template-columns: none;
    position: relative;
    z-index: 1;
}
.sheaney-page-hero--history .sheaney-page-hero__copy--history {
    margin: 0 auto;
    max-width: 720px;
    text-align: center;
}
.sheaney-page-hero--history .sheaney-page-hero__label {
    color: var(--sheaney-cyan, #2eb8d9) !important;
}
.sheaney-page-hero--history .sheaney-page-hero__title::after {
    background: var(--sheaney-cyan, #2eb8d9);
    content: "";
    display: block;
    height: 3px;
    margin: 20px auto 0;
    width: 64px;
}
.sheaney-page-hero--history .sheaney-page-hero__text {
    margin-left: auto;
    margin-right: auto;
    max-width: 560px;
}
.sheaney-page-hero__jumps {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    justify-content: center;
    margin-top: 28px;
}
.sheaney-page-hero__jumps a {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 0.2s ease;
}
.sheaney-page-hero__jumps a:hover {
    color: var(--sheaney-cyan, #2eb8d9);
}
.sheaney-page-hero__jumps span {
    color: rgba(255, 255, 255, 0.45);
}

/* Timeline — left spine */
.sheaney-timeline {
    background: var(--sheaney-light-bg);
    padding: 80px 0 96px;
}
.sheaney-timeline__header {
    margin: 0 auto 56px;
    max-width: 640px;
    text-align: center;
}
.sheaney-timeline__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(22px, 2.8vw, 30px);
    font-weight: 800;
    letter-spacing: 0.5px;
    margin: 0 0 14px;
    text-transform: uppercase;
}
.sheaney-timeline__lead {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
}
.sheaney-timeline__track {
    max-width: 1040px;
    margin: 0 auto;
    padding-left: 44px;
    position: relative;
}
.sheaney-timeline__track::before {
    background: rgba(46, 184, 217, 0.35);
    bottom: 32px;
    content: "";
    left: 31px;
    position: absolute;
    top: 24px;
    width: 2px;
}
.sheaney-timeline__track.is-progress-active::before {
    background: rgba(30, 74, 92, 0.14);
}
.sheaney-timeline__track.is-progress-active::after {
    background: linear-gradient(180deg, var(--sheaney-navy) 0%, var(--sheaney-cyan, #2eb8d9) 100%);
    border-radius: 2px;
    box-shadow: 0 0 10px rgba(46, 184, 217, 0.45);
    content: "";
    height: var(--sheaney-timeline-progress, 0px);
    left: 31px;
    position: absolute;
    top: 24px;
    width: 2px;
    z-index: 1;
}
.sheaney-timeline__entry {
    display: grid;
    gap: 0 28px;
    grid-template-columns: 64px 1fr;
    margin-bottom: 40px;
    position: relative;
    scroll-margin-top: 110px;
}
.sheaney-timeline__entry:last-child {
    margin-bottom: 0;
}
.sheaney-timeline__node {
    align-items: center;
    background: var(--sheaney-navy);
    border: 4px solid var(--sheaney-light-bg);
    border-radius: 50%;
    box-shadow: 0 0 0 2px rgba(46, 184, 217, 0.25);
    display: flex;
    flex-shrink: 0;
    height: 64px;
    justify-content: center;
    margin-left: -44px;
    position: relative;
    width: 64px;
    z-index: 2;
}
.sheaney-timeline__year {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
}
.sheaney-timeline__card {
    background: #fff;
    border: 1px solid rgba(30, 74, 92, 0.06);
    border-radius: 14px;
    box-shadow: 0 10px 36px rgba(11, 32, 48, 0.08);
    min-width: 0;
}
.sheaney-timeline__content {
    align-items: stretch;
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
}
.sheaney-timeline__content:has(.sheaney-timeline__media, .sheaney-timeline__media-col) {
    grid-template-columns: minmax(0, 1.35fr) minmax(200px, 280px);
}
.sheaney-timeline__card-body {
    min-width: 0;
    padding: 32px 36px 36px;
}
.sheaney-timeline__card-head {
    align-items: center;
    display: flex;
    gap: 14px;
    margin-bottom: 16px;
}
.sheaney-timeline__icon {
    align-items: center;
    background: rgba(46, 184, 217, 0.12);
    border-radius: 50%;
    color: var(--sheaney-cyan, #2eb8d9);
    display: inline-flex;
    flex-shrink: 0;
    height: 40px;
    justify-content: center;
    width: 40px;
}
.sheaney-timeline__icon svg {
    display: block;
    height: 20px;
    width: 20px;
}
.sheaney-timeline__heading {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0.4px;
    line-height: 1.3;
    margin: 0;
    text-transform: uppercase;
}
.sheaney-timeline__text {
    color: #3d4a52;
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 14px;
}
.sheaney-timeline__text:last-child {
    margin-bottom: 0;
}
.sheaney-timeline__text strong {
    color: var(--sheaney-navy-deep);
    font-weight: 700;
}
.sheaney-timeline__list {
    color: #3d4a52;
    font-size: 15px;
    line-height: 1.65;
    margin: 0 0 16px;
    padding-left: 1.2em;
}
.sheaney-timeline__list li {
    margin-bottom: 8px;
}
.sheaney-timeline__list li:last-child {
    margin-bottom: 0;
}
.sheaney-timeline__tags {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
}
.sheaney-timeline__tag {
    color: #3d4a52;
    font-size: 14.5px;
    line-height: 1.65;
    padding: 0 0 0 22px;
    position: relative;
}
.sheaney-timeline__tag + .sheaney-timeline__tag {
    margin-top: 10px;
}
.sheaney-timeline__tag::before {
    background: var(--sheaney-cyan, #2eb8d9);
    border-radius: 2px;
    content: "";
    height: 6px;
    left: 2px;
    position: absolute;
    top: 9px;
    width: 6px;
}
.sheaney-timeline__logos {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 16px 20px;
    margin-top: 20px;
}
.sheaney-timeline__logos--seamless {
    background: #fff;
    border: 1px solid rgba(30, 74, 92, 0.08);
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(11, 32, 48, 0.04);
    gap: 14px 18px;
    padding: 14px 16px;
}
.sheaney-timeline__logo {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 0;
}
.sheaney-timeline__logo img {
    display: block;
    height: auto;
    max-height: 56px;
    max-width: 160px;
    object-fit: contain;
    width: auto;
}
.sheaney-timeline__logos--seamless .sheaney-timeline__logo img {
    max-height: 56px;
    object-fit: contain;
}
.sheaney-timeline__logo--seamless img {
    background: transparent;
    border: 0;
    box-shadow: none;
    max-height: 56px;
    max-width: 140px;
    object-fit: contain;
}
.sheaney-timeline__logo--seamless img[src*="constructionline"] {
    max-width: 180px;
}
.sheaney-timeline__media-col {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 100%;
}
.sheaney-timeline__media {
    background: #fff;
    border: 1px solid rgba(30, 74, 92, 0.06);
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(11, 32, 48, 0.08);
    margin: 0;
    overflow: hidden;
    position: relative;
}
.sheaney-timeline__media-col .sheaney-timeline__media {
    flex: 1 1 50%;
    min-height: 140px;
}
.sheaney-timeline__content > .sheaney-timeline__media {
    align-self: stretch;
    min-height: 240px;
}
.sheaney-timeline__media img {
    display: block;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    object-position: center;
    width: 100%;
}
.sheaney-timeline__media-col .sheaney-timeline__media img {
    min-height: 140px;
}
.sheaney-timeline__media-stack {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.sheaney-timeline__media--logo {
    align-items: center;
    border: 1px solid #e6ecef;
    display: flex;
    justify-content: center;
    min-height: 72px;
    padding: 10px 12px;
}
.sheaney-timeline__media--logo img {
    height: auto;
    max-height: 64px;
    max-width: 100%;
    min-height: 0;
    object-fit: contain;
    width: auto;
}

/* Stats bar */
.sheaney-stats {
    background: linear-gradient(180deg, var(--sheaney-navy-deep) 0%, #14384a 100%);
    border-top: 3px solid rgba(110, 196, 222, 0.4);
    color: #fff;
    padding: 56px 0 48px;
}
.sheaney-stats__grid {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(5, 1fr);
    text-align: center;
}
.sheaney-stats__item {
    border-right: 1px solid rgba(255, 255, 255, 0.12);
    padding: 16px 12px;
}
.sheaney-stats__item:last-child {
    border-right: none;
}
.sheaney-stats__num {
    color: #fff;
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 8px;
}
.sheaney-stats__num--accent {
    color: #6ec4de;
}
.sheaney-stats__label {
    display: block;
    font-size: 11px;
    letter-spacing: 1.2px;
    opacity: 0.85;
    text-transform: uppercase;
}
.sheaney-stats__cta {
    margin: 36px 0 0;
    text-align: center;
}

/* Team page — roster + CTA (hero photo styles appended below) */
.sheaney-team {
    background: var(--sheaney-light-bg);
    padding: 72px 0 80px;
}
.sheaney-team__intro {
    margin: 0 auto 48px;
    max-width: 640px;
    text-align: center;
}
.sheaney-team__intro-title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(22px, 2.5vw, 28px);
    font-weight: 700;
    margin: 0 0 12px;
}
.sheaney-team__intro-text {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
}
.sheaney-team-grid {
    align-items: stretch;
    display: grid;
    gap: 32px;
    grid-template-columns: repeat(3, 1fr);
}
.sheaney-team-card {
    background: #fff;
    border: 1px solid rgba(30, 74, 92, 0.08);
    border-radius: 10px;
    box-shadow: 0 6px 28px rgba(11, 32, 48, 0.06);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
}
.sheaney-team-card:hover {
    border-color: rgba(46, 184, 217, 0.35);
    box-shadow: 0 16px 44px rgba(11, 32, 48, 0.12);
    transform: translateY(-5px);
}
.sheaney-team-card__photo {
    aspect-ratio: 4 / 5;
    background: var(--sheaney-light-bg);
    flex-shrink: 0;
    height: auto;
    margin: 0;
    overflow: hidden;
    position: relative;
}
.sheaney-team-card__photo::after {
    background: linear-gradient(180deg, transparent 50%, rgba(11, 32, 48, 0.45) 100%);
    bottom: 0;
    content: "";
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
}
.sheaney-team-card__photo img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform 0.45s ease;
    width: 100%;
}
.sheaney-team-card:hover .sheaney-team-card__photo img {
    transform: scale(1.04);
}
.sheaney-team-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 22px 22px 26px;
    text-align: left;
}
.sheaney-team-card__name {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 19px;
    font-weight: 700;
    margin: 0 0 6px;
}
.sheaney-team-card__role {
    color: var(--sheaney-cyan, #2eb8d9);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.4px;
    margin: 0 0 14px;
    text-transform: uppercase;
}
.sheaney-team-card__bio {
    color: var(--sheaney-muted);
    flex: 1;
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}
.sheaney-team-card__linkedin {
    color: var(--sheaney-navy);
    display: inline-flex;
    font-size: 20px;
    margin-top: 16px;
    opacity: 0.75;
    transition: color 0.2s ease, opacity 0.2s ease;
}
.sheaney-team-card__linkedin:hover {
    color: var(--sheaney-cyan, #2eb8d9);
    opacity: 1;
}
.sheaney-team-cta {
    background: linear-gradient(180deg, var(--sheaney-navy-deep) 0%, #14384a 100%);
    border-top: 3px solid rgba(46, 184, 217, 0.45);
    color: #fff;
    padding: 56px 0;
    text-align: center;
}
.sheaney-team-cta .container {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.sheaney-team-cta__text {
    font-family: "Montserrat", sans-serif;
    font-size: clamp(18px, 2.5vw, 22px);
    font-weight: 600;
    margin: 0;
}

/* Leadership profiles */
.sheaney-leadership {
    background: #fff;
    border-bottom: 1px solid #e2e8ec;
    padding: 72px 0 64px;
}
.sheaney-leadership__header {
    margin: 0 auto 40px;
    max-width: 640px;
    text-align: center;
}
.sheaney-leadership__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(22px, 2.5vw, 28px);
    font-weight: 700;
    margin: 0 0 12px;
}
.sheaney-leadership__text {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
}
.sheaney-leader {
    background: var(--sheaney-light-bg);
    border: 1px solid rgba(30, 74, 92, 0.08);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(11, 32, 48, 0.06);
    overflow: hidden;
    padding: 28px;
}
.sheaney-leader + .sheaney-leader {
    margin-top: 28px;
}
.sheaney-leader__head {
    align-items: flex-start;
    display: grid;
    gap: 28px;
    grid-template-columns: 200px 1fr;
}
.sheaney-leader__photo {
    aspect-ratio: 4 / 5;
    background: #fff;
    border: 3px solid rgba(30, 74, 92, 0.12);
    border-radius: 10px;
    margin: 0;
    overflow: hidden;
}
.sheaney-leader__photo img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    width: 100%;
}
.sheaney-leader__ident {
    min-width: 0;
}
.sheaney-leader__title-row {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 14px;
}
.sheaney-leader__name {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(22px, 2.2vw, 26px);
    font-weight: 700;
    margin: 0 0 6px;
}
.sheaney-leader__role {
    color: var(--sheaney-cyan, #2eb8d9);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.4px;
    margin: 0;
    text-transform: uppercase;
}
.sheaney-leader__linkedin {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(30, 74, 92, 0.12);
    border-radius: 50%;
    color: var(--sheaney-navy);
    display: inline-flex;
    flex-shrink: 0;
    font-size: 18px;
    height: 40px;
    justify-content: center;
    opacity: 0.9;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    width: 40px;
}
.sheaney-leader__linkedin:hover {
    background: var(--sheaney-navy);
    border-color: var(--sheaney-navy);
    color: #fff;
}
.sheaney-leader__summary {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 18px;
}
.sheaney-leader__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.sheaney-leader__chip {
    background: #fff;
    border: 1px solid rgba(46, 184, 217, 0.35);
    border-radius: 999px;
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.6px;
    padding: 6px 12px;
    text-transform: uppercase;
}
.sheaney-leader__more {
    border-top: 1px solid rgba(30, 74, 92, 0.1);
    margin-top: 24px;
    padding-top: 4px;
}
.sheaney-leader__toggle {
    color: var(--sheaney-navy);
    cursor: pointer;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;
    list-style: none;
    padding: 14px 0;
    position: relative;
    user-select: none;
}
.sheaney-leader__toggle::-webkit-details-marker {
    display: none;
}
.sheaney-leader__toggle::after {
    content: "▾";
    display: inline-block;
    font-size: 12px;
    margin-left: 8px;
    transition: transform 0.2s ease;
}
.sheaney-leader__more[open] .sheaney-leader__toggle::after {
    transform: rotate(180deg);
}
.sheaney-leader__toggle:hover {
    color: var(--sheaney-cyan, #2eb8d9);
}
.sheaney-leader__detail {
    padding: 4px 0 8px;
}
.sheaney-leader__detail > p {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 16px;
}
.sheaney-leader-certs {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, 1fr);
    margin: 8px 0 24px;
}
.sheaney-leader-certs__item {
    background: #fff;
    border: 1px solid rgba(30, 74, 92, 0.08);
    border-left: 3px solid var(--sheaney-cyan, #2eb8d9);
    border-radius: 8px;
    padding: 16px 18px;
}
.sheaney-leader-certs__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 8px;
}
.sheaney-leader-certs__text {
    color: var(--sheaney-muted);
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}
.sheaney-leader__academics {
    background: #fff;
    border: 1px solid rgba(30, 74, 92, 0.08);
    border-radius: 8px;
    list-style: none;
    margin: 0 0 20px;
    padding: 16px 20px;
}
.sheaney-leader__academics li {
    color: var(--sheaney-muted);
    font-size: 14px;
    line-height: 1.55;
    padding: 8px 0;
}
.sheaney-leader__academics li + li {
    border-top: 1px solid rgba(30, 74, 92, 0.08);
}
.sheaney-leader__academics strong {
    color: var(--sheaney-navy);
}

/* About leadership callout */
.sheaney-about-leader {
    background: var(--sheaney-light-bg);
    border-bottom: 1px solid #e2e8ec;
    padding: 56px 0;
}
.sheaney-about-leader__card {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(30, 74, 92, 0.08);
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(11, 32, 48, 0.06);
    display: grid;
    gap: 28px;
    grid-template-columns: 140px 1fr auto;
    padding: 28px;
}
.sheaney-about-leader__photo {
    aspect-ratio: 1;
    border: 3px solid rgba(30, 74, 92, 0.12);
    border-radius: 50%;
    margin: 0;
    overflow: hidden;
}
.sheaney-about-leader__photo img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    width: 100%;
}
.sheaney-about-leader__label {
    color: var(--sheaney-cyan, #2eb8d9);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.4px;
    margin: 0 0 8px;
    text-transform: uppercase;
}
.sheaney-about-leader__name {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 6px;
}
.sheaney-about-leader__role {
    color: var(--sheaney-navy);
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 10px;
    opacity: 0.75;
}
.sheaney-about-leader__text {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
}
.sheaney-about-leader__link {
    align-self: center;
    white-space: nowrap;
}

/* Service hub pages */
.sheaney-page-hero--service {
    padding-bottom: 88px;
}
.sheaney-page-hero--service .sheaney-page-hero__title::after {
    background: #6ec4de;
    content: "";
    display: block;
    height: 3px;
    margin: 20px auto 0;
    width: 64px;
}
/* Engineering hero image set in Rev 04 block below */

.sheaney-service-hub-intro {
    background: #fff;
    padding: 80px 0;
}
.sheaney-service-hub-intro__grid {
    align-items: center;
    display: grid;
    gap: 48px 64px;
    grid-template-columns: 1.15fr 0.85fr;
}
.sheaney-service-hub-intro__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 16px;
}
.sheaney-service-hub-intro__lead {
    color: var(--sheaney-navy);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.65;
    margin: 0 0 14px;
}
.sheaney-service-hub-intro__text {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
}
.sheaney-service-hub-stats {
    display: grid;
    gap: 20px;
}
.sheaney-service-hub-stat {
    background: var(--sheaney-light-bg);
    border-left: 4px solid #6ec4de;
    border-radius: 0 8px 8px 0;
    padding: 24px 28px;
}
.sheaney-service-hub-stat__num {
    color: var(--sheaney-navy);
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(28px, 4vw, 38px);
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 6px;
}
.sheaney-service-hub-stat__label {
    color: var(--sheaney-muted);
    display: block;
    font-size: 14px;
    line-height: 1.5;
}

.sheaney-service-hub__header {
    margin: 0 auto 48px;
    max-width: 640px;
    text-align: center;
}
.sheaney-service-hub__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(22px, 2.5vw, 30px);
    font-weight: 700;
    margin: 0 0 12px;
}
.sheaney-service-hub__subtitle {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
}

.sheaney-service-hub-capabilities {
    background: var(--sheaney-light-bg);
    padding: 80px 0 88px;
}
.sheaney-service-hub-capabilities__grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(4, 1fr);
}
.sheaney-capability-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 16px rgba(20, 56, 74, 0.05);
    padding: 28px 24px 30px;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.sheaney-capability-card:hover {
    box-shadow: 0 10px 32px rgba(20, 56, 74, 0.1);
    transform: translateY(-3px);
}
.sheaney-capability-card__icon {
    align-items: center;
    background: linear-gradient(135deg, var(--sheaney-navy) 0%, #3a7a94 100%);
    border-radius: 10px;
    display: flex;
    height: 48px;
    justify-content: center;
    margin-bottom: 18px;
    width: 48px;
}
.sheaney-capability-card__icon svg {
    height: 24px;
    stroke: #fff;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
    width: 24px;
}
.sheaney-capability-card__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 10px;
}
.sheaney-capability-card__text {
    color: var(--sheaney-muted);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.sheaney-service-hub-split {
    background: #fff;
    padding: 88px 0;
}
.sheaney-service-hub-split__grid {
    align-items: center;
    display: grid;
    gap: 48px 64px;
    grid-template-columns: 1fr 1fr;
}
.sheaney-service-hub-split__media {
    border-radius: 8px;
    box-shadow: 0 16px 48px rgba(20, 56, 74, 0.12);
    margin: 0;
    overflow: hidden;
}
.sheaney-service-hub-split__media img {
    display: block;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    width: 100%;
}
.sheaney-service-hub-split__label {
    color: #6ec4de;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    margin: 0 0 10px;
    text-transform: uppercase;
}
.sheaney-service-hub-split__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 16px;
}
.sheaney-service-hub-split__text {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 32px;
}
.sheaney-service-hub-process {
    border-top: 1px solid #e8eef2;
    list-style: none;
    margin: 0;
    padding: 0;
}
.sheaney-service-hub-process li {
    border-bottom: 1px solid #e8eef2;
    display: grid;
    gap: 16px;
    grid-template-columns: 48px 1fr;
    padding: 20px 0;
}
.sheaney-service-hub-process li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.sheaney-service-hub-process__step {
    color: #6ec4de;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    padding-top: 2px;
}
.sheaney-service-hub-process li strong {
    color: var(--sheaney-navy);
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 4px;
}
.sheaney-service-hub-process li p {
    color: var(--sheaney-muted);
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

.sheaney-service-hub-specialisms {
    background: var(--sheaney-light-bg);
    padding: 80px 0 88px;
}
.sheaney-service-hub-specialisms__grid {
    display: grid;
    gap: 32px;
    grid-template-columns: repeat(2, 1fr);
}
.sheaney-specialism-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
    color: inherit;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    text-decoration: none !important;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.sheaney-specialism-card:hover {
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.11);
    transform: translateY(-4px);
}
.sheaney-specialism-card__media {
    aspect-ratio: 16 / 9;
    margin: 0;
    overflow: hidden;
}
.sheaney-specialism-card__media img {
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
    width: 100%;
}
.sheaney-specialism-card:hover .sheaney-specialism-card__media img {
    transform: scale(1.04);
}
.sheaney-specialism-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 28px 28px 32px;
}
.sheaney-specialism-card__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 10px;
}
.sheaney-specialism-card__text {
    color: var(--sheaney-muted);
    flex: 1;
    font-size: 15px;
    line-height: 1.65;
    margin: 0 0 20px;
}
.sheaney-specialism-card__link {
    align-items: center;
    color: var(--sheaney-navy);
    display: inline-flex;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    gap: 8px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.sheaney-specialism-card:hover .sheaney-specialism-card__link {
    color: #6ec4de;
}
.sheaney-specialism-card__link .fa {
    transition: transform 0.2s ease;
}
.sheaney-specialism-card:hover .sheaney-specialism-card__link .fa {
    transform: translateX(4px);
}

.sheaney-service-hub-cta {
    background: linear-gradient(180deg, var(--sheaney-navy-deep) 0%, #14384a 100%);
    border-top: 3px solid rgba(110, 196, 222, 0.4);
    color: #fff;
    padding: 64px 0;
    text-align: center;
}
.sheaney-service-hub-cta .container {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.sheaney-service-hub-cta__text {
    font-family: "Montserrat", sans-serif;
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 600;
    margin: 0;
    max-width: 520px;
}

@media (max-width: 1199px) {
    .sheaney-service-hub-capabilities__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991px) {
    .sheaney-service-hub-intro__grid,
    .sheaney-service-hub-split__grid {
        grid-template-columns: 1fr;
    }
    .sheaney-service-hub-split__media img {
        min-height: 280px;
    }
    .sheaney-service-hub-specialisms__grid {
        grid-template-columns: 1fr;
        max-width: 520px;
        margin: 0 auto;
    }
}

@media (max-width: 767px) {
    .sheaney-service-hub-intro,
    .sheaney-service-hub-capabilities,
    .sheaney-service-hub-specialisms {
        padding: 56px 0 64px;
    }
    .sheaney-service-hub-split {
        padding: 56px 0;
    }
    .sheaney-service-hub-capabilities__grid {
        gap: 16px;
        grid-template-columns: 1fr;
    }
    .sheaney-service-hub-cta {
        padding: 48px 0;
    }
}

/* Service hub sub-grid (legacy) */
.sheaney-hub-links {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    padding: 48px 0 72px;
}
.sheaney-hub-link {
    border: 1px solid #e2e8ec;
    border-radius: 6px;
    overflow: hidden;
    text-decoration: none !important;
    transition: box-shadow .2s;
}
.sheaney-hub-link:hover { box-shadow: 0 8px 24px rgba(0,0,0,.1); }
.sheaney-hub-link img { display: block; height: 160px; object-fit: cover; width: 100%; }
.sheaney-hub-link__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 700;
    padding: 16px;
}

.sheaney-section > .container > .sheaney-nav-cta {
    display: block;
    margin: 32px auto 0;
    text-align: center;
    width: fit-content;
}

@media (max-width: 991px) {
    .sheaney-standards { grid-template-columns: 1fr; }
    .sheaney-standards__left { clip-path: none; padding: 32px 24px; }
    .sheaney-timeline__content:has(.sheaney-timeline__media, .sheaney-timeline__media-col) {
        grid-template-columns: 1fr;
    }
    .sheaney-timeline__media img,
    .sheaney-timeline__media-col .sheaney-timeline__media img {
        height: 200px;
        min-height: 200px;
    }
    .sheaney-timeline__media-col {
        flex-direction: row;
    }
    .sheaney-timeline__media-col .sheaney-timeline__media {
        flex: 1 1 50%;
        min-height: 180px;
    }
    .sheaney-timeline__card-body {
        padding: 28px 24px 24px;
    }
    .sheaney-timeline__media-stack {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .sheaney-timeline__media--logo {
        flex: 1 1 140px;
        max-width: 180px;
    }
    .sheaney-stats__grid { grid-template-columns: repeat(2, 1fr); }
    .sheaney-stats__item {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
        padding: 20px 12px;
    }
    .sheaney-stats__item:nth-child(2n) { border-right: none; }
    .sheaney-team-grid { grid-template-columns: repeat(2, 1fr); }
    .sheaney-nav-cta { display: none; }
    .sheaney-leader__head { grid-template-columns: 160px 1fr; gap: 20px; }
    .sheaney-leader-certs { grid-template-columns: 1fr; }
    .sheaney-about-leader__card { grid-template-columns: 120px 1fr; }
    .sheaney-about-leader__link { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 767px) {
    .sheaney-standards__cols { grid-template-columns: 1fr; gap: 20px; }
    .sheaney-certs__logo img { max-height: 44px; max-width: 110px; }
    .sheaney-timeline {
        padding: 56px 0 64px;
    }
    .sheaney-timeline__header {
        margin-bottom: 36px;
    }
    .sheaney-timeline__track { padding-left: 28px; }
    .sheaney-timeline__track::before { left: 19px; }
    .sheaney-timeline__node {
        height: 40px;
        margin-left: -28px;
        width: 40px;
    }
    .sheaney-timeline__year { font-size: 11px; }
    .sheaney-timeline__entry {
        grid-template-columns: 40px 1fr;
        gap: 0 16px;
        margin-bottom: 28px;
    }
    .sheaney-timeline__card-body {
        padding: 22px 18px 20px;
    }
    .sheaney-timeline__heading {
        font-size: 15px;
    }
    .sheaney-timeline__tag {
        font-size: 14px;
    }
    .sheaney-timeline__logo img {
        max-height: 56px;
        max-width: 130px;
    }
    .sheaney-page-hero--history {
        min-height: 0;
        padding: 110px 0 72px;
    }
    .sheaney-stats__grid { grid-template-columns: 1fr; }
    .sheaney-stats__item { border-right: none; }
    .sheaney-team { padding: 56px 0 64px; }
    .sheaney-team-grid { gap: 32px; grid-template-columns: 1fr; }
    .sheaney-team-cta { padding: 48px 0; }
    .sheaney-leadership { padding: 56px 0 48px; }
    .sheaney-leader { padding: 20px; }
    .sheaney-leader__head { grid-template-columns: 1fr; }
    .sheaney-leader__photo {
        aspect-ratio: 1;
        border-radius: 50%;
        margin: 0 auto;
        max-width: 180px;
    }
    .sheaney-about-leader__card {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .sheaney-about-leader__photo {
        margin: 0 auto;
        max-width: 120px;
    }
    .sheaney-about-leader__link { justify-self: center; }
}

/* Nav dropdowns */
#main-nav .menu-item-has-children { position: relative; }
#main-nav .menu-item-has-children > .sub-menu {
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    display: none;
    left: 0;
    list-style: none;
    margin: 0;
    min-width: 240px;
    padding: 8px 0;
    position: absolute;
    top: 100%;
    z-index: 999;
}
#main-nav .menu-item-has-children:hover > .sub-menu { display: block; }
#main-nav .sub-menu li a {
    color: var(--sheaney-text) !important;
    display: block;
    font-size: 14px;
    padding: 10px 20px;
    text-transform: none;
}
#main-nav .sub-menu li a:hover {
    background: var(--sheaney-light-bg);
    color: var(--sheaney-navy) !important;
}

/* Sticky header shrink — match homepage on scroll */
body.header-style-5 #site-header.is-sticky #site-header-inner,
.home #site-header.is-sticky #site-header-inner {
    padding-bottom: 18px !important;
    padding-top: 18px !important;
}

.sheaney-btn {
    background: var(--sheaney-navy);
    border: 2px solid var(--sheaney-navy);
    border-radius: var(--sheaney-cta-radius);
    color: #fff;
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 10px 26px;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}
.sheaney-btn:hover,
.sheaney-btn:focus-visible {
    background: var(--sheaney-navy-dark);
    border-color: var(--sheaney-navy-dark);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
}
.sheaney-btn--ghost,
.sheaney-btn--outline {
    background: transparent;
    color: var(--sheaney-navy);
}

/* Buttons on dark navy bands: standard fill plus a thin white outline */
.sheaney-about-cta .sheaney-btn,
.sheaney-community-cta .sheaney-btn,
.sheaney-service-hub-cta .sheaney-btn,
.sheaney-stats__cta .sheaney-btn,
.sheaney-sustain-cta .sheaney-btn,
.sheaney-team-cta .sheaney-btn {
    background: var(--sheaney-navy);
    border-color: rgba(255, 255, 255, 0.6);
    color: #fff;
}
.sheaney-about-cta .sheaney-btn:hover,
.sheaney-community-cta .sheaney-btn:hover,
.sheaney-service-hub-cta .sheaney-btn:hover,
.sheaney-stats__cta .sheaney-btn:hover,
.sheaney-sustain-cta .sheaney-btn:hover,
.sheaney-team-cta .sheaney-btn:hover,
.sheaney-about-cta .sheaney-btn:focus-visible,
.sheaney-community-cta .sheaney-btn:focus-visible,
.sheaney-service-hub-cta .sheaney-btn:focus-visible,
.sheaney-stats__cta .sheaney-btn:focus-visible,
.sheaney-sustain-cta .sheaney-btn:focus-visible,
.sheaney-team-cta .sheaney-btn:focus-visible {
    background: var(--sheaney-navy-dark);
    border-color: #fff;
    color: #fff;
}
.sheaney-community-cta .sheaney-btn--ghost,
.sheaney-sustain-cta .sheaney-btn--ghost {
    background: transparent;
}

@media (prefers-reduced-motion: reduce) {
    .sheaney-btn {
        transition: none;
    }
    .sheaney-btn:hover,
    .sheaney-btn:focus-visible {
        transform: none;
    }
}
.sheaney-pillar__title a {
    color: inherit;
    text-decoration: none;
}
.sheaney-pillar__title a:hover {
    color: #6ec4de;
}
.sheaney-certs__footer a {
    color: #6ec4de;
    display: inline-block;
    font-weight: 600;
    margin-left: 8px;
    text-decoration: none;
}
.sheaney-certs__footer a:hover {
    text-decoration: underline;
}

.sheaney-page-hero--portfolio {
    background: linear-gradient(135deg, rgba(20, 56, 74, 0.92) 0%, rgba(38, 93, 116, 0.82) 100%),
        url("../../../../uploads/2022/02/L5I9493.jpg") center / cover no-repeat;
    padding-bottom: 88px;
}
.sheaney-page-hero--portfolio .sheaney-page-hero__title::after {
    background: #6ec4de;
    content: "";
    display: block;
    height: 3px;
    margin: 20px auto 0;
    width: 64px;
}
.sheaney-portfolio {
    background: var(--sheaney-light-bg);
    padding: 80px 0 96px;
}
.sheaney-portfolio .sheaney-timeline__header {
    margin-bottom: 40px;
}
.sheaney-portfolio .sheaney-timeline__track {
    padding-left: 0;
}
.sheaney-portfolio .sheaney-timeline__track::before,
.sheaney-portfolio .sheaney-timeline__track.is-progress-active::after {
    left: 51px;
}
.sheaney-portfolio .sheaney-timeline__entry {
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 0 28px;
}
.sheaney-portfolio .sheaney-timeline__node {
    align-self: start;
    border-radius: 999px;
    box-sizing: border-box;
    height: 44px;
    margin-left: 0;
    margin-top: 10px;
    width: 104px;
}
.sheaney-portfolio .sheaney-timeline__year {
    font-size: 12px;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}
.sheaney-portfolio-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 24px;
    justify-content: space-between;
    margin-bottom: 40px;
}
.sheaney-portfolio-search {
    align-self: flex-start;
    flex: 1 1 260px;
    margin: 0;
    max-width: 400px;
    position: relative;
}
.sheaney-portfolio-search input {
    background: #fff;
    border: 1px solid #dce4e9;
    border-radius: var(--sheaney-cta-radius);
    color: var(--sheaney-navy);
    font-size: 15px;
    margin: 0;
    padding: 14px 20px 14px 44px;
    width: 100%;
}
.sheaney-portfolio-search input:focus {
    border-color: #6ec4de;
    outline: none;
}
.sheaney-portfolio-search::before {
    color: var(--sheaney-muted);
    content: "\f002";
    font-family: FontAwesome;
    left: 16px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.sheaney-portfolio-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.sheaney-portfolio-filter {
    background: #fff;
    border: 1px solid #dce4e9;
    border-radius: 999px;
    color: var(--sheaney-navy);
    cursor: pointer;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 10px 18px;
    text-transform: uppercase;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.sheaney-portfolio-filter:hover,
.sheaney-portfolio-filter.is-active {
    background: var(--sheaney-navy);
    border-color: var(--sheaney-navy);
    color: #fff;
}
.sheaney-portfolio-entry[hidden] {
    display: none;
}
.sheaney-portfolio-meta {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
}
.sheaney-portfolio-meta li {
    color: #3d4a52;
    display: flex;
    flex-wrap: wrap;
    font-size: 14.5px;
    gap: 6px 10px;
    line-height: 1.55;
    padding: 6px 0;
}
.sheaney-portfolio-meta li + li {
    border-top: 1px solid rgba(30, 74, 92, 0.08);
}
.sheaney-portfolio-meta__label {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.8px;
    min-width: 72px;
    text-transform: uppercase;
}
.sheaney-portfolio-meta__value {
    flex: 1 1 180px;
}
.sheaney-portfolio-entry__cta {
    color: var(--sheaney-cyan, #2eb8d9);
    display: inline-flex;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.6px;
    margin-top: 8px;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: color 0.2s ease, transform 0.2s ease;
}
.sheaney-portfolio-entry__cta::after {
    content: "→";
    display: inline-block;
    margin-left: 8px;
    transition: transform 0.2s ease;
}
.sheaney-portfolio-entry__cta:hover {
    color: var(--sheaney-navy);
}
.sheaney-portfolio-entry__cta:hover::after {
    transform: translateX(4px);
}
.sheaney-portfolio-empty {
    background: #fff;
    border: 1px solid rgba(30, 74, 92, 0.08);
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(11, 32, 48, 0.06);
    color: var(--sheaney-muted);
    margin: 0;
    padding: 48px 24px;
    text-align: center;
}
.sheaney-portfolio-empty[hidden] {
    display: none;
}

/* Timeline NDA placeholder */
.sheaney-portfolio-nda {
    margin: 0;
}
.sheaney-portfolio-nda__panel {
    align-items: center;
    background:
        radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.06), transparent 45%),
        linear-gradient(145deg, #14384a 0%, #0b2030 100%);
    border-radius: 14px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 220px;
    padding: 28px 24px;
    text-align: center;
}
.sheaney-portfolio-nda__label {
    color: var(--sheaney-cyan, #2eb8d9);
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    margin-bottom: 10px;
    text-transform: uppercase;
}
.sheaney-portfolio-nda__text {
    color: rgba(255, 255, 255, 0.82);
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
    max-width: 240px;
}

/* Portfolio detail pages */
.sheaney-page-hero--portfolio-detail {
    background-image: none;
    isolation: isolate;
    min-height: 380px;
    overflow: hidden;
    padding: 130px 0 88px;
    position: relative;
    text-align: left;
}
.sheaney-page-hero--portfolio-detail::before {
    background-color: #0b2030;
    background-image:
        linear-gradient(105deg, rgba(8, 28, 40, 0.92) 0%, rgba(8, 28, 40, 0.7) 48%, rgba(8, 28, 40, 0.42) 100%),
        var(--sheaney-portfolio-hero, none);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    inset: 0;
    position: absolute;
    z-index: 0;
}
.sheaney-page-hero--portfolio-nda::before {
    background-image:
        radial-gradient(circle at 18% 20%, rgba(46, 184, 217, 0.18), transparent 42%),
        linear-gradient(135deg, #0b2030 0%, #14384a 55%, #1a4f63 100%);
}
.sheaney-page-hero--portfolio-detail .sheaney-page-hero__inner,
.sheaney-page-hero--portfolio-detail .sheaney-page-hero__copy {
    position: relative;
    text-align: left;
    z-index: 1;
}
.sheaney-page-hero--portfolio-detail .sheaney-page-hero__copy {
    max-width: 720px;
}
.sheaney-page-hero--portfolio-detail .sheaney-page-hero__title {
    margin-left: 0;
    margin-right: 0;
    text-transform: none;
}
.sheaney-page-hero--portfolio-detail .sheaney-page-hero__title::after {
    background: var(--sheaney-cyan, #2eb8d9);
    content: "";
    display: block;
    height: 3px;
    margin: 18px 0 0;
    width: 64px;
}
.sheaney-page-hero--portfolio-detail .sheaney-page-hero__text {
    margin-left: 0;
    max-width: 620px;
}
.sheaney-portfolio-detail__crumb {
    color: var(--sheaney-cyan, #2eb8d9);
    font-size: 12px;
    margin: 0 0 16px;
}
.sheaney-portfolio-detail__crumb a {
    color: inherit;
    text-decoration: none;
}
.sheaney-portfolio-detail__crumb a:hover {
    color: #fff;
}
.sheaney-portfolio-detail {
    background: #fff;
    padding: 72px 0 88px;
}
.sheaney-portfolio-detail__nda-note {
    background: var(--sheaney-light-bg);
    border-left: 3px solid var(--sheaney-cyan, #2eb8d9);
    color: var(--sheaney-muted);
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 32px;
    padding: 14px 18px;
}
.sheaney-portfolio-detail__meta {
    display: grid;
    gap: 18px 28px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 0 40px;
}
.sheaney-portfolio-detail__meta-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.sheaney-portfolio-detail__meta-label {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}
.sheaney-portfolio-detail__meta-value {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.5;
}
.sheaney-portfolio-detail__grid {
    display: grid;
    gap: 40px 56px;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.9fr);
}
.sheaney-portfolio-detail__head {
    align-items: center;
    display: flex;
    gap: 14px;
    margin-bottom: 8px;
}
.sheaney-portfolio-detail__heading {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(22px, 2.4vw, 28px);
    font-weight: 800;
    margin: 0 0 14px;
}
.sheaney-portfolio-detail__text {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.75;
    margin: 0 0 24px;
}
.sheaney-portfolio-detail__list {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
    padding-left: 1.2em;
}
.sheaney-portfolio-detail__list li {
    margin-bottom: 12px;
}
.sheaney-portfolio-detail__list li:last-child {
    margin-bottom: 0;
}
.sheaney-portfolio-detail__achievements {
    background: var(--sheaney-light-bg);
    border-radius: 14px;
    padding: 28px 24px;
}
.sheaney-portfolio-detail__back {
    margin: 40px 0 0;
    text-align: center;
}
.sheaney-portfolio-detail__gallery {
    margin: 48px 0 8px;
}
.sheaney-portfolio-detail__gallery-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.sheaney-portfolio-detail__gallery-item {
    border-radius: 12px;
    margin: 0;
    overflow: hidden;
}
.sheaney-portfolio-detail__gallery-item img {
    display: block;
    height: 280px;
    object-fit: cover;
    width: 100%;
}
@media (max-width: 991px) {
    .sheaney-portfolio-detail__meta,
    .sheaney-portfolio-detail__grid,
    .sheaney-portfolio-detail__gallery-grid {
        grid-template-columns: 1fr;
    }
    .sheaney-page-hero--portfolio-detail {
        min-height: 0;
        padding: 110px 0 64px;
    }
}

/* Portfolio entry image carousel */
.sheaney-portfolio .sheaney-portfolio-carousel {
    overflow: hidden;
    position: relative;
}
.sheaney-portfolio .sheaney-portfolio-carousel__slides {
    height: 100%;
    min-height: 220px;
    position: relative;
    width: 100%;
}
.sheaney-portfolio .sheaney-portfolio-carousel__slide {
    height: 100%;
    inset: 0;
    margin: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity 0.45s ease;
    visibility: hidden;
    width: 100%;
}
.sheaney-portfolio .sheaney-portfolio-carousel__slide.is-active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    z-index: 1;
}
.sheaney-portfolio .sheaney-portfolio-carousel__slide img {
    display: block;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    object-position: center;
    width: 100%;
}
.sheaney-portfolio .sheaney-portfolio-carousel__controls {
    align-items: center;
    bottom: 10px;
    display: flex;
    gap: 8px;
    justify-content: center;
    left: 0;
    padding: 0 8px;
    position: absolute;
    right: 0;
    z-index: 2;
}
.sheaney-portfolio .sheaney-portfolio-carousel__controls--hidden {
    display: none;
}
.sheaney-portfolio .sheaney-portfolio-carousel__arrow {
    align-items: center;
    background: rgba(255, 255, 255, 0.92);
    border: none;
    border-radius: 50%;
    color: var(--sheaney-navy-deep);
    cursor: pointer;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 16px;
    height: 30px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    transition: background-color 0.2s ease, color 0.2s ease;
    width: 30px;
}
.sheaney-portfolio .sheaney-portfolio-carousel__arrow:hover,
.sheaney-portfolio .sheaney-portfolio-carousel__arrow:focus {
    background: #fff;
    color: var(--sheaney-navy);
    outline: none;
}
.sheaney-portfolio .sheaney-portfolio-carousel__arrow:disabled {
    cursor: default;
    opacity: 0.45;
}
.sheaney-portfolio .sheaney-portfolio-carousel__dots {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
}
.sheaney-portfolio .sheaney-portfolio-carousel__dot {
    background: rgba(255, 255, 255, 0.55);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    height: 7px;
    padding: 0;
    transition: background-color 0.2s ease, transform 0.2s ease;
    width: 7px;
}
.sheaney-portfolio .sheaney-portfolio-carousel__dot.is-active,
.sheaney-portfolio .sheaney-portfolio-carousel__dot:hover {
    background: #fff;
    transform: scale(1.15);
}

/* Community page — legacy hooks (redesign appended below) */
.sheaney-community-intro,
.sheaney-community-spotlights { display: none; }

/* Sustainability page — legacy hooks (full redesign appended below) */
.sheaney-sustainability-intro,
.sheaney-sustainability-commitments,
.sheaney-sustainability-certs { display: none; }

/* ESG page */
.sheaney-page-hero--esg {
    background: linear-gradient(135deg, rgba(20, 56, 74, 0.94) 0%, rgba(38, 93, 116, 0.88) 100%),
        url("../../../../uploads/2017/04/20170323_162800-scaled.jpg") center / cover no-repeat;
}
.sheaney-esg-pillars {
    background: #fff;
    padding: 80px 0 88px;
}
.sheaney-esg-pillars__grid {
    display: grid;
    gap: 28px;
    grid-template-columns: repeat(3, 1fr);
}
.sheaney-esg-pillar {
    background: var(--sheaney-light-bg);
    border-radius: 8px;
    color: inherit;
    display: flex;
    flex-direction: column;
    padding: 32px 28px 28px;
    text-decoration: none !important;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}
a.sheaney-esg-pillar:hover {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
    transform: translateY(-4px);
}
.sheaney-esg-pillar--static {
    cursor: default;
}
.sheaney-esg-pillar__letter {
    color: #6ec4de;
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 42px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 16px;
}
.sheaney-esg-pillar__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 12px;
}
.sheaney-esg-pillar__text {
    color: var(--sheaney-muted);
    flex: 1;
    font-size: 15px;
    line-height: 1.65;
    margin: 0 0 20px;
}
.sheaney-esg-pillar__link {
    align-items: center;
    color: var(--sheaney-navy);
    display: inline-flex;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    gap: 8px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
a.sheaney-esg-pillar:hover .sheaney-esg-pillar__link {
    color: #6ec4de;
}
.sheaney-esg-certs {
    background: var(--sheaney-light-bg);
    padding: 80px 0 88px;
}
.sheaney-esg-certs__featured {
    margin: 0 auto 24px;
    max-width: 640px;
}
.sheaney-esg-certs__note {
    color: var(--sheaney-muted);
    font-size: 15px;
    margin: 0 auto 32px;
    max-width: 640px;
    text-align: center;
}
.sheaney-esg-certs__note a {
    color: var(--sheaney-navy);
    font-weight: 600;
}
.sheaney-esg-certs__logos {
    justify-items: center;
}
.sheaney-esg-links {
    background: #fff;
    padding: 80px 0 88px;
}

.sheaney-page-hero--community,
.sheaney-page-hero--sustainability,
.sheaney-page-hero--esg,
.sheaney-page-hero--careers,
.sheaney-page-hero--contact {
    padding-bottom: 88px;
}
.sheaney-page-hero--community .sheaney-page-hero__title::after,
.sheaney-page-hero--sustainability .sheaney-page-hero__title::after,
.sheaney-page-hero--esg .sheaney-page-hero__title::after,
.sheaney-page-hero--careers .sheaney-page-hero__title::after,
.sheaney-page-hero--contact .sheaney-page-hero__title::after {
    background: #6ec4de;
    content: "";
    display: block;
    height: 3px;
    margin: 20px auto 0;
    width: 64px;
}

@media (max-width: 1199px) {
    .sheaney-community-spotlights__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991px) {
    .sheaney-esg-pillars__grid {
        grid-template-columns: 1fr;
    }
    .sheaney-sustainability-certs__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .sheaney-portfolio {
        padding: 56px 0 64px;
    }
    .sheaney-portfolio-toolbar {
        flex-direction: column;
        align-items: stretch;
    }
    .sheaney-portfolio-search {
        align-self: stretch;
        flex: 0 0 auto;
        max-width: none;
    }
    .sheaney-portfolio .sheaney-timeline__track {
        padding-left: 0;
    }
    .sheaney-portfolio .sheaney-timeline__track::before,
    .sheaney-portfolio .sheaney-timeline__track.is-progress-active::after {
        left: 43px;
    }
    .sheaney-portfolio .sheaney-timeline__entry {
        grid-template-columns: 88px minmax(0, 1fr);
        gap: 0 14px;
    }
    .sheaney-portfolio .sheaney-timeline__node {
        height: 36px;
        margin-left: 0;
        margin-top: 8px;
        width: 88px;
    }
    .sheaney-portfolio .sheaney-timeline__year {
        font-size: 10px;
    }
    .sheaney-portfolio .sheaney-portfolio-carousel__arrow {
        height: 34px;
        width: 34px;
    }
    .sheaney-portfolio .sheaney-portfolio-carousel__dot {
        height: 8px;
        width: 8px;
    }
    .sheaney-community-spotlights__grid {
        grid-template-columns: 1fr;
    }
    .sheaney-community-intro,
    .sheaney-community-spotlights,
    .sheaney-sustainability-intro,
    .sheaney-sustainability-commitments,
    .sheaney-sustainability-certs,
    .sheaney-esg-pillars,
    .sheaney-esg-certs,
    .sheaney-esg-links,
    .sheaney-careers-body {
        padding: 56px 0 64px;
    }
    .sheaney-contact-body {
        padding: 56px 0 64px;
    }
}

/* Careers page */
.sheaney-page-hero--careers {
    background: linear-gradient(135deg, rgba(20, 56, 74, 0.94) 0%, rgba(38, 93, 116, 0.86) 100%),
        url("../../../../uploads/2022/02/20220207_162804-scaled.jpg") center / cover no-repeat;
}
.sheaney-careers-body {
    background: var(--sheaney-light-bg);
    padding: 80px 0 96px;
}
.sheaney-careers-body__header {
    margin: 0 auto 48px;
    max-width: 760px;
    text-align: center;
}
.sheaney-careers-body__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 20px;
}
.sheaney-careers-body__title::after {
    background: linear-gradient(90deg, var(--sheaney-cyan), #7ad7ef);
    content: "";
    display: block;
    height: 3px;
    margin: 16px auto 0;
    width: 56px;
}
.sheaney-careers-body__intro {
    color: var(--sheaney-muted);
    font-size: 17px;
    line-height: 1.75;
    margin: 0 0 14px;
}
.sheaney-careers-body__intro:last-of-type {
    margin-bottom: 0;
}
.sheaney-careers-apply-card {
    background: #fff;
    border: 1px solid rgba(38, 93, 116, 0.1);
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(11, 32, 48, 0.08);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
    margin: 0 auto;
    max-width: 980px;
    overflow: hidden;
}
.sheaney-careers-apply-card__copy {
    padding: 40px 44px;
}
.sheaney-careers-apply-card__eyebrow {
    color: #6ec4de;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    margin: 0 0 10px;
    text-transform: uppercase;
}
.sheaney-careers-apply-card__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(22px, 2.4vw, 28px);
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 16px;
}
.sheaney-careers-apply-card__text {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.75;
    margin: 0 0 22px;
}
.sheaney-careers-apply-card__notes {
    color: var(--sheaney-navy-deep);
    font-size: 14px;
    line-height: 1.6;
    list-style: none;
    margin: 0;
    padding: 0;
}
.sheaney-careers-apply-card__notes li {
    margin: 0 0 10px;
    padding-left: 22px;
    position: relative;
}
.sheaney-careers-apply-card__notes li:last-child {
    margin-bottom: 0;
}
.sheaney-careers-apply-card__notes li::before {
    background: var(--sheaney-cyan);
    border-radius: 50%;
    content: "";
    height: 7px;
    left: 0;
    position: absolute;
    top: 0.55em;
    width: 7px;
}
.sheaney-careers-apply-card__qr-panel {
    align-items: center;
    background: linear-gradient(180deg, #1a4f63 0%, #14384a 100%);
    display: flex;
    justify-content: center;
    padding: 36px 28px;
}
.sheaney-careers-apply-card__qr {
    margin: 0;
    text-align: center;
}
.sheaney-careers-apply-card__qr img {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    display: block;
    height: auto;
    margin: 0 auto;
    max-width: 200px;
    padding: 12px;
    width: 100%;
}
.sheaney-careers-apply-card__qr figcaption {
    color: rgba(255, 255, 255, 0.92);
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.2px;
    line-height: 1.45;
    margin: 18px auto 0;
    max-width: 220px;
}
.sheaney-careers-apply-card__qr a {
    display: block;
}
.sheaney-careers-apply-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}
.sheaney-careers-form {
    margin: 56px auto 0;
    max-width: 980px;
    scroll-margin-top: 120px;
}
.sheaney-careers-form__frame {
    background: #fff;
    border: 1px solid rgba(38, 93, 116, 0.1);
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(11, 32, 48, 0.08);
    overflow: hidden;
}
.sheaney-careers-form__frame iframe {
    border: 0;
    display: block;
    height: 1400px;
    width: 100%;
}
.sheaney-careers-form__fallback {
    color: var(--sheaney-muted);
    font-size: 14px;
    margin: 16px 0 0;
    text-align: center;
}
.sheaney-careers-form__fallback a {
    color: var(--sheaney-navy);
    font-weight: 700;
}

@media (max-width: 767px) {
    .sheaney-careers-form__frame iframe {
        height: 1600px;
    }
    .sheaney-careers-body {
        padding: 56px 0 72px;
    }
    .sheaney-careers-body__header {
        margin-bottom: 32px;
        text-align: left;
    }
    .sheaney-careers-body__title::after {
        margin-left: 0;
    }
    .sheaney-careers-apply-card {
        grid-template-columns: 1fr;
    }
    .sheaney-careers-apply-card__copy {
        padding: 28px 24px 24px;
    }
    .sheaney-careers-apply-card__qr-panel {
        padding: 32px 24px 36px;
    }
}

/* Contact page */
.sheaney-page-hero--contact {
    background:
        linear-gradient(115deg, rgba(14, 42, 56, 0.96) 0%, rgba(26, 79, 99, 0.88) 48%, rgba(38, 93, 116, 0.72) 100%),
        url("../../../../uploads/2022/02/20220207_162804-scaled.jpg") center / cover no-repeat;
    padding: 120px 0 96px;
}
.sheaney-contact-hero {
    max-width: 680px;
}
.sheaney-page-hero--contact .sheaney-page-hero__title {
    text-align: left;
}
.sheaney-page-hero--contact .sheaney-page-hero__title::after {
    margin-left: 0;
}
.sheaney-page-hero--contact .sheaney-page-hero__label {
    text-align: left;
}
.sheaney-page-hero--contact .sheaney-page-hero__text {
    margin: 18px 0 0;
    max-width: 520px;
    text-align: left;
}
.sheaney-contact-body {
    background:
        radial-gradient(ellipse 80% 50% at 100% 0%, rgba(46, 184, 217, 0.08), transparent 55%),
        linear-gradient(180deg, #f4f7f9 0%, #eef2f5 100%);
    padding: 72px 0 96px;
}
.sheaney-contact-lede {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 600;
    line-height: 1.55;
    margin: 0 auto 48px;
    max-width: 820px;
}
.sheaney-contact-panel {
    background: #fff;
    border: 1px solid rgba(38, 93, 116, 0.08);
    border-radius: 20px;
    box-shadow:
        0 1px 2px rgba(11, 32, 48, 0.04),
        0 24px 64px rgba(11, 32, 48, 0.08);
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    margin: 0 auto;
    max-width: 1080px;
    overflow: hidden;
}
.sheaney-contact-panel__details {
    padding: 48px 44px 52px;
}
.sheaney-contact-panel__book {
    background:
        radial-gradient(circle at 85% 15%, rgba(46, 184, 217, 0.22), transparent 42%),
        linear-gradient(165deg, #1a5570 0%, #14384a 55%, #102f3e 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    padding: 48px 44px 52px;
    position: relative;
}
.sheaney-contact-panel__book::before {
    background: linear-gradient(180deg, rgba(46, 184, 217, 0.75), rgba(46, 184, 217, 0.15));
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 3px;
}
.sheaney-contact-panel__eyebrow {
    color: #6ec4de;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.6px;
    margin: 0 0 12px;
    text-transform: uppercase;
}
.sheaney-contact-panel__eyebrow--light {
    color: rgba(122, 215, 239, 0.95);
}
.sheaney-contact-panel__heading {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(26px, 2.8vw, 34px);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0 0 36px;
}
.sheaney-contact-panel__heading--light {
    color: #fff;
    margin-bottom: 18px;
}
.sheaney-contact-panel__copy {
    color: rgba(255, 255, 255, 0.82);
    font-size: 15px;
    line-height: 1.75;
    margin: 0 0 28px;
    max-width: 36em;
}
.sheaney-contact-meta {
    display: grid;
    gap: 0;
    margin: 0;
}
.sheaney-contact-meta__row {
    border-top: 1px solid rgba(38, 93, 116, 0.12);
    display: grid;
    gap: 16px 28px;
    grid-template-columns: 110px minmax(0, 1fr);
    padding: 20px 0;
}
.sheaney-contact-meta__row:last-child {
    border-bottom: 1px solid rgba(38, 93, 116, 0.12);
}
.sheaney-contact-meta__row dt {
    color: var(--sheaney-muted);
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.8px;
    margin: 0;
    padding-top: 3px;
    text-transform: uppercase;
}
.sheaney-contact-meta__row dd {
    color: var(--sheaney-navy-deep);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.55;
    margin: 0;
}
.sheaney-contact-meta__row dd a {
    color: var(--sheaney-navy-deep);
    display: block;
    font-weight: 600;
    text-decoration: none;
    transition: color 200ms ease;
}
.sheaney-contact-meta__row dd a + a {
    margin-top: 4px;
}
.sheaney-contact-meta__row dd a:hover {
    color: var(--sheaney-cyan);
}
.sheaney-contact-booking {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: auto;
}
.sheaney-contact-booking__cta {
    align-items: center;
    background: var(--sheaney-navy);
    border: 2px solid rgba(255, 255, 255, 0.6);
    border-radius: var(--sheaney-cta-radius);
    color: #fff;
    display: inline-flex;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    gap: 10px;
    letter-spacing: 0.8px;
    padding: 14px 26px;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        background-color 220ms ease,
        border-color 220ms ease,
        color 220ms ease,
        transform 220ms ease,
        box-shadow 220ms ease;
    width: fit-content;
}
.sheaney-contact-booking__cta::after {
    content: "→";
    font-size: 16px;
    line-height: 1;
    transition: transform 220ms ease;
}
.sheaney-contact-booking__cta:hover,
.sheaney-contact-booking__cta:focus-visible {
    background: var(--sheaney-navy-dark);
    border-color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    color: #fff;
    transform: translateY(-2px);
}
.sheaney-contact-booking__cta:hover::after {
    transform: translateX(3px);
}
.sheaney-contact-booking__note {
    color: rgba(255, 255, 255, 0.58);
    font-size: 13px;
    letter-spacing: 0.2px;
    margin: 0;
}
.sheaney-contact-booking__calendar {
    border-radius: 10px;
    margin-top: 12px;
    min-height: 0;
    overflow: hidden;
}
.sheaney-contact-booking__calendar.is-hidden,
.sheaney-contact-booking__calendar[hidden] {
    display: none;
}
.sheaney-contact-booking__iframe {
    background: #fff;
    border: 0;
    display: block;
    height: 520px;
    width: 100%;
}

@media (prefers-reduced-motion: reduce) {
    .sheaney-contact-booking__cta,
    .sheaney-contact-booking__cta::after,
    .sheaney-contact-meta__row dd a {
        transition: none;
    }

    .sheaney-contact-booking__cta:hover {
        transform: none;
    }
}

@media (max-width: 991px) {
    .sheaney-contact-panel {
        grid-template-columns: 1fr;
    }

    .sheaney-contact-panel__book::before {
        height: 3px;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .sheaney-page-hero--contact {
        padding: 96px 0 72px;
    }

    .sheaney-contact-body {
        padding-top: 48px;
    }

    .sheaney-contact-lede {
        font-size: 17px;
        margin-bottom: 28px;
    }

    .sheaney-contact-panel__details,
    .sheaney-contact-panel__book {
        padding: 32px 24px 36px;
    }

    .sheaney-contact-meta__row {
        gap: 8px;
        grid-template-columns: 1fr;
        padding: 16px 0;
    }

    .sheaney-contact-booking__iframe {
        height: 420px;
    }
}


/* Site footer */
.sheaney-footer {
    background: linear-gradient(180deg, #14384a 0%, #102f3e 100%);
    color: rgba(255, 255, 255, 0.82);
    margin-top: 0;
}
.sheaney-footer__inner {
    padding: 64px 0 48px;
}
.sheaney-footer__grid {
    display: grid;
    gap: 40px 32px;
    grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr));
}
.sheaney-footer__logo {
    display: inline-block;
    line-height: 0;
    margin-bottom: 7px;
}
/* Shift past the transparent padding in the logo PNG so the mark lines up
   with the blurb's left edge and the column headings' top edge. */
.sheaney-footer__logo img {
    display: block;
    height: auto;
    margin: 0;
    max-width: 168px;
    object-fit: contain;
    object-position: left center;
    transform: translate(calc(-1 * var(--sheaney-logo-crop-left)), -19.3%);
    vertical-align: top;
    width: 100%;
}
.sheaney-footer__blurb {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.7;
    margin: 0 0 22px;
    max-width: 34em;
}
.sheaney-footer__cta {
    background: var(--sheaney-navy);
    border: 2px solid rgba(255, 255, 255, 0.6);
    border-radius: var(--sheaney-cta-radius);
    color: #fff;
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 10px 20px;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        background-color 220ms ease,
        border-color 220ms ease,
        transform 220ms ease,
        box-shadow 220ms ease;
}
.sheaney-footer__cta:hover,
.sheaney-footer__cta:focus-visible {
    background: var(--sheaney-navy-dark);
    border-color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
    .sheaney-footer__cta:hover,
    .sheaney-footer__cta:focus-visible {
        transform: none;
    }
}
.sheaney-footer__title {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.2px;
    margin: 0 0 18px;
    text-transform: uppercase;
}
.sheaney-footer__links {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sheaney-footer__links li {
    margin: 0 0 10px;
}
.sheaney-footer__links a {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
    transition: color 200ms ease;
    white-space: nowrap;
}
.sheaney-footer__links a:hover {
    color: #7ad7ef;
}
.sheaney-footer__contact {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
}
.sheaney-footer__contact li {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin: 0;
    padding: 14px 0;
}
.sheaney-footer__contact li:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.sheaney-footer__label {
    color: rgba(122, 215, 239, 0.95);
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 6px;
    text-transform: uppercase;
}
.sheaney-footer__contact span,
.sheaney-footer__contact a {
    color: rgba(255, 255, 255, 0.82);
    display: block;
    font-size: 14px;
    line-height: 1.55;
    text-decoration: none;
}
.sheaney-footer__contact a + a {
    margin-top: 4px;
}
.sheaney-footer__contact a:hover {
    color: #7ad7ef;
}
.sheaney-footer__social {
    align-items: center;
    color: rgba(255, 255, 255, 0.82);
    display: inline-flex;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    gap: 8px;
    letter-spacing: 0.6px;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 200ms ease;
}
.sheaney-footer__social:hover {
    color: #7ad7ef;
}
.sheaney-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 18px 0;
}
.sheaney-footer__bottom-inner {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    justify-content: space-between;
}
.sheaney-footer__copy {
    color: rgba(255, 255, 255, 0.55);
    font-size: 13px;
    margin: 0;
}
.sheaney-footer__bottom-links {
    display: flex;
    gap: 18px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.sheaney-footer__bottom-links a {
    color: rgba(255, 255, 255, 0.65);
    font-size: 13px;
    text-decoration: none;
    transition: color 200ms ease;
}
.sheaney-footer__bottom-links a:hover {
    color: #7ad7ef;
}
/* Legal pages (Privacy Policy, Terms of Service) */
.sheaney-legal-section {
    background: #fff;
    padding: 72px 0 96px;
}
.sheaney-legal {
    color: #3d4a52;
    font-size: 16px;
    line-height: 1.75;
    margin: 0 auto;
    max-width: 780px;
}
.sheaney-legal__updated {
    border-bottom: 1px solid rgba(38, 93, 116, 0.15);
    color: #6b7a83;
    font-size: 14px;
    margin: 0 0 32px;
    padding-bottom: 20px;
}
.sheaney-legal h2 {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.3;
    margin: 40px 0 14px;
}
.sheaney-legal p,
.sheaney-legal ul {
    margin: 0 0 14px;
}
.sheaney-legal ul {
    padding-left: 22px;
}
.sheaney-legal li {
    margin-bottom: 6px;
}
.sheaney-legal li::marker {
    color: var(--sheaney-navy);
}
.sheaney-legal strong {
    color: var(--sheaney-navy-deep);
}
.sheaney-legal a {
    color: var(--sheaney-navy);
    text-decoration: underline;
    text-underline-offset: 2px;
    word-break: break-word;
}
.sheaney-legal a:hover {
    color: var(--sheaney-navy-dark);
}
.sheaney-legal__contact {
    background: #f4f7f9;
    border-left: 4px solid var(--sheaney-navy);
    border-radius: 8px;
    font-style: normal;
    padding: 24px 28px 10px;
}

@media (max-width: 767px) {
    .sheaney-legal-section {
        padding: 48px 0 64px;
    }
    .sheaney-legal {
        font-size: 15px;
    }
    .sheaney-legal h2 {
        font-size: 19px;
        margin-top: 32px;
    }
}

@media (max-width: 991px) {
    .sheaney-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sheaney-footer__brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .sheaney-footer__inner {
        padding: 48px 0 36px;
    }

    .sheaney-footer__grid {
        gap: 32px;
        grid-template-columns: 1fr;
    }

    .sheaney-footer__brand {
        grid-column: auto;
    }
}


/* =====================================================================
   Hero carousel lock (must stay last — overrides older height:auto rules)
   ===================================================================== */
.home #hero-section.sheaney-hero {
    background-color: #1a4f63 !important;
    background-image: none !important;
    display: block !important;
    height: 88vh !important;
    max-height: none !important;
    min-height: 560px !important;
    overflow: hidden !important;
    position: relative !important;
}
.home #hero-section.sheaney-hero .sheaney-hero__slides,
.home #hero-section.sheaney-hero .sheaney-hero__slide {
    height: 100% !important;
    min-height: 560px;
}
.home #hero-section.sheaney-hero .sheaney-hero__slide.is-active {
    opacity: 1 !important;
    visibility: visible !important;
}

/* =====================================================================
   Standalone homepage hero carousel (avoids theme #hero-section / Vegas)
   ===================================================================== */
.sheaney-hero-carousel {
    background: #1a4f63;
    height: 100vh !important;
    height: 100svh !important;
    max-height: none !important;
    min-height: 640px !important;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: 1;
}
.sheaney-hero-carousel .sheaney-hero__slides {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
}
.sheaney-hero-carousel .sheaney-hero__slide {
    height: 100%;
    left: 0;
    margin: 0 !important;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity .9s ease;
    width: 100%;
    z-index: 1;
}
.sheaney-hero-carousel .sheaney-hero__slide.is-active {
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2;
}
.sheaney-hero-carousel .sheaney-hero__slide img {
    display: block !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
}
.sheaney-hero-carousel::before {
    background: linear-gradient(105deg, rgba(28,58,72,.55) 0%, rgba(38,93,116,.28) 38%, rgba(0,0,0,.08) 72%, transparent 94%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 3;
}
.sheaney-hero-carousel .sheaney-hero__content {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    height: 100%;
    left: 0;
    padding: 120px 0 110px;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 5;
}
.sheaney-hero-carousel .sheaney-hero__content a { pointer-events: auto; }
.sheaney-hero-carousel .sheaney-hero__controls {
    align-items: center;
    bottom: 48px;
    display: flex;
    gap: 16px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    z-index: 6;
}
.sheaney-hero-carousel .sheaney-hero__arrow {
    align-items: center;
    background: rgba(12,28,36,.45);
    border: 1px solid rgba(255,255,255,.75);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 22px;
    height: 44px;
    justify-content: center;
    width: 44px;
}
.sheaney-hero-carousel .sheaney-hero__dots { display: flex; gap: 10px; }
.sheaney-hero-carousel .sheaney-hero__dot {
    background: rgba(255,255,255,.45);
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    height: 11px;
    width: 11px;
}
.sheaney-hero-carousel .sheaney-hero__dot.is-active { background: #fff; }
.sheaney-hero-carousel .sheaney-hero__line--light { color: #fff !important; }
.sheaney-hero-carousel .sheaney-hero__line--accent { color: #6ec4de !important; }
.sheaney-hero-carousel .sheaney-hero__text { color: rgba(255,255,255,.95) !important; }
@media (max-width: 767px) {
    .sheaney-hero-carousel {
        height: 92vh !important;
        height: 92svh !important;
        min-height: 560px !important;
    }
    .sheaney-hero-carousel .sheaney-hero__content { padding: 100px 0 100px; text-align: center; }
    .sheaney-hero-carousel .sheaney-hero__controls { bottom: 40px; }
}

/* =====================================================================
   Rev 04 — Services hub, service details, ESG
   ===================================================================== */

.sheaney-services--integrated {
    background: var(--sheaney-light-bg);
    padding: 72px 0 56px;
}
.sheaney-services__header {
    margin: 0 auto 48px;
    max-width: 720px;
    text-align: center;
}
.sheaney-services__heading {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 800;
    margin: 0 0 12px;
}
.sheaney-services__lead {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
}
.sheaney-services--integrated .sheaney-services__grid {
    align-items: stretch;
    gap: 28px;
}

/* Flip cards */
.sheaney-service-card--flip {
    background: transparent;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: visible;
    perspective: 1400px;
}
.sheaney-service-card__flip {
    flex: 1 1 auto;
    height: 100%;
    min-height: 100%;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.65s cubic-bezier(0.4, 0.05, 0.2, 1);
    width: 100%;
}
.sheaney-service-card__face {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: 10px;
    box-shadow: 0 8px 28px rgba(20, 56, 74, 0.08);
    overflow: hidden;
}
.sheaney-service-card__face--front {
    background: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    transform: rotateY(0deg);
    z-index: 2;
}
.sheaney-service-card__face--back {
    align-items: stretch;
    background: linear-gradient(160deg, #1a4f63 0%, #0f3344 100%);
    display: flex;
    flex-direction: column;
    inset: 0;
    justify-content: stretch;
    padding: 0;
    pointer-events: none;
    position: absolute;
    text-align: left;
    transform: rotateY(180deg);
    transition: visibility 0s linear 0.65s;
    visibility: hidden;
    z-index: 1;
}
.sheaney-service-card--flip:hover .sheaney-service-card__face--back {
    pointer-events: auto;
    transition-delay: 0s;
    visibility: visible;
}
.sheaney-service-card__back-inner {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
    padding: 28px 22px 22px;
}
.sheaney-service-card__back-label {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.4px;
    margin: 0 0 8px;
    text-transform: uppercase;
}
.sheaney-service-card__back-text {
    color: rgba(255, 255, 255, 0.88);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 14px;
    max-width: none;
}
.sheaney-service-card__details {
    -webkit-overflow-scrolling: touch;
    flex: 1;
    margin: 0 0 16px;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 6px;
    scrollbar-color: rgba(110, 196, 222, 0.55) rgba(255, 255, 255, 0.08);
    scrollbar-width: thin;
}
.sheaney-service-card__details::-webkit-scrollbar {
    width: 5px;
}
.sheaney-service-card__details::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 4px;
}
.sheaney-service-card__details::-webkit-scrollbar-thumb {
    background: rgba(110, 196, 222, 0.55);
    border-radius: 4px;
}
.sheaney-service-card__details-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sheaney-service-card__details-list li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.9);
    font-size: 13px;
    line-height: 1.5;
    padding: 10px 0 10px 16px;
    position: relative;
}
.sheaney-service-card__details-list li:last-child {
    border-bottom: 0;
}
.sheaney-service-card__details-list li::before {
    background: #6ec4de;
    border-radius: 50%;
    content: "";
    height: 6px;
    left: 0;
    position: absolute;
    top: 16px;
    width: 6px;
}
.sheaney-services--integrated .sheaney-service-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 44px 24px 28px;
    text-align: left;
}
.sheaney-service-card__meta {
    align-items: center;
    display: grid;
    gap: 4px 10px;
    grid-template-columns: auto minmax(0, 1fr);
    margin-bottom: 14px;
}
.sheaney-service-card__num {
    color: rgba(58, 143, 168, 0.55);
    font-family: "Montserrat", sans-serif;
    font-size: 40px;
    font-weight: 800;
    letter-spacing: -1px;
    line-height: 0.9;
    margin: 0;
    padding-top: 0;
}
.sheaney-services--integrated .sheaney-service-card__title {
    border-bottom: 3px solid #3a8fa8;
    color: var(--sheaney-navy-deep);
    display: block;
    font-size: clamp(15px, 1.35vw, 18px);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0;
    overflow: hidden;
    padding-bottom: 8px;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}
.sheaney-services--integrated .sheaney-service-card__tagline {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 10px;
    max-width: none;
    min-height: calc(2 * 1.35em);
    text-align: left;
}
.sheaney-service-card__text {
    color: var(--sheaney-muted);
    flex: 0 0 auto;
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 18px;
    min-height: calc(4 * 1.6em);
}
.sheaney-services--integrated .sheaney-service-card__text {
    flex: 1 1 auto;
    line-height: 1.65;
    min-height: 0;
}
.sheaney-service-card__highlights {
    list-style: none;
    margin: auto 0 0;
    padding: 0;
}
.sheaney-service-card__highlights li {
    align-items: flex-start;
    color: var(--sheaney-navy-deep);
    display: flex;
    font-size: 13px;
    font-weight: 500;
    gap: 10px;
    line-height: 1.45;
    margin-bottom: 12px;
    padding-left: 0;
    position: relative;
}
.sheaney-service-card__highlights li:before { display: none; }
.sheaney-service-card__hi-icon {
    color: #3a8fa8;
    flex: 0 0 22px;
    height: 22px;
    margin-top: 1px;
    width: 22px;
}
.sheaney-service-card__hi-icon svg {
    display: block;
    height: 22px;
    width: 22px;
}
.sheaney-services--integrated .sheaney-service-card__list-wrap { display: none; }
.sheaney-service-card__cta--touch {
    display: none;
    margin-top: 8px;
}
.sheaney-service-card__cta--back {
    flex-shrink: 0;
    margin-top: auto;
    min-width: 0;
    width: 100%;
}

@media (hover: hover) and (pointer: fine) {
    .sheaney-service-card--flip:hover .sheaney-service-card__flip {
        transform: rotateY(180deg);
    }
}
@media (hover: none), (pointer: coarse) {
    .sheaney-service-card__cta--touch {
        display: flex;
        margin-top: auto;
    }
    .sheaney-service-card__face--back {
        display: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    .sheaney-service-card__flip {
        transition: none;
    }
    .sheaney-service-card--flip:hover .sheaney-service-card__flip {
        transform: none;
    }
    .sheaney-service-card__cta--touch {
        display: flex;
        margin-top: auto;
    }
    .sheaney-service-card__face--back {
        display: none;
    }
}

.sheaney-services-values {
    background: #fff;
    border-radius: 10px;
    display: grid;
    gap: 20px 28px;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 40px;
    padding: 28px 24px;
}
.sheaney-services-values__item {
    text-align: left;
}
.sheaney-services-values__icon {
    color: #3a8fa8;
    display: block;
    height: 28px;
    margin-bottom: 10px;
    width: 28px;
}
.sheaney-services-values__icon svg {
    display: block;
    height: 28px;
    width: 28px;
}
.sheaney-services-values__item strong {
    color: var(--sheaney-navy-deep);
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.6px;
    margin-bottom: 6px;
    text-transform: uppercase;
}
.sheaney-services-values__item span {
    color: var(--sheaney-muted);
    display: block;
    font-size: 13px;
    line-height: 1.45;
}

.sheaney-our-standards {
    background: #fff;
    border-top: 1px solid #e2e8ec;
    padding: 56px 0;
}
.sheaney-our-standards__grid {
    align-items: center;
    display: grid;
    gap: 40px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
}
.sheaney-our-standards__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(20px, 2.4vw, 26px);
    font-weight: 800;
    margin: 0 0 12px;
    text-transform: uppercase;
}
.sheaney-our-standards__text,
.sheaney-our-standards__note {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.65;
    margin: 0 0 12px;
}
.sheaney-our-standards__note a { color: var(--sheaney-navy); }
.sheaney-our-standards__isos {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(3, 1fr);
}
.sheaney-our-standards__iso {
    margin: 0;
    text-align: center;
}
.sheaney-our-standards__iso img {
    display: block;
    height: 96px;
    margin: 0 auto 12px;
    object-fit: contain;
    width: auto;
}
.sheaney-our-standards__iso figcaption strong {
    color: var(--sheaney-navy-deep);
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 4px;
}
.sheaney-our-standards__iso figcaption span {
    color: var(--sheaney-muted);
    font-size: 12px;
}

.sheaney-page-hero--photo {
    background-color: var(--sheaney-navy-deep);
    background-image: none;
    text-align: left;
}
.sheaney-page-hero--engineering {
    background-image: none;
    isolation: isolate;
    min-height: 560px;
    overflow: hidden;
    padding: 96px 0 80px;
    position: relative;
}
.sheaney-page-hero--engineering .sheaney-page-hero__bg {
    background-color: #0b2030;
    background-image: linear-gradient(100deg, rgba(11, 32, 48, 0.92) 0%, rgba(11, 32, 48, 0.55) 48%, rgba(11, 32, 48, 0.2) 100%),
        url("../../../../uploads/2026/10/services/handover-hero.jpg");
    background-position: 65% center;
    background-repeat: no-repeat;
    background-size: cover;
    inset: 0;
    position: absolute;
    z-index: 0;
}
.sheaney-page-hero--engineering .sheaney-page-hero__inner {
    align-items: center;
    display: grid !important;
    gap: 48px;
    grid-template-areas: "copy stats";
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, 320px);
    position: relative;
    z-index: 1;
}
.sheaney-page-hero--engineering .sheaney-page-hero__copy {
    grid-area: copy;
    max-width: 560px;
    text-align: left;
}
.sheaney-page-hero--engineering.sheaney-page-hero--handover .sheaney-page-hero__inner {
    display: block !important;
    grid-template-areas: none;
    grid-template-columns: none;
}
.sheaney-page-hero--engineering.sheaney-page-hero--handover .sheaney-page-hero__copy {
    max-width: 720px;
}
.sheaney-page-hero--engineering .sheaney-page-hero__title {
    max-width: 18ch;
}
.sheaney-page-hero--engineering .sheaney-page-hero__tagline {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(16px, 1.6vw, 19px);
    font-weight: 600;
    letter-spacing: 0.2px;
    line-height: 1.45;
    margin: 0 0 18px;
    max-width: 36em;
}
.sheaney-page-hero--engineering .sheaney-page-hero__stats {
    grid-area: stats;
    width: 100%;
}
.sheaney-page-hero--engineering .sheaney-page-hero__title::after {
    margin: 18px 0 0;
}
.sheaney-page-hero--engineering .sheaney-page-hero__text {
    margin-bottom: 28px;
    margin-left: 0;
    margin-right: 0;
    max-width: 600px;
}
.sheaney-page-hero--engineering .sheaney-page-hero__jumps {
    align-items: center;
    gap: 0;
    justify-content: flex-start;
    margin-top: 36px;
}
.sheaney-page-hero--engineering .sheaney-page-hero__jumps a {
    align-items: center;
    border-right: 1px solid rgba(255, 255, 255, 0.35);
    display: inline-flex;
    gap: 8px;
    padding: 0 18px;
}
.sheaney-page-hero--engineering .sheaney-page-hero__jumps a:first-child {
    padding-left: 0;
}
.sheaney-page-hero--engineering .sheaney-page-hero__jumps a:last-child {
    border-right: 0;
    padding-right: 0;
}
.sheaney-page-hero__jump-icon {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 50%;
    display: inline-flex;
    flex-shrink: 0;
    height: 28px;
    justify-content: center;
    width: 28px;
}
.sheaney-page-hero__jump-icon svg {
    display: block;
    height: 14px;
    width: 14px;
}
.sheaney-page-hero--pm {
    background-image: none;
    isolation: isolate;
    min-height: 560px;
    overflow: hidden;
    padding: 110px 0 56px;
    position: relative;
}
.sheaney-page-hero--pm .sheaney-page-hero__bg {
    background-color: #0b2030;
    background-image: linear-gradient(90deg, rgba(8, 24, 40, 0.55) 0%, rgba(8, 24, 40, 0.28) 34%, rgba(8, 24, 40, 0.08) 58%, rgba(8, 24, 40, 0.05) 100%),
        url("../../../../uploads/2026/07/pm/hero-office.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    inset: 0;
    position: absolute;
    z-index: 0;
}
.sheaney-page-hero--pm .sheaney-page-hero__inner--pm {
    display: block;
    padding-bottom: 0;
    position: relative;
    z-index: 1;
}
.sheaney-page-hero--pm .sheaney-page-hero__copy {
    max-width: 720px;
    text-align: left;
}
.sheaney-page-hero--pm .sheaney-page-hero__title {
    max-width: 22ch;
}
.sheaney-page-hero--pm .sheaney-page-hero__title::after {
    margin: 18px 0 0;
}
.sheaney-page-hero--pm .sheaney-page-hero__tagline {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(16px, 1.6vw, 19px);
    font-weight: 600;
    letter-spacing: 0.2px;
    line-height: 1.45;
    margin: 0 0 18px;
    max-width: 36em;
}
.sheaney-page-hero--pm .sheaney-page-hero__text {
    margin-bottom: 28px;
    margin-left: 0;
    margin-right: 0;
    max-width: 600px;
}
body.header-style-5:not(.home) .sheaney-page-hero--pm::before {
    background: transparent;
}
.sheaney-page-hero--construction {
    background-image: none;
    isolation: isolate;
    min-height: 560px;
    overflow: hidden;
    padding: 110px 0 48px;
    position: relative;
    text-align: left;
}
.sheaney-page-hero--construction .sheaney-page-hero__bg {
    background-color: #0b2030;
    background-image: linear-gradient(95deg, rgba(11, 32, 48, 0.92) 0%, rgba(11, 32, 48, 0.62) 36%, rgba(11, 32, 48, 0.18) 62%, rgba(11, 32, 48, 0.05) 100%),
        url("../../../../uploads/2026/10/services/construction-hero.jpg");
    background-position: 65% center;
    background-repeat: no-repeat;
    background-size: cover;
    inset: 0;
    position: absolute;
    z-index: 0;
}
.sheaney-page-hero--construction .sheaney-page-hero__inner--con {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 48px;
    grid-template-columns: none;
    position: relative;
    z-index: 1;
}
.sheaney-page-hero--construction .sheaney-page-hero__copy {
    max-width: 640px;
    text-align: left;
    width: 100%;
}
.sheaney-page-hero--construction .sheaney-page-hero__title {
    max-width: 22ch;
}
.sheaney-page-hero--construction .sheaney-page-hero__title::after {
    margin: 18px 0 0;
}
.sheaney-page-hero--construction .sheaney-page-hero__tagline {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(16px, 1.6vw, 19px);
    font-weight: 600;
    letter-spacing: 0.2px;
    line-height: 1.45;
    margin: 0 0 18px;
    max-width: 36em;
}
.sheaney-page-hero--construction .sheaney-page-hero__text {
    margin-bottom: 28px;
    margin-left: 0;
    margin-right: 0;
    max-width: 560px;
    text-align: left;
}
.sheaney-con-creds {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    list-style: none;
    margin: 0;
    max-width: 720px;
    padding: 0;
}
.sheaney-con-creds__item {
    align-items: center;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    display: inline-flex;
    gap: 10px;
    padding: 10px 16px 10px 12px;
}
.sheaney-con-creds__icon {
    align-items: center;
    background: rgba(110, 196, 222, 0.18);
    border-radius: 50%;
    color: #6ec4de;
    display: inline-flex;
    flex-shrink: 0;
    height: 34px;
    justify-content: center;
    width: 34px;
}
.sheaney-con-creds__icon svg {
    display: block;
    height: 18px;
    width: 18px;
}
.sheaney-con-creds__copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.2;
}
.sheaney-con-creds__copy strong {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}
.sheaney-con-creds__copy span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
}
body.header-style-5:not(.home) .sheaney-page-hero--construction::before {
    background: transparent;
}
.sheaney-page-hero--esg {
    background-image: linear-gradient(180deg, rgba(26, 79, 99, 0.78) 0%, rgba(26, 79, 99, 0.55) 100%),
        url("../../../../uploads/2026/07/home/source-farrans.png");
}
.sheaney-page-hero__inner {
    align-items: center;
    display: grid;
    gap: 40px;
    grid-template-columns: minmax(0, 1.35fr) minmax(240px, 0.75fr);
}
.sheaney-page-hero__stats {
    display: grid;
    gap: 14px;
}
.sheaney-page-hero__stat {
    align-items: center;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(8, 28, 42, 0.18);
    display: flex;
    gap: 14px;
    padding: 14px 16px;
}
.sheaney-page-hero__stat-icon {
    align-items: center;
    background: var(--sheaney-navy);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    flex-shrink: 0;
    height: 42px;
    justify-content: center;
    width: 42px;
}
.sheaney-page-hero__stat-icon svg {
    display: block;
    height: 22px;
    width: 22px;
}
.sheaney-page-hero__stat-body {
    min-width: 0;
}
.sheaney-page-hero__stat-num {
    background: linear-gradient(#ffe566, #ffe566) left 60% / 100% 42% no-repeat;
    color: #1f7a4c;
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 2px;
    padding: 0 2px;
}
.sheaney-page-hero__stat-num--bim { color: #1f6a8a; }
.sheaney-page-hero__stat-num--pct { color: #c48a12; }
.sheaney-page-hero__stat-label {
    color: var(--sheaney-muted);
    display: block;
    font-size: 12px;
    line-height: 1.35;
}
.sheaney-page-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin-top: 28px;
}
.sheaney-page-hero__chip {
    color: rgba(255, 255, 255, 0.92);
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}
.sheaney-page-hero__chip strong {
    display: block;
    font-size: 13px;
    margin-bottom: 2px;
}

.sheaney-digital {
    background: #fff;
    padding-top: 72px;
}
.sheaney-digital__eyebrow {
    color: #3a8fa8;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    margin: 0 0 14px;
    text-align: center;
    text-transform: uppercase;
}
.sheaney-digital__title {
    border: 1px solid rgba(20, 40, 55, 0.55);
    color: var(--sheaney-navy-deep);
    display: table;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(22px, 2.8vw, 30px);
    font-weight: 800;
    margin: 0 auto 16px;
    padding: 12px 28px;
    text-align: center;
}
.sheaney-digital__lead {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.65;
    margin: 0 auto 48px;
    max-width: 640px;
    text-align: center;
}
.sheaney-digital__grid {
    display: grid;
    gap: 36px 40px;
    grid-template-columns: repeat(3, 1fr);
}
.sheaney-digital__card {
    background: transparent;
    padding: 0;
}
.sheaney-digital__icon {
    color: var(--sheaney-navy);
    display: block;
    margin-bottom: 14px;
}
.sheaney-digital__icon svg {
    display: block;
    height: 44px;
    width: 44px;
}
.sheaney-digital__card-title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 10px;
}
.sheaney-digital__card-text {
    color: var(--sheaney-muted);
    font-size: 14px;
    line-height: 1.55;
    margin: 0 0 18px;
}

.sheaney-check-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sheaney-check-list li {
    color: var(--sheaney-navy-deep);
    font-size: 14px;
    line-height: 1.45;
    margin-bottom: 10px;
    padding-left: 24px;
    position: relative;
}
.sheaney-check-list li:before {
    color: #3a8fa8;
    content: "✓";
    font-weight: 700;
    left: 0;
    position: absolute;
}

.sheaney-eng-approach {
    background: var(--sheaney-light-bg);
}
.sheaney-eng-approach__grid {
    align-items: center;
    display: grid !important;
    gap: 48px 56px;
    grid-template-areas: "copy media";
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
}
.sheaney-eng-approach__copy {
    grid-area: copy;
}
.sheaney-eng-approach__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    margin: 0 0 16px;
    position: relative;
}
.sheaney-eng-approach__title::before {
    background: #3a8fa8;
    content: "";
    display: block;
    height: 3px;
    margin-bottom: 14px;
    width: 48px;
}
.sheaney-eng-approach__text {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 28px;
    max-width: 520px;
}
.sheaney-eng-approach__media {
    grid-area: media;
    margin: 0 !important;
}
.sheaney-eng-approach__media img {
    border-radius: 12px;
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.sheaney-principles {
    display: grid;
    gap: 18px 16px;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 8px;
}
.sheaney-principles__item {
    background: transparent;
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.4px;
    padding: 0;
    text-align: center;
    text-transform: uppercase;
}
.sheaney-principles__item strong {
    display: block;
    font-weight: 700;
    line-height: 1.35;
}
.sheaney-principles__icon {
    color: var(--sheaney-navy);
    display: block;
    margin: 0 auto 10px;
}
.sheaney-principles__icon svg {
    display: block;
    height: 32px;
    margin: 0 auto;
    width: 32px;
}

.sheaney-commitment-bar {
    background: var(--sheaney-navy-deep);
    color: #fff;
    padding: 56px 0;
}
.sheaney-commitment-bar__grid {
    align-items: center;
    display: grid !important;
    gap: 40px;
    grid-template-areas: "copy quote";
    grid-template-columns: 1.25fr 1fr;
}
.sheaney-commitment-bar__copy {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    grid-area: copy;
}
.sheaney-commitment-bar__icon {
    color: #6ec4de;
    flex-shrink: 0;
}
.sheaney-commitment-bar__icon svg {
    display: block;
    height: 48px;
    width: 48px;
}
.sheaney-commitment-bar__title {
    color: #fff !important;
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 10px;
}
.sheaney-commitment-bar__text {
    color: rgba(255, 255, 255, 0.85);
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
}
.sheaney-commitment-bar__quote {
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 4px;
    grid-area: quote;
    margin: 0;
    padding: 28px 28px 24px;
    position: relative;
}
.sheaney-commitment-bar__marks {
    color: #6ec4de;
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 56px;
    line-height: 0.7;
    margin-bottom: 12px;
}
.sheaney-commitment-bar__quote p {
    color: #fff;
    font-size: 20px;
    font-style: italic;
    line-height: 1.45;
    margin: 0 0 14px;
}
.sheaney-commitment-bar__quote cite {
    color: #6ec4de;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    text-transform: uppercase;
}

.sheaney-feature-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, 1fr);
}
.sheaney-feature-grid__item {
    background: #fff;
    border: 1px solid #e2e8ec;
    border-radius: 8px;
    padding: 20px;
}
.sheaney-feature-grid__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 8px;
}
.sheaney-feature-grid__text {
    color: var(--sheaney-muted);
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

.sheaney-approach { background: #fff; }
.sheaney-approach__steps {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(5, 1fr);
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}
.sheaney-approach__steps li {
    text-align: center;
}
.sheaney-approach__num {
    align-items: center;
    background: var(--sheaney-navy);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 800;
    height: 42px;
    justify-content: center;
    margin-bottom: 12px;
    width: 42px;
}
.sheaney-approach__steps strong {
    color: var(--sheaney-navy-deep);
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    margin-bottom: 6px;
}
.sheaney-approach__steps p {
    color: var(--sheaney-muted);
    font-size: 13px;
    line-height: 1.45;
    margin: 0;
}

.sheaney-service-grid-section { background: var(--sheaney-light-bg); }
.sheaney-service-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, 1fr);
}
.sheaney-service-grid__card {
    background: #fff;
    border: 1px solid #e2e8ec;
    border-radius: 8px;
    padding: 24px 20px;
}
.sheaney-service-grid__card h3 {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 8px;
}
.sheaney-service-grid__card p {
    color: var(--sheaney-muted);
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

.sheaney-core-values { background: var(--sheaney-light-bg); }
.sheaney-core-values__grid {
    display: grid;
    gap: 24px 20px;
    grid-template-columns: repeat(5, 1fr);
}
.sheaney-core-values__item h3 {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 8px;
}
.sheaney-core-values__item p {
    color: var(--sheaney-muted);
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

.sheaney-esg-pillars__grid--rich {
    gap: 24px;
}
.sheaney-esg-pillar--env { background: #f1f8f4; }
.sheaney-esg-pillar--social { background: #eef5f9; }
.sheaney-esg-pillar--gov { background: #f2f4f6; }
.sheaney-esg-pillars__grid--rich .sheaney-esg-pillar {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
}
.sheaney-esg-pillar__top { padding: 28px 24px 16px; }
.sheaney-esg-pillars__grid--rich .sheaney-esg-pillar__letter {
    margin-bottom: 8px;
}
.sheaney-esg-pillar__media {
    margin: 0;
    overflow: hidden;
}
.sheaney-esg-pillar__media img {
    display: block;
    height: 140px;
    object-fit: cover;
    width: 100%;
}
.sheaney-esg-pillars__grid--rich .sheaney-esg-pillar__link {
    margin: 0;
    padding: 14px 24px 20px;
}
.sheaney-esg-pillars__grid--rich .sheaney-check-list {
    margin-top: 12px;
}

.sheaney-esg-commitment { background: #fff; padding-top: 0; }
.sheaney-esg-commitment__panel {
    align-items: center;
    background: var(--sheaney-light-bg);
    border-radius: 10px;
    display: grid;
    gap: 28px;
    grid-template-columns: 1.2fr 1fr;
    padding: 32px;
}
.sheaney-esg-commitment__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 8px;
}
.sheaney-esg-commitment__text {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}
.sheaney-esg-commitment__principles {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, 1fr);
}
.sheaney-esg-commitment__principles span {
    background: #fff;
    border-radius: 6px;
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.4px;
    padding: 14px 12px;
    text-align: center;
    text-transform: uppercase;
}

/* =====================================================================
   Project Management & Consultancy — Rev 04
   ===================================================================== */
.sheaney-pm-chips {
    align-items: center;
    background: transparent;
    border-top: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    list-style: none;
    margin: 36px 0 0;
    max-width: 100%;
    padding: 0;
    position: relative;
    z-index: 1;
}
.sheaney-pm-chips__item {
    align-items: center;
    border-right: 1px solid rgba(255, 255, 255, 0.45);
    box-sizing: border-box;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 8px;
    justify-content: flex-start;
    line-height: 1;
    list-style: none;
    margin: 0;
    min-height: 0;
    padding: 0 16px;
    text-align: left;
}
.sheaney-pm-chips__item:first-child {
    padding-left: 0;
}
.sheaney-pm-chips__item:last-child {
    border-right: 0;
    padding-right: 0;
}
.sheaney-pm-chips__icon {
    align-items: center;
    border: 0;
    border-radius: 0;
    color: #6ec4de;
    display: inline-flex;
    flex-shrink: 0;
    height: 20px;
    justify-content: center;
    margin: 0;
    width: 20px;
}
.sheaney-pm-chips__icon svg {
    display: block;
    height: 20px;
    width: 20px;
}
.sheaney-pm-chips__item strong {
    color: #fff;
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.6px;
    line-height: 1;
    margin: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.sheaney-pm-intro { background: #fff; }
.sheaney-pm-intro__grid {
    align-items: start;
    display: grid !important;
    gap: 48px 64px;
    grid-template-areas: "copy pillars";
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
}
.sheaney-pm-intro__copy { grid-area: copy; }
.sheaney-pm-intro__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 18px;
}
.sheaney-pm-intro__text {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 14px;
    max-width: 520px;
}
.sheaney-pm-pillars {
    display: grid;
    gap: 28px 24px;
    grid-area: pillars;
    grid-template-columns: repeat(2, 1fr);
}
.sheaney-pm-pillars__item h3 {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 8px;
}
.sheaney-pm-pillars__item p {
    color: var(--sheaney-muted);
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}
.sheaney-pm-pillars__icon {
    color: #3a8fa8;
    display: block;
    margin-bottom: 12px;
}
.sheaney-pm-pillars__icon svg {
    display: block;
    height: 40px;
    width: 40px;
}

.sheaney-pm-section-head {
    margin: 0 auto 40px;
    max-width: 640px;
    text-align: center;
}
.sheaney-pm-section-head__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(22px, 2.6vw, 30px);
    font-weight: 800;
    margin: 0 0 12px;
}
.sheaney-pm-section-head__title::after {
    background: #3a8fa8;
    content: "";
    display: block;
    height: 3px;
    margin: 14px auto 0;
    width: 48px;
}
.sheaney-pm-section-head__text {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.65;
    margin: 16px 0 0;
}

.sheaney-pm-approach { background: var(--sheaney-light-bg); }
.sheaney-pm-approach .container { padding-top: 12px; }
.sheaney-pm-approach__steps {
    display: grid;
    gap: 28px 16px;
    grid-template-columns: repeat(5, 1fr);
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
    position: relative;
}
.sheaney-pm-approach__steps::before {
    background-image: linear-gradient(to right, rgba(58, 143, 168, 0.35) 40%, transparent 40%);
    background-position: center;
    background-repeat: repeat-x;
    background-size: 10px 2px;
    content: "";
    height: 2px;
    left: 8%;
    position: absolute;
    right: 8%;
    top: 22px;
    z-index: 0;
}
.sheaney-pm-approach__steps li {
    background: #fff;
    border: 1px solid #e2e8ec;
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(20, 56, 74, 0.06);
    padding: 28px 16px 22px;
    position: relative;
    text-align: center;
    z-index: 1;
}
.sheaney-pm-approach__num {
    align-items: center;
    background: var(--sheaney-navy);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 800;
    height: 36px;
    justify-content: center;
    left: 50%;
    position: absolute;
    top: -18px;
    transform: translateX(-50%);
    width: 36px;
}
.sheaney-pm-approach__icon {
    color: #3a8fa8;
    display: block;
    margin: 8px auto 12px;
}
.sheaney-pm-approach__icon svg {
    display: block;
    height: 28px;
    margin: 0 auto;
    width: 28px;
}
.sheaney-pm-approach__steps strong {
    color: var(--sheaney-navy-deep);
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    margin-bottom: 8px;
}
.sheaney-pm-approach__steps p {
    color: var(--sheaney-muted);
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

.sheaney-pm-services { background: #fff; }
.sheaney-pm-services__grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, 1fr);
}
.sheaney-pm-services__card {
    background: var(--sheaney-light-bg);
    border-radius: 10px;
    padding: 28px 22px;
    text-align: center;
}
.sheaney-pm-services__icon {
    color: #3a8fa8;
    display: block;
    margin: 0 auto 14px;
}
.sheaney-pm-services__icon svg {
    display: block;
    height: 40px;
    margin: 0 auto;
    width: 40px;
}
.sheaney-pm-services__card h3 {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 8px;
}
.sheaney-pm-services__card p {
    color: var(--sheaney-muted);
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

.sheaney-commitment-bar--pm .sheaney-commitment-bar__quote {
    border: 0;
    border-left: 1px solid rgba(110, 196, 222, 0.55);
    border-radius: 0;
    padding: 0 0 0 28px;
}

/* =====================================================================
   Construction & Operations — Rev 04
   ===================================================================== */
.sheaney-con-chips {
    align-self: flex-start;
    display: grid;
    gap: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    max-width: 720px;
    padding: 0;
    text-align: left;
    width: 100%;
}
.sheaney-con-chips__item {
    align-items: flex-start;
    border-right: 1px solid rgba(255, 255, 255, 0.28);
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0 24px;
}
.sheaney-con-chips__item:first-child { padding-left: 0; }
.sheaney-con-chips__item:last-child {
    border-right: 0;
    padding-right: 0;
}
.sheaney-con-chips__icon {
    color: #6ec4de;
    display: block;
    height: 28px;
    margin-bottom: 2px;
    width: 28px;
}
.sheaney-con-chips__icon svg {
    display: block;
    height: 28px;
    width: 28px;
}
.sheaney-con-chips__item strong {
    color: #6ec4de;
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.8px;
    line-height: 1.25;
    margin: 0;
    text-transform: uppercase;
}
.sheaney-con-chips__item span {
    color: rgba(255, 255, 255, 0.82);
    display: block;
    font-size: 13px;
    line-height: 1.4;
}

.sheaney-con-values {
    background: #fff;
}
.sheaney-con-values__grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
/* Bootstrap .container clearfix pseudos steal grid/flex tracks when combined */
.container.sheaney-con-values__grid::before,
.container.sheaney-con-values__grid::after,
.container.sheaney-commitment-bar__grid::before,
.container.sheaney-commitment-bar__grid::after,
.container.sheaney-page-hero__inner::before,
.container.sheaney-page-hero__inner::after,
.container.sheaney-pm-intro__grid::before,
.container.sheaney-pm-intro__grid::after,
.container.sheaney-eng-approach__grid::before,
.container.sheaney-eng-approach__grid::after,
.container.sheaney-our-standards__grid::before,
.container.sheaney-our-standards__grid::after,
.container.sheaney-esg-commitment__panel::before,
.container.sheaney-esg-commitment__panel::after,
.container.sheaney-about-intro__grid::before,
.container.sheaney-about-intro__grid::after,
.container.sheaney-gov-intro__grid::before,
.container.sheaney-gov-intro__grid::after,
.container.sheaney-gov-policies__grid::before,
.container.sheaney-gov-policies__grid::after,
.container.sheaney-gov-commitment__grid::before,
.container.sheaney-gov-commitment__grid::after {
    content: none !important;
    display: none !important;
}
.sheaney-con-values__item {
    background: var(--sheaney-light-bg);
    border-radius: 10px;
    box-shadow: none;
    min-width: 0;
    padding: 26px 14px;
    text-align: center;
}
.sheaney-con-values__icon {
    color: #3a8fa8;
    display: block;
    margin: 0 auto 14px;
}
.sheaney-con-values__icon svg {
    display: block;
    height: 40px;
    margin: 0 auto;
    width: 40px;
}
.sheaney-con-values__item h3 {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.4px;
    margin: 0 0 10px;
    text-transform: uppercase;
}
.sheaney-con-values__item p {
    color: var(--sheaney-muted);
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

.sheaney-con-section-head {
    margin: 0 auto 40px;
    max-width: 640px;
    text-align: center;
}
.sheaney-con-section-head__eyebrow {
    color: #3a8fa8;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    margin: 0 0 12px;
    text-transform: uppercase;
}
.sheaney-con-section-head__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(22px, 2.6vw, 30px);
    font-weight: 800;
    margin: 0 0 12px;
}
.sheaney-con-section-head__title::after {
    background: #3a8fa8;
    content: "";
    display: block;
    height: 3px;
    margin: 14px auto 0;
    width: 48px;
}
.sheaney-con-section-head__text {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.65;
    margin: 16px 0 0;
}

.sheaney-con-services { background: #fff; }
.sheaney-con-services__grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}
.sheaney-con-services__card {
    align-items: center;
    background: #f7fafb;
    border: 1px solid rgba(58, 143, 168, 0.18);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    padding: 24px 14px;
    text-align: center;
}
.sheaney-con-services__icon {
    color: #3a8fa8;
    display: block;
    margin: 0 auto 12px;
}
.sheaney-con-services__icon svg {
    display: block;
    height: 36px;
    margin: 0 auto;
    width: 36px;
}
.sheaney-con-services__card h3 {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 8px;
    min-height: 2.6em;
}
.sheaney-con-services__card p {
    color: var(--sheaney-muted);
    font-size: 13px;
    line-height: 1.45;
    margin: 0;
}

.sheaney-commitment-bar--con .sheaney-commitment-bar__quote {
    border: 0;
    border-left: 1px solid rgba(110, 196, 222, 0.55);
    border-radius: 0;
    padding: 0 0 0 28px;
}

/* Construction — Core Capabilities + Featured Projects */
.sheaney-con-capabilities {
    background: var(--sheaney-light-bg);
}
.sheaney-con-capabilities--two-col .sheaney-con-capabilities__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.sheaney-con-capabilities__grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.sheaney-con-capabilities__item {
    background: #fff;
    border: 1px solid rgba(38, 93, 116, 0.1);
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(20, 56, 74, 0.05);
    min-width: 0;
    padding: 28px 24px 26px;
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.sheaney-con-capabilities__item:hover {
    box-shadow: 0 12px 32px rgba(20, 56, 74, 0.1);
    transform: translateY(-3px);
}
.sheaney-con-capabilities__icon {
    align-items: center;
    background: linear-gradient(135deg, var(--sheaney-navy) 0%, #3a7a94 100%);
    border-radius: 10px;
    color: #fff;
    display: inline-flex;
    height: 46px;
    justify-content: center;
    margin-bottom: 16px;
    width: 46px;
}
.sheaney-con-capabilities__icon svg {
    display: block;
    height: 24px;
    width: 24px;
}
.sheaney-con-capabilities__item h3 {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.2px;
    line-height: 1.35;
    margin: 0 0 10px;
    min-height: 2.7em;
}
.sheaney-con-capabilities__item p {
    color: var(--sheaney-text);
    font-size: 14.5px;
    line-height: 1.65;
    margin: 0;
}

.sheaney-con-projects {
    background: #fff;
}
.sheaney-con-projects__grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.sheaney-con-project--flip {
    background: transparent;
    border: 0;
    cursor: pointer;
    margin: 0;
    min-height: 440px;
    padding: 0;
    perspective: 1400px;
}
.sheaney-con-project__flip {
    height: 100%;
    min-height: 440px;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.65s cubic-bezier(0.4, 0.05, 0.2, 1);
    width: 100%;
}
.sheaney-con-project__face {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border: 1px solid rgba(38, 93, 116, 0.1);
    border-radius: 12px;
    box-shadow:
        0 1px 2px rgba(11, 32, 48, 0.05),
        0 8px 24px rgba(11, 32, 48, 0.06);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    inset: 0;
    overflow: hidden;
    position: absolute;
}
.sheaney-con-project__face--front {
    background: #fff;
    padding: 0;
    transform: rotateY(0deg);
    z-index: 2;
}
.sheaney-con-project__face--back {
    background: linear-gradient(160deg, var(--sheaney-navy-deep) 0%, #14384a 100%);
    justify-content: space-between;
    padding: 32px 28px 28px;
    transform: rotateY(180deg);
    z-index: 1;
}
.sheaney-con-project__photo {
    flex-shrink: 0;
    height: 180px;
    overflow: hidden;
    position: relative;
    width: 100%;
}
.sheaney-con-project__photo img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}
.sheaney-con-project__hint {
    align-items: center;
    background: rgba(255, 255, 255, 0.92);
    border-radius: 50%;
    color: var(--sheaney-navy);
    display: inline-flex;
    height: 34px;
    justify-content: center;
    position: absolute;
    right: 12px;
    top: 12px;
    width: 34px;
}
.sheaney-con-project__hint svg {
    display: block;
    height: 16px;
    width: 16px;
}
.sheaney-con-project__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    padding: 22px 24px 24px;
}
.sheaney-con-project__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.15px;
    line-height: 1.35;
    margin: 0 0 16px;
    text-decoration: underline;
    text-decoration-color: rgba(38, 93, 116, 0.35);
    text-underline-offset: 4px;
}
.sheaney-con-project__meta {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0 0 auto;
    padding: 0;
}
.sheaney-con-project__meta div {
    margin: 0;
}
.sheaney-con-project__meta dt {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.8px;
    margin: 0 0 4px;
    text-transform: uppercase;
}
.sheaney-con-project__meta dd {
    color: var(--sheaney-text);
    font-size: 15px;
    line-height: 1.45;
    margin: 0;
}
.sheaney-con-project__summary {
    color: rgba(255, 255, 255, 0.92);
    flex: 1 1 auto;
    font-size: 15.5px;
    line-height: 1.7;
    margin: 0 0 24px;
}
.sheaney-con-project__cta {
    align-self: flex-start;
    background: var(--sheaney-navy);
    border-radius: var(--sheaney-cta-radius, 24px);
    color: #fff !important;
    display: inline-flex;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-top: 18px;
    padding: 12px 22px;
    text-decoration: none !important;
    text-transform: uppercase;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}
.sheaney-con-project__cta:hover,
.sheaney-con-project__cta:focus {
    background: var(--sheaney-navy-dark);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    color: #fff !important;
    transform: translateY(-2px);
}
.sheaney-con-project__cta--inverse {
    border: 2px solid rgba(255, 255, 255, 0.6);
    padding: 10px 20px;
}
.sheaney-con-project__cta--inverse:hover,
.sheaney-con-project__cta--inverse:focus {
    border-color: #fff;
}

@media (hover: hover) and (pointer: fine) {
    .sheaney-con-project--flip:hover .sheaney-con-project__flip,
    .sheaney-con-project--flip:focus-within .sheaney-con-project__flip {
        transform: rotateY(180deg);
    }
}
@media (hover: none), (pointer: coarse) {
    .sheaney-con-project--flip.sheaney-con-project--flipped .sheaney-con-project__flip {
        transform: rotateY(180deg);
    }
}
@media (prefers-reduced-motion: reduce) {
    .sheaney-con-project__flip {
        transition: none;
    }
    .sheaney-con-capabilities__item {
        transition: none;
    }
}

@media (max-width: 991px) {
    .sheaney-services-values { grid-template-columns: repeat(2, 1fr); }
    .sheaney-our-standards__grid,
    .sheaney-page-hero__inner,
    .sheaney-commitment-bar__grid,
    .sheaney-esg-commitment__panel,
    .sheaney-eng-approach__grid,
    .sheaney-con-chips {
        grid-template-columns: 1fr;
    }
    .sheaney-pm-intro__grid {
        grid-template-areas: "copy" "pillars";
        grid-template-columns: 1fr;
    }
    .sheaney-con-chips__item {
        border-bottom: 1px solid rgba(255, 255, 255, 0.18);
        border-right: 0;
        padding: 16px 0;
    }
    .sheaney-con-chips__item:last-child { border-bottom: 0; }
    .sheaney-con-values__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .sheaney-con-services__grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .sheaney-con-capabilities__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sheaney-con-capabilities--two-col .sheaney-con-capabilities__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sheaney-con-capabilities__item h3 {
        min-height: 0;
    }
    .sheaney-con-services__card h3 { min-height: 0; }
    .sheaney-page-hero--engineering .sheaney-page-hero__inner {
        grid-template-areas: "copy" "stats";
        grid-template-columns: 1fr;
        max-width: 560px;
    }
    .sheaney-eng-approach__grid {
        grid-template-areas: "copy" "media";
    }
    .sheaney-commitment-bar__grid {
        grid-template-areas: "copy" "quote";
    }
    .sheaney-digital__grid,
    .sheaney-service-grid,
    .sheaney-pm-services__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .sheaney-approach__steps,
    .sheaney-core-values__grid,
    .sheaney-pm-approach__steps {
        grid-template-columns: repeat(2, 1fr);
    }
    .sheaney-pm-approach__steps::before { display: none; }
    .sheaney-principles {
        grid-template-columns: repeat(2, 1fr);
    }
    .sheaney-page-hero--engineering .sheaney-page-hero__jumps {
        flex-wrap: wrap;
        gap: 12px 0;
    }
    .sheaney-page-hero--engineering .sheaney-page-hero__jumps a {
        border-right: 0;
        padding: 0 16px 0 0;
    }
    .sheaney-pm-chips {
        align-items: flex-start;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 14px;
        margin-top: 28px;
    }
    .sheaney-pm-chips__item {
        border-right: 0;
        flex: 0 0 auto;
        justify-content: flex-start;
        min-height: 0;
        padding: 0;
    }
    .sheaney-pm-chips__item:first-child,
    .sheaney-pm-chips__item:last-child {
        padding: 0;
    }
    .sheaney-pm-chips__item strong {
        white-space: nowrap;
    }
}
@media (max-width: 767px) {
    .sheaney-services-values,
    .sheaney-our-standards__isos,
    .sheaney-digital__grid,
    .sheaney-service-grid,
    .sheaney-feature-grid,
    .sheaney-approach__steps,
    .sheaney-core-values__grid,
    .sheaney-principles,
    .sheaney-esg-commitment__principles,
    .sheaney-pm-pillars,
    .sheaney-pm-services__grid,
    .sheaney-pm-approach__steps,
    .sheaney-con-values__grid,
    .sheaney-con-services__grid,
    .sheaney-con-capabilities__grid,
    .sheaney-con-projects__grid {
        grid-template-columns: 1fr;
    }
    .sheaney-con-project--flip,
    .sheaney-con-project__flip {
        min-height: 400px;
    }
    .sheaney-con-creds {
        flex-direction: column;
        align-items: flex-start;
    }
    .sheaney-digital__title {
        display: block;
        width: 100%;
    }
    .sheaney-commitment-bar__copy {
        flex-direction: column;
    }
    .sheaney-page-hero--engineering,
    .sheaney-page-hero--pm,
    .sheaney-page-hero--construction {
        min-height: 0;
        padding: 72px 0 40px;
    }
}

/* =====================================================================
   ESG page — Rev 04 mock match
   ===================================================================== */
.sheaney-page-hero--esg {
    background-image: none;
    isolation: isolate;
    min-height: 460px;
    overflow: hidden;
    padding: 130px 0 88px;
    position: relative;
    text-align: center;
}
.sheaney-page-hero--esg::before {
    background-color: #0b2030;
    background-image:
        linear-gradient(180deg, rgba(8, 28, 40, 0.55) 0%, rgba(8, 28, 40, 0.72) 100%),
        url("../../../../uploads/2026/07/home/source-farrans.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    inset: 0;
    position: absolute;
    z-index: 0;
}
body.header-style-5:not(.home) .sheaney-page-hero--esg::before {
    background: linear-gradient(180deg, rgba(8, 28, 40, 0.55) 0%, rgba(8, 28, 40, 0.72) 100%),
        url("../../../../uploads/2026/07/home/source-farrans.png");
    background-position: center center;
    background-size: cover;
}
.sheaney-page-hero--esg .sheaney-page-hero__inner--esg {
    display: block;
    grid-template-columns: none;
    position: relative;
    z-index: 1;
}
.sheaney-page-hero--esg .sheaney-page-hero__copy--esg {
    margin: 0 auto;
    max-width: 820px;
    text-align: center;
}
.sheaney-page-hero--esg .sheaney-page-hero__label {
    color: var(--sheaney-cyan) !important;
}
.sheaney-page-hero--esg .sheaney-page-hero__title {
    margin-left: auto;
    margin-right: auto;
    max-width: 18ch;
}
.sheaney-page-hero--esg .sheaney-page-hero__title::after {
    background: linear-gradient(90deg, var(--sheaney-cyan), #7ad7ef);
    margin: 18px auto 0;
}
.sheaney-page-hero--esg .sheaney-page-hero__text {
    margin-left: auto;
    margin-right: auto;
    max-width: 640px;
}

.sheaney-esg-pillars {
    background: #fff;
    padding: 80px 0 40px;
}
.sheaney-esg-framework-head {
    margin: 0 auto 48px;
    max-width: 640px;
    text-align: center;
}
.sheaney-esg-framework-head__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 800;
    margin: 0 0 12px;
}
.sheaney-esg-framework-head__text {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
}
.sheaney-esg-pillars__grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.sheaney-esg-pillar {
    background: #f4f7f9;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(15, 58, 76, 0.07);
    color: inherit;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
    text-decoration: none !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.sheaney-esg-pillar:hover {
    box-shadow: 0 16px 40px rgba(15, 58, 76, 0.12);
    transform: translateY(-4px);
}

/* ESG pillar flip cards */
.sheaney-esg-pillar--flip {
    background: transparent;
    border: 0;
    box-shadow: none;
    cursor: pointer;
    min-height: 420px;
    overflow: visible;
    padding: 0;
    perspective: 1400px;
    transition: none;
}
.sheaney-esg-pillar--flip:hover {
    box-shadow: none;
    transform: none;
}
.sheaney-esg-pillar__flip {
    height: 100%;
    min-height: 420px;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.65s cubic-bezier(0.4, 0.05, 0.2, 1);
    width: 100%;
}
.sheaney-esg-pillar__face {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(15, 58, 76, 0.07);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: 100%;
    inset: 0;
    overflow: hidden;
    position: absolute;
    width: 100%;
}
.sheaney-esg-pillar__face--front {
    background: #f4f7f9;
    justify-content: space-between;
    transform: rotateY(0deg);
    z-index: 2;
}
.sheaney-esg-pillar__face--back {
    justify-content: space-between;
    padding: 36px 28px 28px;
    transform: rotateY(180deg);
    z-index: 1;
}
.sheaney-esg-pillar--env .sheaney-esg-pillar__face--back {
    background: linear-gradient(160deg, #1f7a55 0%, #2f9a6a 100%);
}
.sheaney-esg-pillar--social .sheaney-esg-pillar__face--back {
    background: linear-gradient(160deg, #1a5570 0%, #265d74 100%);
}
.sheaney-esg-pillar--gov .sheaney-esg-pillar__face--back {
    background: linear-gradient(160deg, #14384a 0%, #1e4a5c 100%);
}
.sheaney-esg-pillar__face--back .sheaney-esg-pillar__list {
    color: #fff;
    flex: 1;
    padding-top: 0;
}
.sheaney-esg-pillar__face--back .sheaney-esg-pillar__list::before {
    background: rgba(255, 255, 255, 0.35);
    display: none;
}
.sheaney-esg-pillar__face--back .sheaney-esg-pillar__list li {
    color: rgba(255, 255, 255, 0.96);
    font-size: 15px;
    line-height: 1.45;
    margin-bottom: 18px;
    padding-left: 30px;
}
.sheaney-esg-pillar__face--back .sheaney-esg-pillar__list li::before {
    border-color: #fff;
    height: 18px;
    top: calc((1.45em - 18px) / 2);
    width: 18px;
}
.sheaney-esg-pillar__face--back .sheaney-esg-pillar__list li::after {
    border-color: #fff;
    height: 9px;
    left: 6px;
    top: calc((1.45em - 18px) / 2 + 2.5px);
    width: 5px;
}
.sheaney-esg-pillar__hint {
    align-items: center;
    background: rgba(15, 58, 76, 0.72);
    border-radius: 50%;
    bottom: 12px;
    color: #fff;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    position: absolute;
    right: 12px;
    width: 34px;
    z-index: 2;
}
.sheaney-esg-pillar__hint svg {
    display: block;
    height: 18px;
    width: 18px;
}
.sheaney-esg-pillar__media {
    margin: 0;
    overflow: hidden;
    position: relative;
}
.sheaney-esg-pillar__cta {
    align-items: center;
    align-self: stretch;
    background: var(--sheaney-navy);
    border: 2px solid rgba(255, 255, 255, 0.6);
    border-radius: var(--sheaney-cta-radius);
    color: #fff;
    display: inline-flex;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    justify-content: center;
    letter-spacing: 0.4px;
    margin-top: 24px;
    padding: 12px 22px;
    text-decoration: none !important;
    text-transform: uppercase;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
    width: 100%;
}
.sheaney-esg-pillar__cta:hover,
.sheaney-esg-pillar__cta:focus-visible {
    background: var(--sheaney-navy-dark);
    border-color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    color: #fff;
    transform: translateY(-2px);
}

@media (hover: hover) and (pointer: fine) {
    .sheaney-esg-pillar--flip:hover .sheaney-esg-pillar__flip,
    .sheaney-esg-pillar--flip:focus-within .sheaney-esg-pillar__flip {
        transform: rotateY(180deg);
    }
}
@media (hover: none), (pointer: coarse) {
    .sheaney-esg-pillar--flip.sheaney-esg-pillar--flipped .sheaney-esg-pillar__flip {
        transform: rotateY(180deg);
    }
}
@media (prefers-reduced-motion: reduce) {
    .sheaney-esg-pillar__flip {
        transition: none;
    }
}

/* =====================================================================
   Governance page
   ===================================================================== */
.sheaney-page-hero--governance {
    background-image: none;
    isolation: isolate;
    min-height: 440px;
    overflow: hidden;
    padding: 130px 0 96px;
    position: relative;
    text-align: left;
}
.sheaney-page-hero--governance::before {
    background-color: #0b2030;
    background-image:
        linear-gradient(105deg, rgba(8, 28, 40, 0.92) 0%, rgba(8, 28, 40, 0.72) 48%, rgba(8, 28, 40, 0.4) 100%),
        url("../../../../uploads/2026/07/pm/hero-office.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    inset: 0;
    position: absolute;
    z-index: 0;
}
body.header-style-5:not(.home) .sheaney-page-hero--governance::before {
    background:
        linear-gradient(105deg, rgba(8, 28, 40, 0.92) 0%, rgba(8, 28, 40, 0.72) 48%, rgba(8, 28, 40, 0.4) 100%),
        url("../../../../uploads/2026/07/pm/hero-office.jpg");
    background-position: center;
    background-size: cover;
}
.sheaney-page-hero--governance .sheaney-page-hero__inner--gov {
    display: block;
    position: relative;
    z-index: 1;
}
.sheaney-page-hero--governance .sheaney-page-hero__copy--gov {
    max-width: 640px;
    text-align: left;
}
.sheaney-gov-hero__crumb {
    color: var(--sheaney-cyan);
    font-size: 12px;
    margin: 0 0 16px;
}
.sheaney-gov-hero__crumb a {
    color: var(--sheaney-cyan);
    text-decoration: none;
}
.sheaney-gov-hero__crumb a:hover {
    color: #fff;
}
.sheaney-page-hero--governance .sheaney-page-hero__label {
    color: var(--sheaney-cyan) !important;
}
.sheaney-page-hero--governance .sheaney-page-hero__title {
    margin-left: 0;
    margin-right: 0;
    text-transform: uppercase;
}
.sheaney-page-hero--governance .sheaney-page-hero__title::after {
    background: var(--sheaney-cyan);
    content: "";
    display: block;
    height: 3px;
    margin: 18px 0 0;
    width: 64px;
}
.sheaney-page-hero--governance .sheaney-page-hero__text {
    margin-left: 0;
    max-width: 540px;
}

.sheaney-gov-intro {
    background: #fff;
    padding: 80px 0;
}
.sheaney-gov-intro__grid {
    align-items: center;
    display: grid;
    gap: 48px 56px;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
}
.sheaney-gov-intro__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 20px;
}
.sheaney-gov-intro__text {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 16px;
}
.sheaney-gov-intro__text:last-child {
    margin-bottom: 0;
}
.sheaney-gov-values {
    display: grid;
    gap: 20px 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}
.sheaney-gov-values__item {
    background: #f4f7f9;
    border-radius: 12px;
    padding: 22px 18px;
}
.sheaney-gov-values__icon {
    color: #2f7fb5;
    display: inline-flex;
    height: 40px;
    margin-bottom: 12px;
    width: 40px;
}
.sheaney-gov-values__icon svg {
    display: block;
    height: 100%;
    width: 100%;
}
.sheaney-gov-values__item strong {
    color: var(--sheaney-navy-deep);
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 800;
    margin: 0 0 6px;
}
.sheaney-gov-values__item p {
    color: var(--sheaney-muted);
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

.sheaney-gov-framework {
    background: var(--sheaney-light-bg);
    padding: 80px 0;
}
.sheaney-gov-framework__head {
    margin: 0 auto 40px;
    max-width: 640px;
    text-align: center;
}
.sheaney-gov-framework__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 2.8vw, 32px);
    font-weight: 800;
    margin: 0 0 12px;
}
.sheaney-gov-framework__text {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}
.sheaney-gov-framework__grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.sheaney-gov-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(15, 58, 76, 0.06);
    display: flex;
    flex-direction: column;
    padding: 28px 20px 24px;
}
.sheaney-gov-card__icon {
    color: #2f7fb5;
    display: inline-flex;
    height: 44px;
    margin-bottom: 16px;
    width: 44px;
}
.sheaney-gov-card__icon svg {
    display: block;
    height: 100%;
    width: 100%;
}
.sheaney-gov-card__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 800;
    margin: 0 0 10px;
}
.sheaney-gov-card__text {
    color: var(--sheaney-muted);
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
}

.sheaney-gov-policies {
    background: #fff;
    padding: 80px 0;
}
.sheaney-gov-policies__grid {
    align-items: center;
    display: grid;
    gap: 48px;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}
.sheaney-gov-policies__title {
    color: var(--sheaney-navy-deep);
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 2.8vw, 30px);
    font-weight: 800;
    margin: 0 0 12px;
    position: relative;
}
.sheaney-gov-policies__title::after {
    background: #e8c547;
    bottom: 2px;
    content: "";
    height: 8px;
    left: 0;
    opacity: 0.85;
    position: absolute;
    width: 100%;
    z-index: -1;
}
.sheaney-gov-policies__lead {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.65;
    margin: 0 0 24px;
}
.sheaney-gov-policies__list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sheaney-gov-policies__list li {
    color: var(--sheaney-navy-deep);
    font-size: 15px;
    line-height: 1.45;
    margin-bottom: 14px;
    padding-left: 30px;
    position: relative;
}
.sheaney-gov-policies__list li:last-child {
    margin-bottom: 0;
}
.sheaney-gov-policies__list li::before {
    border: 1.6px solid #2f7fb5;
    border-radius: 50%;
    box-sizing: border-box;
    content: "";
    height: 18px;
    left: 0;
    position: absolute;
    top: calc((1.45em - 18px) / 2);
    width: 18px;
}
.sheaney-gov-policies__list li::after {
    border-bottom: 1.6px solid #2f7fb5;
    border-right: 1.6px solid #2f7fb5;
    content: "";
    height: 9px;
    left: 6px;
    position: absolute;
    top: calc((1.45em - 18px) / 2 + 2.5px);
    transform: rotate(45deg);
    width: 5px;
}
.sheaney-gov-policies__media {
    margin: 0;
}
.sheaney-gov-book {
    align-items: center;
    background:
        radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.1), transparent 42%),
        linear-gradient(145deg, #123846 0%, #0b2030 55%, #071820 100%);
    border-radius: 16px;
    display: flex;
    justify-content: center;
    min-height: 420px;
    padding: 48px 40px;
    perspective: 800px;
}
.sheaney-gov-book__spine {
    background: linear-gradient(180deg, #1a5a7a 0%, #0f3a52 100%);
    border-radius: 4px 0 0 4px;
    box-shadow: inset -2px 0 0 rgba(255, 255, 255, 0.08);
    flex: 0 0 18px;
    height: 300px;
    transform: skewY(-2deg);
}
.sheaney-gov-book__cover {
    background: linear-gradient(160deg, #3a86b8 0%, #1e5a82 55%, #174866 100%);
    border-radius: 0 10px 10px 0;
    box-shadow:
        12px 18px 36px rgba(0, 0, 0, 0.35),
        inset -8px 0 0 rgba(0, 0, 0, 0.14);
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 300px;
    justify-content: space-between;
    padding: 28px 26px 32px;
    transform: rotateY(-8deg) skewY(-1deg);
    width: 210px;
}
.sheaney-gov-book__label {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    opacity: 0.9;
    text-transform: uppercase;
}
.sheaney-gov-book__title {
    font-family: "Montserrat", sans-serif;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: 0.5px;
    line-height: 1.05;
    margin: auto 0;
    text-transform: uppercase;
}
.sheaney-gov-book__sub {
    font-size: 12px;
    opacity: 0.85;
}

.sheaney-gov-commitment {
    background: linear-gradient(120deg, #08333d 0%, #0a4d5c 55%, #0f5a6a 100%);
    padding: 72px 0;
}
.sheaney-gov-commitment__grid {
    align-items: center;
    display: grid;
    gap: 40px;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
}
.sheaney-gov-commitment__copy {
    align-items: flex-start;
    display: flex;
    gap: 18px;
}
.sheaney-gov-commitment__mark {
    align-items: center;
    color: #7ad7ef;
    display: inline-flex;
    flex: 0 0 48px;
    height: 48px;
    justify-content: center;
    width: 48px;
}
.sheaney-gov-commitment__mark svg {
    display: block;
    height: 40px;
    width: 40px;
}
.sheaney-gov-commitment__title {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 10px;
}
.sheaney-gov-commitment__text {
    color: rgba(255, 255, 255, 0.88);
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
}
.sheaney-gov-commitment__quote {
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 4px;
    margin: 0;
    padding: 28px 28px 32px;
    position: relative;
}
.sheaney-gov-commitment__marks {
    color: #7ad7ef;
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 64px;
    line-height: 0.55;
    margin-bottom: 12px;
}
.sheaney-gov-commitment__quote p {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 17px;
    font-style: italic;
    font-weight: 600;
    line-height: 1.55;
    margin: 0;
}
.sheaney-gov-commitment__attr {
    color: rgba(255, 255, 255, 0.78);
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin-top: 18px;
}

@media (max-width: 1100px) {
    .sheaney-gov-framework__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 991px) {
    .sheaney-gov-intro__grid,
    .sheaney-gov-policies__grid,
    .sheaney-gov-commitment__grid {
        grid-template-columns: 1fr;
    }
    .sheaney-gov-framework__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sheaney-page-hero--governance {
        min-height: 0;
        padding: 110px 0 64px;
    }
}
@media (max-width: 640px) {
    .sheaney-gov-values,
    .sheaney-gov-framework__grid {
        grid-template-columns: 1fr;
    }
}

.sheaney-esg-pillar__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    padding: 28px 24px 20px;
}
.sheaney-esg-pillar__face--front .sheaney-esg-pillar__text {
    flex: 1;
    margin-bottom: 0;
}
.sheaney-esg-pillar__head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}
.sheaney-esg-pillar__letter {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 56px;
    font-weight: 800;
    line-height: 0.9;
    margin: 0;
}
.sheaney-esg-pillar__icon {
    align-items: center;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    display: inline-flex;
    height: 48px;
    justify-content: center;
    width: 48px;
}
.sheaney-esg-pillar__icon svg {
    display: block;
    height: 28px;
    width: 28px;
}
.sheaney-esg-pillar__title {
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 10px;
}
.sheaney-esg-pillar__text {
    color: var(--sheaney-muted);
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 16px;
}
.sheaney-esg-pillar__list {
    list-style: none;
    margin: 0;
    padding: 16px 0 0;
    position: relative;
}
.sheaney-esg-pillar__list::before {
    content: "";
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
.sheaney-esg-pillar__list li {
    color: var(--sheaney-navy-deep);
    font-size: 13px;
    line-height: 1.45;
    margin-bottom: 12px;
    padding-left: 28px;
    position: relative;
}
.sheaney-esg-pillar__list li:last-child { margin-bottom: 0; }
.sheaney-esg-pillar__list li::before {
    border: 1.5px solid currentColor;
    border-radius: 50%;
    box-sizing: border-box;
    content: "";
    height: 16px;
    left: 0;
    position: absolute;
    top: calc((1.45em - 16px) / 2);
    width: 16px;
}
.sheaney-esg-pillar__list li::after {
    border-bottom: 1.6px solid currentColor;
    border-right: 1.6px solid currentColor;
    box-sizing: border-box;
    content: "";
    height: 8px;
    left: 5.5px;
    position: absolute;
    top: calc((1.45em - 16px) / 2 + 2.5px);
    transform: rotate(45deg);
    width: 4.5px;
}
.sheaney-esg-pillar__media {
    margin: 0;
    overflow: hidden;
}
.sheaney-esg-pillar__media img {
    display: block;
    height: 170px;
    object-fit: cover;
    width: 100%;
}

.sheaney-esg-pillar--env .sheaney-esg-pillar__letter,
.sheaney-esg-pillar--env .sheaney-esg-pillar__icon,
.sheaney-esg-pillar--env .sheaney-esg-pillar__title,
.sheaney-esg-pillar--env .sheaney-esg-pillar__list li { color: #2f9a6a; }
.sheaney-esg-pillar--env .sheaney-esg-pillar__list::before { background: #2f9a6a; }

.sheaney-esg-pillar--social .sheaney-esg-pillar__letter,
.sheaney-esg-pillar--social .sheaney-esg-pillar__icon,
.sheaney-esg-pillar--social .sheaney-esg-pillar__title,
.sheaney-esg-pillar--social .sheaney-esg-pillar__list li { color: #2f7fb5; }
.sheaney-esg-pillar--social .sheaney-esg-pillar__list::before { background: #2f7fb5; }

.sheaney-esg-pillar--gov .sheaney-esg-pillar__letter,
.sheaney-esg-pillar--gov .sheaney-esg-pillar__icon,
.sheaney-esg-pillar--gov .sheaney-esg-pillar__title,
.sheaney-esg-pillar--gov .sheaney-esg-pillar__list li { color: #1e4a5c; }
.sheaney-esg-pillar--gov .sheaney-esg-pillar__list::before { background: #1e4a5c; }

.sheaney-esg-pillar--flip .sheaney-esg-pillar__face--back,
.sheaney-esg-pillar--flip .sheaney-esg-pillar__face--back .sheaney-esg-pillar__list,
.sheaney-esg-pillar--flip .sheaney-esg-pillar__face--back .sheaney-esg-pillar__list li {
    color: #fff;
}
.sheaney-esg-pillar--flip .sheaney-esg-pillar__face--back .sheaney-esg-pillar__list li::before,
.sheaney-esg-pillar--flip .sheaney-esg-pillar__face--back .sheaney-esg-pillar__list li::after {
    border-color: #fff;
}

.sheaney-esg-commitment {
    background: #fff;
    padding: 24px 0 72px;
}
.sheaney-esg-commitment__panel {
    align-items: center;
    background: var(--sheaney-light-bg);
    border-radius: 12px;
    display: grid;
    gap: 32px 40px;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    padding: 36px 32px;
}
.sheaney-esg-commitment__copy {
    align-items: flex-start;
    display: flex;
    gap: 18px;
}
.sheaney-esg-commitment__mark {
    align-items: center;
    background: var(--sheaney-navy-deep);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    flex: 0 0 56px;
    height: 56px;
    justify-content: center;
    width: 56px;
}
.sheaney-esg-commitment__mark svg {
    display: block;
    height: 28px;
    width: 28px;
}
.sheaney-esg-commitment__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 8px;
}
.sheaney-esg-commitment__text {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
}
.sheaney-esg-commitment__principles {
    display: grid;
    gap: 16px 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}
.sheaney-esg-commitment__principles li {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: center;
}
.sheaney-esg-commitment__p-icon {
    align-items: center;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    width: 36px;
}
.sheaney-esg-commitment__p-icon svg {
    display: block;
    height: 32px;
    width: 32px;
}
.sheaney-esg-commitment__p-icon--green { color: #2f9a6a; }
.sheaney-esg-commitment__p-icon--blue { color: #2f7fb5; }
.sheaney-esg-commitment__p-icon--navy { color: #1e4a5c; }
.sheaney-esg-commitment__p-icon--teal { color: #1f7a96; }
.sheaney-esg-commitment__principles strong {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.4px;
    line-height: 1.35;
    text-transform: uppercase;
}

@media (max-width: 991px) {
    .sheaney-esg-pillars__grid {
        grid-template-columns: 1fr;
        max-width: 480px;
        margin: 0 auto;
    }
    .sheaney-esg-pillar--flip,
    .sheaney-esg-pillar__flip {
        min-height: 400px;
    }
    .sheaney-esg-commitment__panel {
        grid-template-columns: 1fr;
    }
    .sheaney-esg-commitment__principles {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 767px) {
    .sheaney-page-hero--esg {
        min-height: 0;
        padding: 100px 0 56px;
    }
    .sheaney-esg-commitment__principles {
        grid-template-columns: 1fr 1fr;
    }
}

/* =====================================================================
   Team page — photo hero + roster polish
   ===================================================================== */
.sheaney-page-hero--team {
    background-image: none;
    isolation: isolate;
    min-height: 440px;
    overflow: hidden;
    padding: 130px 0 88px;
    position: relative;
    text-align: left;
}
.sheaney-page-hero--team::before {
    background-color: #0b2030;
    background-image:
        linear-gradient(105deg, rgba(8, 28, 40, 0.92) 0%, rgba(8, 28, 40, 0.72) 42%, rgba(8, 28, 40, 0.35) 100%),
        url("../../../../uploads/2026/07/home/sheaney-hero-2.jpeg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    inset: 0;
    position: absolute;
    z-index: 0;
}
body.header-style-5:not(.home) .sheaney-page-hero--team::before {
    background: linear-gradient(105deg, rgba(8, 28, 40, 0.92) 0%, rgba(8, 28, 40, 0.72) 42%, rgba(8, 28, 40, 0.35) 100%),
        url("../../../../uploads/2026/07/home/sheaney-hero-2.jpeg");
    background-position: center center;
    background-size: cover;
}
.sheaney-page-hero--team .sheaney-page-hero__inner--team {
    display: block;
    grid-template-columns: none;
    position: relative;
    z-index: 1;
}
.sheaney-page-hero--team .sheaney-page-hero__copy--team {
    max-width: 560px;
    text-align: left;
}
.sheaney-page-hero--team .sheaney-page-hero__label {
    color: var(--sheaney-cyan) !important;
}
.sheaney-page-hero--team .sheaney-page-hero__title {
    margin-left: 0;
    margin-right: 0;
}
.sheaney-page-hero--team .sheaney-page-hero__title::after {
    background: var(--sheaney-cyan, #2eb8d9);
    content: "";
    display: block;
    height: 3px;
    margin: 18px 0 0;
    width: 64px;
}
.sheaney-page-hero--team .sheaney-page-hero__text {
    margin-left: 0;
    max-width: 480px;
}
@media (max-width: 991px) {
    .sheaney-page-hero--team {
        min-height: 0;
        padding: 110px 0 72px;
        text-align: center;
    }
    .sheaney-page-hero--team .sheaney-page-hero__copy--team {
        margin: 0 auto;
        text-align: center;
    }
    .sheaney-page-hero--team .sheaney-page-hero__title::after {
        margin-left: auto;
        margin-right: auto;
    }
    .sheaney-page-hero--team .sheaney-page-hero__text {
        margin-left: auto;
        margin-right: auto;
    }
}
@media (max-width: 767px) {
    .sheaney-page-hero--team {
        padding: 100px 0 56px;
    }
}

/* =====================================================================
   About page — company story (no service cards)
   ===================================================================== */
.sheaney-page-hero--about {
    background-image: none;
    isolation: isolate;
    min-height: 420px;
    overflow: hidden;
    padding: 130px 0 88px;
    position: relative;
    text-align: left;
}
.sheaney-page-hero--about::before {
    background-color: #0b2030;
    background-image:
        linear-gradient(105deg, rgba(8, 28, 40, 0.92) 0%, rgba(8, 28, 40, 0.72) 45%, rgba(8, 28, 40, 0.38) 100%),
        url("../../../../uploads/2026/07/home/sheaney-hero-1.jpeg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    inset: 0;
    position: absolute;
    z-index: 0;
}
body.header-style-5:not(.home) .sheaney-page-hero--about::before {
    background: linear-gradient(105deg, rgba(8, 28, 40, 0.92) 0%, rgba(8, 28, 40, 0.72) 45%, rgba(8, 28, 40, 0.38) 100%),
        url("../../../../uploads/2026/07/home/sheaney-hero-1.jpeg");
    background-position: center center;
    background-size: cover;
}
.sheaney-page-hero--about .sheaney-page-hero__inner--about {
    display: block;
    position: relative;
    z-index: 1;
}
.sheaney-page-hero--about .sheaney-page-hero__copy--about {
    max-width: 560px;
    text-align: left;
}
.sheaney-page-hero--about .sheaney-page-hero__label {
    color: var(--sheaney-cyan) !important;
}
.sheaney-page-hero--about .sheaney-page-hero__title::after {
    background: var(--sheaney-cyan, #2eb8d9);
    content: "";
    display: block;
    height: 3px;
    margin: 18px 0 0;
    width: 64px;
}
.sheaney-page-hero--about .sheaney-page-hero__text {
    margin-left: 0;
    max-width: 460px;
}

.sheaney-about-intro {
    background: #fff;
    padding: 80px 0;
}
.sheaney-about-intro__grid {
    align-items: center;
    display: grid;
    gap: 48px 72px;
    grid-template-columns: 1.15fr 0.85fr;
}
.sheaney-about-intro__heading {
    margin: 0 0 28px;
    padding-bottom: 18px;
    position: relative;
}
.sheaney-about-intro__heading::after {
    background: var(--sheaney-navy);
    border-radius: 2px;
    bottom: 0;
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    width: 56px;
}
.sheaney-about-intro__facts {
    border-top: 1px solid rgba(38, 93, 116, 0.14);
    display: flex;
    flex-wrap: wrap;
    gap: 16px 24px;
    justify-content: space-between;
    list-style: none;
    margin: 32px 0 0;
    padding: 24px 0 0;
}
.sheaney-about-intro__facts li {
    border-left: 3px solid var(--sheaney-navy);
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    padding: 2px 0 2px 14px;
}
.sheaney-about-intro__fact-value {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}
.sheaney-about-intro__fact-label {
    color: var(--sheaney-muted);
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.sheaney-about-intro__cta {
    margin-top: 32px;
}
.sheaney-about-intro__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 16px;
}
.sheaney-about-intro__lead {
    color: var(--sheaney-navy);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.65;
    margin: 0 0 14px;
}
.sheaney-about-intro__text {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 14px;
}
.sheaney-about-intro__text:last-child {
    margin-bottom: 0;
}
.sheaney-about-intro__media {
    border: 1px solid rgba(38, 93, 116, 0.12);
    border-radius: 8px;
    box-shadow: 0 14px 36px rgba(20, 56, 74, 0.16);
    justify-self: end;
    margin: 0;
    max-width: 380px;
    overflow: hidden;
    position: relative;
    width: 100%;
}
.sheaney-about-intro__media img {
    aspect-ratio: 4 / 5;
    display: block;
    height: auto;
    object-fit: cover;
    object-position: center top;
    width: 100%;
}
.sheaney-about-intro__caption {
    background: linear-gradient(180deg, rgba(26, 79, 99, 0) 0%, rgba(26, 79, 99, 0.92) 55%);
    bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    left: 0;
    padding: 48px 22px 18px;
    position: absolute;
    right: 0;
}
.sheaney-about-intro__caption-name {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 17px;
    font-weight: 700;
}
.sheaney-about-intro__caption-role {
    color: rgba(255, 255, 255, 0.85);
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.sheaney-about-values {
    background: var(--sheaney-light-bg);
    padding: 72px 0;
}
.sheaney-about-values__header {
    margin: 0 auto 40px;
    max-width: 560px;
    text-align: center;
}
.sheaney-about-values__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(22px, 2.5vw, 28px);
    font-weight: 700;
    margin: 0 0 10px;
}
.sheaney-about-values__text {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}
.sheaney-about-values__grid {
    display: grid;
    gap: 28px 32px;
    grid-template-columns: repeat(4, 1fr);
}
.sheaney-about-value__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 8px;
}
.sheaney-about-value__title::before {
    background: var(--sheaney-cyan, #2eb8d9);
    content: "";
    display: block;
    height: 3px;
    margin-bottom: 14px;
    width: 36px;
}
.sheaney-about-value__text {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

.sheaney-about-links {
    background: #fff;
    padding: 64px 0;
}
.sheaney-about-links__header {
    margin: 0 auto 28px;
    max-width: 560px;
    text-align: center;
}
.sheaney-about-links__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(22px, 2.5vw, 28px);
    font-weight: 700;
    margin: 0 0 10px;
}
.sheaney-about-links__text {
    color: var(--sheaney-muted);
    font-size: 16px;
    margin: 0;
}
.sheaney-about-links__list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
}
.sheaney-about-links__list a {
    border: 1px solid rgba(30, 74, 92, 0.18);
    border-radius: 6px;
    color: var(--sheaney-navy);
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
    padding: 12px 20px;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.sheaney-about-links__list a:hover {
    background: var(--sheaney-navy);
    border-color: var(--sheaney-navy);
    color: #fff;
}

.sheaney-about-cta {
    background: linear-gradient(180deg, var(--sheaney-navy-deep) 0%, #14384a 100%);
    border-top: 3px solid rgba(46, 184, 217, 0.45);
    color: #fff;
    padding: 56px 0;
    text-align: center;
}
.sheaney-about-cta .container {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.sheaney-about-cta__text {
    font-family: "Montserrat", sans-serif;
    font-size: clamp(18px, 2.5vw, 22px);
    font-weight: 600;
    margin: 0;
}

/* About Us — single continuous page */
.sheaney-about-jumps {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
    margin-top: 28px;
    max-width: 720px;
}
.sheaney-about-jumps__link {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
    line-height: 1.3;
    padding: 10px 16px;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.sheaney-about-jumps__link:hover {
    background: rgba(255, 255, 255, 0.22);
    border-color: rgba(255, 255, 255, 0.45);
    color: #fff;
}
.sheaney-about-section {
    scroll-margin-top: 110px;
}
.sheaney-about-section__header {
    margin: 0 0 36px;
    max-width: 760px;
}
.sheaney-about-section__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 800;
    letter-spacing: 0.3px;
    line-height: 1.2;
    margin: 0 0 12px;
    text-transform: uppercase;
}
.sheaney-about-section .sheaney-timeline__header,
.sheaney-about-section .sheaney-leadership__header,
#our-history > .container > .sheaney-about-section__header,
#our-team > .container > .sheaney-about-section__header {
    margin: 0 0 36px;
    margin-left: 0;
    margin-right: 0;
    max-width: 760px;
    text-align: left;
}
.sheaney-about-section .sheaney-timeline__lead,
.sheaney-about-section .sheaney-leadership__text,
#our-history .sheaney-about-section__title,
#our-history .sheaney-timeline__lead,
#our-team .sheaney-about-section__title,
#our-team .sheaney-leadership__text {
    text-align: left;
}
.sheaney-accreditations {
    background: var(--sheaney-light-bg);
}
.sheaney-accreditations__lead {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
    max-width: 760px;
}
.sheaney-accreditations__grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.sheaney-accreditation-card {
    cursor: pointer;
    height: 220px;
    perspective: 1200px;
}
.sheaney-accreditation-card__flip {
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.55s cubic-bezier(0.4, 0.05, 0.2, 1);
    width: 100%;
}
.sheaney-accreditation-card__face {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border: 1px solid rgba(38, 93, 116, 0.1);
    border-radius: 14px;
    box-shadow: 0 4px 18px rgba(11, 32, 48, 0.06);
    display: flex;
    flex-direction: column;
    height: 100%;
    inset: 0;
    overflow: hidden;
    padding: 22px 18px;
    position: absolute;
    text-align: center;
}
.sheaney-accreditation-card__face--front {
    align-items: center;
    background: #fff;
    justify-content: center;
    transform: rotateY(0deg);
}
.sheaney-accreditation-card__face--back {
    align-items: center;
    background: linear-gradient(165deg, #1a4f63 0%, #14384a 100%);
    justify-content: center;
    transform: rotateY(180deg);
}
.sheaney-accreditation-card__face--front img {
    display: block;
    height: 64px;
    margin: 0 auto 14px;
    object-fit: contain;
    width: auto;
    max-width: 120px;
}
.sheaney-accreditation-card__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.4px;
    line-height: 1.3;
    margin: 0 0 6px;
    text-transform: uppercase;
}
.sheaney-accreditation-card__label {
    color: var(--sheaney-muted);
    font-size: 12px;
    line-height: 1.4;
    margin: 0;
}
.sheaney-accreditation-card__text {
    color: rgba(255, 255, 255, 0.9);
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
}
@media (hover: hover) and (pointer: fine) {
    .sheaney-accreditation-card:hover .sheaney-accreditation-card__flip,
    .sheaney-accreditation-card:focus-within .sheaney-accreditation-card__flip {
        transform: rotateY(180deg);
    }
}
.sheaney-accreditation-card--flipped .sheaney-accreditation-card__flip {
    transform: rotateY(180deg);
}
.sheaney-about-contributions {
    background: #fff;
}
.sheaney-about-contributions__lead {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
    max-width: 760px;
}
.sheaney-about-contributions__spotlight {
    background: var(--sheaney-light-bg);
    border: 1px solid rgba(38, 93, 116, 0.08);
    border-radius: 14px;
    padding: 32px 28px;
}
.sheaney-about-contributions__spotlight-title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 16px;
}
.sheaney-about-contributions__text {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.65;
    margin: 0 0 12px;
}
.sheaney-about-contributions__text:last-of-type {
    margin-bottom: 20px;
}
.sheaney-about-contributions__link {
    display: inline-flex;
}
.sheaney-about-contributions__grid {
    align-items: start;
    display: grid;
    gap: 40px;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
}
.container.sheaney-about-contributions__grid::before,
.container.sheaney-about-contributions__grid::after {
    content: none;
    display: none;
}
.sheaney-about-contributions__highlight {
    background: linear-gradient(135deg, rgba(47, 154, 106, 0.1), rgba(46, 184, 217, 0.08));
    border-left: 4px solid var(--sheaney-green);
    border-radius: 10px;
    color: var(--sheaney-navy-deep);
    font-size: 15.5px;
    font-weight: 500;
    line-height: 1.7;
    margin: 18px 0;
    padding: 18px 20px;
}
.sheaney-about-contributions__highlight strong {
    color: var(--sheaney-green);
}
.sheaney-about-contributions__cert {
    margin: 0;
    position: sticky;
    text-align: center;
    top: 120px;
}
.sheaney-about-contributions__cert img {
    border-radius: 10px;
    box-shadow: 0 14px 36px rgba(11, 32, 48, 0.16);
    display: block;
    height: auto;
    width: 100%;
}
.sheaney-about-contributions__cert figcaption {
    color: var(--sheaney-muted);
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.6px;
    margin-top: 14px;
    text-transform: uppercase;
}
@media (max-width: 767px) {
    .sheaney-about-contributions__grid {
        grid-template-columns: 1fr;
    }
    .sheaney-about-contributions__cert {
        margin: 0 auto;
        max-width: 280px;
        position: static;
    }
}

@media (max-width: 991px) {
    .sheaney-page-hero--about {
        min-height: 0;
        padding: 110px 0 72px;
        text-align: center;
    }
    .sheaney-page-hero--about .sheaney-page-hero__copy--about {
        margin: 0 auto;
        text-align: center;
    }
    .sheaney-page-hero--about .sheaney-page-hero__title::after {
        margin-left: auto;
        margin-right: auto;
    }
    .sheaney-page-hero--about .sheaney-page-hero__text {
        margin-left: auto;
        margin-right: auto;
    }
    .sheaney-about-intro__grid {
        grid-template-columns: 1fr;
    }
    .sheaney-about-intro__media {
        justify-self: center;
    }
    .sheaney-about-values__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .sheaney-about-jumps {
        justify-content: center;
        margin-left: auto;
        margin-right: auto;
    }
    .sheaney-accreditations__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
    .sheaney-page-hero--about {
        padding: 100px 0 56px;
    }
    .sheaney-about-intro,
    .sheaney-about-values {
        padding: 56px 0;
    }
    .sheaney-about-values__grid {
        grid-template-columns: 1fr;
    }
    .sheaney-about-intro__media {
        max-width: 300px;
    }
    .sheaney-about-intro__facts {
        flex-direction: column;
    }
    .sheaney-about-intro__fact-value {
        white-space: normal;
    }
    .sheaney-accreditations__grid {
        grid-template-columns: 1fr;
    }
    .sheaney-about-jumps__link {
        font-size: 11px;
        padding: 8px 12px;
    }
}

/* =====================================================================
   Sustainability / Environment page — Rev 04 mock match
   ===================================================================== */
.sheaney-page-hero--sustainability {
    background-image: none;
    isolation: isolate;
    min-height: 460px;
    overflow: hidden;
    padding: 130px 0 96px;
    position: relative;
    text-align: left;
}
.sheaney-page-hero--sustainability::before {
    background-color: #0b2030;
    background-image:
        linear-gradient(105deg, rgba(8, 28, 40, 0.88) 0%, rgba(8, 40, 32, 0.62) 48%, rgba(8, 28, 40, 0.28) 100%),
        url("../../../../uploads/2026/07/engineering/hero-wind.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    inset: 0;
    position: absolute;
    z-index: 0;
}
body.header-style-5:not(.home) .sheaney-page-hero--sustainability::before {
    background: linear-gradient(105deg, rgba(8, 28, 40, 0.88) 0%, rgba(8, 40, 32, 0.62) 48%, rgba(8, 28, 40, 0.28) 100%),
        url("../../../../uploads/2026/07/engineering/hero-wind.png");
    background-position: center center;
    background-size: cover;
}
.sheaney-page-hero--sustainability .sheaney-page-hero__inner--sustain {
    display: block;
    position: relative;
    z-index: 1;
}
.sheaney-page-hero--sustainability .sheaney-page-hero__copy--sustain {
    max-width: 620px;
    text-align: left;
}
.sheaney-sustain-hero__leaf {
    color: var(--sheaney-green);
    display: inline-flex;
    height: 56px;
    margin-bottom: 16px;
    width: 56px;
}
.sheaney-sustain-hero__leaf svg {
    display: block;
    height: 100%;
    width: 100%;
}
.sheaney-page-hero--sustainability .sheaney-page-hero__label {
    color: var(--sheaney-green) !important;
    letter-spacing: 1.6px;
}
.sheaney-page-hero--sustainability .sheaney-page-hero__title {
    margin-left: 0;
    margin-right: 0;
}
.sheaney-page-hero--sustainability .sheaney-page-hero__title::after {
    background: var(--sheaney-green);
    content: "";
    display: block;
    height: 3px;
    margin: 18px 0 0;
    width: 64px;
}
.sheaney-page-hero--sustainability .sheaney-page-hero__text {
    margin-left: 0;
    max-width: 520px;
}

.sheaney-sustain-commitments {
    background: #f4f7f5;
    padding: 72px 0 80px;
}
.sheaney-sustain-commitments__header {
    margin: 0 auto 40px;
    max-width: 640px;
    text-align: center;
}
.sheaney-sustain-commitments__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    margin: 0 0 10px;
    text-transform: uppercase;
}
.sheaney-sustain-commitments__text {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}
.sheaney-sustain-commitments__grid {
    align-items: stretch;
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.sheaney-sustain-card {
    background: #fff;
    border: 1px solid rgba(30, 74, 92, 0.08);
    border-radius: 10px;
    box-shadow: 0 8px 28px rgba(11, 32, 48, 0.05);
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    height: 100%;
    min-height: 100%;
    overflow: hidden;
}
.sheaney-sustain-card__main {
    display: block;
    min-height: 0;
}
.sheaney-sustain-card__copy {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 100%;
    padding: 24px 22px 18px;
}
.sheaney-sustain-card__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 8px;
}
.sheaney-sustain-card__lead {
    color: var(--sheaney-green);
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 10px;
}
.sheaney-sustain-card__text {
    color: var(--sheaney-muted);
    font-size: 13px;
    line-height: 1.55;
    margin: 0 0 14px;
}
.sheaney-sustain-card__list {
    list-style: none;
    margin: auto 0 0;
    padding: 0;
}
.sheaney-sustain-card__list li {
    color: var(--sheaney-navy-deep);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.45;
    margin-bottom: 10px;
    padding-left: 28px;
    position: relative;
}
.sheaney-sustain-card__list li:last-child { margin-bottom: 0; }
.sheaney-sustain-card__list li::before {
    border: 1.5px solid var(--sheaney-green);
    border-radius: 50%;
    box-sizing: border-box;
    content: "";
    height: 16px;
    left: 0;
    position: absolute;
    top: calc((1.45em - 16px) / 2);
    width: 16px;
}
.sheaney-sustain-card__list li::after {
    border-bottom: 1.6px solid var(--sheaney-green);
    border-right: 1.6px solid var(--sheaney-green);
    box-sizing: border-box;
    content: "";
    height: 8px;
    left: 5.5px;
    position: absolute;
    top: calc((1.45em - 16px) / 2 + 2.5px);
    transform: rotate(45deg);
    width: 4.5px;
}
.sheaney-sustain-card__media {
    display: none;
}
.sheaney-sustain-card__foot {
    align-items: center;
    background: #eef3f0;
    border-top: 1px solid rgba(47, 154, 106, 0.15);
    display: flex;
    flex-shrink: 0;
    gap: 10px;
    justify-content: center;
    min-height: 56px;
    padding: 14px 18px;
    text-align: center;
    width: 100%;
}
.sheaney-sustain-card__foot-icon {
    color: var(--sheaney-green);
    flex: 0 0 18px;
    height: 18px;
    width: 18px;
}
.sheaney-sustain-card__foot-icon svg {
    display: block;
    height: 100%;
    width: 100%;
}
.sheaney-sustain-card__foot p {
    color: var(--sheaney-navy-deep);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
    margin: 0;
    text-align: center;
}

.sheaney-sustain-approach {
    background: #fff;
    padding: 80px 0;
}
.sheaney-sustain-approach__header,
.sheaney-sustain-promise__header {
    margin: 0 auto 48px;
    max-width: 640px;
    text-align: center;
}
.sheaney-sustain-approach__title,
.sheaney-sustain-promise__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    margin: 0 0 10px;
    text-transform: uppercase;
}
.sheaney-sustain-approach__text,
.sheaney-sustain-promise__text {
    color: var(--sheaney-muted);
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}
.sheaney-sustain-approach__steps {
    display: grid;
    gap: 28px 12px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}
.sheaney-sustain-approach__steps::before {
    border-top: 2px dashed rgba(47, 154, 106, 0.45);
    content: "";
    left: 10%;
    position: absolute;
    right: 10%;
    top: 40px;
    z-index: 0;
}
.sheaney-sustain-step {
    position: relative;
    text-align: center;
    z-index: 1;
}
.sheaney-sustain-step:not(:last-child)::after {
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 8px solid var(--sheaney-green);
    content: "";
    position: absolute;
    right: -10px;
    top: 36px;
    z-index: 2;
}
.sheaney-sustain-step__badge {
    display: inline-block;
    margin: 0 auto 16px;
    position: relative;
}
.sheaney-sustain-step__icon {
    align-items: center;
    background: #fff;
    border: 2px solid var(--sheaney-green);
    border-radius: 50%;
    color: var(--sheaney-green);
    display: flex;
    height: 80px;
    justify-content: center;
    width: 80px;
}
.sheaney-sustain-step__icon svg {
    display: block;
    height: 36px;
    width: 36px;
}
.sheaney-sustain-step__num {
    background: var(--sheaney-green);
    border: 2px solid #fff;
    border-radius: 999px;
    bottom: -2px;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.4px;
    line-height: 1;
    min-width: 28px;
    padding: 5px 6px;
    position: absolute;
    right: -4px;
    text-align: center;
}
.sheaney-sustain-step__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.8px;
    margin: 0 0 8px;
    text-transform: uppercase;
}
.sheaney-sustain-step__text {
    color: var(--sheaney-muted);
    font-size: 13px;
    line-height: 1.45;
    margin: 0 auto;
    max-width: 170px;
    min-height: calc(2 * 1.45em);
}

.sheaney-sustain-promise {
    background: #fff;
    padding: 24px 0 72px;
}
.sheaney-sustain-promise__grid {
    align-items: stretch;
    display: grid;
    gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.sheaney-sustain-promise__item {
    align-items: center;
    border-right: 1px solid rgba(30, 74, 92, 0.12);
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: flex-start;
    padding: 16px 20px;
    text-align: center;
}
.sheaney-sustain-promise__item:last-child {
    border-right: 0;
}
.sheaney-sustain-promise__icon {
    color: var(--sheaney-green);
    display: block;
    height: 44px;
    margin: 0 auto;
    width: 44px;
}
.sheaney-sustain-promise__icon svg {
    display: block;
    height: 100%;
    width: 100%;
}
.sheaney-sustain-promise__body {
    min-width: 0;
    text-align: center;
}
.sheaney-sustain-promise__name {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.4px;
    line-height: 1.3;
    margin: 0 0 6px;
    min-height: 2.6em;
    text-transform: uppercase;
}
.sheaney-sustain-promise__desc {
    color: var(--sheaney-muted);
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
    min-height: calc(2 * 1.5em);
}

.sheaney-sustain-bar {
    background: #fff;
    padding: 0 0 56px;
}
.sheaney-sustain-bar__panel {
    align-items: stretch;
    background: #f3f6f5;
    border: 1px solid rgba(30, 74, 92, 0.1);
    border-radius: 12px;
    display: grid;
    gap: 0;
    grid-template-columns: minmax(240px, 1.15fr) minmax(0, 2fr);
    overflow: hidden;
}
.sheaney-sustain-bar__copy {
    align-items: flex-start;
    border-right: 1px solid rgba(30, 74, 92, 0.1);
    display: flex;
    gap: 14px;
    padding: 24px 22px;
}
.sheaney-sustain-bar__mark {
    align-items: center;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(11, 32, 48, 0.06);
    color: var(--sheaney-green);
    display: flex;
    flex: 0 0 52px;
    height: 52px;
    justify-content: center;
    width: 52px;
}
.sheaney-sustain-bar__mark svg {
    display: block;
    height: 28px;
    width: 28px;
}
.sheaney-sustain-bar__title {
    color: var(--sheaney-green);
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 8px;
}
.sheaney-sustain-bar__text {
    color: var(--sheaney-muted);
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
}
.sheaney-sustain-bar__list {
    align-items: stretch;
    display: grid;
    gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}
.sheaney-sustain-bar__list li {
    align-items: flex-start;
    border-right: 1px solid rgba(30, 74, 92, 0.1);
    display: grid;
    gap: 10px;
    grid-template-columns: 28px minmax(0, 1fr);
    padding: 22px 14px;
}
.sheaney-sustain-bar__list li:last-child {
    border-right: 0;
}
.sheaney-sustain-bar__icon {
    color: var(--sheaney-green);
    display: block;
    height: 28px;
    width: 28px;
}
.sheaney-sustain-bar__icon svg {
    display: block;
    height: 100%;
    width: 100%;
}
.sheaney-sustain-bar__list strong {
    color: var(--sheaney-navy-deep);
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
    margin: 0 0 4px;
}
.sheaney-sustain-bar__list li > div span {
    color: var(--sheaney-muted);
    display: block;
    font-size: 12px;
    line-height: 1.45;
    min-height: calc(2 * 1.45em);
}

.sheaney-sustain-cta {
    background: linear-gradient(180deg, var(--sheaney-navy-deep) 0%, #14384a 100%);
    color: #fff;
    padding: 40px 0;
}
.sheaney-sustain-cta__row {
    align-items: center;
    display: grid;
    gap: 28px 40px;
    grid-template-columns: minmax(0, 1.4fr) auto;
}
.container.sheaney-sustain-cta__row::before,
.container.sheaney-sustain-cta__row::after {
    content: none !important;
    display: none !important;
}
.sheaney-sustain-cta__quote {
    font-family: "Montserrat", sans-serif;
    font-size: clamp(15px, 2vw, 18px);
    font-style: italic;
    font-weight: 500;
    line-height: 1.55;
    margin: 0;
}
.sheaney-sustain-cta__quote::before {
    color: var(--sheaney-green);
    content: "“";
    font-size: 1.35em;
    font-style: normal;
    font-weight: 700;
    margin-right: 4px;
}
.sheaney-sustain-cta__aside {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.sheaney-sustain-cta__logo {
    display: none;
}
.sheaney-sustain-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

@media (max-width: 1199px) {
    .sheaney-sustain-commitments__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sheaney-sustain-approach__steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .sheaney-sustain-approach__steps::before,
    .sheaney-sustain-step:not(:last-child)::after {
        display: none;
    }
    .sheaney-sustain-bar__panel {
        grid-template-columns: 1fr;
    }
    .sheaney-sustain-bar__copy {
        border-bottom: 1px solid rgba(30, 74, 92, 0.1);
        border-right: 0;
    }
}
@media (max-width: 991px) {
    .sheaney-page-hero--sustainability {
        min-height: 0;
        padding: 110px 0 72px;
        text-align: center;
    }
    .sheaney-page-hero--sustainability .sheaney-page-hero__copy--sustain {
        margin: 0 auto;
        text-align: center;
    }
    .sheaney-page-hero--sustainability .sheaney-page-hero__title::after {
        margin-left: auto;
        margin-right: auto;
    }
    .sheaney-page-hero--sustainability .sheaney-page-hero__text {
        margin-left: auto;
        margin-right: auto;
    }
    .sheaney-sustain-promise__grid {
        grid-template-columns: 1fr 1fr;
    }
    .sheaney-sustain-promise__item:nth-child(2) {
        border-right: 0;
    }
    .sheaney-sustain-bar__list {
        grid-template-columns: 1fr 1fr;
    }
    .sheaney-sustain-bar__list li:nth-child(2) {
        border-right: 0;
    }
    .sheaney-sustain-card__main {
        display: block;
    }
    .sheaney-sustain-card__media {
        display: none;
    }
    .sheaney-sustain-cta__row {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .sheaney-sustain-cta__aside {
        align-items: center;
    }
    .sheaney-sustain-cta__actions {
        justify-content: center;
    }
}
@media (max-width: 767px) {
    .sheaney-page-hero--sustainability {
        padding: 100px 0 56px;
    }
    .sheaney-sustain-commitments,
    .sheaney-sustain-approach,
    .sheaney-sustain-promise {
        padding: 56px 0;
    }
    .sheaney-sustain-commitments__grid,
    .sheaney-sustain-approach__steps,
    .sheaney-sustain-promise__grid,
    .sheaney-sustain-bar__list {
        grid-template-columns: 1fr;
    }
    .sheaney-sustain-promise__item,
    .sheaney-sustain-bar__list li {
        border-right: 0;
        border-bottom: 1px solid rgba(30, 74, 92, 0.1);
    }
    .sheaney-sustain-promise__item:last-child,
    .sheaney-sustain-bar__list li:last-child {
        border-bottom: 0;
    }
    .sheaney-sustain-card__copy {
        padding: 20px 18px 16px;
    }
    .sheaney-sustain-promise__name,
    .sheaney-sustain-promise__desc,
    .sheaney-sustain-step__text,
    .sheaney-sustain-bar__list li > div span {
        min-height: 0;
    }
}

/* =====================================================================
   Community Contribution — Graduate Pavilion mock
   ===================================================================== */
.sheaney-page-hero--community {
    background-image: none;
    isolation: isolate;
    min-height: 440px;
    overflow: hidden;
    padding: 130px 0 96px;
    position: relative;
    text-align: left;
}
.sheaney-page-hero--community::before {
    background-color: #0b2030;
    background-image:
        linear-gradient(105deg, rgba(8, 28, 40, 0.92) 0%, rgba(8, 28, 40, 0.72) 45%, rgba(8, 28, 40, 0.35) 100%),
        url("../../../../uploads/2026/07/community/graduate-pavilion.jpg");
    background-position: center right;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    inset: 0;
    position: absolute;
    z-index: 0;
}
body.header-style-5:not(.home) .sheaney-page-hero--community::before {
    background: linear-gradient(105deg, rgba(8, 28, 40, 0.92) 0%, rgba(8, 28, 40, 0.72) 45%, rgba(8, 28, 40, 0.35) 100%),
        url("../../../../uploads/2026/07/community/graduate-pavilion.jpg");
    background-position: center right;
    background-size: cover;
}
.sheaney-page-hero--community .sheaney-page-hero__inner--community {
    display: block;
    position: relative;
    z-index: 1;
}
.sheaney-page-hero--community .sheaney-page-hero__copy--community {
    max-width: 620px;
    text-align: left;
}
.sheaney-community-hero__crumb {
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    margin: 0 0 16px;
}
.sheaney-community-hero__crumb a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
}
.sheaney-community-hero__crumb a:hover {
    color: #fff;
}
.sheaney-page-hero--community .sheaney-page-hero__label {
    color: var(--sheaney-cyan) !important;
}
.sheaney-page-hero--community .sheaney-page-hero__title {
    margin-left: 0;
    margin-right: 0;
}
.sheaney-page-hero--community .sheaney-page-hero__title::after {
    background: var(--sheaney-cyan);
    content: "";
    display: block;
    height: 3px;
    margin: 18px 0 0;
    width: 64px;
}
.sheaney-page-hero--community .sheaney-page-hero__text {
    margin-left: 0;
    max-width: 520px;
}

.sheaney-community-feature {
    background: #fff;
    padding: 80px 0;
}
.sheaney-community-highlight {
    background:
        radial-gradient(circle at 8% 12%, rgba(47, 154, 106, 0.08), transparent 42%),
        radial-gradient(circle at 92% 88%, rgba(46, 184, 217, 0.07), transparent 40%),
        #f6f9f8;
    border-bottom: 1px solid rgba(30, 74, 92, 0.08);
    border-top: 1px solid rgba(30, 74, 92, 0.08);
}
.sheaney-community-highlight__eyebrow {
    color: var(--sheaney-green);
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.4px;
    margin: 0 0 10px;
    text-transform: uppercase;
}
.sheaney-community-feature__grid {
    align-items: center;
    display: grid;
    gap: 48px 56px;
    grid-template-columns: 1.1fr 0.9fr;
}
.container.sheaney-community-feature__grid::before,
.container.sheaney-community-feature__grid::after {
    content: none !important;
    display: none !important;
}
.sheaney-community-feature__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 800;
    margin: 0 0 10px;
}
.sheaney-community-feature__lead {
    color: var(--sheaney-cyan);
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 18px;
}
.sheaney-community-feature__text {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 14px;
}
.sheaney-community-feature__closing {
    color: var(--sheaney-navy-deep);
    font-size: 15px;
    line-height: 1.65;
    margin: 18px 0 0;
}
.sheaney-community-feature__media-col {
    display: grid;
    gap: 12px;
}
.sheaney-community-feature__media {
    border-radius: 10px;
    margin: 0;
    overflow: hidden;
}
.sheaney-community-feature__media img {
    display: block;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
    width: 100%;
}
.sheaney-community-feature__gallery {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr 1fr;
}
.sheaney-community-feature__gallery figure {
    border-radius: 10px;
    margin: 0;
    overflow: hidden;
}
.sheaney-community-feature__gallery img {
    display: block;
    height: 140px;
    object-fit: cover;
    width: 100%;
}

.sheaney-community-impact {
    background: #eef3f6;
    padding: 72px 0;
}
.sheaney-community-impact__header,
.sheaney-community-glance__header {
    margin: 0 auto 40px;
    text-align: center;
}
.sheaney-community-impact__title,
.sheaney-community-glance__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    margin: 0;
}
.sheaney-community-impact__title::after,
.sheaney-community-glance__title::after {
    background: var(--sheaney-cyan);
    content: "";
    display: block;
    height: 3px;
    margin: 14px auto 0;
    width: 56px;
}
.sheaney-community-impact__grid {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}
.sheaney-community-impact__grid li {
    border-right: 1px solid rgba(30, 74, 92, 0.12);
    padding: 8px 16px;
    text-align: center;
}
.sheaney-community-impact__grid li:last-child {
    border-right: 0;
}
.sheaney-community-impact__icon {
    color: var(--sheaney-cyan);
    display: block;
    height: 40px;
    margin: 0 auto 14px;
    width: 40px;
}
.sheaney-community-impact__icon svg {
    display: block;
    height: 100%;
    width: 100%;
}
.sheaney-community-impact__grid p {
    color: var(--sheaney-navy-deep);
    font-size: 13px;
    line-height: 1.5;
    margin: 0 auto;
    max-width: 180px;
    min-height: calc(4 * 1.5em);
}

.sheaney-community-glance {
    background: #fff;
    padding: 72px 0 80px;
}
.sheaney-community-glance__grid {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}
.sheaney-community-glance__grid li {
    border-right: 1px solid rgba(30, 74, 92, 0.12);
    padding: 8px 14px;
    text-align: center;
}
.sheaney-community-glance__grid li:last-child {
    border-right: 0;
}
.sheaney-community-glance__icon {
    color: var(--sheaney-navy);
    display: block;
    height: 40px;
    margin: 0 auto 12px;
    width: 40px;
}
.sheaney-community-glance__icon svg {
    display: block;
    height: 100%;
    width: 100%;
}
.sheaney-community-glance__grid strong {
    color: var(--sheaney-navy-deep);
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 800;
    margin: 0 0 6px;
}
.sheaney-community-glance__grid li > span:last-child {
    color: var(--sheaney-muted);
    display: block;
    font-size: 13px;
    line-height: 1.45;
    min-height: calc(2 * 1.45em);
}

.sheaney-community-quote {
    background: #fff;
    padding: 0 0 72px;
}
.sheaney-community-quote__panel {
    background:
        linear-gradient(105deg, rgba(10, 30, 42, 0.96) 0%, rgba(10, 30, 42, 0.88) 48%, rgba(10, 30, 42, 0.55) 100%),
        url("../../../../uploads/2026/07/community/pavilion-slats.jpg");
    background-position: center right;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 12px;
    color: #fff;
    min-height: 280px;
    overflow: hidden;
    padding: 48px 52px;
}
.container.sheaney-community-quote__panel::before,
.container.sheaney-community-quote__panel::after {
    content: none !important;
    display: none !important;
}
.sheaney-community-quote__copy {
    max-width: 620px;
}
.sheaney-community-quote__mark {
    color: var(--sheaney-cyan);
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 64px;
    font-weight: 700;
    line-height: 0.8;
    margin-bottom: 12px;
}
.sheaney-community-quote__text {
    border: 0;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(15px, 2vw, 18px);
    font-style: italic;
    font-weight: 500;
    line-height: 1.65;
    margin: 0 0 22px;
    padding: 0;
}
.sheaney-community-quote__attr {
    color: var(--sheaney-cyan);
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;
    margin: 0;
}
.sheaney-community-quote__attr span {
    opacity: 0.7;
}

.sheaney-community-cta {
    background: linear-gradient(180deg, var(--sheaney-navy-deep) 0%, #14384a 100%);
    color: #fff;
    padding: 48px 0;
    text-align: center;
}
.sheaney-community-cta__text {
    font-family: "Montserrat", sans-serif;
    font-size: clamp(17px, 2.2vw, 21px);
    font-weight: 600;
    margin: 0 0 20px;
}
.sheaney-community-cta__actions,
.sheaney-community-interest__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

.sheaney-community-interest {
    background: #fff;
    padding: 64px 0;
}
.sheaney-community-interest__grid {
    align-items: center;
    background: #f4f7f5;
    border: 1px solid rgba(30, 74, 92, 0.1);
    border-radius: 14px;
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1.4fr) auto;
    padding: 32px 36px;
}
.container.sheaney-community-interest__grid::before,
.container.sheaney-community-interest__grid::after {
    content: none !important;
    display: none !important;
}
.sheaney-community-interest__eyebrow {
    color: var(--sheaney-green);
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.4px;
    margin: 0 0 8px;
    text-transform: uppercase;
}
.sheaney-community-interest__title {
    color: var(--sheaney-navy-deep);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(20px, 2.4vw, 26px);
    font-weight: 800;
    margin: 0 0 10px;
}
.sheaney-community-interest__text {
    color: var(--sheaney-muted);
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 18px;
    max-width: 520px;
}
.sheaney-community-interest__actions {
    justify-content: flex-start;
}
.sheaney-community-interest__qr {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(11, 32, 48, 0.08);
    margin: 0;
    padding: 16px;
    text-align: center;
}
.sheaney-community-interest__qr img {
    display: block;
    height: auto;
    margin: 0 auto 10px;
    max-width: 180px;
    width: 100%;
}
.sheaney-community-interest__qr figcaption {
    color: var(--sheaney-muted);
    font-size: 12px;
    line-height: 1.4;
}

@media (max-width: 991px) {
    .sheaney-page-hero--community {
        min-height: 0;
        padding: 110px 0 72px;
        text-align: center;
    }
    .sheaney-page-hero--community .sheaney-page-hero__copy--community {
        margin: 0 auto;
        text-align: center;
    }
    .sheaney-page-hero--community .sheaney-page-hero__title::after {
        margin-left: auto;
        margin-right: auto;
    }
    .sheaney-page-hero--community .sheaney-page-hero__text {
        margin-left: auto;
        margin-right: auto;
    }
    .sheaney-community-feature__grid {
        grid-template-columns: 1fr;
    }
    .sheaney-community-interest__grid {
        grid-template-columns: 1fr;
        padding: 28px 24px;
        text-align: center;
    }
    .sheaney-community-interest__text {
        margin-left: auto;
        margin-right: auto;
    }
    .sheaney-community-interest__actions {
        justify-content: center;
    }
    .sheaney-community-impact__grid,
    .sheaney-community-glance__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 0;
    }
    .sheaney-community-impact__grid li,
    .sheaney-community-glance__grid li {
        border-right: 0;
        border-bottom: 1px solid rgba(30, 74, 92, 0.1);
        padding: 20px 12px;
    }
    .sheaney-community-quote__panel {
        padding: 36px 28px;
    }
}
@media (max-width: 767px) {
    .sheaney-page-hero--community {
        padding: 100px 0 56px;
    }
    .sheaney-community-feature,
    .sheaney-community-impact,
    .sheaney-community-glance {
        padding: 56px 0;
    }
    .sheaney-community-impact__grid,
    .sheaney-community-glance__grid {
        grid-template-columns: 1fr;
    }
    .sheaney-community-impact__grid p,
    .sheaney-community-glance__grid li > span:last-child {
        min-height: 0;
    }
    .sheaney-community-feature__media img {
        min-height: 240px;
    }
}

/* =====================================================================
   Scroll reveal + page motion (Community & Sustainability)
   ===================================================================== */
.sheaney-reveal {
    opacity: 0;
    transform: translateY(20px);
    transition:
        opacity 0.65s ease,
        transform 0.65s ease;
}
.sheaney-reveal.sheaney-reveal--left {
    transform: translateX(-28px);
}
.sheaney-reveal.sheaney-reveal--right {
    transform: translateX(28px);
}
.sheaney-reveal.sheaney-reveal--scale {
    transform: scale(0.96);
}
.sheaney-reveal.is-revealed {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .sheaney-reveal,
    .sheaney-reveal.sheaney-reveal--left,
    .sheaney-reveal.sheaney-reveal--right,
    .sheaney-reveal.sheaney-reveal--scale {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* History timeline motion */
.sheaney-timeline__node.sheaney-reveal--scale:not(.is-revealed) {
    transform: scale(0.55);
}
.sheaney-timeline__node.sheaney-reveal {
    transition:
        opacity 0.5s ease,
        transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),
        box-shadow 0.4s ease;
}
.sheaney-timeline__node.is-revealed {
    box-shadow: 0 0 0 4px rgba(46, 184, 217, 0.28);
}
@media (max-width: 767px) {
    .sheaney-timeline .sheaney-reveal--left:not(.is-revealed),
    .sheaney-timeline .sheaney-reveal--right:not(.is-revealed) {
        transform: translateY(20px);
    }
}

@media (prefers-reduced-motion: no-preference) {
    .sheaney-page-hero--history .sheaney-page-hero__label,
    .sheaney-page-hero--history .sheaney-page-hero__title,
    .sheaney-page-hero--history .sheaney-page-hero__text,
    .sheaney-page-hero--history .sheaney-page-hero__jumps {
        animation: sheaneyFadeUp 0.7s ease both;
    }
    .sheaney-page-hero--history .sheaney-page-hero__label { animation-delay: 0.08s; }
    .sheaney-page-hero--history .sheaney-page-hero__title { animation-delay: 0.18s; }
    .sheaney-page-hero--history .sheaney-page-hero__text { animation-delay: 0.3s; }
    .sheaney-page-hero--history .sheaney-page-hero__jumps { animation-delay: 0.42s; }

    .sheaney-timeline__media img {
        transition: transform 0.6s ease;
    }
    .sheaney-timeline__media:hover img {
        transform: scale(1.04);
    }
    .sheaney-timeline__card {
        transition:
            box-shadow 0.35s ease,
            transform 0.35s ease;
    }
    .sheaney-timeline__card.is-revealed:hover {
        box-shadow: 0 16px 44px rgba(11, 32, 48, 0.13);
        transform: translateY(-3px);
    }
    .sheaney-timeline__card.is-revealed .sheaney-timeline__icon {
        animation: sheaneyIconPop 0.45s ease 0.2s both;
    }
}

@media (prefers-reduced-motion: no-preference) {
    /* Hero entrance — Community & Sustainability */
    .sheaney-page-hero--community .sheaney-community-hero__crumb,
    .sheaney-page-hero--community .sheaney-page-hero__label,
    .sheaney-page-hero--community .sheaney-page-hero__title,
    .sheaney-page-hero--community .sheaney-page-hero__text,
    .sheaney-page-hero--sustainability .sheaney-sustain-hero__leaf,
    .sheaney-page-hero--sustainability .sheaney-page-hero__label,
    .sheaney-page-hero--sustainability .sheaney-page-hero__title,
    .sheaney-page-hero--sustainability .sheaney-page-hero__text {
        animation: sheaneyFadeUp 0.7s ease both;
    }
    .sheaney-page-hero--community .sheaney-community-hero__crumb,
    .sheaney-page-hero--sustainability .sheaney-sustain-hero__leaf {
        animation-delay: 0.05s;
    }
    .sheaney-page-hero--community .sheaney-page-hero__label,
    .sheaney-page-hero--sustainability .sheaney-page-hero__label {
        animation-delay: 0.14s;
    }
    .sheaney-page-hero--community .sheaney-page-hero__title,
    .sheaney-page-hero--sustainability .sheaney-page-hero__title {
        animation-delay: 0.24s;
    }
    .sheaney-page-hero--community .sheaney-page-hero__text,
    .sheaney-page-hero--sustainability .sheaney-page-hero__text {
        animation-delay: 0.36s;
    }

    /* Community hero Ken Burns */
    .sheaney-page-hero--community::before {
        animation: sheaneyKenBurns 22s ease-in-out infinite alternate;
        transform-origin: center right;
        will-change: transform;
    }
    @keyframes sheaneyKenBurns {
        from { transform: scale(1); }
        to { transform: scale(1.06); }
    }

    /* Sustainability leaf float */
    .sheaney-sustain-hero__leaf {
        animation: sheaneyLeafFloat 4.5s ease-in-out infinite;
    }
    @keyframes sheaneyLeafFloat {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-6px); }
    }
    /* Keep stagger entrance, then float after */
    .sheaney-page-hero--sustainability .sheaney-sustain-hero__leaf {
        animation:
            sheaneyFadeUp 0.7s ease both,
            sheaneyLeafFloat 4.5s ease-in-out 0.9s infinite;
    }

    /* Community feature image hover */
    .sheaney-community-feature__media img {
        transition: transform 0.55s ease;
    }
    .sheaney-community-feature__media:hover img {
        transform: scale(1.03);
    }

    /* Impact icons scale in when revealed */
    .sheaney-community-impact__grid .sheaney-reveal.is-revealed .sheaney-community-impact__icon,
    .sheaney-community-glance__grid .sheaney-reveal.is-revealed .sheaney-community-glance__icon {
        animation: sheaneyIconPop 0.45s ease both;
    }
    @keyframes sheaneyIconPop {
        from { transform: scale(0.7); opacity: 0.4; }
        to { transform: scale(1); opacity: 1; }
    }

    /* Sustainability cards — hover lift + image zoom */
    .sheaney-sustain-card {
        transition:
            transform 0.3s ease,
            box-shadow 0.3s ease;
    }
    .sheaney-sustain-card:hover {
        box-shadow: 0 14px 36px rgba(11, 32, 48, 0.1);
        transform: translateY(-4px);
    }
    .sheaney-sustain-card__media img {
        transition: transform 0.55s ease;
    }
    .sheaney-sustain-card:hover .sheaney-sustain-card__media img {
        transform: scale(1.05);
    }
    .sheaney-sustain-card__foot-icon {
        transition: transform 0.3s ease, color 0.3s ease;
    }
    .sheaney-sustain-card:hover .sheaney-sustain-card__foot-icon {
        color: var(--sheaney-navy);
        transform: scale(1.12);
    }

    /* Approach dashed line fades in after steps reveal */
    .sheaney-sustain-approach__steps::before {
        opacity: 0;
        transition: opacity 0.8s ease 0.35s;
    }
    .sheaney-sustain-approach__steps:has(.sheaney-reveal.is-revealed)::before {
        opacity: 1;
    }
}

/* =====================================================================
   Hover interactions — Community & Sustainability
   ===================================================================== */
@media (prefers-reduced-motion: no-preference) {
    /* Community — Project Impact */
    .sheaney-community-impact__grid li {
        border-radius: 8px;
        cursor: default;
        transition:
            background-color 0.25s ease,
            transform 0.25s ease,
            box-shadow 0.25s ease;
    }
    .sheaney-community-impact__grid li:hover {
        background: rgba(255, 255, 255, 0.72);
        box-shadow: 0 8px 22px rgba(11, 32, 48, 0.08);
        transform: translateY(-4px);
    }
    .sheaney-community-impact__icon {
        transition: color 0.25s ease, transform 0.25s ease;
    }
    .sheaney-community-impact__grid li:hover .sheaney-community-impact__icon {
        color: var(--sheaney-navy);
        transform: scale(1.12);
    }
    .sheaney-community-impact__grid p {
        transition: color 0.25s ease;
    }
    .sheaney-community-impact__grid li:hover p {
        color: var(--sheaney-navy-deep);
    }

    /* Community — Project at a Glance */
    .sheaney-community-glance__grid li {
        border-radius: 10px;
        cursor: default;
        padding: 16px 12px;
        transition:
            background-color 0.25s ease,
            transform 0.25s ease,
            box-shadow 0.25s ease;
    }
    .sheaney-community-glance__grid li:hover {
        background: #fff;
        box-shadow: 0 10px 26px rgba(11, 32, 48, 0.08);
        transform: translateY(-4px);
    }
    .sheaney-community-glance__icon {
        transition: color 0.25s ease, transform 0.25s ease;
    }
    .sheaney-community-glance__grid li:hover .sheaney-community-glance__icon {
        color: var(--sheaney-navy);
        transform: translateY(-2px) scale(1.1);
    }

    /* Community — feature media frame + quote */
    .sheaney-community-feature__media {
        box-shadow: 0 0 0 0 rgba(38, 93, 116, 0);
        transition: box-shadow 0.35s ease;
    }
    .sheaney-community-feature__media:hover {
        box-shadow: 0 16px 40px rgba(11, 32, 48, 0.18);
    }
    .sheaney-community-quote__panel {
        transition:
            transform 0.35s ease,
            box-shadow 0.35s ease;
    }
    .sheaney-community-quote__panel:hover {
        box-shadow: 0 18px 44px rgba(8, 28, 40, 0.28);
        transform: translateY(-3px);
    }

    /* Sustainability — Approach steps */
    .sheaney-sustain-step {
        border-radius: 12px;
        cursor: default;
        padding: 8px 6px 12px;
        transition:
            background-color 0.25s ease,
            transform 0.25s ease;
    }
    .sheaney-sustain-step:hover {
        background: rgba(47, 154, 106, 0.06);
        transform: translateY(-4px);
    }
    .sheaney-sustain-step__icon {
        transition:
            background-color 0.25s ease,
            border-color 0.25s ease,
            color 0.25s ease,
            transform 0.25s ease,
            box-shadow 0.25s ease;
    }
    .sheaney-sustain-step:hover .sheaney-sustain-step__icon {
        background: var(--sheaney-green);
        border-color: var(--sheaney-green);
        box-shadow: 0 8px 18px rgba(47, 154, 106, 0.28);
        color: #fff;
        transform: scale(1.06);
    }
    .sheaney-sustain-step:hover .sheaney-sustain-step__title {
        color: var(--sheaney-green);
    }
    .sheaney-sustain-step__title {
        transition: color 0.25s ease;
    }

    /* Sustainability — Our Promise */
    .sheaney-sustain-promise__item {
        border-radius: 10px;
        cursor: default;
        padding: 12px 10px;
        transition:
            background-color 0.25s ease,
            transform 0.25s ease,
            box-shadow 0.25s ease;
    }
    .sheaney-sustain-promise__item:hover {
        background: #f4f8f6;
        box-shadow: 0 8px 22px rgba(11, 32, 48, 0.06);
        transform: translateX(4px);
    }
    .sheaney-sustain-promise__icon {
        transition: color 0.25s ease, transform 0.25s ease;
    }
    .sheaney-sustain-promise__item:hover .sheaney-sustain-promise__icon {
        color: var(--sheaney-green);
        transform: scale(1.1);
    }

    /* Sustainability — Commitment bar list */
    .sheaney-sustain-bar__list li {
        border-radius: 10px;
        cursor: default;
        padding: 10px 8px;
        transition:
            background-color 0.25s ease,
            transform 0.25s ease;
    }
    .sheaney-sustain-bar__list li:hover {
        background: rgba(255, 255, 255, 0.08);
        transform: translateY(-2px);
    }
    .sheaney-sustain-bar__icon {
        transition: color 0.25s ease, transform 0.25s ease;
    }
    .sheaney-sustain-bar__list li:hover .sheaney-sustain-bar__icon {
        color: #7ddea8;
        transform: scale(1.12);
    }

    /* Sustainability — card accent underline on title */
    .sheaney-sustain-card__title {
        transition: color 0.25s ease;
    }
    .sheaney-sustain-card:hover .sheaney-sustain-card__title {
        color: var(--sheaney-green);
    }
    .sheaney-sustain-card__foot {
        transition: background-color 0.25s ease;
    }
    .sheaney-sustain-card:hover .sheaney-sustain-card__foot {
        background: #e4efe8;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sheaney-community-impact__grid li:hover,
    .sheaney-community-glance__grid li:hover,
    .sheaney-community-quote__panel:hover,
    .sheaney-sustain-step:hover,
    .sheaney-sustain-promise__item:hover,
    .sheaney-sustain-bar__list li:hover {
        transform: none;
    }
}


/* =====================================================================
   Plain-fill page banners (Services, About, Sustainability, Governance)
   ===================================================================== */
.sheaney-page-hero--pm .sheaney-page-hero__bg,
.sheaney-page-hero--construction .sheaney-page-hero__bg,
.sheaney-page-hero--engineering .sheaney-page-hero__bg,
.sheaney-page-hero--about::before,
.sheaney-page-hero--sustainability::before,
.sheaney-page-hero--governance::before,
body.header-style-5:not(.home) .sheaney-page-hero--about::before,
body.header-style-5:not(.home) .sheaney-page-hero--sustainability::before,
body.header-style-5:not(.home) .sheaney-page-hero--governance::before {
    background: var(--sheaney-fill);
}
.sheaney-page-hero--pm,
.sheaney-page-hero--construction,
.sheaney-page-hero--engineering,
.sheaney-page-hero--about,
.sheaney-page-hero--sustainability,
.sheaney-page-hero--governance {
    background-color: var(--sheaney-fill);
    min-height: 380px;
}

@media (max-width: 991px) {
    .sheaney-page-hero--pm,
    .sheaney-page-hero--construction,
    .sheaney-page-hero--engineering,
    .sheaney-page-hero--about,
    .sheaney-page-hero--sustainability,
    .sheaney-page-hero--governance {
        min-height: 0;
    }
}

/* Header site search */
#site-header #header-search .header-search-form {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 14px 36px rgba(20, 56, 74, 0.22);
    display: none;
    padding: 12px;
    width: 340px;
    z-index: 1000;
}
#site-header #header-search.is-open .header-search-form {
    display: block;
}
#site-header #header-search .header-search-field {
    background: var(--sheaney-light-bg);
    border: 1px solid rgba(38, 93, 116, 0.18);
    border-radius: var(--sheaney-cta-radius);
    color: var(--sheaney-navy);
    font-size: 15px;
    height: auto;
    line-height: 1.4;
    margin: 0;
    padding: 11px 18px;
    width: 100%;
}
#site-header #header-search .header-search-field:focus {
    background: #fff;
    border-color: var(--sheaney-navy);
    outline: none;
}
#site-header #header-search .sheaney-search-results {
    list-style: none;
    margin: 10px 0 0;
    max-height: min(420px, 60vh);
    overflow-y: auto;
    padding: 0;
}
#site-header #header-search .sheaney-search-results[hidden] {
    display: none;
}
#site-header #header-search .sheaney-search-results li {
    border: 0;
    margin: 0;
    padding: 0;
    text-align: left;
}
#site-header #header-search .sheaney-search-result {
    border-radius: 6px;
    color: var(--sheaney-navy);
    display: flex;
    flex-direction: column;
    gap: 3px;
    letter-spacing: 0;
    line-height: 1.4;
    padding: 10px 12px;
    text-decoration: none;
    text-transform: none;
}
#site-header #header-search .sheaney-search-result:hover,
#site-header #header-search .sheaney-search-result.is-active {
    background: var(--sheaney-light-bg);
}
#site-header #header-search .sheaney-search-result__title {
    color: var(--sheaney-navy);
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;
}
#site-header #header-search .sheaney-search-result__snippet {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: var(--sheaney-muted);
    display: -webkit-box;
    font-size: 13px;
    font-weight: 400;
    overflow: hidden;
}
#site-header #header-search .sheaney-search-results mark {
    background: rgba(41, 97, 123, 0.14);
    border-radius: 2px;
    color: inherit;
    padding: 0 1px;
}
#site-header #header-search .sheaney-search-empty {
    color: var(--sheaney-muted);
    font-size: 14px;
    padding: 10px 12px;
}

@media (max-width: 991px) {
    #site-header #main-nav-mobi #header-search {
        display: block;
        margin: 0;
        padding: 14px 16px;
        position: static !important;
    }
    #site-header #main-nav-mobi #header-search .header-search-icon {
        display: none;
    }
    #site-header #main-nav-mobi #header-search .header-search-form {
        background: transparent;
        box-shadow: none;
        display: block;
        padding: 0;
        position: static;
        width: 100%;
    }
    #site-header #main-nav-mobi #header-search .header-search-field {
        background: #fff;
    }
    #site-header #main-nav-mobi #header-search .sheaney-search-results {
        background: #fff;
        border-radius: 8px;
        padding: 4px;
    }
}
