/*
Theme Name: Red Care Services
Theme URI: https://example.com/
Author: Worx24
Description: A modern, responsive WordPress theme for Red Care Services.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: red-care-services
*/
:root{--burgundy:#9e2636;--burgundy-dark:#7f1927;--ink:#251f20;--paper:#fbfaf8;--rose:#f2e8e8;--muted:#64748b;--white:#fff;--radius:2rem;--shadow:0 18px 55px rgba(37,31,32,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:#0f172a;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:15px;top:15px;z-index:9999;background:#fff;padding:12px 18px}.topbar{background:#8f1f2d;color:#fff;text-align:center;padding:7px 20px;font-size:.9rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.06)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:25px}.brand{display:flex;align-items:center;gap:15px}.brand-primary{font-family:Georgia,serif;font-size:1.85rem;line-height:1;color:var(--burgundy)}.brand-secondary{color:#999;line-height:1.2}.brand-name{font-weight:800;color:var(--burgundy);border-left:1px solid #ddd;padding-left:15px}.brand-tag{font-size:.76rem;color:var(--muted)}.menu{display:flex;gap:24px;align-items:center;list-style:none;margin:0;padding:0;font-weight:700;font-size:.92rem}.menu a:hover,.menu a:focus{color:var(--burgundy)}.menu-toggle{display:none;border:0;background:var(--rose);padding:10px 14px;border-radius:999px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--burgundy);color:#fff;padding:13px 23px;border-radius:999px;font-weight:800;border:1px solid var(--burgundy);transition:.2s}.button:hover{background:var(--burgundy-dark);transform:translateY(-2px)}.button-light{background:#fff;color:var(--burgundy);border-color:#fff}.button-outline{background:transparent;color:#172033;border-color:#cbd5e1}.hero{padding:90px 0;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:rgba(251,113,133,.14);filter:blur(55px);right:-120px;top:-80px;z-index:-1}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.eyebrow{font-weight:800;color:var(--burgundy)}h1,h2,h3{line-height:1.08;margin-top:0}.hero h1,.page-hero h1{font-size:clamp(3rem,6vw,5.4rem);letter-spacing:-.055em;margin:12px 0 25px}.hero h1 span{color:var(--burgundy)}.lead{font-size:1.17rem;color:var(--muted);max-width:700px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.feature-panel{background:linear-gradient(135deg,#641522,#9e2636 55%,#cb735f);color:#fff;padding:45px;border-radius:2.5rem;box-shadow:var(--shadow);animation:float 5s ease-in-out infinite}.feature-panel li{margin:12px 0}.section{padding:80px 0}.section-heading{max-width:710px;margin-bottom:38px}.section-heading h2{font-size:clamp(2.2rem,4vw,3.5rem);letter-spacing:-.04em}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border-radius:var(--radius);padding:30px;border:1px solid rgba(158,38,54,.1);box-shadow:0 5px 20px rgba(0,0,0,.04);transition:.25s}.card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#fff1f2;color:var(--burgundy);font-size:1.5rem}.dark{background:var(--ink);color:#fff}.dark .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}.muted{color:var(--muted)}.dark .muted{color:rgba(255,255,255,.68)}.page-hero{padding:68px 0;border-bottom:1px solid #f4dfe3}.page-content{padding:70px 0}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.map-wrap{overflow:hidden;border-radius:2.5rem;background:#fff;box-shadow:var(--shadow)}.map-wrap iframe{display:block;width:100%;height:430px;border:0}.map-caption{padding:22px 26px}.testimonial-list{display:grid;gap:24px}.testimonial{background:#fff;padding:32px;border-radius:2rem;box-shadow:0 5px 20px rgba(0,0,0,.05)}.testimonial h2{color:var(--burgundy)}.cta{background:var(--burgundy);color:#fff;padding:38px;border-radius:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:25px}.site-footer{background:#fff;border-top:1px solid #eee;padding:40px 0}.footer-inner{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.wp-block-group{max-width:1180px;margin:0 auto;padding:60px 20px}@keyframes float{50%{transform:translateY(-8px)}}
@media(max-width:900px){.hero-grid,.cards,.contact-grid{grid-template-columns:1fr}.menu-toggle{display:block}.menu{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:22px;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.menu.open{display:flex}.brand-name{display:none}.hero{padding:65px 0}.cta{display:block}.cta .button{margin-top:20px}}
.brand-name-new {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.redcroft-name {
    font-size: 1.6rem;
    font-weight: 800;
    color: #9e2636;
}

.lingroup-name {
    margin-top: 5px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #6f9365;
    letter-spacing: 0.03em;
}
/* Header logo */

.site-header .brand {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.header-logo {
    display: flex;
    align-items: center;
}

.header-logo img {
    display: block;
    width: auto;
    max-width: 90px;
    max-height: 65px;
    object-fit: contain;
}

/* New branding */

.site-header .brand-name-new {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    line-height: 1.1 !important;
}

.site-header .redcroft-name {
    font-family: Georgia, serif !important;
    font-size: 1.65rem !important;
    font-weight: 700 !important;
    color: #9e2636 !important;
}

.site-header .lingroup-name {
    display: block !important;
    margin-top: 5px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #6f9365 !important;
    letter-spacing: 0.04em !important;
}/* ========================================
   RED CARE SERVICES - PHOTO CAROUSEL
======================================== */

.care-gallery {
    background: #fbfaf8;
    overflow: hidden;
}

.care-gallery .section-heading {
    margin-bottom: 35px;
}

.rc-carousel {
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;
}

.rc-carousel-window {
    width: 100%;
    overflow: hidden;
    border-radius: 2rem;
}

.rc-carousel-track {
    display: flex;
    gap: 22px;
    transition: transform 0.6s ease;
    will-change: transform;
}

.rc-slide {
    flex: 0 0 calc((100% - 44px) / 3);
    overflow: hidden;
    border-radius: 2rem;
    background: #f2e8e8;
    box-shadow: 0 10px 30px rgba(37,31,32,.10);
}

.rc-slide img {
    width: 100%;
    height: 320px;
    display: block;
    object-fit: cover;
    transition: transform .4s ease;
}

.rc-slide:hover img {
    transform: scale(1.05);
}


/* Carousel arrows */

.rc-carousel-arrow {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;

    background: #9e2636;
    color: #ffffff;

    font-size: 1.5rem;
    font-weight: bold;

    cursor: pointer;

    box-shadow: 0 8px 22px rgba(37,31,32,.18);

    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.rc-carousel-arrow:hover {
    background: #7f1927;
    transform: scale(1.08);

    box-shadow:
        0 12px 28px rgba(37,31,32,.22);
}

.rc-carousel-arrow:focus-visible {
    outline: 3px solid rgba(158,38,54,.30);
    outline-offset: 4px;
}


/* Tablet */

@media (max-width: 900px) {

    .rc-slide {
        flex: 0 0 calc((100% - 22px) / 2);
    }

    .rc-slide img {
        height: 280px;
    }

}


/* Mobile */

@media (max-width: 600px) {

    .rc-carousel {
        gap: 8px;
    }

    .rc-slide {
        flex: 0 0 100%;
    }

    .rc-slide img {
        height: 260px;
    }

    .rc-carousel-arrow {
        position: absolute;
        z-index: 5;

        width: 45px;
        height: 45px;

        flex-basis: 45px;

        top: 50%;
        transform: translateY(-50%);
    }

    .rc-carousel-arrow:hover {
        transform: translateY(-50%) scale(1.06);
    }

    .rc-prev {
        left: 12px;
    }

    .rc-next {
        right: 12px;
    }

}
/* ========================================
   RED CARE SERVICES - GALLERY PAGE
======================================== */

.rc-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.rc-gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 2rem;
    background: #f2e8e8;
    box-shadow: 0 10px 30px rgba(37,31,32,.10);
}

.rc-gallery-item img {
    display: block;
    width: 100%;
    height: 320px;
    object-fit: cover;
    transition: transform .45s ease, filter .45s ease;
}

.rc-gallery-item:hover img {
    transform: scale(1.06);
    filter: brightness(.92);
}

/* Tablet */

@media (max-width: 900px) {

    .rc-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rc-gallery-item img {
        height: 280px;
    }
}

/* Mobile */

@media (max-width: 600px) {

    .rc-gallery-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .rc-gallery-item img {
        height: 280px;
    }
}
/* ========================================
   CONTACT PAGE - BROCHURE DOWNLOAD
======================================== */

.brochure-section {
    padding-top: 10px;
}

.brochure-download {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 28px;

    padding: 38px;

    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            #641522,
            #9e2636 58%,
            #cb735f
        );

    border-radius: 2.5rem;
    box-shadow: var(--shadow);
}

.brochure-icon {
    display: grid;
    place-items: center;

    width: 78px;
    height: 78px;

    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 1.5rem;

    font-size: 2.2rem;
}

.brochure-content .eyebrow {
    margin: 0 0 8px;
    color: #ffffff;
    opacity: .78;
}

.brochure-content h2 {
    margin-bottom: 10px;
    font-size: clamp(2rem, 4vw, 3rem);
}

.brochure-content p:last-child {
    max-width: 650px;
    margin-bottom: 0;
    color: rgba(255,255,255,.82);
}

.brochure-button {
    white-space: nowrap;
    background: #ffffff;
    color: #9e2636;
    border-color: #ffffff;
}

.brochure-button:hover {
    background: #fbfaf8;
    color: #7f1927;
}


/* Tablet and mobile */

@media (max-width: 800px) {

    .brochure-download {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .brochure-button {
        justify-self: start;
    }

}
/* ========================================
   WORDPRESS-MANAGED GALLERY
======================================== */

.rc-wordpress-gallery {
    margin-top: 24px;
}

.rc-wordpress-gallery .wp-block-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px !important;
}

.rc-wordpress-gallery .wp-block-image {
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 2rem;
    background: #f2e8e8;
    box-shadow: 0 10px 30px rgba(37,31,32,.10);
}

.rc-wordpress-gallery .wp-block-image img {
    display: block;
    width: 100% !important;
    height: 320px !important;
    object-fit: cover;
    transition: transform .45s ease, filter .45s ease;
}

.rc-wordpress-gallery .wp-block-image:hover img {
    transform: scale(1.06);
    filter: brightness(.92);
}


/* Tablet */

@media (max-width: 900px) {

    .rc-wordpress-gallery .wp-block-gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .rc-wordpress-gallery .wp-block-image img {
        height: 280px !important;
    }

}


/* Mobile */

@media (max-width: 600px) {

    .rc-wordpress-gallery .wp-block-gallery {
        grid-template-columns: 1fr;
        gap: 18px !important;
    }

    .rc-wordpress-gallery .wp-block-image img {
        height: 280px !important;
    }

}
/* ========================================
   SERVICES OVERVIEW PAGE
======================================== */

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

.services-hero h1 span {
    color: var(--burgundy);
}

.services-hero .lead {
    max-width: 780px;
}


/* TWO SERVICE CARDS */

.services-overview {
    padding-top: 20px;
}

.service-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

.service-choice {
    padding: 20px;
    border-radius: 2rem;
    overflow: hidden;
}

.service-choice-red {
    background: linear-gradient(
        135deg,
        #fff7f7,
        #f6e7e9
    );
}

.service-choice-lin {
    background: linear-gradient(
        135deg,
        #f2fbfb,
        #e2f5f6
    );
}


/* IMAGES */

.service-choice-image {
    overflow: hidden;
    border-radius: 1.5rem;
    margin-bottom: 25px;
}

.service-choice-image img {
    width: 100%;
    height: 300px;
    display: block;
    object-fit: cover;
    transition: transform .4s ease;
}

.service-choice:hover .service-choice-image img {
    transform: scale(1.04);
}


/* CONTENT */

.service-choice-content {
    padding: 0 5px 8px;
}

.service-choice-content h2 {
    margin-bottom: 12px;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.service-choice-red h2 {
    color: var(--burgundy);
}

.service-choice-lin h2 {
    color: #45aeba;
}

.service-choice-content p {
    margin-bottom: 25px;
    color: var(--muted);
    font-size: 1.05rem;
}


/* LINGROUP BUTTON */

.lin-button {
    background: #45aeba;
    border-color: #45aeba;
}

.lin-button:hover {
    background: #378f99;
    border-color: #378f99;
}


/* CONTACT AREA */

.services-contact {
    padding-top: 15px;
}


/* TABLET / MOBILE */

@media (max-width: 800px) {

    .service-choice-grid {
        grid-template-columns: 1fr;
    }

    .service-choice-image img {
        height: 280px;
    }

}


@media (max-width: 500px) {

    .service-choice {
        padding: 14px;
    }

    .service-choice-image img {
        height: 240px;
    }

}
/* ========================================
   TESTIMONIAL SPEECH BUBBLES
======================================== */

.testimonial-section {
    position: relative;
}

.testimonial-lin {
    background: #f4faf6;
}

.testimonial-redcroft {
    background: #fbfaf8;
}

.testimonial-lin-eyebrow {
    color: #6f9365;
}


/* 2 x 2 layout */

.speech-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 38px 30px;
}


/* Testimonial */

.speech-testimonial {
    position: relative;
}


/* Actual speech bubble */

.speech-bubble {
    position: relative;
    min-height: 190px;
    padding: 34px 36px;

    border-radius: 30px;

    box-shadow:
        0 12px 35px rgba(37,31,32,.09);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.speech-testimonial:hover .speech-bubble {
    transform: translateY(-5px);

    box-shadow:
        0 18px 45px rgba(37,31,32,.13);
}


/* Quote */

.speech-bubble p {
    margin: 0;

    font-family: Georgia, serif;
    font-size: 1.18rem;
    line-height: 1.7;
    font-style: italic;
}


/* Speech bubble tail */

.speech-bubble::after {
    content: "";
    position: absolute;

    bottom: -20px;
    left: 42px;

    width: 0;
    height: 0;

    border-left: 22px solid transparent;
    border-right: 4px solid transparent;
}


/* LiN Group */

.lin-speech .speech-bubble {
    background: #e8f4ea;
    color: #26372b;

    border: 1px solid rgba(111,147,101,.18);
}

.lin-speech .speech-bubble::after {
    border-top: 22px solid #e8f4ea;
}


/* Redcroft */

.redcroft-speech .speech-bubble {
    background: #f5e5e8;
    color: #321f23;

    border: 1px solid rgba(158,38,54,.12);
}

.redcroft-speech .speech-bubble::after {
    border-top: 22px solid #f5e5e8;
}


/* Author underneath bubble */

.speech-author {
    margin:
        27px 0
        0 36px;

    font-size: .92rem;
    font-weight: 800;
}

.lin-speech .speech-author {
    color: #6f9365;
}

.redcroft-speech .speech-author {
    color: var(--burgundy);
}


/* MOBILE */

@media (max-width: 760px) {

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

    .speech-bubble {
        min-height: 0;
        padding: 28px;
        border-radius: 26px;
    }

    .speech-bubble p {
        font-size: 1.08rem;
    }

}
/* ========================================
   TESTIMONIAL DOCUMENT DOWNLOADS
======================================== */

.testimonial-documents {
    background: #f7f4f2;
}

.document-download-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
}

.document-download-card {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 22px;

    padding: 34px;

    background: #ffffff;
    border: 1px solid rgba(37,31,32,.07);
    border-radius: 2rem;

    box-shadow:
        0 12px 35px rgba(37,31,32,.08);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.document-download-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 45px rgba(37,31,32,.12);
}

.document-download-icon {
    display: grid;
    place-items: center;

    width: 68px;
    height: 68px;

    border-radius: 1.35rem;
    font-size: 2rem;
}

.inspection-document .document-download-icon {
    color: #9e2636;
    background: #f5e5e8;
}

.duty-document .document-download-icon {
    color: #5f8558;
    background: #e8f4ea;
}

.document-download-content h3 {
    margin-bottom: 12px;
    font-size: clamp(1.7rem, 3vw, 2.25rem);
}

.document-download-content > p:not(.document-label) {
    margin-bottom: 24px;
    color: var(--muted);
}

.document-label {
    margin: 0 0 7px;

    color: var(--burgundy);

    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.duty-document .document-label {
    color: #5f8558;
}

.duty-document-button {
    background: #6f9365;
    border-color: #6f9365;
}

.duty-document-button:hover {
    background: #5f8558;
    border-color: #5f8558;
}


/* TABLET AND MOBILE */

@media (max-width: 800px) {

    .document-download-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 520px) {

    .document-download-card {
        grid-template-columns: 1fr;
        padding: 27px;
    }

}
/*
Theme Name: Red Care Services
Theme URI: https://example.com/
Author: Worx24
Description: A modern, responsive WordPress theme for Red Care Services.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: red-care-services
*/
:root{--burgundy:#9e2636;--burgundy-dark:#7f1927;--ink:#251f20;--paper:#fbfaf8;--rose:#f2e8e8;--muted:#64748b;--white:#fff;--radius:2rem;--shadow:0 18px 55px rgba(37,31,32,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:#0f172a;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:15px;top:15px;z-index:9999;background:#fff;padding:12px 18px}.topbar{background:#8f1f2d;color:#fff;text-align:center;padding:7px 20px;font-size:.9rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.06)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:25px}.brand{display:flex;align-items:center;gap:15px}.brand-primary{font-family:Georgia,serif;font-size:1.85rem;line-height:1;color:var(--burgundy)}.brand-secondary{color:#999;line-height:1.2}.brand-name{font-weight:800;color:var(--burgundy);border-left:1px solid #ddd;padding-left:15px}.brand-tag{font-size:.76rem;color:var(--muted)}.menu{display:flex;gap:24px;align-items:center;list-style:none;margin:0;padding:0;font-weight:700;font-size:.92rem}.menu a:hover,.menu a:focus{color:var(--burgundy)}.menu-toggle{display:none;border:0;background:var(--rose);padding:10px 14px;border-radius:999px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--burgundy);color:#fff;padding:13px 23px;border-radius:999px;font-weight:800;border:1px solid var(--burgundy);transition:.2s}.button:hover{background:var(--burgundy-dark);transform:translateY(-2px)}.button-light{background:#fff;color:var(--burgundy);border-color:#fff}.button-outline{background:transparent;color:#172033;border-color:#cbd5e1}.hero{padding:90px 0;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:rgba(251,113,133,.14);filter:blur(55px);right:-120px;top:-80px;z-index:-1}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.eyebrow{font-weight:800;color:var(--burgundy)}h1,h2,h3{line-height:1.08;margin-top:0}.hero h1,.page-hero h1{font-size:clamp(3rem,6vw,5.4rem);letter-spacing:-.055em;margin:12px 0 25px}.hero h1 span{color:var(--burgundy)}.lead{font-size:1.17rem;color:var(--muted);max-width:700px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.feature-panel{background:linear-gradient(135deg,#641522,#9e2636 55%,#cb735f);color:#fff;padding:45px;border-radius:2.5rem;box-shadow:var(--shadow);animation:float 5s ease-in-out infinite}.feature-panel li{margin:12px 0}.section{padding:80px 0}.section-heading{max-width:710px;margin-bottom:38px}.section-heading h2{font-size:clamp(2.2rem,4vw,3.5rem);letter-spacing:-.04em}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border-radius:var(--radius);padding:30px;border:1px solid rgba(158,38,54,.1);box-shadow:0 5px 20px rgba(0,0,0,.04);transition:.25s}.card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#fff1f2;color:var(--burgundy);font-size:1.5rem}.dark{background:var(--ink);color:#fff}.dark .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}.muted{color:var(--muted)}.dark .muted{color:rgba(255,255,255,.68)}.page-hero{padding:68px 0;border-bottom:1px solid #f4dfe3}.page-content{padding:70px 0}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.map-wrap{overflow:hidden;border-radius:2.5rem;background:#fff;box-shadow:var(--shadow)}.map-wrap iframe{display:block;width:100%;height:430px;border:0}.map-caption{padding:22px 26px}.testimonial-list{display:grid;gap:24px}.testimonial{background:#fff;padding:32px;border-radius:2rem;box-shadow:0 5px 20px rgba(0,0,0,.05)}.testimonial h2{color:var(--burgundy)}.cta{background:var(--burgundy);color:#fff;padding:38px;border-radius:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:25px}.site-footer{background:#fff;border-top:1px solid #eee;padding:40px 0}.footer-inner{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.wp-block-group{max-width:1180px;margin:0 auto;padding:60px 20px}@keyframes float{50%{transform:translateY(-8px)}}
@media(max-width:900px){.hero-grid,.cards,.contact-grid{grid-template-columns:1fr}.menu-toggle{display:block}.menu{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:22px;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.menu.open{display:flex}.brand-name{display:none}.hero{padding:65px 0}.cta{display:block}.cta .button{margin-top:20px}}
.brand-name-new {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.redcroft-name {
    font-size: 1.6rem;
    font-weight: 800;
    color: #9e2636;
}

.lingroup-name {
    margin-top: 5px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #6f9365;
    letter-spacing: 0.03em;
}
/* Header logo */

.site-header .brand {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.header-logo {
    display: flex;
    align-items: center;
}

.header-logo img {
    display: block;
    width: auto;
    max-width: 90px;
    max-height: 65px;
    object-fit: contain;
}

/* New branding */

.site-header .brand-name-new {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    line-height: 1.1 !important;
}

.site-header .redcroft-name {
    font-family: Georgia, serif !important;
    font-size: 1.65rem !important;
    font-weight: 700 !important;
    color: #9e2636 !important;
}

.site-header .lingroup-name {
    display: block !important;
    margin-top: 5px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #6f9365 !important;
    letter-spacing: 0.04em !important;
}/* ========================================
   RED CARE SERVICES - PHOTO CAROUSEL
======================================== */

.care-gallery {
    background: #fbfaf8;
    overflow: hidden;
}

.care-gallery .section-heading {
    margin-bottom: 35px;
}

.rc-carousel {
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;
}

.rc-carousel-window {
    width: 100%;
    overflow: hidden;
    border-radius: 2rem;
}

.rc-carousel-track {
    display: flex;
    gap: 22px;
    transition: transform 0.6s ease;
    will-change: transform;
}

.rc-slide {
    flex: 0 0 calc((100% - 44px) / 3);
    overflow: hidden;
    border-radius: 2rem;
    background: #f2e8e8;
    box-shadow: 0 10px 30px rgba(37,31,32,.10);
}

.rc-slide img {
    width: 100%;
    height: 320px;
    display: block;
    object-fit: cover;
    transition: transform .4s ease;
}

.rc-slide:hover img {
    transform: scale(1.05);
}


/* Carousel arrows */

.rc-carousel-arrow {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;

    background: #9e2636;
    color: #ffffff;

    font-size: 1.5rem;
    font-weight: bold;

    cursor: pointer;

    box-shadow: 0 8px 22px rgba(37,31,32,.18);

    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.rc-carousel-arrow:hover {
    background: #7f1927;
    transform: scale(1.08);

    box-shadow:
        0 12px 28px rgba(37,31,32,.22);
}

.rc-carousel-arrow:focus-visible {
    outline: 3px solid rgba(158,38,54,.30);
    outline-offset: 4px;
}


/* Tablet */

@media (max-width: 900px) {

    .rc-slide {
        flex: 0 0 calc((100% - 22px) / 2);
    }

    .rc-slide img {
        height: 280px;
    }

}


/* Mobile */

@media (max-width: 600px) {

    .rc-carousel {
        gap: 8px;
    }

    .rc-slide {
        flex: 0 0 100%;
    }

    .rc-slide img {
        height: 260px;
    }

    .rc-carousel-arrow {
        position: absolute;
        z-index: 5;

        width: 45px;
        height: 45px;

        flex-basis: 45px;

        top: 50%;
        transform: translateY(-50%);
    }

    .rc-carousel-arrow:hover {
        transform: translateY(-50%) scale(1.06);
    }

    .rc-prev {
        left: 12px;
    }

    .rc-next {
        right: 12px;
    }

}
/* ========================================
   RED CARE SERVICES - GALLERY PAGE
======================================== */

.rc-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.rc-gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 2rem;
    background: #f2e8e8;
    box-shadow: 0 10px 30px rgba(37,31,32,.10);
}

.rc-gallery-item img {
    display: block;
    width: 100%;
    height: 320px;
    object-fit: cover;
    transition: transform .45s ease, filter .45s ease;
}

.rc-gallery-item:hover img {
    transform: scale(1.06);
    filter: brightness(.92);
}

/* Tablet */

@media (max-width: 900px) {

    .rc-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rc-gallery-item img {
        height: 280px;
    }
}

/* Mobile */

@media (max-width: 600px) {

    .rc-gallery-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .rc-gallery-item img {
        height: 280px;
    }
}
/* ========================================
   CONTACT PAGE - BROCHURE DOWNLOAD
======================================== */

.brochure-section {
    padding-top: 10px;
}

.brochure-download {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 28px;

    padding: 38px;

    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            #641522,
            #9e2636 58%,
            #cb735f
        );

    border-radius: 2.5rem;
    box-shadow: var(--shadow);
}

.brochure-icon {
    display: grid;
    place-items: center;

    width: 78px;
    height: 78px;

    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 1.5rem;

    font-size: 2.2rem;
}

.brochure-content .eyebrow {
    margin: 0 0 8px;
    color: #ffffff;
    opacity: .78;
}

.brochure-content h2 {
    margin-bottom: 10px;
    font-size: clamp(2rem, 4vw, 3rem);
}

.brochure-content p:last-child {
    max-width: 650px;
    margin-bottom: 0;
    color: rgba(255,255,255,.82);
}

.brochure-button {
    white-space: nowrap;
    background: #ffffff;
    color: #9e2636;
    border-color: #ffffff;
}

.brochure-button:hover {
    background: #fbfaf8;
    color: #7f1927;
}


/* Tablet and mobile */

@media (max-width: 800px) {

    .brochure-download {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .brochure-button {
        justify-self: start;
    }

}
/* ========================================
   WORDPRESS-MANAGED GALLERY
======================================== */

.rc-wordpress-gallery {
    margin-top: 24px;
}

.rc-wordpress-gallery .wp-block-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px !important;
}

.rc-wordpress-gallery .wp-block-image {
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 2rem;
    background: #f2e8e8;
    box-shadow: 0 10px 30px rgba(37,31,32,.10);
}

.rc-wordpress-gallery .wp-block-image img {
    display: block;
    width: 100% !important;
    height: 320px !important;
    object-fit: cover;
    transition: transform .45s ease, filter .45s ease;
}

.rc-wordpress-gallery .wp-block-image:hover img {
    transform: scale(1.06);
    filter: brightness(.92);
}


/* Tablet */

@media (max-width: 900px) {

    .rc-wordpress-gallery .wp-block-gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .rc-wordpress-gallery .wp-block-image img {
        height: 280px !important;
    }

}


/* Mobile */

@media (max-width: 600px) {

    .rc-wordpress-gallery .wp-block-gallery {
        grid-template-columns: 1fr;
        gap: 18px !important;
    }

    .rc-wordpress-gallery .wp-block-image img {
        height: 280px !important;
    }

}
/* ========================================
   SERVICES OVERVIEW PAGE
======================================== */

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

.services-hero h1 span {
    color: var(--burgundy);
}

.services-hero .lead {
    max-width: 780px;
}


/* TWO SERVICE CARDS */

.services-overview {
    padding-top: 20px;
}

.service-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

.service-choice {
    padding: 20px;
    border-radius: 2rem;
    overflow: hidden;
}

.service-choice-red {
    background: linear-gradient(
        135deg,
        #fff7f7,
        #f6e7e9
    );
}

.service-choice-lin {
    background: linear-gradient(
        135deg,
        #f2fbfb,
        #e2f5f6
    );
}


/* IMAGES */

.service-choice-image {
    overflow: hidden;
    border-radius: 1.5rem;
    margin-bottom: 25px;
}

.service-choice-image img {
    width: 100%;
    height: 300px;
    display: block;
    object-fit: cover;
    transition: transform .4s ease;
}

.service-choice:hover .service-choice-image img {
    transform: scale(1.04);
}


/* CONTENT */

.service-choice-content {
    padding: 0 5px 8px;
}

.service-choice-content h2 {
    margin-bottom: 12px;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.service-choice-red h2 {
    color: var(--burgundy);
}

.service-choice-lin h2 {
    color: #45aeba;
}

.service-choice-content p {
    margin-bottom: 25px;
    color: var(--muted);
    font-size: 1.05rem;
}


/* LINGROUP BUTTON */

.lin-button {
    background: #45aeba;
    border-color: #45aeba;
}

.lin-button:hover {
    background: #378f99;
    border-color: #378f99;
}


/* CONTACT AREA */

.services-contact {
    padding-top: 15px;
}


/* TABLET / MOBILE */

@media (max-width: 800px) {

    .service-choice-grid {
        grid-template-columns: 1fr;
    }

    .service-choice-image img {
        height: 280px;
    }

}


@media (max-width: 500px) {

    .service-choice {
        padding: 14px;
    }

    .service-choice-image img {
        height: 240px;
    }

}
/* ========================================
   TESTIMONIAL SPEECH BUBBLES
======================================== */

.testimonial-section {
    position: relative;
}

.testimonial-lin {
    background: #f4faf6;
}

.testimonial-redcroft {
    background: #fbfaf8;
}

.testimonial-lin-eyebrow {
    color: #6f9365;
}


/* 2 x 2 layout */

.speech-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 38px 30px;
}


/* Testimonial */

.speech-testimonial {
    position: relative;
}


/* Actual speech bubble */

.speech-bubble {
    position: relative;
    min-height: 190px;
    padding: 34px 36px;

    border-radius: 30px;

    box-shadow:
        0 12px 35px rgba(37,31,32,.09);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.speech-testimonial:hover .speech-bubble {
    transform: translateY(-5px);

    box-shadow:
        0 18px 45px rgba(37,31,32,.13);
}


/* Quote */

.speech-bubble p {
    margin: 0;

    font-family: Georgia, serif;
    font-size: 1.18rem;
    line-height: 1.7;
    font-style: italic;
}


/* Speech bubble tail */

.speech-bubble::after {
    content: "";
    position: absolute;

    bottom: -20px;
    left: 42px;

    width: 0;
    height: 0;

    border-left: 22px solid transparent;
    border-right: 4px solid transparent;
}


/* LiN Group */

.lin-speech .speech-bubble {
    background: #e8f4ea;
    color: #26372b;

    border: 1px solid rgba(111,147,101,.18);
}

.lin-speech .speech-bubble::after {
    border-top: 22px solid #e8f4ea;
}


/* Redcroft */

.redcroft-speech .speech-bubble {
    background: #f5e5e8;
    color: #321f23;

    border: 1px solid rgba(158,38,54,.12);
}

.redcroft-speech .speech-bubble::after {
    border-top: 22px solid #f5e5e8;
}


/* Author underneath bubble */

.speech-author {
    margin:
        27px 0
        0 36px;

    font-size: .92rem;
    font-weight: 800;
}

.lin-speech .speech-author {
    color: #6f9365;
}

.redcroft-speech .speech-author {
    color: var(--burgundy);
}


/* MOBILE */

@media (max-width: 760px) {

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

    .speech-bubble {
        min-height: 0;
        padding: 28px;
        border-radius: 26px;
    }

    .speech-bubble p {
        font-size: 1.08rem;
    }

}
/* ========================================
   TESTIMONIAL DOCUMENT DOWNLOADS
======================================== */

.testimonial-documents {
    background: #f7f4f2;
}

.document-download-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
}

.document-download-card {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 22px;

    padding: 34px;

    background: #ffffff;
    border: 1px solid rgba(37,31,32,.07);
    border-radius: 2rem;

    box-shadow:
        0 12px 35px rgba(37,31,32,.08);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.document-download-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 45px rgba(37,31,32,.12);
}

.document-download-icon {
    display: grid;
    place-items: center;

    width: 68px;
    height: 68px;

    border-radius: 1.35rem;
    font-size: 2rem;
}

.inspection-document .document-download-icon {
    color: #9e2636;
    background: #f5e5e8;
}

.duty-document .document-download-icon {
    color: #5f8558;
    background: #e8f4ea;
}

.document-download-content h3 {
    margin-bottom: 12px;
    font-size: clamp(1.7rem, 3vw, 2.25rem);
}

.document-download-content > p:not(.document-label) {
    margin-bottom: 24px;
    color: var(--muted);
}

.document-label {
    margin: 0 0 7px;

    color: var(--burgundy);

    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.duty-document .document-label {
    color: #5f8558;
}

.duty-document-button {
    background: #6f9365;
    border-color: #6f9365;
}

.duty-document-button:hover {
    background: #5f8558;
    border-color: #5f8558;
}


/* TABLET AND MOBILE */

@media (max-width: 800px) {

    .document-download-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 520px) {

    .document-download-card {
        grid-template-columns: 1fr;
        padding: 27px;
    }

}
/* ========================================
   LIN GROUP PAGE
======================================== */

:root {
    --lin-teal: #45aeba;
    --lin-teal-dark: #337f89;
    --lin-soft: #e9f7f7;
    --lin-green: #6f9365;
    --redcroft: #9e2636;
    --redcroft-dark: #721725;
    --redcroft-soft: #f6e7e9;
    --redcroft-pale: #fcf6f7;
}

.lin-page-hero { padding: 76px 0 55px; }
.lin-hero-grid { display:grid; grid-template-columns:1fr .9fr; gap:55px; align-items:stretch; }
.lin-eyebrow { color:var(--lin-teal); font-weight:800; }
.lin-hero-content h1 { margin:12px 0 25px; font-size:clamp(3rem,6vw,5.3rem); line-height:1.02; letter-spacing:-.055em; }
.lin-hero-content h1 span { display:block; color:var(--lin-teal); }
.lin-hero-content > p:not(.lin-eyebrow) { color:var(--muted); max-width:680px; }
.lin-hero-panel { position:relative; min-height:440px; display:flex; align-items:flex-end; padding:35px; overflow:hidden; border-radius:2.5rem; background:linear-gradient(135deg,#337f89 0%,#45aeba 55%,#6f9365 100%); box-shadow:var(--shadow); }
.lin-hero-panel::before { content:""; position:absolute; width:280px; height:280px; right:-60px; top:-70px; border-radius:50%; background:rgba(255,255,255,.12); }
.lin-hero-message { position:relative; z-index:2; color:#fff; }
.lin-hero-small { display:block; margin-bottom:12px; color:#fff; font-size:.85rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.lin-hero-message strong { display:block; color:#fff; font-family:Georgia,serif; font-size:clamp(2.6rem,5vw,4.6rem); line-height:1.03; -webkit-text-stroke:1px #172033; text-shadow:0 2px 3px rgba(0,0,0,.3),0 4px 12px rgba(0,0,0,.18); }
.lin-primary-button { background:var(--lin-teal); border-color:var(--lin-teal); }
.lin-primary-button:hover { background:var(--lin-teal-dark); border-color:var(--lin-teal-dark); }
.lin-feature-section { padding-top:35px; }
.lin-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.lin-feature-card { padding:30px; background:#fff; border:1px solid rgba(69,174,186,.14); border-radius:2rem; box-shadow:0 8px 26px rgba(37,31,32,.06); transition:transform .25s ease,box-shadow .25s ease; }
.lin-feature-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.lin-feature-icon { width:55px; height:55px; display:grid; place-items:center; margin-bottom:22px; border-radius:18px; background:var(--lin-soft); color:var(--lin-teal); font-size:1.5rem; }
.lin-feature-card h3 { font-size:1.35rem; }
.lin-feature-card p { margin-bottom:0; color:var(--muted); }
.lin-content-section { position:relative; }
.lin-content-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; align-items:start; }
.lin-content-grid h2,.lin-split-panel h2 { font-size:clamp(2.4rem,4vw,3.6rem); letter-spacing:-.04em; }
.lin-copy p { color:#475569; font-size:1.04rem; }
.lin-highlight-copy { margin-top:28px; padding:25px 28px; background:var(--lin-soft); border-left:5px solid var(--lin-teal); border-radius:0 1.5rem 1.5rem 0; color:#23494d !important; font-weight:700; }
.lin-soft-section { background:linear-gradient(135deg,#eefafa,#f8fcfb); }
.lin-people-section { background:linear-gradient(135deg,#f7fbf6,#edf7ed); }
.lin-split-panel { display:grid; grid-template-columns:110px 1fr; gap:42px; }
.lin-split-panel > div:last-child { max-width:850px; }
.lin-split-panel p { color:#475569; }
.lin-number { width:90px; height:90px; display:grid; place-items:center; border-radius:28px; background:var(--lin-teal); color:#fff; font-size:1.5rem; font-weight:900; }
.lin-final-message { padding:50px; background:linear-gradient(135deg,#dff5f4,#eff9f3); border-radius:2.5rem; box-shadow:0 12px 40px rgba(37,31,32,.08); }
.lin-final-message h2 { margin-bottom:15px; font-size:clamp(2.4rem,4vw,3.6rem); }
.lin-final-message p:not(.lin-eyebrow) { max-width:730px; margin-bottom:27px; color:#475569; }
.lin-manager-section { background:#fff; }
.lin-manager-card { display:grid; grid-template-columns:1.35fr .65fr; gap:45px; align-items:stretch; padding:42px; overflow:hidden; border-radius:2.5rem; background:linear-gradient(135deg,#e9f7f7,#f5fbf7); box-shadow:0 14px 42px rgba(37,31,32,.09); }
.lin-manager-copy { align-self:center; }
.lin-manager-copy .lin-eyebrow { margin-bottom:18px; font-size:1rem; }
.lin-manager-quote,.lin-manager-quote-no-mark { position:relative; padding-left:0; }
.lin-manager-quote p { margin:0; color:#38535a; font-family:Georgia,serif; font-size:1.2rem; line-height:1.7; font-style:italic; }
.lin-manager-details { display:flex; flex-direction:column; gap:3px; margin-top:26px; padding-left:0; }
.lin-manager-details strong { color:#17363a; font-size:1.05rem; }
.lin-manager-details span { color:var(--muted); font-size:.92rem; }
.lin-manager-photo { min-height:330px; overflow:hidden; border-radius:2rem; background:var(--lin-teal); }
.lin-manager-photo img { display:block; width:100%; height:100%; min-height:330px; object-fit:cover; }

/* ========================================
   REDCROFT CARE SERVICES PAGE
======================================== */
.redcroft-page-hero { padding:76px 0 55px; }
.redcroft-hero-grid { display:grid; grid-template-columns:1fr .9fr; gap:55px; align-items:stretch; }
.redcroft-eyebrow { color:var(--redcroft); font-weight:800; }
.redcroft-hero-content h1 { margin:12px 0 25px; font-size:clamp(3rem,6vw,5.3rem); line-height:1.02; letter-spacing:-.055em; }
.redcroft-hero-content h1 span { display:block; color:var(--redcroft); }
.redcroft-hero-content > p:not(.redcroft-eyebrow) { max-width:680px; color:var(--muted); }
.redcroft-hero-panel { position:relative; min-height:440px; display:flex; align-items:flex-end; padding:38px; overflow:hidden; border-radius:2.5rem; background:linear-gradient(135deg,#641522 0%,#9e2636 56%,#cb735f 100%); box-shadow:var(--shadow); }
.redcroft-hero-panel::before { content:""; position:absolute; width:290px; height:290px; top:-80px; right:-65px; border-radius:50%; background:rgba(255,255,255,.12); }
.redcroft-hero-message { position:relative; z-index:2; color:#fff; }
.redcroft-hero-small { display:block; margin-bottom:14px; color:#fff; font-size:.85rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.redcroft-hero-message strong { display:block; color:#fff; font-family:Georgia,serif; font-size:clamp(2.7rem,5vw,4.7rem); line-height:1.04; text-shadow:0 3px 12px rgba(0,0,0,.18); }
.redcroft-primary-button { background:var(--redcroft); border-color:var(--redcroft); }
.redcroft-primary-button:hover { background:var(--redcroft-dark); border-color:var(--redcroft-dark); }
.redcroft-feature-section { padding-top:35px; }
.redcroft-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.redcroft-feature-card { padding:30px; background:#fff; border:1px solid rgba(158,38,54,.10); border-radius:2rem; box-shadow:0 8px 26px rgba(37,31,32,.06); transition:transform .25s ease,box-shadow .25s ease; }
.redcroft-feature-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.redcroft-feature-icon { width:55px; height:55px; display:grid; place-items:center; margin-bottom:22px; border-radius:18px; background:var(--redcroft-soft); color:var(--redcroft); font-size:1.5rem; }
.redcroft-feature-card h3 { font-size:1.35rem; }
.redcroft-feature-card p { margin-bottom:0; color:var(--muted); }
.redcroft-content-section { position:relative; }
.redcroft-content-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:start; }
.redcroft-content-grid h2,.redcroft-split-panel h2 { font-size:clamp(2.4rem,4vw,3.6rem); letter-spacing:-.04em; }
.redcroft-content-grid > div:first-child > p:not(.redcroft-eyebrow) { color:#475569; }
.redcroft-home-features { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.redcroft-home-feature { padding:25px; background:var(--redcroft-pale); border:1px solid rgba(158,38,54,.09); border-radius:1.6rem; }
.redcroft-home-feature strong { display:block; margin-bottom:8px; color:var(--redcroft); font-size:1.08rem; }
.redcroft-home-feature p { margin:0; color:#475569; }
.redcroft-highlight-copy { margin-top:36px; padding:26px 30px; background:var(--redcroft-soft); border-left:5px solid var(--redcroft); border-radius:0 1.5rem 1.5rem 0; color:#4a252c; font-weight:700; }
.redcroft-soft-section { background:linear-gradient(135deg,#fcf6f7,#f7e9eb); }
.redcroft-split-panel { display:grid; grid-template-columns:110px 1fr; gap:42px; }
.redcroft-split-panel > div:last-child { max-width:850px; }
.redcroft-split-panel p { color:#475569; }
.redcroft-number { width:90px; height:90px; display:grid; place-items:center; border-radius:28px; background:var(--redcroft); color:#fff; font-size:1.5rem; font-weight:900; }
.redcroft-approach-section { background:#fff; }
.redcroft-values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.redcroft-value-card { padding:30px; background:var(--redcroft-pale); border:1px solid rgba(158,38,54,.10); border-radius:2rem; transition:transform .25s ease,box-shadow .25s ease; }
.redcroft-value-card:hover { transform:translateY(-5px); box-shadow:0 14px 38px rgba(37,31,32,.09); }
.redcroft-value-number { display:inline-flex; margin-bottom:18px; color:var(--redcroft); font-size:.85rem; font-weight:900; letter-spacing:.08em; }
.redcroft-value-card h3 { color:var(--redcroft); font-size:1.45rem; }
.redcroft-value-card p { margin-bottom:0; color:#475569; }
.redcroft-approach-copy { max-width:850px; margin:35px 0 0; padding:24px 28px; border-left:5px solid var(--redcroft); border-radius:0 1.4rem 1.4rem 0; background:var(--redcroft-soft); color:#4a252c; font-weight:700; }
.redcroft-manager-section { background:var(--redcroft-pale); }
.redcroft-manager-card { display:grid; grid-template-columns:1.35fr .65fr; gap:45px; align-items:stretch; padding:42px; overflow:hidden; border-radius:2.5rem; background:linear-gradient(135deg,#f7e8ea,#fff8f8); box-shadow:0 14px 42px rgba(37,31,32,.09); }
.redcroft-manager-copy { align-self:center; }
.redcroft-manager-copy .redcroft-eyebrow { margin-bottom:18px; font-size:1rem; }
.redcroft-manager-message p { margin:0; color:#4b3439; font-family:Georgia,serif; font-size:1.2rem; line-height:1.7; font-style:italic; }
.redcroft-manager-details { display:flex; flex-direction:column; gap:3px; margin-top:26px; }
.redcroft-manager-details strong { color:var(--redcroft-dark); font-size:1.07rem; }
.redcroft-manager-details span { color:var(--muted); font-size:.92rem; }
.redcroft-manager-photo { min-height:330px; overflow:hidden; border-radius:2rem; background:var(--redcroft); }
.redcroft-manager-photo img { display:block; width:100%; height:100%; min-height:330px; object-fit:cover; }
.redcroft-final-message { padding:50px; border-radius:2.5rem; background:linear-gradient(135deg,#f4e2e5,#fff8f8); box-shadow:0 12px 40px rgba(37,31,32,.08); }
.redcroft-final-message h2 { margin-bottom:15px; font-size:clamp(2.4rem,4vw,3.6rem); }
.redcroft-final-message p:not(.redcroft-eyebrow) { max-width:730px; margin-bottom:27px; color:#475569; }

@media (max-width:900px) {
    .lin-hero-grid,.lin-content-grid,.redcroft-hero-grid,.redcroft-content-grid { grid-template-columns:1fr; }
    .lin-feature-grid,.redcroft-feature-grid,.redcroft-values-grid { grid-template-columns:1fr; }
    .lin-hero-panel,.redcroft-hero-panel { min-height:330px; }
    .lin-manager-card,.redcroft-manager-card { grid-template-columns:1fr; }
    .lin-manager-photo,.redcroft-manager-photo { min-height:360px; }
}

@media (max-width:600px) {
    .lin-page-hero,.redcroft-page-hero { padding-top:50px; }
    .lin-split-panel,.redcroft-split-panel { grid-template-columns:1fr; }
    .lin-number,.redcroft-number { width:70px; height:70px; border-radius:22px; }
    .lin-final-message,.redcroft-final-message { padding:30px; }
    .redcroft-home-features { grid-template-columns:1fr; }
    .lin-manager-card,.redcroft-manager-card { padding:28px; gap:30px; }
    .lin-manager-photo,.lin-manager-photo img,.redcroft-manager-photo,.redcroft-manager-photo img { min-height:280px; }
}
/* ========================================
   HEADER - MATCH LIN GROUP BRAND SIZE
======================================== */

.site-header .lingroup-name {
    display: block !important;
    margin-top: 4px !important;

    font-family: Georgia, serif !important;
    font-size: 1.65rem !important;
    font-weight: 700 !important;

    color: #45aeba !important;

    letter-spacing: 0 !important;
    line-height: 1.1 !important;
}

.site-header .lingroup-name:hover {
    color: #337f89 !important;
}
/* ========================================
   FINAL HEADER BRANDING FIX
======================================== */

/* Redcroft */

body .site-header .header-inner .brand .brand-name-new a.redcroft-name {
    display: block !important;
    margin: 0 !important;

    font-family: Georgia, serif !important;
    font-size: 1.65rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;

    color: #9e2636 !important;

    letter-spacing: 0 !important;
}


/* LiN Group */

body .site-header .header-inner .brand .brand-name-new a.lingroup-name {
    display: block !important;
    margin: 3px 0 0 0 !important;

    font-family: Georgia, serif !important;
    font-size: 1.65rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;

    color: #45aeba !important;

    letter-spacing: 0 !important;
}


/* LiN Group hover */

body .site-header .header-inner .brand .brand-name-new a.lingroup-name:hover {
    color: #337f89 !important;
}


/* Redcroft hover */

body .site-header .header-inner .brand .brand-name-new a.redcroft-name:hover {
    color: #7f1927 !important;
}
/* Redcroft page logo */

.redcroft-page-logo-image {
    display: block;
    width: auto;
    max-width: 230px;
    max-height: 105px;
    object-fit: contain;
}

@media (max-width: 600px) {

    .redcroft-page-logo-image {
        max-width: 185px;
        max-height: 90px;
    }

}
/* LiN Group page logo */

.lin-page-logo {
    display: flex;
    align-items: center;
    margin: 0 0 28px;
}

.lin-page-logo-image {
    display: block;
    width: auto;
    max-width: 230px;
    max-height: 105px;
    object-fit: contain;
}

@media (max-width: 600px) {

    .lin-page-logo-image {
        max-width: 185px;
        max-height: 90px;
    }

}
/* ========================================
   SERVICE DOCUMENT DOWNLOADS
======================================== */

.document-group + .document-group {
    margin-top: 50px;
}

.document-group-heading {
    margin-bottom: 20px;
}

.document-group-heading h3 {
    margin: 0;
    font-size: clamp(1.55rem, 3vw, 2rem);
}


/* LIN GROUP DOCUMENTS */

.lin-document {
    border-color: rgba(69, 174, 186, .18);
}

.lin-document .document-download-icon {
    color: #337f89;
    background: #e2f5f6;
}

.lin-document .document-label {
    color: #45aeba;
}

.lin-document-button {
    background: #45aeba !important;
    border-color: #45aeba !important;
    color: #ffffff !important;
}

.lin-document-button:hover {
    background: #337f89 !important;
    border-color: #337f89 !important;
}


/* REDCROFT DOCUMENTS */

.redcroft-document {
    border-color: rgba(158, 38, 54, .14);
}

.redcroft-document .document-download-icon {
    color: #9e2636;
    background: #f5e5e8;
}

.redcroft-document .document-label {
    color: #9e2636;
}

.redcroft-document-button {
    background: #9e2636 !important;
    border-color: #9e2636 !important;
    color: #ffffff !important;
}

.redcroft-document-button:hover {
    background: #7f1927 !important;
    border-color: #7f1927 !important;
}
/* ========================================
   CONTACT PAGE - TWO CONTACT OPTIONS
======================================== */

.contact-grid-two {
    grid-template-columns: repeat(2, 1fr);
}


/* ========================================
   SERVICE BROCHURES
======================================== */

.service-brochures-section {
    background: #f7f5f3;
}

.service-brochure-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
}

.service-brochure-card {
    padding: 38px;

    border-radius: 2.5rem;

    box-shadow:
        0 14px 40px rgba(37,31,32,.09);
}

.service-brochure-icon {
    display: grid;
    place-items: center;

    width: 70px;
    height: 70px;

    margin-bottom: 24px;

    border-radius: 1.4rem;

    font-size: 2rem;
}

.service-brochure-label {
    margin: 0 0 8px;

    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.service-brochure-content h2 {
    margin-bottom: 14px;

    font-size: clamp(1.9rem, 3vw, 2.6rem);
}

.service-brochure-content > p:not(.service-brochure-label) {
    margin-bottom: 26px;
}


/* LIN GROUP */

.lin-brochure-card {
    background: linear-gradient(
        135deg,
        #e2f5f6,
        #f4fbfb
    );

    border: 1px solid rgba(69,174,186,.18);
}

.lin-brochure-card .service-brochure-icon {
    color: #337f89;
    background: rgba(69,174,186,.14);
}

.lin-brochure-card .service-brochure-label {
    color: #45aeba;
}

.lin-brochure-button {
    background: #45aeba !important;
    border-color: #45aeba !important;
    color: #ffffff !important;
}

.lin-brochure-button:hover {
    background: #337f89 !important;
    border-color: #337f89 !important;
}


/* REDCROFT */

.redcroft-brochure-card {
    background: linear-gradient(
        135deg,
        #f5e5e8,
        #fff8f8
    );

    border: 1px solid rgba(158,38,54,.14);
}

.redcroft-brochure-card .service-brochure-icon {
    color: #9e2636;
    background: rgba(158,38,54,.10);
}

.redcroft-brochure-card .service-brochure-label {
    color: #9e2636;
}

.redcroft-brochure-button {
    background: #9e2636 !important;
    border-color: #9e2636 !important;
    color: #ffffff !important;
}

.redcroft-brochure-button:hover {
    background: #7f1927 !important;
    border-color: #7f1927 !important;
}


/* MOBILE */

@media (max-width: 800px) {

    .contact-grid-two,
    .service-brochure-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 520px) {

    .service-brochure-card {
        padding: 28px;
    }

}
/* ========================================
   CONTACT PAGE - TWO CONTACT CARDS
======================================== */

.contact-grid-two {
    grid-template-columns: repeat(2, 1fr);
}


/* ========================================
   CONTACT PAGE - SERVICE BROCHURES
======================================== */

.service-brochures-section {
    background: #f7f5f3;
}

.service-brochure-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
}

.service-brochure-card {
    padding: 38px;

    border-radius: 2.5rem;

    box-shadow:
        0 14px 40px rgba(37,31,32,.09);
}

.service-brochure-icon {
    display: grid;
    place-items: center;

    width: 70px;
    height: 70px;

    margin-bottom: 24px;

    border-radius: 1.4rem;

    font-size: 2rem;
}

.service-brochure-label {
    margin: 0 0 8px;

    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.service-brochure-content h2 {
    margin-bottom: 14px;

    font-size: clamp(1.9rem, 3vw, 2.6rem);
}

.service-brochure-content > p:not(.service-brochure-label) {
    margin-bottom: 26px;
}


/* LIN GROUP - BLUE / TEAL */

.lin-brochure-card {
    background: linear-gradient(
        135deg,
        #e2f5f6,
        #f4fbfb
    );

    border: 1px solid rgba(69,174,186,.18);
}

.lin-brochure-card .service-brochure-icon {
    color: #337f89;
    background: rgba(69,174,186,.14);
}

.lin-brochure-card .service-brochure-label {
    color: #45aeba;
}

.lin-brochure-button {
    background: #45aeba !important;
    border-color: #45aeba !important;
    color: #ffffff !important;
}

.lin-brochure-button:hover {
    background: #337f89 !important;
    border-color: #337f89 !important;
}


/* REDCROFT - BURGUNDY */

.redcroft-brochure-card {
    background: linear-gradient(
        135deg,
        #f5e5e8,
        #fff8f8
    );

    border: 1px solid rgba(158,38,54,.14);
}

.redcroft-brochure-card .service-brochure-icon {
    color: #9e2636;
    background: rgba(158,38,54,.10);
}

.redcroft-brochure-card .service-brochure-label {
    color: #9e2636;
}

.redcroft-brochure-button {
    background: #9e2636 !important;
    border-color: #9e2636 !important;
    color: #ffffff !important;
}

.redcroft-brochure-button:hover {
    background: #7f1927 !important;
    border-color: #7f1927 !important;
}


/* MOBILE */

@media (max-width: 800px) {

    .contact-grid-two,
    .service-brochure-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 520px) {

    .service-brochure-card {
        padding: 28px;
    }

}
/* ========================================
   ABOUT US PAGE
======================================== */

:root {
    --about-red: #9e2636;
    --about-red-dark: #721725;
    --about-teal: #45aeba;
    --about-teal-dark: #337f89;
    --about-soft-red: #f7e8ea;
    --about-soft-teal: #e9f7f7;
}


/* ========================================
   ABOUT HERO
======================================== */

.about-page-hero {
    padding: 80px 0 65px;
    overflow: hidden;
}

.about-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 55px;
    align-items: stretch;
}

.about-eyebrow {
    margin-bottom: 12px;
    color: var(--about-red);
    font-size: .88rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.about-hero-content h1 {
    max-width: 760px;
    margin: 0 0 28px;

    font-size: clamp(3rem, 6vw, 5.2rem);
    line-height: 1.02;
    letter-spacing: -.055em;
}

.about-hero-content h1 span {
    display: block;
    color: var(--about-teal);
}

.about-hero-content .lead {
    max-width: 760px;
}


/* HERO FEATURE PANEL */

.about-hero-panel {
    position: relative;

    min-height: 430px;
    padding: 40px;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    overflow: hidden;

    color: #ffffff;

    border-radius: 2.5rem;

    background:
        linear-gradient(
            145deg,
            #721725 0%,
            #9e2636 40%,
            #337f89 100%
        );

    box-shadow:
        0 18px 55px rgba(37,31,32,.12);
}

.about-hero-panel::before {
    content: "";

    position: absolute;
    top: -90px;
    right: -70px;

    width: 300px;
    height: 300px;

    border-radius: 50%;

    background: rgba(255,255,255,.10);
}

.about-hero-panel span,
.about-hero-panel strong {
    position: relative;
    z-index: 2;
}

.about-hero-panel span {
    margin-bottom: 14px;

    font-size: .85rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.about-hero-panel strong {
    font-family: Georgia, serif;
    font-size: clamp(2.8rem, 5vw, 4.7rem);
    line-height: 1.03;
}


/* ========================================
   WHO WE ARE
======================================== */

.about-intro-section {
    background: #ffffff;
}

.about-intro-grid {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 70px;
    align-items: start;
}

.about-intro-grid h2 {
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    letter-spacing: -.04em;
}

.about-copy {
    max-width: 850px;
}

.about-copy > p {
    color: #475569;
    font-size: 1.05rem;
}

.about-highlight {
    margin-top: 30px;
    padding: 30px;

    border-left: 5px solid var(--about-teal);
    border-radius: 0 1.6rem 1.6rem 0;

    background:
        linear-gradient(
            135deg,
            var(--about-soft-teal),
            #f7fcfc
        );
}

.about-highlight strong {
    display: block;

    margin-bottom: 8px;

    color: #23494d;
    font-size: 1.18rem;
}

.about-highlight p {
    margin: 0;
    color: #475569;
}


/* ========================================
   OUR STORY TIMELINE
======================================== */

.about-story-section {
    background:
        linear-gradient(
            135deg,
            #faf7f6,
            #f7fbfb
        );
}

.about-timeline {
    position: relative;

    display: grid;
    gap: 30px;

    max-width: 1000px;
}

.about-timeline::before {
    content: "";

    position: absolute;
    top: 20px;
    bottom: 20px;
    left: 54px;

    width: 3px;

    background:
        linear-gradient(
            to bottom,
            var(--about-red),
            var(--about-teal)
        );
}

.about-timeline-item {
    position: relative;

    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 34px;

    align-items: start;
}

.about-timeline-year {
    position: relative;
    z-index: 2;

    width: 108px;
    min-height: 82px;

    display: grid;
    place-items: center;

    padding: 12px;

    border-radius: 25px;

    background: var(--about-red);
    color: #ffffff;

    font-size: 1.15rem;
    font-weight: 900;

    box-shadow:
        0 10px 28px rgba(158,38,54,.20);
}

.about-timeline-lin .about-timeline-year {
    background: var(--about-teal);
    box-shadow:
        0 10px 28px rgba(69,174,186,.20);
}

.about-timeline-today .about-timeline-year {
    background:
        linear-gradient(
            135deg,
            var(--about-red),
            var(--about-teal)
        );
}

.about-timeline-content {
    padding: 32px;

    background: #ffffff;

    border: 1px solid rgba(37,31,32,.07);
    border-radius: 2rem;

    box-shadow:
        0 10px 32px rgba(37,31,32,.06);
}

.about-timeline-label {
    margin: 0 0 8px;

    color: var(--about-red);

    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.about-timeline-lin .about-timeline-label {
    color: var(--about-teal-dark);
}

.about-timeline-content h3 {
    margin-bottom: 20px;
    font-size: 1.55rem;
}

.about-timeline-content p {
    color: #475569;
}

.about-timeline-emphasis {
    margin-top: 24px !important;
    padding: 18px 22px;

    background: var(--about-soft-red);

    border-radius: 1.3rem;

    color: #4f2630 !important;
    font-weight: 700;
}


/* ========================================
   MANAGING DIRECTOR PROFILE
======================================== */

.about-director-section {
    background: #ffffff;
}

.about-director-card {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 50px;

    padding: 42px;

    border-radius: 2.5rem;

    background:
        linear-gradient(
            135deg,
            #f7e8ea,
            #f4fbfb
        );

    box-shadow:
        0 14px 42px rgba(37,31,32,.09);
}

.about-director-photo {
    min-height: 430px;

    overflow: hidden;

    border-radius: 2rem;

    background:
        linear-gradient(
            135deg,
            var(--about-red),
            var(--about-teal)
        );
}

.about-director-photo img {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 430px;

    object-fit: cover;
}

.about-director-copy {
    align-self: center;
}

.about-director-copy h2 {
    margin-bottom: 5px;

    font-size: clamp(2.4rem, 4vw, 3.5rem);
}

.about-profile-title {
    margin: 0 0 22px;

    color: var(--about-red);

    font-weight: 900;
}

.about-profile-bio p {
    color: #475569;
}

.about-photo-placeholder {
    width: 100%;
    min-height: inherit;
    height: 100%;

    display: grid;
    place-items: center;

    padding: 30px;

    color: rgba(255,255,255,.9);

    font-weight: 800;
    text-align: center;
}


/* ========================================
   MANAGING DIRECTOR MESSAGE
======================================== */

.about-director-message-section {
    background: #f8f6f5;
}

.about-director-message {
    position: relative;

    max-width: 1000px;

    padding: 48px;

    border-radius: 2.5rem;

    background: #ffffff;

    box-shadow:
        0 14px 40px rgba(37,31,32,.08);
}

.about-director-message::before {
    content: "“";

    position: absolute;
    top: 25px;
    right: 38px;

    color: rgba(69,174,186,.18);

    font-family: Georgia, serif;
    font-size: 8rem;
    line-height: 1;
}

.about-director-quote {
    position: relative;
    z-index: 2;

    max-width: 850px;
}

.about-director-quote p {
    color: #3f444d;

    font-family: Georgia, serif;
    font-size: 1.17rem;
    line-height: 1.8;
}

.about-director-signature {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;

    margin-top: 28px;
}

.about-director-signature strong {
    color: var(--about-red);
    font-size: 1.08rem;
}

.about-director-signature span {
    color: #64748b;
}


/* ========================================
   LEADERSHIP TEAM
======================================== */

.about-leadership-section {
    background: #ffffff;
}

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

.about-leader-card {
    overflow: hidden;

    display: flex;
    flex-direction: column;

    background: #ffffff;

    border: 1px solid rgba(37,31,32,.08);
    border-radius: 2rem;

    box-shadow:
        0 10px 32px rgba(37,31,32,.07);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.about-leader-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 18px 45px rgba(37,31,32,.12);
}

.about-leader-card:nth-child(2) {
    border-top: 5px solid var(--about-teal);
}

.about-leader-card:nth-child(1),
.about-leader-card:nth-child(3) {
    border-top: 5px solid var(--about-red);
}

.about-leader-photo {
    min-height: 320px;

    background:
        linear-gradient(
            135deg,
            #f5e5e8,
            #e5f6f7
        );
}

.about-leader-photo img {
    display: block;

    width: 100%;
    height: 320px;

    object-fit: cover;
}

.about-leader-photo .about-photo-placeholder {
    min-height: 320px;

    color: #64748b;
}

.about-leader-content {
    flex: 1;

    padding: 28px;
}

.about-leader-content h3 {
    margin-bottom: 5px;
    font-size: 1.5rem;
}

.about-leader-content .about-profile-title {
    margin-bottom: 18px;
}

.about-leader-card:nth-child(2) .about-profile-title {
    color: var(--about-teal-dark);
}


/* ========================================
   COMMITMENT
======================================== */

.about-commitment-section {
    background:
        linear-gradient(
            135deg,
            #f8edef,
            #eefafa
        );
}

.about-commitment-card {
    max-width: 1000px;

    padding: 48px;

    border-radius: 2.5rem;

    background: #ffffff;

    box-shadow:
        0 14px 40px rgba(37,31,32,.08);
}

.about-commitment-card h2 {
    max-width: 800px;

    font-size: clamp(2.4rem, 4vw, 3.6rem);
    letter-spacing: -.04em;
}

.about-commitment-card > p {
    max-width: 850px;
    color: #475569;
}

.about-commitment-highlight {
    margin-top: 28px;
    padding: 25px 28px;

    border-radius: 1.5rem;

    background:
        linear-gradient(
            135deg,
            var(--about-red),
            var(--about-teal-dark)
        );

    color: #ffffff;

    font-size: 1.2rem;
}


/* ========================================
   FINAL CTA
======================================== */

.about-final-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;

    padding: 45px;

    overflow: hidden;

    border-radius: 2.5rem;

    background:
        linear-gradient(
            135deg,
            #f5e5e8,
            #e6f6f7
        );

    box-shadow:
        0 12px 40px rgba(37,31,32,.08);
}

.about-final-cta h2 {
    margin-bottom: 10px;

    font-size: clamp(2.2rem, 4vw, 3.3rem);
}

.about-final-cta p:not(.about-eyebrow) {
    max-width: 700px;
    margin-bottom: 0;
    color: #475569;
}

.about-final-cta .button {
    flex-shrink: 0;
}


/* ========================================
   TABLET
======================================== */

@media (max-width: 900px) {

    .about-hero-grid,
    .about-intro-grid,
    .about-director-card {
        grid-template-columns: 1fr;
    }

    .about-hero-panel {
        min-height: 330px;
    }

    .about-director-photo {
        min-height: 400px;
    }

    .about-leadership-grid {
        grid-template-columns: 1fr;
    }

    .about-leader-card {
        display: grid;
        grid-template-columns: .7fr 1.3fr;
    }

    .about-leader-photo,
    .about-leader-photo img {
        min-height: 100%;
        height: 100%;
    }

}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 650px) {

    .about-page-hero {
        padding: 55px 0 45px;
    }

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

    .about-timeline-item {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .about-timeline-year {
        width: fit-content;
        min-width: 90px;
        min-height: 62px;

        border-radius: 20px;
    }

    .about-timeline-content {
        padding: 27px;
    }

    .about-director-card {
        padding: 28px;
        gap: 30px;
    }

    .about-director-photo,
    .about-director-photo img {
        min-height: 320px;
    }

    .about-director-message,
    .about-commitment-card {
        padding: 30px;
    }

    .about-director-message::before {
        font-size: 6rem;
        right: 20px;
    }

    .about-leader-card {
        display: flex;
    }

    .about-leader-photo,
    .about-leader-photo img {
        height: 300px;
        min-height: 300px;
    }

    .about-final-cta {
        display: block;
        padding: 30px;
    }

    .about-final-cta .button {
        margin-top: 25px;
    }

}
/* ========================================
   CONTACT PAGE INTERACTIVE MAP
======================================== */

.map-wrap {
    position: relative;
    width: 100%;
    margin-top: 28px;
    overflow: hidden;

    background: #ffffff;
    border-radius: 18px;

    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.10);
}


/* LEAFLET MAP CONTAINER */

#red-care-map {
    position: relative;
    z-index: 1;

    width: 100%;
    height: 500px;

    background: #e9efed;
}


/* MAP CAPTION */

.map-caption {
    position: relative;
    z-index: 2;

    padding: 20px 24px;

    background: #ffffff;
}


/* REMOVE THE DEFAULT DIV ICON APPEARANCE */

.red-care-map-marker-container {
    background: transparent;
    border: 0;
}


/* COMPLETE MARKER */

.red-care-map-marker {
    position: relative;

    display: flex;
    align-items: center;

    width: 160px;
    min-height: 52px;
}


/* SOLID LOCATION CIRCLE */

.red-care-marker-dot {
    position: absolute;
    top: 15px;
    left: 2px;
    z-index: 3;

    display: block;

    width: 22px;
    height: 22px;

    background: #1d8f98;
    border: 4px solid #ffffff;
    border-radius: 50%;

    box-sizing: border-box;

    box-shadow:
        0 0 0 3px rgba(0, 0, 0, 0.18),
        0 3px 10px rgba(0, 0, 0, 0.25);
}


/* PULSING OUTER CIRCLE */

.red-care-marker-pulse {
    position: absolute;
    top: 10px;
    left: -3px;
    z-index: 2;

    display: block;

    width: 32px;
    height: 32px;

    background: rgba(29, 143, 152, 0.22);
    border: 2px solid #1d8f98;
    border-radius: 50%;

    box-sizing: border-box;

    animation: redCareLocationPulse 2s infinite;
}


@keyframes redCareLocationPulse {

    0% {
        transform: scale(0.65);
        opacity: 1;
    }

    100% {
        transform: scale(1.75);
        opacity: 0;
    }

}


/* WE ARE HERE LABEL */

.red-care-marker-label {
    position: absolute;
    top: 4px;
    left: 34px;
    z-index: 4;

    display: flex;
    flex-direction: column;

    min-width: 105px;
    padding: 7px 12px;

    background: #ffffff;
    color: #222222;

    border: 1px solid rgba(0, 0, 0, 0.10);
    border-radius: 12px;

    line-height: 1.15;
    white-space: nowrap;

    box-shadow:
        0 4px 14px rgba(0, 0, 0, 0.20);
}


.red-care-marker-label strong {
    display: block;

    color: #222222;

    font-size: 13px;
    font-weight: 800;
}


.red-care-marker-label small {
    display: block;

    margin-top: 3px;

    color: #1d8f98;

    font-size: 11px;
    font-weight: 700;
}


/* LEAFLET CONTROLS */

#red-care-map .leaflet-control-zoom {
    border: 0;

    box-shadow:
        0 4px 15px rgba(0, 0, 0, 0.15);
}


#red-care-map .leaflet-control-zoom a {
    color: #1d8f98;
}


/* MOBILE */

@media (max-width: 700px) {

    #red-care-map {
        height: 420px;
    }

    .map-caption {
        padding: 17px 18px;
    }

    .red-care-marker-label {
        min-width: 88px;
        padding: 6px 9px;
    }

    .red-care-marker-label strong {
        font-size: 11px;
    }

    .red-care-marker-label small {
        font-size: 10px;
    }

}
/* ========================================
   REDCROFT MANAGER PHOTO - WIDER FIX
======================================== */

@media (min-width: 901px) {

    .redcroft-manager-card {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .redcroft-manager-photo {
        width: 100%;
        min-width: 0;
        min-height: 380px;

        overflow: hidden;
        border-radius: 2rem;
    }

    .redcroft-manager-photo img {
        display: block;

        width: 100%;
        height: 100%;
        min-height: 380px;

        object-fit: cover;
        object-position: center;
    }

}
/* ========================================
   NEWS PAGE
======================================== */

.news-page-hero {
    background:
        linear-gradient(
            135deg,
            #fff8f8 0%,
            #f7fbfb 100%
        );
}


/* NEWS GRID */

.news-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 30px;

    align-items: start;
}


/* ========================================
   NEWS CARD
======================================== */

.news-card {
    overflow: hidden;

    border-radius: 2.5rem;

    box-shadow:
        0 12px 35px rgba(37,31,32,.09);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.news-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 45px rgba(37,31,32,.13);
}


/* ========================================
   REDCROFT CARD
======================================== */

.news-card-redcroft {
    background:
        linear-gradient(
            135deg,
            #f5e5e8,
            #fff8f8
        );

    border:
        1px solid rgba(158,38,54,.12);
}


/* ========================================
   LIN GROUP CARD
======================================== */

.news-card-lin {
    background:
        linear-gradient(
            135deg,
            #e2f5f6,
            #f4fbfb
        );

    border:
        1px solid rgba(69,174,186,.18);
}


/* ========================================
   NEWS IMAGE
======================================== */

.news-card-image {
    width: 100%;
    height: 300px;

    overflow: hidden;

    background: #eeeeee;
}


.news-card-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .4s ease;
}


.news-card:hover .news-card-image img {
    transform: scale(1.035);
}


/* ========================================
   NEWS CONTENT
======================================== */

.news-card-content {
    padding: 34px;
}


.news-card-brand {

    margin:
        0 0 4px;

    font-size: .82rem;

    font-weight: 900;

    letter-spacing: .08em;

    text-transform: uppercase;
}


.news-card-redcroft
.news-card-brand {
    color: #9e2636;
}


.news-card-lin
.news-card-brand {
    color: #337f89;
}


/* DATE */

.news-card-date {

    margin:
        0 0 18px;

    color: #64748b;

    font-size: .86rem;

    font-weight: 700;
}


/* HEADLINE */

.news-card-content h2 {

    margin-bottom: 16px;

    font-size:
        clamp(
            1.8rem,
            3vw,
            2.5rem
        );
}


/* PREVIEW */

.news-card-preview {

    color: #475569;

    font-size: 1.02rem;
}


.news-card-preview p:last-child {
    margin-bottom: 0;
}


/* ========================================
   EXPANDED NEWS
======================================== */

.news-card-full {

    margin-top: 24px;
    padding-top: 22px;

    border-top:
        1px solid rgba(37,31,32,.10);

    color: #475569;
}


.news-card-full[hidden] {
    display: none;
}


.news-card-full p:first-child {
    margin-top: 0;
}


.news-card-full p:last-child {
    margin-bottom: 0;
}


/* ========================================
   SHOW MORE BUTTON
======================================== */

.news-show-more {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    margin-top: 26px;

    padding:
        12px 22px;

    border-radius: 999px;

    color: #ffffff;

    font-family: inherit;

    font-size: .92rem;

    font-weight: 800;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease;
}


/* REDCROFT BUTTON */

.news-card-redcroft
.news-show-more {

    background: #9e2636;

    border:
        1px solid #9e2636;
}


.news-card-redcroft
.news-show-more:hover {

    background: #7f1927;

    border-color: #7f1927;

    transform:
        translateY(-2px);
}


/* LIN GROUP BUTTON */

.news-card-lin
.news-show-more {

    background: #45aeba;

    border:
        1px solid #45aeba;
}


.news-card-lin
.news-show-more:hover {

    background: #337f89;

    border-color: #337f89;

    transform:
        translateY(-2px);
}


/* KEYBOARD FOCUS */

.news-show-more:focus-visible {

    outline:
        3px solid rgba(69,174,186,.28);

    outline-offset: 4px;
}


/* ========================================
   NO NEWS MESSAGE
======================================== */

.news-empty {

    padding: 45px;

    border-radius: 2.5rem;

    background:
        linear-gradient(
            135deg,
            #f5e5e8,
            #e6f6f7
        );

    box-shadow:
        0 12px 35px rgba(37,31,32,.08);
}


.news-empty h2 {

    margin-bottom: 12px;

    font-size:
        clamp(
            2rem,
            4vw,
            3rem
        );
}


.news-empty p:last-child {

    max-width: 650px;

    margin-bottom: 0;

    color: #475569;
}


/* ========================================
   TABLET / MOBILE
======================================== */

@media (max-width: 800px) {

    .news-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 600px) {

    .news-card {
        border-radius: 2rem;
    }

    .news-card-image {
        height: 240px;
    }

    .news-card-content {
        padding: 27px;
    }

    .news-empty {
        padding: 30px;
    }

}
/* ========================================
   NEWS PAGE - FINAL LAYOUT FIX
======================================== */


/* Prevent cards breaking outside the grid */

.news-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    align-items: start;
}


/* Card itself */

.news-card {
    min-width: 0;
    width: 100%;
    overflow: hidden;
}


/* Content must stay inside card */

.news-card-content {
    min-width: 0;
    overflow: hidden;
}


/* Headlines must wrap */

.news-card-content h2 {
    width: 100%;
    max-width: 100%;

    overflow-wrap: anywhere;
    word-break: normal;

    line-height: 1.15;
}


/* Preview */

.news-card-preview {
    width: 100%;
    max-width: 100%;

    color: #475569;

    overflow-wrap: anywhere;
}


.news-card-preview p {
    margin: 0;
}


/* ========================================
   EXPANDED STORY
======================================== */

.news-card-full {
    width: 100%;
    max-width: 100%;

    margin-top: 6px;
    padding-top: 20px;

    border-top: 1px solid rgba(37,31,32,.10);

    color: #475569;

    overflow-wrap: anywhere;
}


.news-card-full[hidden] {
    display: none !important;
}


.news-card-preview[hidden] {
    display: none !important;
}


/* Paragraph spacing */

.news-card-full p {
    max-width: 100%;

    margin-top: 0;
    margin-bottom: 18px;

    line-height: 1.7;
}


/* ========================================
   IMAGES INSIDE EXPANDED NEWS STORIES
======================================== */

.news-card-full img {
    display: block;

    width: 100%;
    max-width: 100%;
    height: auto;

    margin: 24px 0;

    border-radius: 1.4rem;

    object-fit: cover;
}


/* Gutenberg image blocks */

.news-card-full figure,
.news-card-full .wp-block-image {
    width: 100%;
    max-width: 100%;

    margin: 24px 0;
}


.news-card-full figure img,
.news-card-full .wp-block-image img {
    display: block;

    width: 100%;
    max-width: 100%;
    height: auto;

    border-radius: 1.4rem;
}


/* Image captions */

.news-card-full figcaption {
    margin-top: 8px;

    color: #64748b;

    font-size: .85rem;
}


/* ========================================
   LONG LINKS / TEXT
======================================== */

.news-card-full a {
    overflow-wrap: anywhere;
}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 800px) {

    .news-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 600px) {

    .news-card-content {
        padding: 27px;
    }

    .news-card-content h2 {
        font-size: 1.8rem;
    }

}
/* ========================================
   NEWS CARD TITLE - FINAL WRAPPING FIX
======================================== */

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

.news-card {
    width: 100%;
    min-width: 0;
}

.news-card-content {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.news-card-content h2 {
    display: block;

    width: auto;
    min-width: 0;
    max-width: 100%;

    margin: 0 0 16px;

    font-size: clamp(1.7rem, 2.5vw, 2.25rem);
    line-height: 1.18;

    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;

    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    word-break: normal !important;
}


/* Make sure paragraphs also stay inside */

.news-card-content p,
.news-card-preview,
.news-card-full {
    width: 100%;
    min-width: 0;
    max-width: 100%;

    white-space: normal !important;
    overflow-wrap: break-word;
}


/* Tablet */

@media (max-width: 1000px) {

    .news-card-content h2 {
        font-size: 1.8rem;
    }

}


/* Mobile */

@media (max-width: 800px) {

    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-card-content h2 {
        font-size: 1.8rem;
    }

}
/* ========================================
   NEWS CARD TITLE - FINAL WRAPPING FIX
======================================== */

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

.news-card {
    width: 100%;
    min-width: 0;
}

.news-card-content {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.news-card-content h2 {
    display: block;

    width: auto;
    min-width: 0;
    max-width: 100%;

    margin: 0 0 16px;

    font-size: clamp(1.7rem, 2.5vw, 2.25rem);
    line-height: 1.18;

    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;

    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    word-break: normal !important;
}


/* Make sure paragraphs also stay inside */

.news-card-content p,
.news-card-preview,
.news-card-full {
    width: 100%;
    min-width: 0;
    max-width: 100%;

    white-space: normal !important;
    overflow-wrap: break-word;
}


/* Tablet */

@media (max-width: 1000px) {

    .news-card-content h2 {
        font-size: 1.8rem;
    }

}


/* Mobile */

@media (max-width: 800px) {

    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-card-content h2 {
        font-size: 1.8rem;
    }

}
/* ========================================
   NEWS CARDS - NORMAL TEXT WRAPPING FIX
======================================== */

.news-card,
.news-card-content,
.news-card-preview,
.news-card-full {
    min-width: 0;
    max-width: 100%;
}


/* HEADLINES */

.news-card-content h2 {
    white-space: normal !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;

    max-width: 100%;

    font-size: clamp(1.7rem, 2.4vw, 2.2rem);
    line-height: 1.18;
}


/* NORMAL PARAGRAPH TEXT */

.news-card-content p,
.news-card-preview p,
.news-card-full p {
    white-space: normal !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;

    max-width: 100%;
}


/* FULL STORY */

.news-card-full {
    overflow: visible !important;
}


/* Only break genuinely huge links if necessary */

.news-card-full a {
    overflow-wrap: break-word;
}


/* MOBILE */

@media (max-width: 800px) {

    .news-grid {
        grid-template-columns: 1fr;
    }

}
/* ========================================
   NEWS OVERVIEW AND FULL POSTS - FINAL
======================================== */


/* ========================================
   NEWS OVERVIEW GRID
======================================== */

.news-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px !important;
    align-items: start !important;
}


/* NEWS CARD */

.news-grid .news-card {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    overflow: hidden !important;

    border-radius: 2.5rem !important;

    box-shadow:
        0 12px 35px rgba(37,31,32,.09) !important;

    transition:
        transform .25s ease,
        box-shadow .25s ease !important;
}


.news-grid .news-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 45px rgba(37,31,32,.13) !important;
}


/* CARD COLOURS */

.news-grid .news-card-lin {
    background:
        linear-gradient(
            135deg,
            #e2f5f6,
            #f4fbfb
        ) !important;

    border:
        1px solid rgba(69,174,186,.18) !important;
}


.news-grid .news-card-redcroft {
    background:
        linear-gradient(
            135deg,
            #f5e5e8,
            #fff8f8
        ) !important;

    border:
        1px solid rgba(158,38,54,.14) !important;
}


/* ========================================
   CARD FEATURED IMAGE
======================================== */

.news-grid .news-card-image {
    display: block !important;

    width: 100% !important;
    height: 300px !important;

    overflow: hidden !important;

    background: #eeeeee;
}


.news-grid .news-card-image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;

    transition: transform .4s ease;
}


.news-grid .news-card:hover .news-card-image img {
    transform: scale(1.035);
}


/* ========================================
   CARD CONTENT
======================================== */

.news-grid .news-card-content {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    padding: 34px !important;

    overflow: visible !important;
}


/* BRAND */

.news-grid .news-card-brand {
    margin: 0 0 4px !important;

    font-size: .82rem !important;
    font-weight: 900 !important;

    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}


.news-grid .news-card-lin .news-card-brand {
    color: #337f89 !important;
}


.news-grid .news-card-redcroft .news-card-brand {
    color: #9e2636 !important;
}


/* DATE */

.news-grid .news-card-date {
    margin: 0 0 18px !important;

    color: #64748b !important;

    font-size: .86rem !important;
    font-weight: 700 !important;
}


/* TITLE */

.news-grid .news-card-content h2 {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 0 16px !important;

    font-size: clamp(1.55rem, 2vw, 1.9rem) !important;
    line-height: 1.18 !important;
    letter-spacing: -.02em !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;

    overflow: visible !important;
}


.news-grid .news-card-content h2 a {
    display: block;

    color: #0f172a;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}


/* PREVIEW */

.news-grid .news-card-preview {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}


.news-grid .news-card-preview p {
    margin: 0 !important;

    color: #475569 !important;

    font-size: 1rem !important;
    line-height: 1.7 !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}


/* ========================================
   READ FULL STORY BUTTON
======================================== */

.news-read-more {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    margin-top: 26px;

    padding: 12px 22px;

    border-radius: 999px;

    color: #ffffff !important;

    font-size: .92rem;
    font-weight: 800;

    transition:
        background .2s ease,
        transform .2s ease;
}


.news-card-lin .news-read-more {
    background: #45aeba;
    border: 1px solid #45aeba;
}


.news-card-lin .news-read-more:hover {
    background: #337f89;
    border-color: #337f89;

    transform: translateY(-2px);
}


.news-card-redcroft .news-read-more {
    background: #9e2636;
    border: 1px solid #9e2636;
}


.news-card-redcroft .news-read-more:hover {
    background: #7f1927;
    border-color: #7f1927;

    transform: translateY(-2px);
}


/* ========================================
   FULL NEWS POST
======================================== */

.single-news {
    min-height: 70vh;
}


/* HERO */

.single-news-hero {
    padding: 55px 0 65px;

    border-bottom:
        1px solid rgba(37,31,32,.07);
}


.single-news-lin .single-news-hero {
    background:
        linear-gradient(
            135deg,
            #e2f5f6,
            #f7fcfc
        );
}


.single-news-redcroft .single-news-hero {
    background:
        linear-gradient(
            135deg,
            #f5e5e8,
            #fffafa
        );
}


/* BACK LINK */

.single-news-back {
    display: inline-flex;

    margin-bottom: 35px;

    color: #475569;

    font-size: .95rem;
    font-weight: 800;

    transition:
        color .2s ease,
        transform .2s ease;
}


.single-news-back:hover {
    transform: translateX(-4px);
}


.single-news-lin .single-news-back:hover {
    color: #337f89;
}


.single-news-redcroft .single-news-back:hover {
    color: #9e2636;
}


/* ARTICLE HEADING */

.single-news-heading {
    max-width: 950px;
}


.single-news-brand {
    margin: 0 0 6px;

    font-size: .86rem;
    font-weight: 900;

    letter-spacing: .09em;
    text-transform: uppercase;
}


.single-news-lin .single-news-brand {
    color: #337f89;
}


.single-news-redcroft .single-news-brand {
    color: #9e2636;
}


.single-news-date {
    margin: 0 0 22px;

    color: #64748b;

    font-size: .92rem;
    font-weight: 700;
}


.single-news-heading h1 {
    max-width: 950px;

    margin: 0;

    font-size: clamp(2.7rem, 5.5vw, 5.2rem);
    line-height: 1.04;
    letter-spacing: -.05em;

    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
}


.single-news-introduction {
    max-width: 800px;

    margin: 28px 0 0;

    color: #475569;

    font-size: 1.2rem;
    line-height: 1.7;
}


/* ========================================
   ARTICLE PANEL
======================================== */

.single-news-section {
    background: #fbfaf8;
}


.single-news-article {
    max-width: 1000px;

    margin: 0 auto;
    padding: 42px;

    overflow: hidden;

    background: #ffffff;

    border-radius: 2.5rem;

    box-shadow:
        0 14px 45px rgba(37,31,32,.09);
}


.single-news-lin .single-news-article {
    border-top: 6px solid #45aeba;
}


.single-news-redcroft .single-news-article {
    border-top: 6px solid #9e2636;
}


/* FEATURED IMAGE */

.single-news-featured-image {
    width: 100%;

    margin-bottom: 42px;

    overflow: hidden;

    border-radius: 2rem;

    background: #eeeeee;
}


.single-news-featured-image img {
    display: block;

    width: 100%;
    height: auto;

    max-height: 650px;

    object-fit: cover;
}


/* ========================================
   ARTICLE TYPOGRAPHY
======================================== */

.single-news-content {
    max-width: 820px;

    margin: 0 auto;

    color: #334155;

    font-size: 1.08rem;
    line-height: 1.8;
}


.single-news-content > *:first-child {
    margin-top: 0;
}


.single-news-content p {
    margin: 0 0 24px;
}


.single-news-content h2 {
    margin: 42px 0 18px;

    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.15;
}


.single-news-content h3 {
    margin: 34px 0 16px;

    font-size: clamp(1.55rem, 3vw, 2.1rem);
    line-height: 1.2;
}


.single-news-lin .single-news-content h2,
.single-news-lin .single-news-content h3 {
    color: #337f89;
}


.single-news-redcroft .single-news-content h2,
.single-news-redcroft .single-news-content h3 {
    color: #9e2636;
}


/* ARTICLE IMAGES */

.single-news-content img {
    display: block;

    width: 100%;
    max-width: 100%;
    height: auto;

    margin: 32px 0;

    border-radius: 1.5rem;
}


.single-news-content figure,
.single-news-content .wp-block-image {
    width: 100%;
    max-width: 100%;

    margin: 32px 0;
}


.single-news-content figure img,
.single-news-content .wp-block-image img {
    margin: 0;
}


.single-news-content figcaption {
    margin-top: 10px;

    color: #64748b;

    font-size: .86rem;
    text-align: center;
}


/* LISTS */

.single-news-content ul,
.single-news-content ol {
    margin: 0 0 25px;
    padding-left: 28px;
}


.single-news-content li {
    margin-bottom: 9px;
}


/* QUOTES */

.single-news-content blockquote {
    margin: 35px 0;
    padding: 25px 30px;

    border-radius: 0 1.5rem 1.5rem 0;

    font-family: Georgia, serif;
    font-size: 1.18rem;
    font-style: italic;
}


.single-news-lin .single-news-content blockquote {
    background: #e9f7f7;
    border-left: 5px solid #45aeba;
}


.single-news-redcroft .single-news-content blockquote {
    background: #f7e8ea;
    border-left: 5px solid #9e2636;
}


/* ========================================
   BOTTOM BACK BUTTON
======================================== */

.single-news-footer {
    max-width: 820px;

    margin: 45px auto 0;
    padding-top: 30px;

    border-top:
        1px solid rgba(37,31,32,.10);
}


.single-news-back-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 13px 23px;

    border-radius: 999px;

    color: #ffffff !important;

    font-weight: 800;

    transition:
        background .2s ease,
        transform .2s ease;
}


.single-news-lin .single-news-back-button {
    background: #45aeba;
    border: 1px solid #45aeba;
}


.single-news-lin .single-news-back-button:hover {
    background: #337f89;

    transform: translateY(-2px);
}


.single-news-redcroft .single-news-back-button {
    background: #9e2636;
    border: 1px solid #9e2636;
}


.single-news-redcroft .single-news-back-button:hover {
    background: #7f1927;

    transform: translateY(-2px);
}


/* ========================================
   TABLET AND MOBILE
======================================== */

@media (max-width: 800px) {

    .news-grid {
        grid-template-columns: 1fr !important;
    }

    .single-news-article {
        padding: 32px;
    }

}


@media (max-width: 600px) {

    .news-grid .news-card-image {
        height: 240px !important;
    }

    .news-grid .news-card-content {
        padding: 27px !important;
    }

    .news-grid .news-card-content h2 {
        font-size: 1.7rem !important;
    }

    .single-news-hero {
        padding: 40px 0 48px;
    }

    .single-news-heading h1 {
        font-size: 2.6rem;
    }

    .single-news-introduction {
        font-size: 1.05rem;
    }

    .single-news-article {
        padding: 24px;

        border-radius: 2rem;
    }

    .single-news-featured-image {
        margin-bottom: 30px;

        border-radius: 1.4rem;
    }

    .single-news-content {
        font-size: 1rem;
    }

}
/* ========================================
   SINGLE NEWS POST - WORD WRAPPING FIX
======================================== */

/* Main article content area */

.single-news-content {
    display: block !important;

    width: 100% !important;
    max-width: 820px !important;
    min-width: 0 !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;

    white-space: normal !important;
    overflow: visible !important;
}


/* Force everything inside the article
   to respect the article width */

.single-news-content * {
    box-sizing: border-box !important;
    max-width: 100% !important;
}


/* Normal paragraphs */

.single-news-content p {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 0 24px !important;

    white-space: normal !important;

    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;

    line-height: 1.8 !important;

    overflow: visible !important;
}


/* Gutenberg containers */

.single-news-content .wp-block-group,
.single-news-content .wp-block-columns,
.single-news-content .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* Stop Gutenberg wide/full blocks escaping
   outside the article */

.single-news-content .alignwide,
.single-news-content .alignfull {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Headings */

.single-news-content h2,
.single-news-content h3,
.single-news-content h4 {
    width: 100% !important;
    max-width: 100% !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}


/* Images stay inside article */

.single-news-content img {
    display: block !important;

    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
}


/* Gutenberg image blocks */

.single-news-content figure,
.single-news-content .wp-block-image {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Lists */

.single-news-content ul,
.single-news-content ol {
    width: 100% !important;
    max-width: 100% !important;

    padding-left: 28px !important;
}


/* Links that are exceptionally long */

.single-news-content a {
    overflow-wrap: break-word !important;
}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 650px) {

    .single-news-content {
        max-width: 100% !important;
    }

    .single-news-content p {
        font-size: 1rem !important;
        line-height: 1.7 !important;
    }

}
/* ========================================
   SINGLE NEWS ARTICLE - SAFE FINAL FIX
======================================== */

/* Do not clip article content */
.single-news-article {
    overflow: visible !important;
}

/* Keep the reading column contained */
.single-news-content {
    display: block !important;
    width: 100% !important;
    max-width: 820px !important;
    min-width: 0 !important;

    margin-left: auto !important;
    margin-right: auto !important;
}

/* Normal paragraph wrapping */
.single-news-content p {
    display: block !important;

    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;

    overflow: visible !important;
}

/* Gutenberg paragraph blocks */
.single-news-content .wp-block-paragraph {
    width: auto !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* Prevent Gutenberg groups carrying wide page dimensions */
.single-news-content .wp-block-group,
.single-news-content .wp-block-columns,
.single-news-content .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Remove wide/full alignment from article content */
.single-news-content .alignwide,
.single-news-content .alignfull {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Keep headings inside the article */
.single-news-content h1,
.single-news-content h2,
.single-news-content h3,
.single-news-content h4,
.single-news-content h5,
.single-news-content h6 {
    width: auto !important;
    max-width: 100% !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* Keep images safely contained */
.single-news-content figure,
.single-news-content .wp-block-image {
    width: 100% !important;
    max-width: 100% !important;
}

.single-news-content img {
    max-width: 100% !important;
    height: auto !important;
}

/* Only allow very long URLs to break */
.single-news-content a {
    overflow-wrap: break-word !important;
}

@media (max-width: 650px) {

    .single-news-content {
        max-width: 100% !important;
    }

}
/* ========================================
   SINGLE NEWS POST - CONTAIN TEXT PROPERLY
======================================== */

/* Main white article card */
body.single-post .single-news-article {
    width: 100% !important;
    max-width: 1000px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 42px !important;

    box-sizing: border-box !important;

    overflow: hidden !important;
}


/* Actual article reading column */
body.single-post .single-news-content {
    display: block !important;

    width: 100% !important;
    max-width: 820px !important;
    min-width: 0 !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 0 !important;

    box-sizing: border-box !important;
}


/* Reset WordPress blocks inside the article */
body.single-post .single-news-content > * {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Normal paragraphs */
body.single-post .single-news-content p {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin-top: 0 !important;
    margin-bottom: 24px !important;

    padding: 0 !important;

    white-space: normal !important;

    overflow: visible !important;

    overflow-wrap: normal !important;
    word-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;

    line-height: 1.8 !important;
}


/* Gutenberg paragraph */
body.single-post .single-news-content .wp-block-paragraph {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* Gutenberg groups */
body.single-post .single-news-content .wp-block-group,
body.single-post .single-news-content .wp-block-group__inner-container {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Columns */
body.single-post .single-news-content .wp-block-columns,
body.single-post .single-news-content .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Remove wide/full Gutenberg positioning */
body.single-post .single-news-content .alignwide,
body.single-post .single-news-content .alignfull {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    left: auto !important;
    right: auto !important;
}


/* Headings */
body.single-post .single-news-content h1,
body.single-post .single-news-content h2,
body.single-post .single-news-content h3,
body.single-post .single-news-content h4,
body.single-post .single-news-content h5,
body.single-post .single-news-content h6 {
    width: 100% !important;
    max-width: 100% !important;

    white-space: normal !important;

    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}


/* Lists */
body.single-post .single-news-content ul,
body.single-post .single-news-content ol {
    width: 100% !important;
    max-width: 100% !important;

    padding-left: 28px !important;

    box-sizing: border-box !important;
}


/* Images */
body.single-post .single-news-content figure,
body.single-post .single-news-content .wp-block-image {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


body.single-post .single-news-content img {
    display: block !important;

    width: auto !important;
    max-width: 100% !important;
    height: auto !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* Bottom navigation */
body.single-post .single-news-footer {
    width: 100% !important;
    max-width: 820px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* ========================================
   TABLET / MOBILE
======================================== */

@media (max-width: 800px) {

    body.single-post .single-news-article {
        padding: 30px !important;
    }

    body.single-post .single-news-content {
        max-width: 100% !important;
    }

}


@media (max-width: 600px) {

    body.single-post .single-news-article {
        padding: 22px !important;
    }

    body.single-post .single-news-content {
        font-size: 1rem !important;
    }

}
/* ========================================
   NEWS ARTICLE - WIDER BOX FINAL FIX
======================================== */

/* Allow the News article section to be wider
   than the normal site content */
body.single-post .single-news-section > .wrap {
    width: min(1450px, calc(100% - 40px)) !important;
    max-width: 1450px !important;
}


/* Make the white article box wider */
body.single-post .single-news-article {
    width: 100% !important;
    max-width: 1400px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 50px 70px !important;

    box-sizing: border-box !important;

    overflow: hidden !important;
}


/* Widen the actual text area */
body.single-post .single-news-content {
    width: 100% !important;
    max-width: 1200px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 0 !important;

    box-sizing: border-box !important;
}


/* Make paragraphs fit inside the wider area */
body.single-post .single-news-content p {
    width: 100% !important;
    max-width: 100% !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;

    box-sizing: border-box !important;
}


/* Featured image matches the wider article */
body.single-post .single-news-featured-image {
    width: 100% !important;
    max-width: 1200px !important;

    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 42px !important;
}


/* Back button lines up with article text */
body.single-post .single-news-footer {
    width: 100% !important;
    max-width: 1200px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* TABLET */
@media (max-width: 900px) {

    body.single-post .single-news-article {
        padding: 40px !important;
    }

}


/* MOBILE */
@media (max-width: 600px) {

    body.single-post .single-news-section > .wrap {
        width: calc(100% - 24px) !important;
    }

    body.single-post .single-news-article {
        padding: 24px !important;
    }

    body.single-post .single-news-content,
    body.single-post .single-news-featured-image,
    body.single-post .single-news-footer {
        max-width: 100% !important;
    }

}
/* ========================================
   COMPANY EVENT NEWS THEME
======================================== */

/* COMPANY EVENT CARD */

.news-card-company {
    background:
        linear-gradient(
            135deg,
            #f5e5e8 0%,
            #f4fbfb 50%,
            #e2f5f6 100%
        ) !important;

    border:
        1px solid rgba(92, 108, 130, .18) !important;
}


/* COMPANY EVENT LABEL */

.news-card-company .news-card-brand {
    color: #7b5267 !important;
}


/* COMPANY EVENT BUTTON */

.news-card-company .news-read-more {
    background:
        linear-gradient(
            135deg,
            #9e2636 0%,
            #744d68 50%,
            #337f89 100%
        ) !important;

    border: 0 !important;
    color: #ffffff !important;
}


.news-card-company .news-read-more:hover {
    background:
        linear-gradient(
            135deg,
            #7f1927 0%,
            #66445c 50%,
            #286a73 100%
        ) !important;

    transform: translateY(-2px);
}


/* ========================================
   COMPANY EVENT FULL ARTICLE HERO
======================================== */

.single-news-company .single-news-hero {
    background:
        linear-gradient(
            135deg,
            #f5e5e8 0%,
            #f8f7f8 50%,
            #e2f5f6 100%
        ) !important;
}


/* COMPANY EVENT LABEL */

.single-news-company .single-news-brand {
    color: #7b5267 !important;
}


/* COMPANY EVENT ARTICLE ACCENT */

.single-news-company .single-news-article {
    border-top:
        6px solid #7b5267 !important;
}


/* COMPANY EVENT ARTICLE HEADINGS */

.single-news-company .single-news-content h2,
.single-news-company .single-news-content h3 {
    color: #7b5267 !important;
}


/* COMPANY EVENT QUOTES */

.single-news-company .single-news-content blockquote {
    background:
        linear-gradient(
            135deg,
            #f7e8ea,
            #e9f7f7
        ) !important;

    border-left:
        5px solid #7b5267 !important;
}


/* COMPANY EVENT TOP BACK LINK */

.single-news-company .single-news-back:hover {
    color: #7b5267 !important;
}


/* COMPANY EVENT BOTTOM BUTTON */

.single-news-company .single-news-back-button {
    background:
        linear-gradient(
            135deg,
            #9e2636 0%,
            #744d68 50%,
            #337f89 100%
        ) !important;

    border: 0 !important;
    color: #ffffff !important;
}


.single-news-company .single-news-back-button:hover {
    background:
        linear-gradient(
            135deg,
            #7f1927 0%,
            #66445c 50%,
            #286a73 100%
        ) !important;

    transform: translateY(-2px);
}
/* =========================================================
   RED CARE SERVICES - ACCESSIBILITY PANEL
   ========================================================= */

/* Floating accessibility button */

.rc-accessibility-launcher {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 9998;

    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 13px 18px;

    border: 0;
    border-radius: 999px;

    background: #9e2636;
    color: #ffffff;

    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 800;

    cursor: pointer;

    box-shadow:
        0 10px 30px rgba(37,31,32,.25);

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.rc-accessibility-launcher:hover {
    background: #7f1927;
    transform: translateY(-2px);

    box-shadow:
        0 14px 35px rgba(37,31,32,.30);
}

.rc-accessibility-launcher:focus-visible {
    outline: 4px solid #45aeba;
    outline-offset: 4px;
}

.rc-accessibility-icon {
    font-size: 1.25rem;
}


/* =========================================================
   ACCESSIBILITY PANEL
   ========================================================= */

.rc-accessibility-panel {
    position: fixed;
    right: 20px;
    bottom: 82px;
    z-index: 9999;

    width: min(370px, calc(100vw - 40px));
    max-height: calc(100vh - 120px);
    overflow-y: auto;

    padding: 0;

    background: #ffffff;
    color: #172033;

    border:
        1px solid rgba(37,31,32,.10);

    border-radius: 1.8rem;

    box-shadow:
        0 20px 60px rgba(37,31,32,.25);
}

.rc-accessibility-panel[hidden] {
    display: none !important;
}


/* =========================================================
   PANEL HEADER
   ========================================================= */

.rc-accessibility-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding: 22px 24px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #9e2636 0%,
            #744d68 50%,
            #337f89 100%
        );
}

.rc-accessibility-title {
    margin: 0;

    color: #ffffff;

    font-size: 1.25rem;
    line-height: 1.2;
}

.rc-accessibility-close {
    display: grid;
    place-items: center;

    width: 38px;
    height: 38px;

    flex-shrink: 0;

    padding: 0;

    border:
        1px solid rgba(255,255,255,.35);

    border-radius: 50%;

    background:
        rgba(255,255,255,.12);

    color: #ffffff;

    font-size: 1.25rem;

    cursor: pointer;
}

.rc-accessibility-close:hover {
    background:
        rgba(255,255,255,.22);
}

.rc-accessibility-close:focus-visible {
    outline: 3px solid #ffffff;
    outline-offset: 3px;
}


/* =========================================================
   PANEL BODY
   ========================================================= */

.rc-accessibility-body {
    padding: 22px;
}

.rc-accessibility-description {
    margin:
        0 0 20px;

    color: #475569;

    font-size: .92rem;
}


/* =========================================================
   CONTROL GROUPS
   ========================================================= */

.rc-accessibility-group {
    padding:
        0 0 20px;

    margin:
        0 0 20px;

    border-bottom:
        1px solid rgba(37,31,32,.10);
}

.rc-accessibility-group:last-of-type {
    margin-bottom: 0;
}

.rc-accessibility-group-title {
    display: block;

    margin-bottom: 12px;

    color: #334155;

    font-size: .8rem;
    font-weight: 900;

    letter-spacing: .07em;
    text-transform: uppercase;
}


/* =========================================================
   ACCESSIBILITY BUTTONS
   ========================================================= */

.rc-accessibility-controls {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;
}

.rc-accessibility-control {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-height: 48px;

    padding:
        10px 12px;

    border:
        1px solid #d7dde5;

    border-radius: 14px;

    background: #ffffff;
    color: #172033;

    font-family: inherit;
    font-size: .88rem;
    font-weight: 800;

    text-align: center;

    cursor: pointer;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.rc-accessibility-control:hover {
    border-color: #9e2636;

    background: #fff7f8;

    color: #9e2636;
}

.rc-accessibility-control:focus-visible {
    outline:
        3px solid rgba(69,174,186,.45);

    outline-offset: 3px;
}

.rc-accessibility-control.is-active {
    background: #9e2636;
    border-color: #9e2636;

    color: #ffffff;
}


/* =========================================================
   LISTEN BUTTON
   ========================================================= */

.rc-accessibility-listen {
    grid-column: 1 / -1;

    background: #9e2636;
    border-color: #9e2636;

    color: #ffffff;
}

.rc-accessibility-listen:hover {
    background: #7f1927;
    border-color: #7f1927;

    color: #ffffff;
}


/* =========================================================
   RESET BUTTON
   ========================================================= */

.rc-accessibility-reset {
    width: 100%;

    margin-top: 4px;

    background: #f7f5f3;
}


/* =========================================================
   TEXT SIZE MODES
   ========================================================= */

html.rc-text-large {
    font-size: 112.5%;
}

html.rc-text-larger {
    font-size: 125%;
}


/* =========================================================
   READABLE FONT MODE
   ========================================================= */

body.rc-readable-font,
body.rc-readable-font *:not(.dashicons) {
    font-family:
        Arial,
        Verdana,
        sans-serif !important;
}

body.rc-readable-font {
    letter-spacing: .015em;
}


/* =========================================================
   HIGHLIGHT LINKS MODE
   ========================================================= */

body.rc-highlight-links a:not(.rc-accessibility-launcher) {
    text-decoration: underline !important;
    text-decoration-thickness: 3px !important;
    text-underline-offset: 4px !important;
}

body.rc-highlight-links main a {
    background: #fff3a6 !important;
    color: #111111 !important;

    padding:
        2px 4px !important;

    border-radius: 3px;
}


/* =========================================================
   HIGH CONTRAST MODE
   ========================================================= */

body.rc-high-contrast {
    background: #000000 !important;
    color: #ffffff !important;
}

body.rc-high-contrast main,
body.rc-high-contrast section,
body.rc-high-contrast article,
body.rc-high-contrast .section,
body.rc-high-contrast .page-content,
body.rc-high-contrast .page-hero {
    background: #000000 !important;
    color: #ffffff !important;
}

body.rc-high-contrast h1,
body.rc-high-contrast h2,
body.rc-high-contrast h3,
body.rc-high-contrast h4,
body.rc-high-contrast h5,
body.rc-high-contrast h6,
body.rc-high-contrast p,
body.rc-high-contrast li,
body.rc-high-contrast strong,
body.rc-high-contrast span {
    color: #ffffff !important;
}

body.rc-high-contrast main a {
    color: #ffff00 !important;
}

body.rc-high-contrast .card,
body.rc-high-contrast .testimonial,
body.rc-high-contrast .news-card,
body.rc-high-contrast .single-news-article,
body.rc-high-contrast .service-choice,
body.rc-high-contrast .document-download-card,
body.rc-high-contrast .about-timeline-content,
body.rc-high-contrast .about-leader-card,
body.rc-high-contrast .about-director-card,
body.rc-high-contrast .lin-manager-card,
body.rc-high-contrast .redcroft-manager-card {
    background: #111111 !important;

    color: #ffffff !important;

    border-color: #ffffff !important;
}


/* Keep accessibility panel readable
   even when contrast mode is enabled */

body.rc-high-contrast
.rc-accessibility-panel {
    background: #ffffff !important;
    color: #172033 !important;
}

body.rc-high-contrast
.rc-accessibility-panel p,
body.rc-high-contrast
.rc-accessibility-panel span,
body.rc-high-contrast
.rc-accessibility-panel strong {
    color: #172033 !important;
}

body.rc-high-contrast
.rc-accessibility-header,
body.rc-high-contrast
.rc-accessibility-header * {
    color: #ffffff !important;
}


/* =========================================================
   REDUCE MOTION MODE
   ========================================================= */

body.rc-reduce-motion *,
body.rc-reduce-motion *::before,
body.rc-reduce-motion *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .rc-accessibility-launcher {
        right: 12px;
        bottom: 12px;

        padding:
            12px 15px;
    }

    .rc-accessibility-panel {
        right: 12px;
        bottom: 72px;

        width:
            calc(100vw - 24px);

        max-height:
            calc(100vh - 100px);

        border-radius: 1.5rem;
    }

    .rc-accessibility-header {
        padding:
            19px 20px;
    }

    .rc-accessibility-body {
        padding: 18px;
    }

}


/* =========================================================
   VERY SMALL SCREENS
   ========================================================= */

@media (max-width: 380px) {

    .rc-accessibility-controls {
        grid-template-columns: 1fr;
    }

    .rc-accessibility-listen {
        grid-column: auto;
    }

}


/* =========================================================
   RESPECT VISITOR SYSTEM MOTION SETTING
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;

        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;

        transition-duration: .01ms !important;
    }

}