:root {
    color-scheme: light;
    --ink: #201f1e;
    --navy: #201f1e;
    --green: #be954f;
    --gold: #be954f;
    --blue: #be954f;
    --muted: #807664;
    --line: #e8e2d9;
    --soft: #f7f3ed;
    --paper: #fff;
    --bs-body-bg: #fff;
    --bs-body-color: #201f1e;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 108px;
}

body {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    background: #fff;
    color: var(--ink);
    -webkit-font-smoothing: antialiased;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font: inherit;
}

a,
button,
input,
select,
textarea {
    touch-action: manipulation;
}

a:focus-visible,
button:focus-visible {
    outline: 3px solid #be954f;
    outline-offset: 5px;
}

::selection {
    color: #fff;
    background: #be954f;
}

.site-container {
    max-width: 1550px;
    padding-inline: 5.5%;
}

.utility-bar {
    display: none;
}

.site-header {
    position: sticky;
    top: 0;
    background: #ffffffed;
    backdrop-filter: blur(18px);
    z-index: 1000;
    border-bottom: 1px solid var(--line);
}

.navbar {
    min-height: 94px;
}

.navbar-brand img {
    object-fit: contain;
    width: 175px;
    height: 58px;
}

.nav-link {
    font-size: 14px;
    color: #70685a;
    padding: 10px 5px !important;
    font-weight: 500;
}

.nav-link:hover,
.nav-link:focus,
.nav-link[aria-current='page'],
.navbar-nav .nav-link.show {
    color: var(--blue);
}

.nav-link[aria-current='page'] {
    text-decoration: underline;
    text-underline-offset: 9px;
}

.navbar-toggler {
    border: 0;
}

.btn {
    font-size: 14px;
    font-weight: 600;
    border-radius: 6px;
    padding: 16px 23px;
    line-height: 1.5;
    transition:
        transform 0.25s,
        background 0.25s,
        box-shadow 0.25s;
}

.btn:hover {
    transform: translateY(-3px);
}

.btn-dark,
.btn-lime {
    background: var(--blue);
    border-color: var(--blue);
    color: white;
}

.btn-dark:hover,
.btn-dark:focus-visible,
.btn-dark:active,
.btn-lime:hover {
    background: #9e7a3b !important;
    border-color: #9e7a3b !important;
    color: white !important;
    box-shadow: 0 8px 24px #be954f26;
}

.navbar .btn {
    padding: 12px 25px;
}

.btn-outline-light {
    color: white;
    border-color: #dcc69f;
}

.btn-outline-light:hover {
    color: #be954f;
    background: white;
    border-color: white;
}

.dropdown-menu {
    background: white;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 10px;
    min-width: 300px;
    box-shadow: 0 18px 50px #1f1e1c1a;
}

.dropdown-item {
    font-size: 14px;
    padding: 12px;
    border-radius: 5px;
    color: var(--ink);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background: #faf7f2;
    color: var(--blue);
}

h1,
h2,
h3 {
    font-weight: 600;
    letter-spacing: -0.055em;
    line-height: 1.06;
}

h1 {
    font-size: clamp(48px, 6vw, 90px);
}

h2 {
    font-size: clamp(34px, 3.8vw, 56px);
    margin: 0;
}

h3 {
    font-size: 27px;
    letter-spacing: -0.035em;
    line-height: 1.2;
}

h1 em {
    font-style: normal;
    color: var(--blue);
}

.eyebrow {
    font-family: monospace;
    font-size: 12px;
    letter-spacing: 0.12em;
    font-weight: 500;
    color: var(--blue);
    margin-bottom: 23px;
}

.accent-word {
    color: var(--blue);
}

.text-secondary {
    color: var(--muted) !important;
}

.text-link {
    border: 0;
    border-bottom: 1px solid #dfcba8;
    background: none;
    padding: 5px 0;
    display: inline-flex;
    align-items: center;
    gap: 22px;
    justify-content: space-between;
    color: var(--blue);
    font-size: 14px;
    font-weight: 500;
}

.text-link:hover {
    color: #866732;
    border-color: #866732;
}

.new-hero {
    background: #fdfcfa;
    padding: 34px 0 55px;
    border-bottom: 1px solid var(--line);
}

.hero-kicker {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    font-family: monospace;
    letter-spacing: 0.05em;
    font-size: 11px;
    color: #857b69;
    padding-bottom: 40px;
}

.hero-kicker span:first-child {
    color: var(--blue);
}

.hero-layout {
    display: grid;
    grid-template-columns: 1.18fr 1fr;
    gap: 35px;
    align-items: center;
}

.hero-message {
    padding: 20px 0;
}

.hero-message h1 {
    font-size: clamp(60px, 6.8vw, 104px);
    line-height: 0.99;
    letter-spacing: -0.07em;
    margin: 0 0 30px;
}

.hero-message h1 span {
    color: var(--blue);
}

.hero-message > p {
    color: #807664;
    font-size: 18px;
    line-height: 1.7;
    margin: 0 0 32px;
}

.hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.hero-small-note {
    font-size: 12px;
    color: #7f8896;
    margin-top: 39px;
}

.hero-visual {
    position: relative;
    padding: 0 0 28px 24px;
}

.hero-visual > img {
    width: 100%;
    height: 490px;
    object-fit: cover;
    object-position: 58% center;
    border-radius: 130px 10px 10px 10px;
}

.hero-stamp {
    position: absolute;
    left: -15px;
    bottom: 80px;
    background: var(--blue);
    color: #fff;
    padding: 24px 28px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: 0 12px 40px #906f3526;
}

.hero-stamp > span {
    font-size: 46px;
    font-weight: 500;
    letter-spacing: -0.06em;
    line-height: 1;
}

.hero-stamp p {
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
    color: #f5eee3;
}

.photo-caption {
    text-align: right;
    font-size: 10px;
    font-family: monospace;
    letter-spacing: 0.08em;
    margin-top: 14px;
    color: #948975;
}

.assurance {
    background: white;
    border-bottom: 1px solid var(--line);
}

.assurance-item {
    display: flex;
    gap: 17px;
    align-items: center;
    border-right: 1px solid var(--line);
    padding: 0 25px;
    margin-block: 30px;
    color: #807665;
    font-size: 13px;
    line-height: 1.6;
}

.assurance-item:first-child {
    padding-left: 0;
}

.assurance-item:last-child {
    border: 0;
}

.assurance-mark {
    font-size: 25px;
    letter-spacing: -0.04em;
    font-weight: 600;
    min-width: 45px;
    color: var(--blue);
}

.section-space {
    padding: 100px 0;
}

.section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 45px;
}

.section-heading p {
    font-size: 16px;
    color: var(--muted);
    max-width: 380px;
    margin: 0;
}

.services {
    background: var(--soft);
}

.home-expertise {
    background: #fff;
}

.home-expertise .service-grid {
    --bs-gutter-x: 24px;
    row-gap: 24px !important;
}

.sector-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
    padding: 35px 35px 35px 105px;
    border: 1px solid var(--line);
    border-radius: 9px;
    transition:
        background 0.3s,
        border-color 0.3s,
        transform 0.3s;
}

.sector-tile:hover {
    background: #fcfbf8;
    border-color: #e8dac2;
    transform: translateY(-4px);
}

.tile-number {
    position: absolute;
    top: 37px;
    left: 30px;
    color: #e0ccaa;
    font-size: 28px;
    line-height: 1;
}

.sector-tile h3 {
    font-size: 25px;
    font-weight: 500;
}

.sector-tile p {
    font-size: 16px;
    color: var(--muted);
    margin: 16px 0 23px;
    max-width: 450px;
}

.sector-tile .text-link {
    margin-top: auto;
}

.standards {
    background: var(--blue);
    color: white;
}

.standards .eyebrow {
    color: #efe5d3;
}

.standards .text-link {
    color: white;
    border-color: #e7d8bd;
}

.standards .section-heading p {
    color: #f3ebde;
}

.home-accreditations {
    background: var(--blue);
    color: white;
}

.accreditation-tile {
    height: 100%;
    padding: 32px;
    border: 1px solid #d7bf94;
    border-radius: 8px;
    background: #ffffff08;
}

.accreditation-tile .eyebrow {
    display: block;
    color: #f0e7d8;
    margin-bottom: 40px;
}

.accreditation-tile h3 {
    font-size: 29px;
    line-height: 1.15;
    font-weight: 500;
}

.accreditation-tile p {
    font-size: 16px;
    line-height: 1.7;
    color: #f3ecdf;
    margin: 22px 0 0;
}

.cert-note {
    color: #f0e7d8;
    font-size: 13px;
    margin: 28px 0 0;
}

.editorial-image {
    width: 100%;
    height: 490px;
    object-fit: cover;
    border-radius: 8px;
}

.home-about .editorial-image {
    border-radius: 8px 90px 8px 8px;
}

.home-about {
    padding-bottom: 30px;
}

.home-about p {
    max-width: 490px;
}

.industries {
    background: white;
}

.industry-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 32px;
}

.industry-list button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    background: none;
    border: 0;
    border-bottom: 1px solid var(--line);
    padding: 24px 0;
    font-size: 16px;
    color: var(--ink);
    text-align: left;
}

.industry-list button:hover {
    color: var(--blue);
}

.industry-list span {
    color: #d4ba8c;
    font-family: monospace;
    font-size: 12px;
}

.quote-band {
    padding: 65px 0;
    background: #f9f6f0;
    text-align: center;
}

.quote-mark {
    font-size: 80px;
    font-family: Georgia, serif;
    color: var(--blue);
    height: 55px;
    line-height: 1;
}

.quote-band blockquote {
    max-width: 890px;
    margin: 10px auto 28px;
    font-size: clamp(26px, 3vw, 43px);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.3;
}

.quote-credit {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.07em;
}

.quote-credit span {
    display: block;
    color: #998b72;
    font-size: 11px;
    margin-top: 6px;
}

.contact-section {
    background: #fff;
}

.contact-section p {
    max-width: 420px;
}

.contact-number {
    display: block;
    font-size: 31px;
    letter-spacing: -0.04em;
    color: var(--blue);
    margin-top: 35px;
}

.contact-email {
    font-size: 14px;
    display: block;
    margin-top: 8px;
    overflow-wrap: anywhere;
}

.location-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 22px;
    font-size: 12px;
    color: #948975;
    margin-top: 33px;
}

.location-tags span {
    padding: 5px 0;
    border-bottom: 1px solid var(--line);
}

#quoteForm {
    padding: 35px;
    background: #faf7f2;
    border-radius: 10px;
}

form h3 {
    font-size: 27px;
    margin-bottom: 28px;
}

.form-label {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
}

.form-label span {
    color: var(--blue);
}

.form-control,
.form-select {
    background: white;
    color: var(--ink);
    border: 1px solid #e9e3d8;
    border-radius: 5px;
    padding: 12px 14px;
    min-height: 49px;
    font-size: 14px;
}

.form-control:focus,
.form-select:focus {
    color: var(--ink);
    background: #fff;
    border-color: #be954f;
    box-shadow: 0 0 0 3px #be954f1a;
}

.form-control::placeholder {
    color: #a29989;
}

.form-note {
    color: var(--muted);
    font-size: 12px;
    margin: 18px 0 14px;
}

.form-status {
    color: #927036;
    font-size: 14px;
    margin-top: 15px;
}

.modal-content {
    background: white;
    border: 0;
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 30px 100px #302e2c50;
}

.modal-header,
.modal-footer {
    border: 0;
}

.modal-body h2 {
    font-size: 36px;
    margin-bottom: 24px;
}

.modal-body ul {
    font-size: 16px;
    padding-left: 20px;
}

.modal-body li {
    padding: 5px 0;
}

.modal-footer {
    justify-content: flex-start;
}

.modal-backdrop {
    --bs-backdrop-opacity: 0.6;
}

.modal.fade .modal-dialog {
    transform: translateY(20px) scale(0.97);
    transition: transform 0.35s cubic-bezier(0.2, 0.75, 0.25, 1);
}

.modal.show .modal-dialog {
    transform: none;
}

footer {
    background: #1e1d1c;
    color: #fff;
    padding: 60px 0 25px;
}

.footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-bottom: 45px;
}

.footer-brand {
    font-size: 45px;
    font-weight: 600;
    letter-spacing: -0.06em;
    line-height: 1;
}

.footer-brand span {
    font-size: 10px;
    letter-spacing: 0.2em;
    display: block;
    font-weight: 400;
    margin-top: 12px;
    color: #d3c2a4;
}

.footer-top p {
    font-size: 20px;
    color: #d3c8b5;
    line-height: 1.4;
    margin: 0;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    border-top: 1px solid #ffffff25;
    padding-top: 25px;
    font-size: 12px;
    color: #c7baa3;
}

.footer-bottom div {
    display: flex;
    gap: 25px;
}

.footer-bottom a {
    font-size: 14px;
}

.skip-link {
    position: fixed;
    left: 16px;
    top: -100px;
    z-index: 1100;
    background: var(--blue);
    color: white;
    padding: 12px 20px;
}

.skip-link:focus {
    top: 12px;
}

.page-hero {
    padding: 25px 0 75px;
    background: #faf8f3;
    border-bottom: 1px solid #f3ece0;
}

.breadcrumbs {
    display: flex;
    gap: 15px;
    font-family: monospace;
    font-size: 12px;
    color: #9b8a6c;
    margin-bottom: 55px;
}

.breadcrumbs a:hover {
    color: var(--blue);
}

.page-hero h1 {
    max-width: 1100px;
    font-size: clamp(44px, 5.4vw, 80px);
}

.page-hero p {
    max-width: 720px;
    font-size: 18px;
    color: #90826a;
    margin: 25px 0 0;
}

.detail-card {
    height: 100%;
    padding: 32px;
    border: 1px solid #ede4d4;
    background: #fff;
    border-radius: 10px;
}

.detail-number {
    font-family: monospace;
    color: var(--blue);
    font-size: 14px;
    display: block;
    margin-bottom: 32px;
}

.detail-card h3 {
    font-size: 28px;
}

.detail-card p {
    color: var(--muted);
    font-size: 16px;
    margin: 20px 0 0;
}

.standard-row {
    display: flex;
    gap: 25px;
    padding: 28px 0;
    border-bottom: 1px solid #d6bd92;
}

.standard-row:first-child {
    padding-top: 0;
}

.standard-row > span {
    color: #f0e6d6;
    font-size: 13px;
}

.standard-row h3 {
    font-weight: 500;
    font-size: 27px;
    margin-bottom: 15px;
}

.standard-row p,
.standards-intro {
    color: #f3ebde;
    font-size: 16px;
    margin: 0;
}

.standards-intro {
    margin: 25px 0 32px;
}

.page-cta {
    background: #be954f;
    color: #fff;
    padding: 65px 0;
}

.page-cta .site-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.page-cta h2 {
    font-size: 42px;
    max-width: 720px;
}

.page-cta .eyebrow {
    color: #f2e9da;
}

.page-cta .btn {
    flex-shrink: 0;
    background: #fff;
    color: #be954f;
    border-color: #fff;
}

.page-cta .btn:hover {
    background: #faf7f2 !important;
    color: #be954f !important;
    border-color: #faf7f2 !important;
}

.service-jump {
    background: #fff;
    border-bottom: 1px solid var(--line);
}

.service-jump .site-container {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 28px;
    padding-block: 22px;
}

.service-jump a {
    font-size: 14px;
    color: #80735c;
}

.service-jump a:hover {
    color: var(--blue);
}

.sector-section {
    padding: 80px 0;
    border-bottom: 1px solid var(--line);
}

.sector-section:nth-of-type(even) {
    background: #fdfcfa;
}

.sector-subtitle {
    font-size: 23px;
    font-weight: 400;
    line-height: 1.4;
    color: #b89558;
    max-width: 420px;
    margin-top: 23px;
}

.scope-list {
    padding: 0;
    list-style: none;
    margin: 25px 0;
}

.scope-list li {
    padding: 13px 0;
    border-bottom: 1px solid var(--line);
    font-size: 16px;
}

.scope-list li::before {
    content: '✓';
    color: #be954f;
    margin-right: 12px;
}

.specialist-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 35px;
    padding: 30px 0;
    border-bottom: 1px solid #e8dfcf;
}

.specialist-row p {
    color: var(--muted);
    max-width: 750px;
    margin: 15px 0 0;
}

.specialist-row .text-link {
    flex-shrink: 0;
}

.location-card {
    height: 100%;
    padding: 28px;
    background: white;
    border-radius: 9px;
    border-top: 3px solid #be954f;
}

.location-card h3 {
    font-size: 27px;
}

.location-card address {
    font-size: 15px;
    color: var(--muted);
    margin: 20px 0 0;
}

.intro-copy {
    padding-top: 35px;
}

.muted-heading {
    color: #b4a58c;
}

.service-card {
    height: 100%;
    background: white;
    border-radius: 10px;
    overflow: hidden;
}

.service-image {
    position: relative;
    height: 260px;
}

.service-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-image > span {
    position: absolute;
    top: 20px;
    left: 20px;
    background: white;
    padding: 5px 12px;
    font-size: 12px;
}

.service-body {
    padding: 25px;
}

.service-body p {
    color: var(--muted);
}

.plus {
    font-size: 24px;
}

.additional-services {
    display: flex;
    justify-content: space-between;
    gap: 25px;
    flex-wrap: wrap;
    padding-top: 30px;
}

.additional-services > span {
    font-size: 12px;
}

.additional-services button {
    border: 0;
    background: none;
    color: var(--blue);
}

@media (max-width: 1199px) {
    .hero-message h1 {
        font-size: 75px;
    }

    .hero-layout {
        gap: 20px;
    }

    .hero-visual > img {
        height: 450px;
    }

    .hero-stamp {
        left: 0;
        padding: 21px;
    }

    .hero-actions {
        gap: 17px;
    }

    .hero-actions .btn {
        font-size: 13px;
    }

    .nav-link {
        font-size: 13px;
    }

    .navbar .gap-lg-3 {
        gap: 0.8rem !important;
    }

    .sector-tile {
        padding-left: 85px;
    }

    .tile-number {
        left: 23px;
    }
}

@media (max-width: 991px) {
    .navbar {
        min-height: 85px;
    }

    .navbar-collapse {
        padding: 20px 0;
    }

    .navbar-nav {
        align-items: stretch;
    }

    .nav-item {
        width: 100%;
    }

    .nav-item:last-child {
        margin-top: 15px;
    }

    .nav-link {
        font-size: 15px;
        padding-block: 12px !important;
    }

    .dropdown-menu {
        box-shadow: none;
        min-width: 0;
    }

    .hero-message h1 {
        font-size: 61px;
    }

    .hero-visual > img {
        height: 440px;
        border-top-left-radius: 85px;
    }

    .hero-stamp {
        left: 0;
        gap: 14px;
        padding: 20px;
    }

    .hero-stamp > span {
        font-size: 35px;
    }

    .hero-stamp p {
        font-size: 12px;
    }

    .hero-message > p {
        font-size: 16px;
    }

    .hero-kicker {
        font-size: 10px;
    }

    .assurance-item {
        margin-block: 20px;
        padding-inline: 15px;
    }

    .assurance-item:nth-child(2) {
        border: 0;
    }

    .assurance-item:nth-child(3) {
        padding-left: 0;
    }

    .section-space {
        padding: 75px 0;
    }

    .home-about {
        padding-bottom: 20px;
    }

    .sector-tile {
        padding: 28px;
    }

    .tile-number {
        position: static;
        margin-bottom: 22px;
    }

    .intro-copy {
        padding-top: 0;
    }

    .editorial-image {
        height: 400px;
    }

    .footer-top p {
        display: none;
    }

    .footer-bottom {
        flex-wrap: wrap;
    }

    .page-cta .site-container {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 767px) {
    .hero-layout {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .hero-kicker {
        padding-bottom: 20px;
    }

    .hero-kicker span:last-child {
        display: none;
    }

    .hero-message h1 {
        font-size: clamp(61px, 11vw, 82px);
    }

    .hero-message > p {
        font-size: 17px;
    }

    .hero-small-note {
        margin-top: 25px;
    }

    .hero-visual {
        padding: 0 0 25px 20px;
    }

    .hero-visual > img {
        height: 340px;
        border-top-left-radius: 95px;
    }

    .hero-stamp {
        left: 0;
        bottom: 55px;
        padding: 22px 25px;
    }

    .hero-stamp > span {
        font-size: 42px;
    }

    .hero-stamp p {
        font-size: 13px;
    }

    .new-hero {
        padding-bottom: 20px;
    }

    .section-heading {
        display: block;
    }

    .section-heading p {
        margin-top: 25px;
    }

    .section-heading > .text-link {
        margin-top: 25px;
    }

    .assurance-item {
        gap: 10px;
        font-size: 12px;
    }

    .assurance-mark {
        font-size: 23px;
        min-width: 37px;
    }

    .industry-list {
        grid-template-columns: 1fr;
    }

    .specialist-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .page-hero h1 {
        font-size: 47px;
    }

    .page-hero p {
        font-size: 16px;
    }

    .page-hero {
        padding-bottom: 55px;
    }

    .breadcrumbs {
        margin-bottom: 36px;
    }

    .sector-section {
        padding: 60px 0;
    }

    .detail-card {
        padding: 28px;
    }

    .accreditation-tile .eyebrow {
        margin-bottom: 23px;
    }
}

@media (max-width: 575px) {
    .site-container {
        padding-inline: 6%;
    }

    .hero-message h1 {
        font-size: 61px;
    }

    .hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .hero-message > p br {
        display: none;
    }

    .hero-message > p {
        max-width: 320px;
    }

    .hero-visual > img {
        height: 290px;
    }

    .navbar-brand img {
        width: 154px;
    }

    .section-space {
        padding: 60px 0;
    }

    .home-about {
        padding-bottom: 10px;
    }

    .assurance-item {
        font-size: 11px;
        gap: 7px;
        padding-inline: 10px;
    }

    .assurance-mark {
        font-size: 21px;
        min-width: 34px;
    }

    .section-heading {
        margin-bottom: 33px;
    }

    .sector-tile h3 {
        font-size: 26px;
    }

    .quote-band {
        padding: 50px 0;
    }

    #quoteForm {
        padding: 25px 20px;
    }

    .contact-number {
        font-size: 28px;
    }

    .contact-email {
        font-size: 13px;
    }

    .footer-brand {
        font-size: 35px;
    }

    .footer-top {
        gap: 15px;
    }

    .footer-top .btn {
        padding: 12px 15px;
        font-size: 12px;
    }

    .footer-bottom div {
        gap: 16px;
        flex-wrap: wrap;
    }

    .footer-bottom a {
        font-size: 12px;
    }

    .page-hero h1 {
        font-size: 41px;
    }

    .page-cta h2 {
        font-size: 34px;
    }

    .editorial-image {
        height: 330px;
    }

    .service-jump .site-container {
        gap: 12px 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition: none !important;
        animation: none !important;
    }

    .btn:hover,
    .sector-tile:hover,
    .modal.fade .modal-dialog {
        transform: none;
    }
}

.motion-word {
    display: inline-block;
    transform-origin: left bottom;
}

.hero-message h1 .motion-word {
    color: inherit;
}

.site-header {
    transition:
        box-shadow 0.3s,
        background 0.3s;
}

.site-header.is-scrolled {
    box-shadow: 0 8px 32px #3f3d3a12;
    background: #fffffffa;
}

.site-header::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--blue);
    transform: scaleX(var(--reading-progress, 0));
    transform-origin: left;
    pointer-events: none;
}

.nav-link {
    position: relative;
    text-decoration: none !important;
}

.nav-link::after {
    content: '';
    position: absolute;
    left: 5px;
    right: 5px;
    bottom: 2px;
    height: 2px;
    background: var(--blue);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.nav-link:hover::after,
.nav-link:focus-visible::after,
.nav-link[aria-current='page']::after {
    transform: scaleX(1);
}

.btn {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition:
        transform 0.28s,
        box-shadow 0.28s,
        background 0.28s;
}

.btn::after {
    content: '';
    position: absolute;
    inset: -70% auto -70% -65%;
    width: 40%;
    background: linear-gradient(90deg, transparent, #ffffff36, transparent);
    transform: skewX(-20deg);
    pointer-events: none;
    transition: left 0.65s;
}

.btn:hover::after,
.btn:focus-visible::after {
    left: 130%;
}

.btn:active {
    transform: translateY(0) scale(0.97);
}

.text-link {
    position: relative;
    transition:
        color 0.25s,
        border-color 0.25s,
        letter-spacing 0.25s;
}

.text-link:hover {
    letter-spacing: 0.015em;
}

.sector-tile {
    transition:
        transform 0.35s,
        background 0.35s,
        border-color 0.35s,
        box-shadow 0.35s;
}

.sector-tile:hover,
.sector-tile:focus-within {
    transform: translateY(-7px);
    box-shadow: 0 18px 45px #a17b3b11;
}

.sector-tile .tile-number {
    transition:
        color 0.35s,
        transform 0.35s;
}

.sector-tile:hover .tile-number {
    color: var(--blue);
    transform: translateY(-3px) scale(1.12);
}

.accreditation-tile,
.detail-card,
.location-card {
    transition:
        transform 0.35s,
        box-shadow 0.35s,
        background 0.35s;
}

.accreditation-tile:hover {
    transform: translateY(-6px);
    background: #ffffff12;
    box-shadow: 0 15px 30px #7b5f2e26;
}

.detail-card:hover,
.location-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 36px #3f3d3a10;
}

.industry-list button {
    transition:
        color 0.25s,
        padding 0.25s,
        background 0.25s;
}

.industry-list button:hover {
    padding-left: 12px;
    background: #fcfbf8;
}

.form-control,
.form-select {
    transition:
        border-color 0.25s,
        box-shadow 0.25s,
        background 0.25s;
}

.motion-line::after {
    content: '';
    display: block;
    width: 40px;
    height: 2px;
    background: currentColor;
    margin-top: 12px;
    transform-origin: left;
    animation: line-unfold 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes line-unfold {
    from {
        transform: scaleX(0);
        opacity: 0;
    }

    to {
        transform: scaleX(1);
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header::after,
    .btn::after,
    .nav-link::after {
        display: none;
    }

    .sector-tile:hover,
    .sector-tile:focus-within,
    .sector-tile:hover .tile-number,
    .accreditation-tile:hover,
    .detail-card:hover,
    .location-card:hover,
    .btn:active {
        transform: none;
    }

    .industry-list button:hover {
        padding-left: 0;
    }

    .text-link:hover {
        letter-spacing: normal;
    }
}

.eyebrow.motion-line {
    position: relative;
}

.motion-line::after {
    position: absolute;
    left: 0;
    bottom: -10px;
    margin: 0;
}

@media (hover: none) {
    .sector-tile:hover,
    .sector-tile:hover .tile-number,
    .accreditation-tile:hover,
    .detail-card:hover,
    .location-card:hover {
        transform: none;
    }

    .btn:hover::after {
        left: -65%;
    }
}

.new-hero,
.page-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.new-hero::before,
.page-hero::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: -15%;
    background:
        radial-gradient(ellipse at 70% 30%, #eadec880, transparent 40%),
        radial-gradient(ellipse at 10% 85%, #f2eadd9c, transparent 40%);
    pointer-events: none;
    animation: ambient-light 14s ease-in-out infinite alternate;
    animation-play-state: paused;
}

.ambient-live::before {
    animation-play-state: running;
}

@keyframes ambient-light {
    from {
        transform: translate3d(-2%, -2%, 0) scale(1);
    }

    to {
        transform: translate3d(3%, 3%, 0) scale(1.07);
    }
}

.hero-message h1 > span:not(.motion-word) {
    background: linear-gradient(110deg, #be954f 10%, #d5ba8c 42%, #ac8440 62%, #be954f 85%);
    background-size: 240% auto;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    animation: headline-colour 9s ease-in-out infinite alternate;
    animation-play-state: paused;
}

.hero-message h1 > span:not(.motion-word) .motion-word {
    color: transparent;
}

.ambient-live .hero-message h1 > span:not(.motion-word) {
    animation-play-state: running;
}

@keyframes headline-colour {
    to {
        background-position: 100% center;
    }
}

.hero-stamp {
    animation: badge-float 4.5s ease-in-out infinite;
    animation-play-state: paused;
}

.ambient-live .hero-stamp {
    animation-play-state: running;
}

@keyframes badge-float {
    0%,
    100% {
        translate: 0 0;
        rotate: -1deg;
    }

    50% {
        translate: 0 -9px;
        rotate: 1deg;
    }
}

.hero-visual > img {
    box-shadow: 18px 22px 0 #f6f0e5;
    border: 1px solid #efe6d5;
    transition:
        box-shadow 0.6s,
        filter 0.6s;
}

.hero-visual:hover > img {
    box-shadow: 12px 16px 0 #f1e8d9;
    filter: saturate(1.1);
}

.sector-tile,
.accreditation-tile,
.detail-card,
.location-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    transform-style: preserve-3d;
}

.sector-tile::after,
.accreditation-tile::after,
.detail-card::after,
.location-card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(300px circle at var(--light-x, 50%) var(--light-y, 50%), #d2b78721, transparent 75%);
    opacity: 0;
    transition: opacity 0.3s;
}

.accreditation-tile::after {
    background: radial-gradient(300px circle at var(--light-x, 50%) var(--light-y, 50%), #ffffff26, transparent 75%);
}

.pointer-lit::after {
    opacity: 1;
}

.pointer-lit {
    transform: perspective(950px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-5px) !important;
}

.sector-tile .text-link {
    transition:
        gap 0.3s,
        color 0.3s,
        letter-spacing 0.3s;
}

.sector-tile:hover .text-link {
    letter-spacing: 0.025em;
}

.click-wave {
    position: absolute;
    pointer-events: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #ffffff44;
    transform: translate(-50%, -50%) scale(0);
    animation: click-wave 0.7s ease-out forwards;
}

@keyframes click-wave {
    to {
        transform: translate(-50%, -50%) scale(23);
        opacity: 0;
    }
}

.dropdown-menu.show {
    animation: menu-enter 0.26s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes menu-enter {
    from {
        opacity: 0;
        translate: 0 -8px;
    }

    to {
        opacity: 1;
        translate: 0 0;
    }
}

.form-control:focus,
.form-select:focus {
    box-shadow:
        0 0 0 4px #be954f17,
        0 5px 15px #be954f0c;
}

.motion-toggle {
    border: 1px solid #7c6c51;
    border-radius: 20px;
    padding: 7px 13px;
    background: transparent;
    color: #eaddc7;
    font-size: 12px;
    white-space: nowrap;
}

.motion-toggle:hover {
    background: #393836;
    color: white;
}

.motion-toggle:disabled {
    opacity: 0.75;
    cursor: default;
}

.footer-bottom {
    flex-wrap: wrap;
}

html[data-tab-hidden='true'] *,
html[data-tab-hidden='true'] *::before,
html[data-tab-hidden='true'] *::after {
    animation-play-state: paused !important;
}

html[data-motion='paused'] *,
html[data-motion='paused'] *::before,
html[data-motion='paused'] *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
}

html[data-motion='paused'] .hero-stamp {
    translate: none;
    rotate: none;
}

html[data-motion='paused'] .pointer-lit,
html[data-motion='paused'] .btn:hover,
html[data-motion='paused'] .sector-tile:hover,
html[data-motion='paused'] .sector-tile:focus-within,
html[data-motion='paused'] .accreditation-tile:hover,
html[data-motion='paused'] .detail-card:hover,
html[data-motion='paused'] .location-card:hover {
    transform: none !important;
}

html[data-motion='paused'] .site-header::after,
html[data-motion='paused'] .click-wave,
html[data-motion='paused'] .btn::after {
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    .hero-stamp {
        translate: none;
        rotate: none;
    }

    .pointer-lit {
        transform: none !important;
    }

    .hero-visual:hover > img {
        filter: none;
    }
}

@media (max-width: 767px) {
    .hero-visual > img {
        box-shadow: 8px 10px 0 #f6f0e5;
    }

    .hero-visual:hover > img {
        box-shadow: 8px 10px 0 #f6f0e5;
    }
}

.hero-image-frame {
    width: 100%;
    height: 490px;
    position: relative;
    overflow: hidden;
    border-radius: 130px 12px 12px 12px;
    box-shadow:
        18px 22px 0 #f6f0e5,
        0 35px 65px #72582a19;
    border: 1px solid #efe6d5;
    isolation: isolate;
}

.hero-image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 58% center;
    animation: photo-drift 18s ease-in-out infinite alternate;
    animation-play-state: paused;
}

.ambient-live .hero-image-frame img {
    animation-play-state: running;
}

@keyframes photo-drift {
    from {
        transform: scale(1.02) translateX(-0.5%);
    }

    to {
        transform: scale(1.12) translateX(1%);
    }
}

.hero-image-frame::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(120deg, transparent 30%, #ffffff28 48%, transparent 67%);
    background-size: 300% 100%;
    animation: glass-light 12s ease-in-out infinite;
    animation-play-state: paused;
}

.ambient-live .hero-image-frame::after {
    animation-play-state: running;
}

@keyframes glass-light {
    0%,
    25% {
        background-position: 160% 0;
    }

    65%,
    100% {
        background-position: -60% 0;
    }
}

.hero-visual::before {
    content: '';
    position: absolute;
    inset: -15px 18px 45px 8px;
    border: 1px solid #e8dac2;
    border-radius: 145px 22px 22px 22px;
    z-index: -1;
    transform: rotate(-3deg);
}

.hero-visual {
    isolation: isolate;
}

.hero-stamp {
    background: linear-gradient(120deg, #b48a42, #c7a569);
    box-shadow: 0 18px 45px #9673373b;
    border: 1px solid #ffffff5c;
    backdrop-filter: blur(16px);
}

.hero-stamp > span {
    font-variant-numeric: tabular-nums;
}

.section-word-shell {
    display: inline-block;
    overflow: hidden;
    vertical-align: bottom;
    padding-bottom: 0.12em;
    margin-bottom: -0.12em;
}

.section-word {
    display: inline-block;
    transform-origin: left bottom;
}

.home-accreditations {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 90% 0%, #ccad76, transparent 65%),
        linear-gradient(135deg, #8a6a33, #be954f 55%, #af8741);
}

.new-hero::after,
.home-accreditations::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(
        440px circle at var(--pointer-x, 65%) var(--pointer-y, 45%),
        #dec9a625,
        transparent 70%
    );
    opacity: 0;
    transition: opacity 0.7s;
}

.home-accreditations::after {
    background: radial-gradient(
        500px circle at var(--pointer-x, 65%) var(--pointer-y, 45%),
        #efe4d222,
        transparent 70%
    );
}

.light-tracking::after {
    opacity: 1;
}

.home-accreditations .accreditation-tile {
    background: #ffffff0d;
    backdrop-filter: blur(15px);
    border-color: #e6d6bb6b;
    box-shadow: inset 0 1px #ffffff18;
}

.home-accreditations .accreditation-tile:hover {
    background: #ffffff18;
    border-color: #f4ede1;
    box-shadow:
        0 20px 45px #6c532835,
        inset 0 1px #ffffff50;
}

.sector-tile::before {
    content: '';
    position: absolute;
    left: 0;
    top: 25px;
    bottom: 25px;
    width: 3px;
    background: var(--blue);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
}

.sector-tile:hover::before,
.sector-tile:focus-within::before {
    transform: scaleY(1);
}

.sector-tile .tile-number {
    font-variant-numeric: tabular-nums;
}

.quote-band {
    background: radial-gradient(ellipse at center, #fdfcfb, #f8f3eb);
}

.quote-band blockquote {
    font-size: clamp(28px, 3.4vw, 49px);
    line-height: 1.3;
}

.page-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(120deg, #9e7a3b, #c5a163);
}

.page-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(ellipse at 90% 10%, #e3d2b540, transparent 60%);
    pointer-events: none;
}

.btn-dark,
.btn-lime {
    box-shadow: 0 7px 18px #be954f18;
}

@media (max-width: 1199px) {
    .hero-image-frame {
        height: 450px;
    }
}

@media (max-width: 991px) {
    .hero-image-frame {
        height: 440px;
        border-top-left-radius: 85px;
    }
}

@media (max-width: 767px) {
    .hero-image-frame {
        height: 340px;
        border-top-left-radius: 95px;
        box-shadow:
            8px 10px 0 #f6f0e5,
            0 20px 45px #72582a14;
    }

    .hero-visual::before {
        inset: -9px 9px 40px 7px;
        border-top-left-radius: 100px;
    }
}

@media (max-width: 575px) {
    .hero-image-frame {
        height: 290px;
    }
}

html[data-motion='paused'] .hero-image-frame img {
    transform: none;
}

html[data-motion='paused'] .new-hero::after,
html[data-motion='paused'] .home-accreditations::after,
html[data-motion='paused'] .hero-image-frame::after {
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    .hero-image-frame img {
        transform: none;
    }

    .hero-image-frame::after {
        display: none;
    }
}

.about-slideshow {
    position: relative;
    isolation: isolate;
    width: 100%;
    height: 490px;
    overflow: hidden;
    border-radius: 8px 90px 8px 8px;
    background: #f5efe5;
}

.about-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.85s ease-in-out;
    pointer-events: none;
}

.about-slide.is-active {
    opacity: 1;
}

.about-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.slideshow-controls {
    position: absolute;
    z-index: 2;
    left: 18px;
    right: 18px;
    bottom: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.slideshow-dots {
    display: flex;
    align-items: center;
    padding: 3px 6px;
    border-radius: 30px;
    background: #262523c9;
    backdrop-filter: blur(10px);
}

.slide-dot {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 0;
    background: none;
    border-radius: 50%;
    padding: 0;
}

.slide-dot::after {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ffffff70;
    transition:
        background 0.25s,
        transform 0.25s;
}

.slide-dot.is-active::after {
    background: white;
    transform: scale(1.25);
}

.slideshow-pause {
    border: 1px solid #ffffff66;
    background: #262523d9;
    backdrop-filter: blur(10px);
    color: white;
    font-size: 12px;
    padding: 10px 14px;
    border-radius: 25px;
    line-height: 1.5;
}

.slideshow-pause:disabled {
    opacity: 0.8;
}

.slideshow-controls button:focus-visible {
    outline: 3px solid white;
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .about-slideshow {
        height: 400px;
    }
}

@media (max-width: 575px) {
    .about-slideshow {
        height: 330px;
    }

    .slideshow-controls {
        left: 12px;
        right: 12px;
        bottom: 12px;
    }

    .slideshow-pause {
        font-size: 11px;
        padding: 10px 12px;
    }
}

:root {
    --line: #ede7dd;
}

.site-header {
    border-bottom-color: #f2ede5;
}

.navbar {
    min-height: 90px;
}

.navbar .btn-dark {
    border-radius: 30px;
    padding: 13px 28px;
}

.nav-link {
    font-weight: 500;
}

.new-hero {
    padding-top: 26px;
    padding-bottom: 68px;
    background: #fdfcfa;
}

.hero-kicker {
    padding-bottom: 45px;
    letter-spacing: 0.12em;
}

.hero-message h1 {
    letter-spacing: -0.075em;
}

.hero-actions > .btn {
    padding: 18px 25px;
    border-radius: 7px;
}

.hero-small-note {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #988b75;
    font-size: 12px;
}

.hero-note-rule {
    display: block;
    width: 34px;
    height: 1px;
    background: #dfcaa7;
    flex-shrink: 0;
}

.hero-image-frame {
    border-radius: 110px 14px 14px 14px;
}

.hero-stamp {
    border-radius: 12px;
    padding: 26px 30px;
}

.assurance {
    background: #fff;
}

.assurance-item {
    margin-block: 33px;
}

.assurance-mark {
    font-weight: 500;
}

.home-expertise {
    padding-top: 110px;
    padding-bottom: 110px;
    background: linear-gradient(180deg, #fff 65%, #fdfbf8);
}

.home-expertise .section-heading {
    margin-bottom: 50px;
}

.home-expertise .service-mosaic {
    display: grid;
    grid-template-columns: 1.05fr 1fr 1fr;
    gap: 22px !important;
    margin: 0;
    --bs-gutter-x: 0;
}

.service-mosaic > div {
    padding: 0;
    margin: 0;
    width: auto;
    min-width: 0;
    display: flex;
}

.service-mosaic > div:first-child {
    grid-column: 1;
    grid-row: 1 / span 2;
}

.service-mosaic > div:last-child {
    grid-column: 1 / -1;
}

.service-mosaic .sector-tile {
    width: 100%;
    border-radius: 14px;
    padding: 29px;
    background: white;
    border: 1px solid #efeae0;
    box-shadow: 0 8px 30px #36343210;
}

.service-mosaic .tile-number {
    position: static;
    inset: auto;
    font-family: monospace;
    font-size: 13px;
    letter-spacing: 0.06em;
    line-height: 1.5;
    margin-bottom: 29px;
    color: #c7a467;
}

.service-mosaic .sector-tile h3 {
    font-size: 25px;
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.04em;
}

.service-mosaic .sector-tile p {
    font-size: 15px;
    line-height: 1.75;
    margin-top: 15px;
    margin-bottom: 24px;
}

.service-mosaic .text-link {
    font-size: 13px;
}

.service-mosaic .sector-feature {
    min-height: 640px;
    background: #2d2c2a;
    color: white;
    padding: 35px;
    justify-content: flex-end;
    border: 0;
}

.service-mosaic .sector-feature .tile-number {
    position: absolute;
    top: 29px;
    left: 30px;
    color: white;
    background: #ffffff1c;
    border: 1px solid #ffffff4a;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    margin: 0;
    backdrop-filter: blur(10px);
}

.feature-photo {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s cubic-bezier(0.2, 0.6, 0.3, 1);
    pointer-events: none;
}

.feature-shade {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(0deg, #2d2b29fc 0%, #2d2b29dc 34%, #2d2b290d 85%);
    pointer-events: none;
}

.sector-feature > :not(.feature-photo):not(.feature-shade),
.sector-panorama > :not(.feature-photo):not(.feature-shade) {
    position: relative;
    z-index: 2;
}

.service-mosaic .sector-feature h3 {
    font-size: 38px;
}

.service-mosaic .sector-feature p {
    color: #f1e8d8;
    font-size: 16px;
    margin-bottom: 27px;
}

.service-mosaic .sector-feature .text-link {
    color: white;
    border-color: #dfcaa7;
    margin-top: 0;
}

.sector-feature:hover .feature-photo,
.sector-feature:focus-within .feature-photo,
.sector-panorama:hover .feature-photo,
.sector-panorama:focus-within .feature-photo {
    transform: scale(1.06);
}

.service-mosaic .sector-panorama {
    background: #252422;
    min-height: 280px;
    border: 0;
    color: white;
    padding: 40px 45px;
    justify-content: center;
}

.sector-panorama .feature-photo {
    left: 52%;
    width: 48%;
    object-position: center 53%;
}

.sector-panorama .feature-shade {
    background: linear-gradient(90deg, #252422 0%, #252422 43%, #252422a6 65%, #25242212 100%);
}

.service-mosaic .sector-panorama .tile-number {
    color: #e3d2b5;
    margin-bottom: 16px;
}

.service-mosaic .sector-panorama h3 {
    font-size: 34px;
    max-width: 55%;
}

.service-mosaic .sector-panorama p {
    color: #e5d6bd;
    max-width: 51%;
    margin-bottom: 20px;
    font-size: 16px;
}

.service-mosaic .sector-panorama .text-link {
    color: white;
    border-color: #d8c096;
    margin-top: 0;
}

.home-accreditations {
    border-radius: 30px;
    margin: 0 22px;
    padding-block: 90px;
    box-shadow: 0 24px 65px #a9823f1a;
}

.home-accreditations .site-container {
    max-width: 1506px;
}

.accreditation-tile {
    border-radius: 12px;
}

.home-about {
    padding-top: 115px;
}

.about-slideshow {
    border-radius: 12px 100px 12px 12px;
    box-shadow: 0 25px 55px #39383617;
    border: 1px solid #f2ebe0;
}

.industry-list {
    column-gap: 25px;
}

.industry-list button {
    padding: 23px 0;
    font-size: 16px;
}

.industry-list button > span {
    border: 1px solid #f3ebdd;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    color: #bfa579;
}

.industry-list button:hover > span {
    background: #be954f;
    color: white;
    border-color: #be954f;
    transition:
        background 0.3s,
        color 0.3s;
}

.quote-band {
    background: linear-gradient(120deg, #fcfaf6, #f9f4ed);
    padding-block: 78px;
}

.quote-band blockquote {
    font-weight: 400;
    max-width: 940px;
}

.quote-mark {
    color: #d7be93;
}

.refined-contact {
    background: #fdfcfa;
}

.refined-contact > .site-container > .row {
    align-items: center;
}

.refined-contact h2 {
    font-size: clamp(38px, 4.1vw, 59px);
}

.refined-contact #quoteForm {
    background: white;
    border: 1px solid #f2eadb;
    border-radius: 15px;
    box-shadow: 0 20px 60px #403e3b0c;
    padding: 38px;
}

.refined-contact .form-control,
.refined-contact .form-select {
    background: #fdfcfa;
    border-color: #efeae0;
    min-height: 51px;
}

.refined-contact .form-control:focus,
.refined-contact .form-select:focus {
    background: #fff;
    border-color: #be954f;
}

.contact-number {
    font-weight: 500;
    font-size: 33px;
}

.location-tags span {
    padding: 6px 12px;
    border: 1px solid #f3ebde;
    background: white;
    border-radius: 20px;
    color: #9d8c6f;
}

footer {
    background: #1b1b1a;
    overflow: hidden;
    padding-top: 58px;
}

.footer-top {
    padding-bottom: 15px;
}

.footer-signature {
    font-size: clamp(78px, 17vw, 250px);
    font-weight: 600;
    letter-spacing: -0.08em;
    line-height: 1.1;
    padding-block: 16px 28px;
    color: #dac39b;
    background: linear-gradient(180deg, #e4d3b5 10%, #ac843f 75%, #7f622f);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    user-select: none;
}

.footer-bottom {
    border-color: #625237;
    font-size: 12px;
}

.page-hero {
    padding-bottom: 90px;
    background: linear-gradient(125deg, #fdfbf9, #f9f4ed);
    border-bottom-color: #f3ece0;
}

.page-hero h1 {
    max-width: 1100px;
    letter-spacing: -0.065em;
}

.page-hero p {
    line-height: 1.8;
}

.detail-card,
.location-card {
    border-radius: 13px;
    box-shadow: 0 8px 28px #413f3c06;
}

.sector-section {
    padding-block: 90px;
}

.service-jump a {
    padding: 6px 13px;
    border: 1px solid #f0eae0;
    border-radius: 22px;
    color: #938265;
    transition:
        background 0.25s,
        color 0.25s;
}

.service-jump a:hover {
    background: #be954f;
    color: white;
    border-color: #be954f;
}

.page-cta {
    margin: 0 22px 30px;
    border-radius: 20px;
}

@media (min-width: 1550px) {
    .footer-signature {
        font-size: 235px;
    }
}

@media (max-width: 1199px) {
    .service-mosaic .sector-tile {
        padding: 25px;
    }

    .service-mosaic .sector-feature {
        padding: 28px;
    }

    .service-mosaic .sector-feature h3 {
        font-size: 33px;
    }

    .service-mosaic .sector-panorama {
        padding: 35px;
    }

    .service-mosaic .sector-tile p {
        font-size: 14px;
    }

    .home-expertise .service-mosaic {
        gap: 18px !important;
    }
}

@media (max-width: 991px) {
    .home-expertise .service-mosaic {
        grid-template-columns: 1fr 1fr;
    }

    .service-mosaic > div:first-child {
        grid-column: auto;
        grid-row: span 2;
    }

    .service-mosaic > div:nth-child(5) {
        grid-column: 1 / -1;
    }

    .service-mosaic .sector-feature {
        min-height: 560px;
    }

    .service-mosaic .sector-tile p {
        font-size: 16px;
    }

    .service-mosaic .sector-panorama h3 {
        max-width: 65%;
    }

    .home-expertise {
        padding-block: 75px;
    }

    .home-accreditations {
        margin-inline: 14px;
        padding-block: 75px;
        border-radius: 22px;
    }

    .home-about {
        padding-top: 80px;
    }

    .new-hero {
        padding-bottom: 45px;
    }

    .hero-stamp {
        padding: 21px;
    }

    .refined-contact #quoteForm {
        padding: 30px;
    }

    .sector-section {
        padding-block: 70px;
    }

    .page-cta {
        margin-inline: 14px;
    }

    .footer-signature {
        padding-block: 22px 30px;
    }
}

@media (max-width: 767px) {
    .hero-kicker {
        padding-bottom: 20px;
    }

    .new-hero {
        padding-bottom: 30px;
    }

    .hero-image-frame {
        border-top-left-radius: 85px;
    }

    .hero-stamp {
        padding: 22px 25px;
    }

    .service-mosaic .sector-feature {
        min-height: 500px;
    }

    .service-mosaic .sector-feature .tile-number {
        left: 24px;
        top: 24px;
    }

    .service-mosaic .sector-panorama p {
        max-width: 65%;
    }

    .sector-panorama .feature-photo {
        left: 45%;
        width: 55%;
    }

    .sector-panorama .feature-shade {
        background: linear-gradient(90deg, #252422, #252422eb 50%, #2524225c);
    }

    .footer-top {
        padding-bottom: 0;
    }

    .about-slideshow {
        border-top-right-radius: 80px;
    }
}

@media (max-width: 575px) {
    .home-expertise .service-mosaic {
        grid-template-columns: 1fr;
        gap: 18px !important;
    }

    .service-mosaic > div:first-child,
    .service-mosaic > div:last-child,
    .service-mosaic > div:nth-child(5) {
        grid-column: auto;
        grid-row: auto;
    }

    .service-mosaic .sector-feature {
        min-height: 460px;
    }

    .service-mosaic .sector-tile {
        padding: 28px;
    }

    .service-mosaic .sector-panorama {
        min-height: 350px;
    }

    .service-mosaic .sector-panorama h3,
    .service-mosaic .sector-panorama p {
        max-width: 100%;
    }

    .sector-panorama .feature-photo {
        left: 0;
        width: 100%;
        opacity: 0.4;
    }

    .sector-panorama .feature-shade {
        background: linear-gradient(90deg, #252422ed, #252422a3);
    }

    .service-mosaic .sector-feature h3 {
        font-size: 37px;
    }

    .service-mosaic .sector-panorama h3 {
        font-size: 32px;
    }

    .home-accreditations {
        margin-inline: 8px;
        border-radius: 18px;
        padding-block: 60px;
    }

    .home-about {
        padding-top: 65px;
    }

    .home-expertise {
        padding-block: 65px;
    }

    .refined-contact #quoteForm {
        padding: 25px 20px;
    }

    .contact-number {
        font-size: 29px;
    }

    .location-tags {
        gap: 10px;
    }

    .location-tags span {
        font-size: 11px;
    }

    .quote-band {
        padding-block: 60px;
    }

    .footer-signature {
        font-size: 18vw;
        line-height: 1.25;
        padding-block: 27px;
    }

    .footer-bottom {
        gap: 18px;
    }

    .page-hero {
        padding-bottom: 60px;
    }

    .page-cta {
        margin: 0 8px 20px;
        border-radius: 16px;
    }

    .service-jump .site-container {
        gap: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sector-feature:hover .feature-photo,
    .sector-feature:focus-within .feature-photo,
    .sector-panorama:hover .feature-photo,
    .sector-panorama:focus-within .feature-photo {
        transform: none;
    }
}

html[data-motion='paused'] .feature-photo {
    transform: none !important;
}

.service-mosaic .sector-feature > .tile-number {
    position: absolute;
}

.footer-clean {
    padding: 64px 0 28px;
    background: #1b1b1a;
}

.footer-layout {
    display: grid;
    grid-template-columns: 1.1fr 0.7fr 1.2fr;
    gap: 48px;
    padding-bottom: 52px;
}

.footer-layout > * {
    min-width: 0;
}

.footer-clean .footer-brand {
    display: inline-block;
    color: #fff;
    font-size: 42px;
}

.footer-intro p {
    color: #d3c5ae;
    line-height: 1.7;
    font-size: 16px;
    margin: 24px 0 0;
}

.footer-clean h3 {
    font-size: 13px;
    letter-spacing: 0.06em;
    line-height: 1.5;
    font-weight: 500;
    color: #d3c5ae;
    margin: 0 0 20px;
}

.footer-links {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
}

.footer-links h3 {
    margin-bottom: 8px;
}

.footer-links a,
.footer-contact a {
    color: #faf7f1;
    font-size: 14px;
    line-height: 1.6;
}

.footer-contact {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
}

.footer-contact h3 {
    margin-bottom: 4px;
}

.footer-contact .footer-phone {
    font-size: 28px;
    letter-spacing: -0.03em;
    line-height: 1.3;
}

.footer-contact .footer-email {
    overflow-wrap: anywhere;
    color: #dfd1b8;
}

.footer-contact .footer-enquiry {
    margin-top: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #bc9c65;
    display: flex;
    gap: 28px;
}

.footer-clean a:hover {
    color: #e3d2b5;
}

.footer-clean a:focus-visible {
    outline: 2px solid #e3d2b5;
    outline-offset: 5px;
}

.footer-clean .footer-bottom {
    gap: 20px;
    line-height: 1.7;
    align-items: flex-start;
}

.footer-clean .footer-bottom div {
    flex-wrap: wrap;
    gap: 12px 28px;
}

@media (max-width: 991px) {
    .footer-layout {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
    }

    .footer-intro {
        grid-column: 1/-1;
    }

    .footer-intro p br {
        display: none;
    }
}

@media (max-width: 575px) {
    .footer-clean {
        padding-top: 44px;
    }

    .footer-layout {
        grid-template-columns: 1fr;
        gap: 32px;
        padding-bottom: 36px;
    }

    .footer-intro {
        grid-column: auto;
    }

    .footer-clean .footer-brand {
        font-size: 38px;
    }

    .footer-links {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px 24px;
    }

    .footer-links h3 {
        grid-column: 1/-1;
    }

    .footer-clean .footer-bottom {
        flex-direction: column;
    }

    .footer-contact .footer-phone {
        font-size: 26px;
    }
}

:root {
    --ink: #222222;
    --navy: #111112;
    --blue: #856222;
    --green: #856222;
    --gold: #d1a75a;
    --muted: #686761;
    --line: #dedbd4;
    --soft: #f3f1eb;
    --paper: #faf9f6;
    --bs-body-bg: #faf9f6;
    --bs-body-color: #222;
}

body {
    background: var(--paper);
    font-family: Arial, Helvetica, sans-serif;
}

h1,
h2 {
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 400;
    letter-spacing: -0.045em;
}

h2 {
    line-height: 1.12;
}

h3 {
    letter-spacing: -0.025em;
}

p {
    line-height: 1.8;
}

::selection {
    background: #d1a75a;
    color: #111112;
}

.site-container {
    max-width: 1480px;
}

.eyebrow {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    letter-spacing: 0.18em;
    font-weight: 600;
}

.accent-word {
    color: #8a6427;
}

.text-link {
    color: #79571f;
    border-color: #bfa371;
    font-size: 14px;
}

.text-link:hover {
    color: #4c3614;
}

.btn {
    border-radius: 2px !important;
    letter-spacing: 0.015em;
}

.btn-dark,
.btn-lime {
    background: #d1a75a;
    border-color: #d1a75a;
    color: #111112;
}

.btn-dark:hover,
.btn-dark:focus-visible,
.btn-dark:active,
.btn-lime:hover {
    background: #e2bd7b !important;
    border-color: #e2bd7b !important;
    color: #111112 !important;
    box-shadow: 0 8px 30px #d1a75a22;
}

.btn-outline-light {
    border-color: #a18a62;
    color: #f5eee0;
}

.btn-outline-light:hover {
    background: #d1a75a;
    color: #111112;
    border-color: #d1a75a;
}

.site-header,
.site-header.is-scrolled {
    background: #111112f5;
    border-bottom: 1px solid #ffffff18;
    box-shadow: none;
}

.navbar {
    min-height: 88px;
}

.navbar-brand img {
    filter: brightness(0) invert(1);
    width: 164px;
}

.nav-link {
    color: #d0cfca;
    font-size: 14px;
}

.nav-link:hover,
.nav-link:focus,
.nav-link[aria-current='page'],
.navbar-nav .nav-link.show {
    color: #d1a75a;
}

.nav-link::after,
.site-header::after {
    background: #d1a75a;
}

.navbar-toggler-icon {
    filter: invert(1);
}

.dropdown-menu {
    background: #1d1d1e;
    border: 1px solid #d1a75a44;
    border-radius: 3px;
    padding: 12px;
}

.dropdown-item {
    color: #e5e2dc;
    padding: 10px 14px;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background: #d1a75a;
    color: #111;
}

.dropdown-divider {
    border-color: #ffffff25;
}

.new-hero {
    position: relative;
    isolation: isolate;
    background: #111112;
    min-height: 710px;
    padding: 28px 0 50px;
    color: #fff;
    border: 0;
    overflow: hidden;
}

.new-hero > .site-container {
    position: relative;
    z-index: 1;
}

.hero-kicker {
    position: relative;
    z-index: 3;
    color: #c4c1b9;
    padding-bottom: 58px;
    font-size: 12px;
}

.hero-kicker span:first-child {
    color: #e3bc77;
}

.hero-layout {
    display: block;
    min-height: 535px;
}

.hero-message {
    position: relative;
    z-index: 3;
    max-width: 820px;
    padding: 28px 0 58px;
}

.hero-message h1 {
    font-size: clamp(52px, 6.2vw, 88px);
    line-height: 1.08;
    letter-spacing: -0.05em;
    margin-bottom: 28px;
}

.hero-message h1 > span {
    color: #dfba7b;
    font-style: italic;
}

.hero-message > p {
    color: #d3d2cd;
    line-height: 1.85;
    font-size: 17px;
    max-width: 520px;
    margin-bottom: 34px;
}

.hero-actions {
    gap: 28px;
}

.hero-actions > .btn {
    padding: 17px 25px;
}

.hero-actions .text-link {
    color: #f4ede2;
    border-color: #ffffff66;
}

.hero-small-note {
    color: #c2bdb3;
    font-size: 12px;
    margin-top: 42px;
}

.hero-note-rule {
    background: #d1a75a;
    width: 45px;
}

.hero-visual {
    position: absolute;
    inset: -28px calc(-6.18vw) -50px 19%;
    padding: 0;
    z-index: 0;
    isolation: isolate;
}

.hero-visual::before {
    display: none;
}

.hero-image-frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.hero-image-frame img {
    object-position: 60% center;
    filter: saturate(0.55) brightness(0.73);
}

.hero-image-frame::after {
    background:
        linear-gradient(90deg, #111112 0%, #111112ed 15%, #11111285 49%, #11111212 100%),
        linear-gradient(0deg, #1111129e, transparent 50%);
    animation: none;
    background-size: auto;
}

.hero-stamp {
    left: auto;
    right: 8%;
    bottom: 65px;
    border: 1px solid #d1a75a66;
    border-radius: 0;
    background: #15151585;
    box-shadow: none;
    padding: 22px 26px;
    translate: none;
    rotate: none;
    animation: none;
}

.hero-stamp > span {
    font-family: Georgia, serif;
    color: #e6c58d;
    font-size: 42px;
}

.hero-stamp p {
    color: #e4ded2;
}

.photo-caption {
    display: none;
}

.new-hero::before,
.new-hero::after {
    display: none;
}

.assurance {
    background: #19191a;
    border-bottom: 1px solid #d1a75a33;
}

.assurance-item {
    border-color: #ffffff1a;
    color: #c6c3bd;
    margin-block: 28px;
    font-size: 13px;
}

.assurance-mark {
    color: #d1a75a;
    font-family: Georgia, serif;
    font-size: 27px;
}

.home-expertise {
    background: #faf9f6;
    padding-block: 105px;
}

.section-heading {
    margin-bottom: 48px;
}

.home-expertise .service-mosaic {
    gap: 18px !important;
}

.service-mosaic .sector-tile {
    border-radius: 2px;
    border-color: #dedbd4;
    background: #fff;
    box-shadow: none;
    padding: 32px;
}

.service-mosaic .sector-tile:hover {
    border-color: #b3945f;
    box-shadow: 0 16px 35px #3024160a;
}

.service-mosaic .sector-tile h3 {
    font-size: 25px;
    font-weight: 500;
}

.service-mosaic .sector-tile p {
    font-size: 16px;
    color: #686761;
}

.service-mosaic .tile-number {
    color: #967336;
    font-size: 13px;
    inset: auto;
}

.service-mosaic .sector-feature {
    background: #151515;
    padding: 34px;
    min-height: 630px;
}

.service-mosaic .sector-feature .tile-number {
    inset: 28px auto auto 28px;
    color: #e5c693;
    border-color: #d1a75a88;
    background: #11111144;
    border-radius: 0;
}

.service-mosaic .sector-feature h3 {
    font-family: Georgia, serif;
    font-size: 40px;
}

.feature-shade {
    background: linear-gradient(0deg, #111112 0%, #111112dc 34%, #11111212 90%);
}

.service-mosaic .sector-feature p,
.service-mosaic .sector-panorama p {
    color: #ddd8ce;
}

.service-mosaic .sector-feature .text-link,
.service-mosaic .sector-panorama .text-link {
    color: #e6c58d;
    border-color: #aa8951;
}

.service-mosaic .sector-panorama {
    background: #151515;
    padding: 42px;
    min-height: 295px;
}

.sector-panorama .feature-shade {
    background: linear-gradient(90deg, #151515 0%, #151515 43%, #151515a6 65%, #15151512 100%);
}

.service-mosaic .sector-panorama .tile-number {
    color: #d1a75a;
    inset: auto;
}

.service-mosaic .sector-panorama h3 {
    font-family: Georgia, serif;
    font-size: 36px;
}

.home-accreditations {
    background: #161617;
    color: #f7f4ed;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    padding-block: 95px;
    border-block: 1px solid #d1a75a33;
}

.home-accreditations .eyebrow,
.home-accreditations .text-link {
    color: #d1a75a;
}

.home-accreditations .accreditation-tile {
    background: transparent;
    border: 1px solid #ffffff22;
    border-top: 2px solid #a8864a;
    border-radius: 0;
    box-shadow: none;
    padding: 32px;
}

.home-accreditations .accreditation-tile:hover {
    background: #ffffff05;
    border-color: #b69351;
    box-shadow: none;
}

.home-accreditations .accreditation-tile h3 {
    font-size: 25px;
}

.home-accreditations .accreditation-tile p,
.home-accreditations .cert-note {
    color: #c3beb4;
}

.home-about {
    background: #faf9f6;
}

.about-slideshow {
    border-radius: 2px;
    border: 0;
    box-shadow: 18px 18px 0 #e8e2d7;
}

.industry-list button {
    border-color: #d6d0c5;
}

.industry-list button > span {
    border-color: #d6c9b0;
    color: #80632f;
    border-radius: 0;
}

.industry-list button:hover > span {
    background: #d1a75a;
    border-color: #d1a75a;
    color: #111;
}

.industries {
    background: #f1eee7;
}

.quote-band {
    background: #e8e1d3;
    padding-block: 80px;
}

.quote-band blockquote {
    font-family: Georgia, serif;
    font-size: clamp(28px, 3.5vw, 46px);
    line-height: 1.35;
    color: #302c24;
}

.quote-mark {
    color: #a48043;
}

.quote-credit {
    color: #6d5733;
}

.refined-contact {
    background: #faf9f6;
}

.refined-contact #quoteForm {
    border-color: #ded7cb;
    border-radius: 2px;
    box-shadow: 0 18px 60px #30271608;
}

.refined-contact .form-control,
.refined-contact .form-select {
    background: #faf9f6;
    border-color: #ddd8cf;
    border-radius: 2px;
}

.form-control:focus,
.form-select:focus {
    border-color: #ac8744 !important;
    box-shadow: 0 0 0 3px #d1a75a25;
}

.contact-number {
    color: #79571f;
}

.location-tags span {
    color: #736447;
    border-color: #dcd1bb;
    background: transparent;
    border-radius: 0;
}

.footer-clean {
    background: #111112;
    border-top: 1px solid #d1a75a44;
}

.footer-clean h3,
.footer-intro p,
.footer-contact .footer-email,
.footer-brand span,
.footer-bottom {
    color: #bdb6a8;
}

.footer-contact .footer-phone {
    color: #dfbc7d;
}

.footer-contact .footer-enquiry {
    border-color: #a88950;
}

.footer-clean .footer-bottom {
    border-color: #ffffff1c;
}

.footer-clean a:hover {
    color: #d1a75a;
}

.page-hero {
    background: #181819;
    color: #f9f6ef;
    border-bottom: 1px solid #d1a75a55;
    padding-block: 80px;
}

.page-hero h1 {
    letter-spacing: -0.04em;
}

.page-hero .eyebrow,
.page-hero .accent-word,
.page-hero h1 em {
    color: #d1a75a;
}

.page-hero p,
.page-hero .text-secondary {
    color: #c8c2b7 !important;
}

.detail-card,
.location-card {
    border-radius: 2px;
    box-shadow: none;
    border-color: #dfd7c9;
}

.page-cta {
    background: #181819;
    border-radius: 0;
    color: #fff;
}

.page-cta .eyebrow {
    color: #d1a75a;
}

.service-jump a {
    border-radius: 2px;
    border-color: #d7cdbb;
    color: #735c32;
}

.service-jump a:hover {
    background: #d1a75a;
    color: #111;
    border-color: #d1a75a;
}

@media (min-width: 1500px) {
    .hero-visual {
        right: calc((1480px - 100vw) / 2 - 82px);
    }
}

@media (max-width: 991px) {
    .navbar-collapse {
        padding-bottom: 22px;
    }

    .hero-message {
        max-width: 650px;
    }

    .hero-message h1 {
        font-size: 68px;
    }

    .hero-visual {
        left: 0;
        right: -7vw;
    }

    .hero-stamp {
        display: none;
    }

    .hero-kicker span:last-child {
        display: none;
    }

    .new-hero {
        min-height: 640px;
    }

    .hero-layout {
        min-height: 490px;
    }

    .hero-image-frame::after {
        background: linear-gradient(90deg, #111112f5, #111112bb 50%, #11111266);
    }

    .home-accreditations {
        margin: 0;
        border-radius: 0;
    }

    .home-expertise,
    .home-about {
        padding-block: 75px;
    }

    .service-mosaic .sector-feature {
        min-height: 600px;
    }
}

@media (max-width: 575px) {
    .navbar {
        min-height: 76px;
    }

    .navbar-brand img {
        width: 145px;
        height: 50px;
    }

    .new-hero {
        min-height: 590px;
        padding-top: 25px;
        padding-bottom: 35px;
    }

    .hero-kicker {
        padding-bottom: 35px;
        font-size: 11px;
    }

    .hero-message {
        padding-top: 12px;
        padding-bottom: 30px;
    }

    .hero-message h1 {
        font-size: clamp(43px, 10.5vw, 60px);
        letter-spacing: -0.055em;
    }

    .hero-message > p {
        font-size: 16px;
    }

    .hero-message > p br {
        display: none;
    }

    .hero-layout {
        min-height: 440px;
    }

    .hero-actions {
        align-items: flex-start;
        gap: 20px;
        flex-direction: column;
    }

    .hero-small-note {
        font-size: 11px;
        margin-top: 30px;
    }

    .hero-visual {
        inset: -25px -7vw -35px -7vw;
    }

    .hero-image-frame img {
        object-position: 67% center;
    }

    .hero-image-frame::after {
        background: linear-gradient(90deg, #111112e8, #111112b3), linear-gradient(0deg, #11111288, transparent);
    }

    .assurance-item {
        padding-inline: 12px;
        font-size: 12px;
        gap: 12px;
        margin-block: 22px;
    }

    .assurance-mark {
        font-size: 23px;
        min-width: 36px;
    }

    .service-mosaic .sector-tile {
        padding: 27px;
    }

    .service-mosaic .sector-feature {
        min-height: 470px;
    }

    .service-mosaic .sector-panorama {
        padding: 28px;
    }

    .sector-panorama .feature-shade {
        background: linear-gradient(90deg, #151515ed, #151515a3);
    }

    .service-mosaic .sector-panorama h3 {
        font-size: 32px;
    }

    .about-slideshow {
        box-shadow: 9px 9px 0 #e8e2d7;
    }

    .page-hero {
        padding-block: 55px;
    }

    .page-cta {
        margin: 0;
    }

    .home-accreditations {
        padding-block: 65px;
    }
}

html.lenis,
html.lenis body {
    height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
    overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
    overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
    pointer-events: none;
}

.lenis.lenis-autoToggle {
    transition-property: overflow;
    transition-duration: 1ms;
    transition-behavior: allow-discrete;
}

html {
    scroll-behavior: smooth;
}

html.lenis,
html.lenis body {
    height: auto;
}

html.lenis-smooth {
    scroll-behavior: auto !important;
}

.scroll-depth {
    overflow: hidden;
}

.scroll-depth:not(img) img {
    scale: 1.065;
    translate: 0 var(--scroll-depth, 0px);
    will-change: translate;
}

img.scroll-depth {
    translate: 0 var(--scroll-depth, 0px);
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    .scroll-depth:not(img) img,
    img.scroll-depth {
        scale: none;
        translate: none;
        will-change: auto;
    }
}

:root {
    --focus: #ac7b2e;
}

html {
    scroll-padding-top: 120px;
}

body {
    overflow-wrap: break-word;
}

.site-container {
    width: 100%;
}

main {
    overflow: clip;
}

h1,
h2 {
    font-kerning: normal;
    text-wrap: balance;
}

p {
    max-width: 75ch;
}

.section-heading > p {
    font-size: 16px;
}

.eyebrow {
    line-height: 1.7;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
    outline: 2px solid var(--focus);
    outline-offset: 5px;
}

.site-header a:focus-visible,
.site-header button:focus-visible {
    outline-color: #e2bc77;
}

.navbar-brand {
    flex-shrink: 0;
}

.navbar-brand img {
    height: 55px;
}

.new-hero {
    border-bottom: 1px solid #d1a75a40;
}

.hero-message h1 {
    font-size: clamp(48px, 6vw, 84px);
    max-width: 900px;
}

.hero-message > p {
    max-width: 540px;
}

.hero-small-note {
    letter-spacing: 0.025em;
}

.assurance-item {
    font-size: 14px;
    line-height: 1.6;
}

.section-space {
    padding-block: 96px;
}

.home-expertise {
    padding-bottom: 80px;
}

.service-mosaic .sector-tile {
    padding: 30px;
    transition:
        border-color 0.3s,
        box-shadow 0.3s,
        transform 0.3s;
}

.service-mosaic .sector-tile .text-link {
    font-size: 14px;
}

.service-mosaic .sector-feature {
    padding: 34px;
}

.service-mosaic .sector-panorama {
    padding: 40px;
}

.service-mosaic .sector-panorama > .tile-number {
    position: relative;
    inset: auto;
    transform: none;
    margin-bottom: 18px;
}

.service-mosaic .sector-panorama h3 {
    max-width: 58%;
    line-height: 1.2;
}

.home-accreditations .cert-note {
    font-size: 14px;
    margin-top: 28px;
}

.home-accreditations .text-link {
    border-color: #9d814c;
}

.home-accreditations .accreditation-tile {
    height: 100%;
}

.standards:not(.home-accreditations) {
    background: #1a1a1b;
    color: #f7f4ed;
}

.standards .eyebrow {
    color: #d1a75a;
}

.standards .standard-row {
    border-color: #ffffff23;
}

.standards .standard-row > span {
    color: #d1a75a;
}

.standards .standard-row p {
    color: #cbc5ba;
}

.text-secondary {
    color: #67645e !important;
}

.standards .text-secondary {
    color: #cbc5ba !important;
}

.about-slideshow {
    isolation: isolate;
}

.industries {
    border-block: 1px solid #e0d9cd;
}

.industry-list button {
    min-height: 70px;
    text-align: left;
}

.industry-list button > span {
    font-size: 12px;
}

.quote-band {
    position: relative;
    border-block: 1px solid #d4c7b0;
}

.quote-band .quote-mark {
    font-family: Georgia, serif;
    line-height: 0.7;
}

.quote-band blockquote {
    margin-inline: auto;
    text-wrap: balance;
}

.quote-credit {
    letter-spacing: 0.12em;
    font-size: 12px;
}

.process-section {
    background: #f0ece4;
    border-block: 1px solid #e0d8ca;
}

.process-grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
    counter-reset: steps;
}

.process-grid li {
    border-top: 1px solid #b99d6d;
    padding-top: 26px;
}

.process-number {
    display: block;
    font:
        italic 46px/1.1 Georgia,
        serif;
    color: #9a763b;
    margin-bottom: 24px;
}

.process-grid h3 {
    font-size: 23px;
    line-height: 1.3;
    margin-bottom: 14px;
}

.process-grid p {
    font-size: 16px;
    color: #69645b;
    margin-bottom: 0;
}

.faq-section {
    background: #f8f6f1;
    border-top: 1px solid #ded8ce;
}

.faq-layout {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 90px;
}

.faq-intro p {
    font-size: 16px;
    color: #6b665e;
    margin-block: 24px;
}

.faq-list {
    border-top: 1px solid #cfc5b4;
}

.faq-list details {
    border-bottom: 1px solid #d8d0c4;
}

.faq-list summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 0;
    font-size: 17px;
    line-height: 1.5;
    font-weight: 500;
    cursor: pointer;
    list-style: none;
}

.faq-list summary::-webkit-details-marker {
    display: none;
}

.faq-list summary::after {
    content: '+';
    font-size: 24px;
    font-weight: 400;
    color: #94713a;
    flex-shrink: 0;
}

.faq-list details[open] summary::after {
    content: '−';
}

.faq-list details[open] summary {
    color: #795923;
}

.faq-answer {
    padding: 0 36px 24px 0;
}

.faq-answer p {
    margin: 0;
    color: #6b665e;
    font-size: 16px;
}

.faq-list details[open] .faq-answer {
    animation: answer-in 0.3s ease-out;
}

@keyframes answer-in {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.page-hero {
    padding-block: 65px 80px;
}

.page-hero h1 {
    font-size: clamp(44px, 5.5vw, 76px);
    max-width: 1050px;
}

.page-hero p {
    max-width: 650px;
    margin-top: 24px;
    font-size: 18px;
}

.page-hero .breadcrumbs {
    font-family: inherit;
    font-size: 13px;
    color: #c3b9a8;
    margin-bottom: 34px;
}

.page-hero .breadcrumbs a {
    color: #dfbc7d;
}

.service-jump .site-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-block: 22px;
}

.service-jump a {
    font-size: 14px;
    padding: 9px 15px;
}

.service-jump a[aria-current='true'] {
    background: #1a1a1b;
    border-color: #1a1a1b;
    color: #e5bf7b;
}

.sector-section {
    padding-block: 80px;
}

.sector-section:nth-of-type(even) {
    background: #f3f0e9;
}

.sector-subtitle {
    font-size: 20px;
    line-height: 1.6;
    color: #80683f;
    margin-top: 22px;
}

.detail-card {
    padding: 30px;
    border-top: 2px solid #b89a63;
}

.detail-card h3 {
    font-size: 25px;
    line-height: 1.25;
}

.detail-card p {
    font-size: 16px;
}

.detail-number {
    color: #82612b;
    margin-bottom: 23px;
    letter-spacing: 0.08em;
}

.specialist-row {
    gap: 28px;
}

.specialist-row p {
    font-size: 16px;
}

.specialist-row .text-link {
    flex-shrink: 0;
    min-height: 44px;
}

.modal-content {
    border-radius: 3px;
    border-top: 3px solid #d1a75a;
    padding: 24px;
}

.modal-body h2 {
    font-size: 36px;
}

.modal-body p,
.modal-body li {
    font-size: 16px;
}

.modal-body ul {
    padding-left: 20px;
}

.modal-body li {
    margin-block: 12px;
}

.modal-footer {
    padding-top: 20px;
}

.modal .eyebrow {
    font-size: 12px;
}

.page-cta {
    padding-block: 70px;
    margin: 0;
}

.page-cta h2 {
    font-size: clamp(34px, 4vw, 54px);
    max-width: 850px;
}

.page-cta .btn {
    flex-shrink: 0;
}

.refined-contact #quoteForm {
    padding: 36px;
}

.form-kicker {
    color: #856633;
    font-size: 11px;
    letter-spacing: 0.12em;
    font-weight: 600;
    margin-bottom: 15px;
}

.refined-contact #quoteForm h3 {
    font-family: Georgia, serif;
    font-size: 31px;
    line-height: 1.2;
    margin-bottom: 14px;
}

.form-intro {
    color: #746d62;
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 28px;
}

.form-label {
    font-size: 14px;
}

.form-label span {
    color: #856222;
}

.form-control,
.form-select {
    font-size: 16px !important;
}

.form-note {
    font-size: 13px;
    line-height: 1.7;
    color: #756d62;
}

.contact-email {
    font-size: 14px;
}

.enquiry-preview {
    margin-top: 28px;
    padding-top: 25px;
    border-top: 1px solid #d7c9af;
}

.enquiry-preview h4 {
    font-size: 21px;
    font-family: Georgia, serif;
}

.enquiry-preview > p {
    font-size: 14px;
    color: #6b665c;
}

.enquiry-preview textarea {
    width: 100%;
    resize: vertical;
    border: 1px solid #d7cbb6;
    background: #fbfaf7;
    border-radius: 2px;
    padding: 16px;
    color: #34312b;
    font:
        14px/1.7 Arial,
        sans-serif;
    min-height: 180px;
}

.enquiry-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 16px 0;
}

.enquiry-actions .btn {
    font-size: 13px;
    padding: 12px 17px;
}

.enquiry-preview .form-note {
    overflow-wrap: anywhere;
}

.form-status {
    color: #6a5126;
    font-size: 14px;
    padding: 12px 0 0;
    margin-bottom: 0;
}

.footer-layout {
    padding-bottom: 40px;
}

.footer-intro .footer-regions {
    font-size: 12px;
    color: #a99e8a;
    line-height: 1.9;
    margin-top: 20px;
    max-width: 260px;
}

.footer-clean .footer-links a {
    font-size: 14px;
}

.footer-clean .footer-links {
    gap: 10px;
}

.footer-clean .footer-bottom a {
    font-size: 12px;
}

.footer-clean .footer-contact h3 {
    font-size: 13px;
}

.location-card {
    height: 100%;
    background: #fff;
}

.location-card a {
    font-size: 14px;
    color: #79571f;
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (max-width: 991px) {
    .section-space {
        padding-block: 72px;
    }

    .faq-layout {
        gap: 40px;
        grid-template-columns: 1fr 1.3fr;
    }

    .process-grid {
        gap: 24px;
    }

    .process-grid h3 {
        font-size: 21px;
    }

    .page-hero h1 {
        font-size: 58px;
    }

    .navbar-collapse {
        max-height: calc(100dvh - 90px);
        overflow-y: auto;
    }

    .hero-message h1 {
        font-size: 64px;
    }

    .footer-layout {
        gap: 32px;
    }
}

@media (max-width: 767px) {
    .process-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .process-grid li {
        display: grid;
        grid-template-columns: 50px 1fr;
        gap: 0 22px;
        padding-top: 22px;
    }

    .process-number {
        grid-row: 1/3;
        font-size: 34px;
        margin: 0;
    }

    .process-grid p {
        grid-column: 2;
    }

    .process-grid h3 {
        margin-top: 3px;
    }

    .faq-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .faq-intro h2 br {
        display: none;
    }

    .faq-intro p {
        margin-block: 20px;
    }

    .faq-list summary {
        font-size: 16px;
    }

    .section-heading {
        align-items: flex-start;
    }

    .page-hero h1 {
        font-size: 48px;
    }

    .specialist-row {
        align-items: flex-start;
    }

    .footer-intro .footer-regions {
        max-width: none;
    }
}

@media (max-width: 575px) {
    .section-space {
        padding-block: 58px;
    }

    .hero-message h1 {
        font-size: clamp(41px, 10.5vw, 57px);
    }

    .hero-message > p {
        font-size: 16px;
    }

    .assurance-item {
        font-size: 12px;
    }

    .service-mosaic .sector-tile {
        padding: 26px;
    }

    .service-mosaic .sector-panorama h3 {
        max-width: 100%;
        font-size: 31px;
    }

    .service-mosaic .sector-panorama {
        padding: 28px;
    }

    .page-hero h1 {
        font-size: clamp(39px, 10vw, 48px);
    }

    .page-hero p {
        font-size: 16px;
    }

    .page-hero {
        padding-block: 42px 55px;
    }

    .service-jump a {
        padding: 8px 10px;
        font-size: 13px;
    }

    .sector-section {
        padding-block: 56px;
    }

    .specialist-row {
        flex-direction: column;
        gap: 12px;
    }

    .specialist-row .text-link {
        align-self: flex-start;
    }

    .refined-contact #quoteForm {
        padding: 26px 20px;
    }

    .refined-contact #quoteForm h3 {
        font-size: 28px;
    }

    .contact-number {
        font-size: 29px;
    }

    .modal-content {
        padding: 14px;
    }

    .modal-body h2 {
        font-size: 30px;
    }

    .footer-contact .footer-phone {
        font-size: 27px;
    }

    .detail-card {
        padding: 26px;
    }

    .page-cta {
        padding-block: 55px;
    }

    .faq-answer {
        padding-right: 10px;
    }

    .form-intro {
        margin-bottom: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .faq-list details[open] .faq-answer {
        animation: none;
    }
}

.nns-wordmark {
    display: block;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.15;
    color: #f5eee0;
}
.nns-wordmark span {
    display: block;
    font-size: 10px;
    letter-spacing: 0.38em;
    margin-top: 5px;
    color: #99713b;
}
.footer-clean .footer-brand {
    font-family: inherit;
    font-size: clamp(21px, 2.4vw, 32px);
    letter-spacing: 0.03em;
}
.footer-email,
.contact-email {
    overflow-wrap: anywhere;
}
.hero-stamp > span {
    font-size: 32px;
}
.quote-band h2 {
    max-width: 950px;
    margin: 0 auto 24px;
}

.brand-with-logo {
    display: flex;
    align-items: center;
    gap: 12px;
}
.navbar-brand img.company-logo,
.footer-brand img.company-logo {
    width: 76px;
    height: 76px;
    object-fit: contain;
    filter: none;
    flex-shrink: 0;
}
.nav-contact-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding-block: 8px;
}
.nav-contact-phone {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #e2bc77;
    text-decoration: none;
    line-height: 1.3;
}
.nav-contact-phone:hover {
    color: #fff;
}
.editorial-copy {
    max-width: 960px;
}
.form-honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
}
@media (max-width: 991px) {
    .nav-contact-stack {
        align-items: flex-start;
        padding-block: 12px;
    }
    .navbar-brand img.company-logo {
        width: 58px;
        height: 58px;
    }
    .nns-wordmark {
        font-size: 16px;
    }
}

.footer-clean .footer-brand .footer-wordmark {
    font-size: clamp(18px, 2vw, 27px);
    letter-spacing: 0.03em;
    line-height: 1.2;
}
.footer-clean .footer-brand .footer-wordmark > span {
    display: block;
    font-size: 10px;
    letter-spacing: 0.3em;
    margin-top: 7px;
}

.home-about .about-introduction {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: clamp(36px, 6vw, 100px);
    align-items: start;
}
.about-introduction-heading h2 {
    font-size: clamp(34px, 3.4vw, 54px);
    line-height: 1.14;
    max-width: 620px;
    margin-bottom: 0;
}
.about-introduction-body {
    border-left: 1px solid #d1a75a66;
    padding-left: clamp(24px, 3vw, 48px);
    padding-top: 4px;
}
.home-about .about-introduction-body p {
    max-width: none;
    font-size: 17px;
    line-height: 1.85;
    margin-top: 0 !important;
    margin-bottom: 20px;
}
.about-introduction-body .text-link {
    margin-top: 8px;
}
@media (max-width: 767px) {
    .home-about .about-introduction {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .about-introduction-body {
        border-left: 0;
        border-top: 1px solid #d1a75a66;
        padding: 24px 0 0;
    }
}

.navbar-brand img.company-logo {
    width: 86px;
    height: 86px;
}
.navbar-brand .nns-wordmark {
    font-size: 22px;
}
.navbar-brand .nns-wordmark span {
    font-size: 11px;
    color: #d1a75a;
}
.site-header,
.site-header.is-scrolled {
    background: #202022f5;
}
.new-hero,
.standards,
.footer-clean {
    background-color: #202022;
}
.hero-image-frame img {
    filter: saturate(0.55) brightness(0.86);
}
.hero-image-frame::after {
    background:
        linear-gradient(90deg, #202022 0%, #202022e8 15%, #20202278 49%, #2020220d 100%),
        linear-gradient(0deg, #2020228a, transparent 50%);
}
.hero-actions {
    flex-wrap: wrap;
}
.hero-actions > .btn {
    white-space: normal;
    max-width: 100%;
    text-align: center;
}
@media (max-width: 1199px) {
    .navbar-brand img.company-logo {
        width: 78px;
        height: 78px;
    }
    .navbar-brand .nns-wordmark {
        font-size: 20px;
    }
}
@media (max-width: 991px) {
    .navbar-brand img.company-logo {
        width: 66px;
        height: 66px;
    }
    .navbar-brand .nns-wordmark {
        font-size: 18px;
    }
    .navbar-brand .nns-wordmark span {
        font-size: 10px;
    }
}
@media (max-width: 359px) {
    .navbar-brand {
        gap: 8px;
        margin-right: 8px;
    }
    .navbar-brand .nns-wordmark {
        font-size: 16px;
    }
}

.footer-address {
    font-style: normal;
    font-size: 14px;
    line-height: 1.8;
    color: #ccc5b8;
}
.footer-business {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
    padding: 32px 0;
    margin-top: 32px;
    border-top: 1px solid #ffffff26;
}
.footer-business h3 {
    font-family: Arial, sans-serif;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #e6c48a;
    margin-bottom: 10px;
}
.footer-business p {
    font-size: 13px;
    line-height: 1.7;
    color: #d8d3c9;
    margin: 0;
}
.mobile-header-phone {
    display: none;
}
@media (max-width: 991px) {
    .mobile-header-phone {
        display: block;
        margin-left: auto;
        margin-right: 12px;
        font-size: 12px;
        font-weight: 600;
        color: #e6c48a;
        text-decoration: none;
    }
    .footer-business {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 575px) {
    .navbar-brand img.company-logo {
        width: 52px;
        height: 52px;
    }
    .navbar-brand .nns-wordmark {
        font-size: 14px;
    }
    .navbar-brand.brand-with-logo {
        gap: 7px;
        margin-right: 6px;
    }
    .mobile-header-phone {
        font-size: 10px;
        letter-spacing: 0;
        margin-right: 6px;
    }
    .navbar-toggler {
        padding: 5px;
    }
    .footer-business {
        grid-template-columns: 1fr;
        gap: 22px;
    }
}
