:root {
    --lrs-navy: #14264B;
    --lrs-navy-dark: #0E1C39;
    --lrs-teal: #6FA896;
    --lrs-teal-dark: #5A9682;
    --lrs-text: #333333;
    --lrs-muted: #6c757d;
    --lrs-light: #F7F7F2;
}

body {
    font-family: "Playfair Display", Georgia, serif;
    /*'Helvetica Neue', Helvetica, Arial, sans-serif;*/
    color: var(--lrs-text);
}

h1, h2, h3, h4 {
    font-family: "Playfair Display", Georgia, serif;
    color: var(--lrs-navy);
}

/* ---------- Navbar ---------- */
.lrs-navbar {
    background-color: #fff;
    padding: 1rem 0;
}

.lrs-navbar .navbar-brand img {
    height: 44px;
    width: auto;
}

.lrs-navbar .nav-link {
    color: var(--lrs-navy);
    font-weight: 600;
    letter-spacing: 0.08em;
    font-size: clamp(1.2825rem, 1.485vw, 1.62rem);
    text-transform: uppercase;
    margin: 0 0.6rem;
}

.lrs-navbar .nav-link:hover {
    color: var(--lrs-teal);
}

.lrs-navbar .nav-link.cta {
    color: var(--lrs-teal);
}

/* Hide Bootstrap's default dropdown caret on the navbar trigger */
.lrs-navbar .nav-link.dropdown-toggle::after {
    display: none;
}

/* ---------- Navbar "About" mega-menu ---------- */
.lrs-mega-menu {
    min-width: 560px;
    border: none;
    border-radius: 8px;
    box-shadow: 0 8px 30px rgba(20, 38, 75, 0.15);
    padding: 0;
    margin-top: 0.5rem;
}

.lrs-mega-menu-inner {
    display: flex;
    padding: 1.75rem 2rem;
    gap: 2rem;
}

.lrs-mega-menu-desc,
.lrs-mega-menu-links {
    flex: 1;
}

.lrs-mega-menu-desc {
    border-right: 1px solid #e5e5e5;
    padding-right: 2rem;
}

.lrs-mega-menu-desc .lrs-eyebrow,
.lrs-mega-menu-links .lrs-eyebrow {
    display: block;
    margin-bottom: 0.85rem;
    font-size: 0.95rem;
}

.lrs-mega-menu-desc p {
    color: var(--lrs-text);
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
}

.lrs-mega-menu-link {
    display: block;
    color: var(--lrs-navy);
    text-decoration: none;
    padding: 0.4rem 0;
    font-size: 1rem;
    transition: color 0.15s ease;
}

.lrs-mega-menu-link:hover,
.lrs-mega-menu-link:focus {
    color: var(--lrs-teal);
}

/* On mobile (collapsed navbar), stack the two columns vertically */
@media (max-width: 991.98px) {
    .lrs-mega-menu {
        min-width: auto;
        width: 100%;
        box-shadow: none;
    }
    .lrs-mega-menu-inner {
        flex-direction: column;
        gap: 1.25rem;
        padding: 1rem 1.25rem;
    }
    .lrs-mega-menu-desc {
        border-right: none;
        border-bottom: 1px solid #e5e5e5;
        padding-right: 0;
        padding-bottom: 1.25rem;
    }
}

/* Hover-triggered dropdown (used on the navbar "Home" item).
   Clicking the trigger still navigates because there's no data-bs-toggle. */
@media (min-width: 992px) {
    .lrs-hover-dropdown:hover > .dropdown-menu {
        display: block;
    }
    /* No gap between trigger and menu so the mouse doesn't lose :hover
       when traveling from one to the other. */
    .lrs-hover-dropdown > .dropdown-menu {
        margin-top: 0;
    }
}

/* On collapsed mobile navbar, just inline the menu so users can reach the links */
@media (max-width: 991.98px) {
    .lrs-hover-dropdown > .dropdown-menu {
        display: block;
        position: static;
        border: none;
        box-shadow: none;
        margin-top: 0;
    }
}

/* Smooth in-page scrolling for anchor links + offset under sticky navbar */
html {
    scroll-behavior: smooth;
}

#overview, #footprint, #leadership, #values, #legacy, #partner,
#intro, #agency, #difference, #partners,
#featured, #latest, #more {
    scroll-margin-top: 90px;
}

/* ---------- Hero ---------- */
.lrs-hero {
    background-color: var(--lrs-navy);
    background-image: url('../images/PowerofLRS_background_only.webp');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    min-height: 70vh;
    width: 100%;
    display: flex;
    align-items: center;
}

.lrs-hero-title {
    color: #fff;
    font-family: "Playfair Display", Georgia, 'Times New Roman', serif;
    font-size: clamp(2.25rem, 8vw, 7rem);
    font-weight: 400;
    line-height: 1.15;
    margin: 0;
    text-align: left;
}

.lrs-hero-title em {
    font-style: italic;
    color: #fff;
}

/* Hero overlay text animation */
.lrs-hero-line {
    display: block;
    opacity: 0;
    animation-duration: 2.0s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}

.lrs-hero-line.line-1 {
    animation-name: lrs-fade-in-from-right;
    animation-delay: 0.2s;
}

.lrs-hero-line.line-2 {
    animation-name: lrs-fade-in-from-left;
    animation-delay: 0.6s;
}

@keyframes lrs-fade-in-from-right {
    from { opacity: 0; transform: translateX(80px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes lrs-fade-in-from-left {
    from { opacity: 0; transform: translateX(-80px); }
    to   { opacity: 1; transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
    .lrs-hero-line {
        opacity: 1;
        animation: none;
        transform: none;
    }
}


/* ---------- Section heading ---------- */
.lrs-section-heading {
    margin-bottom: 1.5rem;
    font-size: clamp(1.75rem, 4.5vw, 3.5rem);
    font-weight: 500;
    text-decoration: underline;
    text-decoration-color: var(--lrs-teal);
    text-decoration-thickness: 4px;
    text-underline-offset: 0.7rem;
    text-decoration-skip-ink: none;
}

.lrs-section-dark .lrs-section-heading {
    color: #fff;
}

/* ---------- Stats bar ---------- */
.lrs-stats-wrap {
    margin-top: -4rem;
    position: relative;
    z-index: 2;
}

/* Full-width navy band that fills the bottom half of the stats section,
   making the teal pill visually bridge the white section above and the
   navy section below. */
.lrs-stats-section {
    background: linear-gradient(to bottom, transparent 50%, var(--lrs-navy) 50%);
}

.lrs-stats {
    background-color: var(--lrs-teal);
    color: #fff;
    border-radius: 2rem;
    padding: 1.5rem 3rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.lrs-stats .stat-label {
    color: #fff;
    font-family: "Lora", serif;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.2;
}

.lrs-stats .stat-value {
    color: var(--lrs-navy);
    font-family: "Lora", serif;
    font-size: 4.0rem;
    font-weight: 650;
    line-height: 1;
    margin-top: 0.75rem;
}

@media (max-width: 575px) {
    .lrs-stats {
        border-radius: 2rem;
        padding: 1.75rem 1.25rem;
    }
}

/* ---------- Section spacing ---------- */
.lrs-section {
    padding: 5rem 0;
}

.lrs-section-dark {
    background-color: var(--lrs-navy);
    color: #fff;
    padding: 5rem 0;
}

.lrs-section-dark p {
    color: rgba(255,255,255,0.85);
}

.lrs-section-muted {
    background-color: var(--lrs-light);
}

.lrs-section p,
.lrs-section-dark p,
.lrs-map-text p {
    font-size: 1.3rem;
}

/* ---------- Difference cards ---------- */
.lrs-card {
    border: 1.5px solid var(--lrs-navy);
    border-radius: 10px;
    padding: 1.5rem;
    height: 100%;
    background-color: #fff;
}

.lrs-card .card-title-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.lrs-card .card-icon {
    color: var(--lrs-teal);
    font-size: 1.25rem;
}

.lrs-card h5 {
    color: var(--lrs-navy);
    font-weight: 700;
    font-size: 1.05rem;
    margin: 0;
}

.lrs-card p {
    color: var(--lrs-muted);
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
}

/* Larger header + icon for the "Our Values" cards on the About page.
   Scoped to .lrs-section-muted so the homepage's "Legacy Difference"
   cards keep their original size. */
.lrs-section-muted .lrs-card h5 {
    font-size: 1.47rem;   /* +40% over 1.05rem */
}

.lrs-section-muted .lrs-card .card-icon {
    font-size: 1.75rem;   /* +40% over 1.25rem */
}

/* ---------- Reveal-on-scroll (fade + rise) ---------- */
.lrs-fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 3.0s ease-out, transform 2.0s ease-out;
    will-change: opacity, transform;
}

.lrs-fade-in.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .lrs-fade-in,
    .lrs-fade-in.is-visible {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ---------- Map / Top 25 ---------- */
.lrs-map-card {
    background-color: var(--lrs-navy);
    color: #fff;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    min-height: 360px;
}

.lrs-map-image {
    flex: 1.4;
    overflow: hidden;
    min-height: 500px;
}

.lrs-map-leaflet {
    width: 100%;
    height: 100%;
    min-height: 500px;
}

/* Member-agency marker (LRS teal circle icon) */
.lrs-member-marker {
    cursor: pointer;
    filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.35));
    transition: transform 0.15s ease;
    transform-origin: center center;
}

.lrs-member-marker:hover {
    transform: scale(1.2);
    z-index: 1000 !important; /* lift above neighbors when hovered */
}

/* Branded hover tooltip — rendered on <body> so it escapes the
   map's overflow:hidden clipping and remains fully visible. */
.lrs-map-tooltip {
    position: absolute;
    z-index: 9999;
    background: #fff;
    color: var(--lrs-navy);
    font-family: "Lora", serif;
    font-size: 0.63rem; /* 30% smaller than the previous 0.9rem */
    line-height: 1.4;
    border: 1px solid var(--lrs-teal);
    border-radius: 6px;
    padding: 0.4rem 0.6rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    max-width: 240px;
    white-space: normal;
    pointer-events: none;
    opacity: 0;
    transform: translate(-50%, calc(-100% - 18px));
    transition: opacity 0.15s ease;
}

.lrs-map-tooltip.is-visible {
    opacity: 1;
}

.lrs-map-tooltip strong {
    color: var(--lrs-navy);
    display: block;
    margin-bottom: 0.2rem;
}

/* Small triangle pointing down toward the marker */
.lrs-map-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-top-color: var(--lrs-teal);
}

.lrs-map-text {
    flex: 1;
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.lrs-map-text h3 {
    color: #fff;
    font-weight: 400;
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    margin-bottom: 1rem;
}

.lrs-map-text p {
    color: rgba(255,255,255,0.85);
    margin-bottom: 1.5rem;
}

@media (max-width: 767px) {
    .lrs-map-card { flex-direction: column; }
    .lrs-map-image { min-height: 240px; }
}

/* ---------- Buttons ---------- */
.btn-lrs-outline {
    border: 1.5px solid var(--lrs-teal);
    color: var(--lrs-teal);
    border-radius: 30px;
    padding: 0.5rem 1.75rem;
    background-color: transparent;
    text-transform: none;
    font-weight: 500;
    transition: all .2s ease;
}

.btn-lrs-outline:hover {
    background-color: var(--lrs-teal);
    color: #fff;
}

/* ---------- Quote (inside the dark Leadership section) ---------- */
.lrs-quote {
    text-align: left;
    margin-top: 3rem;
}

.lrs-quote .quote-mark {
    color: var(--lrs-teal);
    font-family: Georgia, serif;
    font-size: 1.4em;
    line-height: 0;
    vertical-align: -0.18em;
    margin: 0 0.1em;
}

.lrs-quote blockquote {
    font-size: clamp(1rem, 1.6vw, 1.25rem);
    color: #fff;
    line-height: 1.6;
    /*
    max-width: 780px;
    margin: 0 auto 1.5rem;
    padding: 0 1rem;
    */
}

.lrs-quote blockquote strong {
    color: var(--lrs-teal);
    font-weight: 600;
}

.lrs-quote .quote-attribution {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.7);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

/* ---------- Leadership photo ---------- */
.lrs-photo-placeholder {
    background: linear-gradient(135deg, #2a3a5e 0%, #1a294c 100%);
    border-radius: 8px;
    min-height: 380px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.5);
    font-style: italic;
}

.lrs-leadership-photo {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
}

/* ---------- Partners marquee ---------- */
.lrs-partners-marquee {
    width: 100%;
    overflow: hidden;
    margin-top: 2.5rem;
    padding: 1rem 0;
    /* Soft fade at the left/right edges so logos appear/disappear cleanly */
    -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
            mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}

.lrs-partners-track {
    display: flex;
    align-items: center;
    gap: 3.5rem;
    width: max-content;
    /* Logos move left, creating the visual of items scrolling across screen. */
    animation: lrs-marquee 60s linear infinite;
}

.lrs-partners-marquee:hover .lrs-partners-track {
    animation-play-state: paused;
}

.lrs-partner-logo {
    flex: 0 0 auto;
    height: 70px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
    display: block;
}

@keyframes lrs-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
    .lrs-partners-track {
        animation: none;
        flex-wrap: wrap;
        justify-content: center;
        width: auto;
    }
    .lrs-partners-marquee {
        -webkit-mask-image: none;
                mask-image: none;
        overflow: visible;
    }
}

/* ---------- Footer ---------- */
.lrs-footer {
    background-color: #fff;
    color: var(--lrs-navy);
    padding: 4rem 0 2rem;
    font-size: 1.0rem;
}

.lrs-footer a {
    color: var(--lrs-navy);
    text-decoration: none;
}

.lrs-footer a:hover {
    color: var(--lrs-teal);
}

.lrs-footer .footer-brand img {
    height: 70px;
    width: auto;
}

.lrs-footer h6 {
    color: var(--lrs-teal);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.5rem;
}

.lrs-footer .footer-link {
    display: block;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    margin-bottom: 0.4rem;
}

.lrs-footer .social a {
    color: var(--lrs-navy);
    font-size: 1.25rem;
    margin-left: 0.5rem;
}

/* ---------- Partner With Us form ---------- */
.lrs-partner-content {
    max-width: 720px;
}

.lrs-partner-form .form-control {
    width: 100%;
    border: 1.5px solid #d0d0d0;
    border-radius: 6px;
    padding: 0.75rem 1rem;
    font-size: 1rem;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: var(--lrs-text);
    background-color: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lrs-partner-form .form-control:focus {
    outline: none;
    border-color: var(--lrs-teal);
    box-shadow: 0 0 0 3px rgba(111, 168, 150, 0.18);
}

.lrs-partner-form textarea.form-control {
    resize: vertical;
    min-height: 140px;
}

.lrs-form-error {
    color: #b00020;
    font-size: 0.9rem;
    margin-top: 0.35rem;
}

.lrs-form-success {
    background-color: #e6f4ee;
    border: 1px solid var(--lrs-teal);
    color: var(--lrs-navy);
    border-radius: 8px;
    padding: 1rem 1.25rem;
    font-size: 1rem;
}

/* Honeypot field — invisible to sighted users and screen readers, but still
   in the DOM so autofill bots fill it in and trip the server-side check. */
.lrs-honeypot-wrap {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* ---------- News page ---------- */

/* Page-header title used at the top of /news/ */
.lrs-page-title {
    font-family: "Playfair Display", Georgia, serif;
    color: var(--lrs-navy);
    font-weight: 500;
    font-size: clamp(2.25rem, 5vw, 3.75rem);
    margin: 0.5rem 0 0;
}

.lrs-page-lede {
    color: var(--lrs-muted);
    font-size: 1.15rem;
    line-height: 1.6;
    max-width: 720px;
}

/* News hero — newspaper photo background with text overlaid on the
   dark navy left side. A subtle left-to-right gradient sits above the
   image so the title remains readable at any viewport width. */
.lrs-news-hero {
    background-color: var(--lrs-navy);
    background-image:
        linear-gradient(to right,
            rgba(14, 28, 57, 0.65) 0%,
            rgba(14, 28, 57, 0.25) 55%,
            rgba(14, 28, 57, 0) 100%),
        url('../images/lrs_news_hero.webp');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    min-height: 420px;
    display: flex;
    align-items: center;
    padding: 4rem 0;
}

.lrs-news-hero-content {
    max-width: 560px;
}

.lrs-news-hero .lrs-page-title {
    color: #fff;
}

.lrs-news-hero .lrs-page-lede {
    color: rgba(255, 255, 255, 0.9);
    max-width: 520px;
}

/* Featured article block */
.lrs-featured-image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 12px;
}

.lrs-featured-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 16 / 10;
    background: linear-gradient(135deg, #c8d8d2, #a9c4bc);
    border-radius: 12px;
    color: var(--lrs-navy);
    font-style: italic;
}

.lrs-featured-title {
    font-family: "Playfair Display", Georgia, serif;
    color: var(--lrs-navy);
    font-weight: 700;
    font-size: clamp(1.5rem, 2.5vw, 2.1rem);
    line-height: 1.2;
    margin: 0.75rem 0 0.5rem;
}

/* Small teal pill used for "Featured Article" */
.lrs-badge {
    display: inline-block;
    background-color: var(--lrs-teal);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
}

/* Article date (muted small caption) */
.lrs-article-date {
    color: var(--lrs-muted);
    font-size: 0.85rem;
    margin: 0 0 0.5rem;
}

/* Latest-articles cards */
.lrs-article-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(20, 38, 75, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lrs-article-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(20, 38, 75, 0.14);
}

.lrs-article-card-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block;
}

.lrs-article-card-placeholder {
    aspect-ratio: 16 / 10;
    background: linear-gradient(135deg, #d8e3df, #b6cec5);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--lrs-navy);
    font-style: italic;
    font-size: 0.9rem;
}

.lrs-article-card-body {
    padding: 1.25rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.lrs-article-card-title {
    font-family: "Playfair Display", Georgia, serif;
    color: var(--lrs-navy);
    font-weight: 700;
    font-size: 1.15rem;
    line-height: 1.3;
    margin: 0 0 0.5rem;
}

.lrs-article-card-excerpt {
    color: var(--lrs-muted);
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0 0 1rem;
    flex-grow: 1;
}

.lrs-article-link {
    color: var(--lrs-teal);
    font-weight: 600;
    text-decoration: none;
    align-self: flex-start;
    transition: color 0.15s ease;
}

.lrs-article-link:hover,
.lrs-article-link:focus {
    color: var(--lrs-navy);
}

/* "More News" list */
.lrs-news-list {
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 1px solid #e5e5e5;
}

.lrs-news-list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
    border-bottom: 1px solid #e5e5e5;
    gap: 1rem;
}

.lrs-news-list-link {
    color: var(--lrs-navy);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.15s ease;
}

.lrs-news-list-link:hover {
    color: var(--lrs-teal);
}

.lrs-news-list-date {
    color: var(--lrs-muted);
    font-size: 0.9rem;
    white-space: nowrap;
}

/* "More News" slider — pages of 3 links each, prev/next arrows shift the
   track left/right by exactly one viewport width per click. */
.lrs-news-slider {
    position: relative;
}

.lrs-news-slider-viewport {
    overflow: hidden;
    width: 100%;
}

.lrs-news-slider-track {
    display: flex;
    transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: transform;
}

.lrs-news-slider-page {
    flex: 0 0 100%;
    min-width: 0; /* prevent flex-item overflow */
}

.lrs-pagination-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.5rem;
}

.lrs-pagination-btn {
    background: transparent;
    border: 1.5px solid var(--lrs-teal);
    color: var(--lrs-teal);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s ease;
    padding: 0;
}

.lrs-pagination-btn:hover:not(:disabled),
.lrs-pagination-btn:focus-visible:not(:disabled) {
    background-color: var(--lrs-teal);
    color: #fff;
}

.lrs-pagination-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.lrs-pagination-indicator {
    color: var(--lrs-navy);
    font-weight: 500;
    font-size: 0.95rem;
    min-width: 60px;
    text-align: center;
}

.lrs-pagination-current {
    font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
    .lrs-news-slider-track {
        transition: none;
    }
}

/* ---------- About page ---------- */
.lrs-eyebrow {
    display: inline-block;
    color: var(--lrs-teal);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

.lrs-about-hero {
    background-color: var(--lrs-navy);
    color: #fff;
    padding: 5rem 0;
}

.lrs-about-hero p {
    color: rgba(255, 255, 255, 0.85);
    font-size: 1.1rem;
    line-height: 1.6;
}

.lrs-about-hero-title {
    color: #fff;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(2.25rem, 6vw, 4.5rem);
    line-height: 1.1;
    margin-bottom: 1.5rem;
}

.lrs-about-hero-title em {
    color: #fff;
    font-style: italic;
}

.lrs-about-hero-photo {
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 320px;
    object-fit: cover;
    border-radius: 12px;
}

/* Overview section decorative mark */
.lrs-overview-mark {
    width: 100%;
    max-width: 260px;
    height: auto;
    opacity: 0.85;
}

/* Leadership team grid */
.lrs-team-member {
    text-align: center;
}

.lrs-team-photo {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    margin: 0 auto 1rem;
    overflow: hidden;
    background: linear-gradient(135deg, var(--lrs-teal), var(--lrs-teal-dark));
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

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

.lrs-team-initials {
    color: #fff;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 2.5rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.lrs-team-name {
    font-family: "Playfair Display", Georgia, serif;
    color: var(--lrs-navy);
    font-weight: 700;
    font-size: 1.15rem;
    margin: 0;
}

.lrs-team-title {
    color: var(--lrs-teal);
    font-style: italic;
    font-size: 0.9rem;
    margin-top: 0.25rem;
}

/* Legacy photo grid */
.lrs-legacy-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.lrs-legacy-photo {
    aspect-ratio: 4 / 3;
    border-radius: 8px;
    overflow: hidden;
    background: linear-gradient(135deg, #2a3a5e, #1a294c);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.4);
    font-style: italic;
    font-size: 0.9rem;
}

.lrs-legacy-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 767px) {
    .lrs-legacy-grid { grid-template-columns: repeat(2, 1fr); }
}

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