/**
 * Service Page Styles
 * Shared template for all specialty line service pages
 *
 * @package Blocksy_Child_Response24
 */

/* ========================================
   SECTION 1 — PAGE HERO
   ======================================== */

.r24-service-hero {
    background-color: var(--r24-dark);
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 50px 50px;
    color: var(--r24-white);
    padding: 90px 20px;
    text-align: center;
}

.r24-service-hero .r24-container {
    max-width: 860px;
    margin: 0 auto;
}

.r24-service-hero .r24-eyebrow {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 20px;
}

.r24-service-hero h1 {
    font-size: 42px;
    font-weight: 800;
    color: var(--r24-white);
    line-height: 1.2;
    margin-bottom: 24px;
}

.r24-service-hero .r24-subheadline {
    font-size: 19px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    margin-bottom: 36px;
}

/* Hero CTAs */
.r24-hero-ctas {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.r24-cta-primary {
    background-color: var(--r24-red);
    color: var(--r24-white);
    border: none;
    padding: 15px 30px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 3px;
    text-decoration: none;
    display: inline-block;
    transition: background-color 0.2s;
    animation: r24-glow 3s ease-in-out infinite;
}

.r24-cta-primary:hover {
    background-color: #AA0000;
    color: var(--r24-white);
    text-decoration: none;
}

.r24-cta-secondary {
    background-color: transparent;
    color: var(--r24-white);
    border: 2px solid rgba(255, 255, 255, 0.40);
    padding: 15px 30px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 3px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s;
}

.r24-cta-secondary:hover {
    border-color: var(--r24-white);
    background-color: rgba(255, 255, 255, 0.08);
    color: var(--r24-white);
    text-decoration: none;
}

/* Mobile responsive */
@media (max-width: 767px) {
    .r24-service-hero {
        padding: 60px 20px;
    }

    .r24-service-hero h1 {
        font-size: 28px;
    }

    .r24-service-hero .r24-subheadline {
        font-size: 16px;
    }

    .r24-hero-ctas {
        flex-direction: column;
        align-items: center;
    }

    .r24-cta-primary,
    .r24-cta-secondary {
        width: 100%;
        max-width: 320px;
    }
}

/* ========================================
   SECTION 2 — WHAT WE MANAGE
   ======================================== */

.r24-service-what {
    background-color: var(--r24-section);
    padding: 80px 20px;
}

.r24-service-what .r24-container {
    max-width: var(--r24-max);
    margin: 0 auto;
}

.r24-service-what h2 {
    font-size: 36px;
    font-weight: 700;
    color: var(--r24-text-dark);
    text-align: center;
    margin-bottom: 16px;
}

.r24-section-subtext {
    font-size: 17px;
    color: var(--r24-text-mid);
    text-align: center;
    line-height: 1.7;
    max-width: 800px;
    margin: 0 auto 56px;
}

/* Service cards grid */
.r24-service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.r24-service-card {
    background-color: var(--r24-white);
    border-top: 3px solid var(--r24-red);
    padding: 28px 24px;
}

/* Icon styling for service cards (light background) */
.r24-service-card .r24-card-icon {
    display: block;
    margin-bottom: 16px;
    color: var(--r24-red);
    line-height: 1;
}

.r24-service-card .r24-card-icon svg {
    display: block;
}

/* Icon brightens on card hover */
.r24-service-card:hover .r24-card-icon {
    color: #ff1a1a;
    transition: color 0.2s ease;
}

.r24-service-card h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--r24-text-dark);
    margin-bottom: 12px;
}

.r24-service-card p {
    font-size: 15px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    margin: 0;
}

/* Tablet responsive */
@media (max-width: 1023px) {
    .r24-service-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

/* Mobile responsive */
@media (max-width: 767px) {
    .r24-service-what {
        padding: 60px 20px;
    }

    .r24-service-what h2 {
        font-size: 28px;
    }

    .r24-section-subtext {
        font-size: 16px;
        margin-bottom: 40px;
    }

    .r24-service-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .r24-service-card {
        padding: 24px 20px;
    }
}

/* ========================================
   SECTION 3 — FOR UNDERWRITERS
   ======================================== */

.r24-service-underwriters {
    background-color: var(--r24-dark);
    color: var(--r24-white);
    padding: 80px 20px;
}

.r24-service-underwriters .r24-container {
    max-width: var(--r24-max);
    margin: 0 auto;
}

.r24-service-underwriters .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
}

.r24-service-underwriters h2 {
    font-size: 32px;
    font-weight: 700;
    color: var(--r24-white);
    margin-bottom: 48px;
}

/* Two column grid */
.r24-underwriters-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
}

/* Left column: Checklist */
.r24-checklist-column h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--r24-white);
    margin-bottom: 32px;
}

.r24-checklist-item {
    display: flex;
    gap: 16px;
    margin-bottom: 28px;
}

.r24-check {
    color: var(--r24-red);
    font-size: 18px;
    font-weight: 700;
    flex-shrink: 0;
}

.r24-check-content strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: var(--r24-white);
    margin-bottom: 6px;
}

.r24-check-content p {
    font-size: 14px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    margin: 0;
}

/* Right column: Callout panel */
.r24-callout-panel {
    background-color: var(--r24-card);
    border-top: 3px solid var(--r24-red);
    padding: 32px;
}

.r24-callout-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 20px;
}

.r24-callout-panel h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--r24-white);
    line-height: 1.4;
    margin-bottom: 20px;
}

.r24-callout-panel p {
    font-size: 15px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    margin-bottom: 16px;
}

.r24-callout-panel p:last-of-type {
    margin-bottom: 28px;
}

.r24-callout-cta {
    display: inline-block;
    font-size: 15px;
    font-weight: 600;
    color: var(--r24-red);
    text-decoration: none;
    transition: opacity 0.2s;
}

.r24-callout-cta:hover {
    opacity: 0.8;
    color: var(--r24-red);
    text-decoration: none;
}

/* Mobile responsive */
@media (max-width: 767px) {
    .r24-service-underwriters {
        padding: 60px 20px;
    }

    .r24-service-underwriters h2 {
        font-size: 26px;
        margin-bottom: 40px;
    }

    .r24-underwriters-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .r24-checklist-column h3 {
        font-size: 18px;
        margin-bottom: 24px;
    }

    .r24-checklist-item {
        margin-bottom: 24px;
    }

    .r24-callout-panel {
        padding: 24px;
    }

    .r24-callout-panel h3 {
        font-size: 18px;
    }
}

/* ========================================
   SECTION 4 — PARTNERSHIP (ICMG/SEDGWICK)
   ======================================== */

.r24-service-partnership {
    background-color: var(--r24-section);
    padding: 80px 20px;
}

.r24-service-partnership .r24-container {
    max-width: var(--r24-max);
    margin: 0 auto;
}

.r24-service-partnership .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
}

.r24-service-partnership h2 {
    font-size: 32px;
    font-weight: 700;
    color: var(--r24-text-dark);
    margin-bottom: 48px;
}

/* Two column grid */
.r24-partnership-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
}

/* Left column: Text */
.r24-partnership-text p {
    font-size: 16px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    margin-bottom: 20px;
}

.r24-partnership-text p:last-child {
    margin-bottom: 0;
}

/* Right column: Stats */
.r24-partnership-stats {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.r24-stat-panel {
    background-color: var(--r24-white);
    border-top: 3px solid var(--r24-red);
    padding: 24px;
}

.r24-stat-number {
    font-size: 32px;
    font-weight: 800;
    color: var(--r24-text-dark);
    margin-bottom: 8px;
}

.r24-stat-label {
    font-size: 14px;
    color: var(--r24-text-mid);
    line-height: 1.5;
}

/* Mobile responsive */
@media (max-width: 767px) {
    .r24-service-partnership {
        padding: 60px 20px;
    }

    .r24-service-partnership h2 {
        font-size: 26px;
        margin-bottom: 40px;
    }

    .r24-partnership-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .r24-partnership-text p {
        font-size: 15px;
    }

    .r24-stat-panel {
        padding: 20px;
    }

    .r24-stat-number {
        font-size: 28px;
    }
}

/* ========================================
   SECTION 5 — FOR DIRECT CLIENTS
   ======================================== */

.r24-service-clients {
    background-color: var(--r24-dark);
    color: var(--r24-white);
    padding: 80px 20px;
}

.r24-service-clients .r24-container {
    max-width: var(--r24-max);
    margin: 0 auto;
}

.r24-service-clients .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
    text-align: center;
}

.r24-service-clients h2 {
    font-size: 32px;
    font-weight: 700;
    color: var(--r24-white);
    text-align: center;
    margin-bottom: 20px;
}

.r24-service-clients .r24-section-subtext {
    color: var(--r24-text-grey);
    margin-bottom: 56px;
}

/* Client cards grid */
.r24-clients-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    margin-bottom: 56px;
}

.r24-client-card {
    background-color: var(--r24-card);
    border-top: 3px solid var(--r24-red);
    padding: 28px 24px;
}

.r24-client-card h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--r24-white);
    margin-bottom: 12px;
}

.r24-client-card p {
    font-size: 15px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    margin: 0;
}

/* CTA section */
.r24-clients-cta {
    text-align: center;
}

.r24-cta-text {
    font-size: 17px;
    color: var(--r24-text-grey);
    margin-bottom: 20px;
}

.r24-cta-button {
    display: inline-block;
    background-color: var(--r24-red);
    color: var(--r24-white);
    padding: 15px 32px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 3px;
    text-decoration: none;
    transition: background-color 0.2s;
}

.r24-cta-button:hover {
    background-color: #AA0000;
    color: var(--r24-white);
    text-decoration: none;
}

/* Mobile responsive */
@media (max-width: 767px) {
    .r24-service-clients {
        padding: 60px 20px;
    }

    .r24-service-clients h2 {
        font-size: 26px;
    }

    .r24-service-clients .r24-section-subtext {
        margin-bottom: 40px;
    }

    .r24-clients-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 40px;
    }

    .r24-client-card {
        padding: 24px 20px;
    }

    .r24-cta-text {
        font-size: 16px;
    }
}

/* Dark variation for client cards (Active Assailant only) */
.r24-client-card-dark {
    background: var(--r24-text-dark);
    border-top: 3px solid var(--r24-red);
    border-radius: 4px;
    padding: 28px 24px;
}

.r24-client-card-dark h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--r24-white);
    margin: 0 0 12px 0;
}

.r24-client-card-dark p {
    font-size: 14px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    margin: 0;
}

/* ========================================
   SECTION 6 — DOWNLOAD & CTA
   ======================================== */

.r24-service-download {
    background-color: var(--r24-section);
    padding: 80px 20px;
}

.r24-service-download .r24-container {
    max-width: var(--r24-max);
    margin: 0 auto;
}

/* Two column grid */
.r24-download-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.r24-download-panel {
    background-color: var(--r24-white);
    border-top: 3px solid var(--r24-red);
    padding: 32px;
}

.r24-download-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 20px;
}

.r24-download-panel h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--r24-text-dark);
    margin-bottom: 16px;
}

.r24-download-panel p {
    font-size: 15px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    margin-bottom: 24px;
}

.r24-download-button {
    display: inline-block;
    background-color: var(--r24-text-dark);
    color: var(--r24-white);
    padding: 14px 28px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 3px;
    text-decoration: none;
    transition: background-color 0.2s;
}

.r24-download-button:hover {
    background-color: #000000;
}

/* Download buttons container */
.r24-download-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Secondary button variant for light backgrounds */
.r24-cta-secondary-dark {
    background-color: transparent;
    color: var(--r24-text-dark);
    border: 2px solid var(--r24-border-lt);
    padding: 13px 30px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 3px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s;
    text-align: center;
}

.r24-cta-secondary-dark:hover {
    border-color: var(--r24-text-dark);
    background-color: rgba(0, 0, 0, 0.05);
    color: var(--r24-text-dark);
    text-decoration: none;
}

/* Mobile responsive */
@media (max-width: 767px) {
    .r24-service-download {
        padding: 60px 20px;
    }

    .r24-download-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .r24-download-panel {
        padding: 28px 24px;
    }

    .r24-download-panel h3 {
        font-size: 18px;
    }
}

/* ========================================
   SECTION 2 — MARTYN'S LAW CONTEXT (Active Assailant only)
   ======================================== */

.r24-martyns-law {
    background-color: var(--r24-red);
    color: var(--r24-white);
    padding: 60px 20px;
}

.r24-martyns-grid {
    display: grid;
    grid-template-columns: 60fr 40fr;
    gap: 60px;
    align-items: center;
}

/* Left column */
.r24-martyns-content .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.70);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
}

.r24-martyns-content h2 {
    font-size: 26px;
    font-weight: 700;
    color: var(--r24-white);
    line-height: 1.3;
    margin: 0 0 20px 0;
}

.r24-martyns-content p {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.7;
    margin: 0 0 14px 0;
}

.r24-martyns-content .r24-source-note {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.60);
    margin-top: 16px;
    margin-bottom: 0;
}

/* Right column - tier panels */
.r24-tier-panels {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.r24-tier-panel {
    background: rgba(0, 0, 0, 0.20);
    border-radius: 4px;
    padding: 20px 24px;
}

.r24-tier-panel .r24-tier-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.65);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
}

.r24-tier-panel .r24-tier-title {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: var(--r24-white);
    margin-bottom: 6px;
}

.r24-tier-panel .r24-tier-description {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.80);
    line-height: 1.6;
    margin: 0;
}

.r24-tier-inscope {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.70);
    line-height: 1.8;
    margin-top: 16px;
}

/* ========================================
   RELATED SERVICES STRIP
   ======================================== */

.r24-related-services {
    background-color: var(--r24-dark);
    padding: 40px 20px;
    border-top: 1px solid var(--r24-border-dk);
}

.r24-related-services .r24-container {
    max-width: var(--r24-max);
    margin: 0 auto;
    text-align: center;
}

.r24-related-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 20px;
}

.r24-related-links {
    display: flex;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
}

.r24-related-links a {
    font-size: 14px;
    color: var(--r24-text-grey);
    text-decoration: none;
    transition: color 0.2s;
}

.r24-related-links a:hover {
    color: var(--r24-red);
}

/* Mobile responsive */
@media (max-width: 767px) {
    .r24-related-services {
        padding: 32px 20px;
    }

    .r24-related-links {
        flex-direction: column;
        gap: 16px;
    }

    /* Martyn's Law Context - mobile */
    .r24-martyns-law {
        padding: 40px 20px;
    }

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

    .r24-martyns-content h2 {
        font-size: 22px;
    }
}

/* ========================================
   CORPORATE PAGE STYLES
   ======================================== */

/* Section 2 — Why Response24 */
.r24-corporate-why {
    background-color: var(--r24-section);
    padding: 60px 20px;
}

.r24-corporate-why .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}

.r24-corporate-why h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--r24-text-dark);
    line-height: 1.3;
    margin: 0 0 40px 0;
}

.r24-corporate-why-grid {
    display: grid;
    grid-template-columns: 60fr 40fr;
    gap: 60px;
    align-items: start;
}

.r24-corporate-why-text p {
    font-size: 15px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    margin: 0 0 18px 0;
}

.r24-corporate-why-text p:last-child {
    margin-bottom: 0;
}

/* Credential panels */
.r24-corporate-credentials {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.r24-credential-panel {
    background: var(--r24-white);
    border-left: 3px solid var(--r24-red);
    padding: 20px 24px;
    border-radius: 2px;
}

.r24-credential-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
}

.r24-credential-panel p {
    font-size: 14px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    margin: 0;
}

/* Mobile responsive - Corporate page */
@media (max-width: 767px) {
    .r24-corporate-why {
        padding: 40px 20px;
    }

    .r24-corporate-why h2 {
        font-size: 22px;
        margin-bottom: 28px;
    }

    .r24-corporate-why-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .r24-corporate-why-text p {
        font-size: 14px;
        margin-bottom: 16px;
    }

    .r24-credential-panel {
        padding: 16px 20px;
    }
}

/* Section 4 — How We Work */
.r24-corporate-how {
    background-color: var(--r24-section);
    padding: 60px 20px;
}

.r24-corporate-how h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--r24-text-dark);
    line-height: 1.3;
    margin: 0 0 16px 0;
    text-align: center;
}

.r24-corporate-how .r24-section-subtext {
    font-size: 16px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    text-align: center;
    max-width: 760px;
    margin: 0 auto 48px auto;
}

.r24-corporate-how-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.r24-how-panel {
    border-top: 3px solid var(--r24-red);
    padding: 32px;
    border-radius: 4px;
}

.r24-how-panel-light {
    background: var(--r24-white);
}

.r24-how-panel-dark {
    background: var(--r24-dark);
}

.r24-how-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}

.r24-how-panel-light .r24-how-label {
    color: var(--r24-red);
}

.r24-how-panel-dark .r24-how-label {
    color: rgba(255, 255, 255, 0.60);
}

.r24-how-panel h3 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 16px 0;
}

.r24-how-panel-light h3 {
    color: var(--r24-text-dark);
}

.r24-how-panel-dark h3 {
    color: var(--r24-white);
}

.r24-how-panel p {
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 24px 0;
}

.r24-how-panel-light p {
    color: var(--r24-text-mid);
}

.r24-how-panel-dark p {
    color: var(--r24-text-grey);
}

.r24-how-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.r24-how-list li {
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 10px;
    padding-left: 20px;
    position: relative;
}

.r24-how-list li:last-child {
    margin-bottom: 0;
}

.r24-how-list li:before {
    content: "·";
    color: var(--r24-red);
    font-weight: 700;
    font-size: 18px;
    position: absolute;
    left: 0;
    top: -2px;
}

.r24-how-panel-light .r24-how-list li {
    color: var(--r24-text-mid);
}

.r24-how-panel-dark .r24-how-list li {
    color: rgba(255, 255, 255, 0.75);
}

/* Mobile responsive - How We Work */
@media (max-width: 767px) {
    .r24-corporate-how {
        padding: 40px 20px;
    }

    .r24-corporate-how h2 {
        font-size: 22px;
        margin-bottom: 12px;
    }

    .r24-corporate-how .r24-section-subtext {
        font-size: 14px;
        margin-bottom: 32px;
    }

    .r24-corporate-how-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .r24-how-panel {
        padding: 24px 20px;
    }

    .r24-how-panel h3 {
        font-size: 18px;
        margin-bottom: 12px;
    }

    .r24-how-panel p {
        font-size: 14px;
        margin-bottom: 20px;
    }

    .r24-how-list li {
        font-size: 13px;
        margin-bottom: 8px;
    }
}

/* Section 5 — Connect Technology */
.r24-corporate-connect {
    background-color: var(--r24-dark);
    border-top: 1px solid var(--r24-border-dk);
    padding: 60px 20px;
}

.r24-corporate-connect .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.60);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}

.r24-corporate-connect h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--r24-white);
    line-height: 1.3;
    margin: 0 0 40px 0;
}

.r24-corporate-connect-grid {
    display: grid;
    grid-template-columns: 60fr 40fr;
    gap: 60px;
    align-items: start;
}

.r24-corporate-connect-text p {
    font-size: 15px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    margin: 0 0 18px 0;
}

.r24-corporate-connect-text p:last-child {
    margin-bottom: 0;
}

.r24-corporate-connect-features {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.r24-connect-feature-panel {
    background: var(--r24-card);
    border-left: 3px solid var(--r24-red);
    padding: 20px 24px;
}

.r24-connect-feature-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
}

.r24-connect-feature-panel p {
    font-size: 14px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    margin: 0;
}

.r24-connect-link {
    display: inline-block;
    font-size: 14px;
    color: var(--r24-red);
    text-decoration: none;
    margin-top: 8px;
    transition: opacity 0.2s;
}

.r24-connect-link:hover {
    opacity: 0.8;
}

/* Mobile responsive - Connect Technology */
@media (max-width: 767px) {
    .r24-corporate-connect {
        padding: 40px 20px;
    }

    .r24-corporate-connect h2 {
        font-size: 22px;
        margin-bottom: 28px;
    }

    .r24-corporate-connect-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .r24-corporate-connect-text p {
        font-size: 14px;
        margin-bottom: 16px;
    }

    .r24-connect-feature-panel {
        padding: 16px 20px;
    }
}

/* Section 6 — Sub-Page Navigation */
.r24-corporate-sectors {
    background-color: var(--r24-section);
    padding: 60px 20px;
}

.r24-corporate-sectors h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--r24-text-dark);
    line-height: 1.3;
    margin: 0 0 16px 0;
    text-align: center;
}

.r24-corporate-sectors .r24-section-subtext {
    font-size: 16px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    text-align: center;
    max-width: 760px;
    margin: 0 auto 40px auto;
}

.r24-sector-card-wrapper {
    display: flex;
    justify-content: center;
}

.r24-sector-card {
    background: var(--r24-white);
    border-top: 3px solid var(--r24-red);
    padding: 28px 32px;
    border-radius: 4px;
    max-width: 480px;
}

.r24-sector-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}

.r24-sector-card h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--r24-text-dark);
    line-height: 1.3;
    margin: 0 0 12px 0;
}

.r24-sector-card p {
    font-size: 15px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    margin: 0 0 16px 0;
}

.r24-sector-link {
    display: inline-block;
    font-size: 14px;
    color: var(--r24-red);
    text-decoration: none;
    transition: opacity 0.2s;
}

.r24-sector-link:hover {
    opacity: 0.8;
}

/* Mobile responsive - Sub-Page Navigation */
@media (max-width: 767px) {
    .r24-corporate-sectors {
        padding: 40px 20px;
    }

    .r24-corporate-sectors h2 {
        font-size: 22px;
        margin-bottom: 12px;
    }

    .r24-corporate-sectors .r24-section-subtext {
        font-size: 14px;
        margin-bottom: 32px;
    }

    .r24-sector-card {
        padding: 24px 20px;
    }

    .r24-sector-card h3 {
        font-size: 18px;
    }

    .r24-sector-card p {
        font-size: 14px;
    }
}

/* Section 7 — CTA */
.r24-corporate-cta {
    background-color: var(--r24-dark);
    padding: 80px 20px;
}

.r24-corporate-cta h2 {
    font-size: 32px;
    font-weight: 700;
    color: var(--r24-white);
    line-height: 1.3;
    margin: 0 0 20px 0;
    text-align: center;
}

.r24-cta-subtext {
    font-size: 17px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    text-align: center;
    max-width: 680px;
    margin: 0 auto 40px auto;
}

.r24-cta-buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.r24-cta-btn-primary {
    display: inline-block;
    background: var(--r24-red);
    color: var(--r24-white);
    font-size: 15px;
    font-weight: 600;
    padding: 14px 32px;
    border-radius: 4px;
    text-decoration: none;
    transition: opacity 0.2s;
}

.r24-cta-btn-primary:hover {
    opacity: 0.9;
    color: var(--r24-white);
    text-decoration: none;
}

.r24-cta-btn-secondary {
    display: inline-block;
    background: transparent;
    color: var(--r24-white);
    font-size: 15px;
    font-weight: 600;
    padding: 12px 32px;
    border: 2px solid rgba(255, 255, 255, 0.30);
    border-radius: 4px;
    text-decoration: none;
    transition: border-color 0.2s;
}

.r24-cta-btn-secondary:hover {
    border-color: rgba(255, 255, 255, 0.50);
    color: var(--r24-white);
    text-decoration: none;
}

/* Mobile responsive - CTA */
@media (max-width: 767px) {
    .r24-corporate-cta {
        padding: 50px 20px;
    }

    .r24-corporate-cta h2 {
        font-size: 24px;
        margin-bottom: 16px;
    }

    .r24-cta-subtext {
        font-size: 15px;
        margin-bottom: 32px;
    }

    .r24-cta-buttons {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .r24-cta-btn-primary,
    .r24-cta-btn-secondary {
        width: 100%;
        max-width: 280px;
        text-align: center;
    }
}

/* ========================================
   SME FOOD & DRINK PAGE STYLES
   ======================================== */

/* Section 2 — Reassurance Banner */
.r24-sme-reassurance {
    background-color: var(--r24-red);
    padding: 50px 20px;
    text-align: center;
}

.r24-sme-reassurance .r24-container {
    max-width: 780px;
}

.r24-sme-reassurance h2 {
    font-size: 24px;
    font-weight: 700;
    color: var(--r24-white);
    line-height: 1.3;
    margin: 0 0 16px 0;
}

.r24-sme-reassurance p {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.7;
    margin: 0 0 28px 0;
}

.r24-reassurance-button {
    display: inline-block;
    background: var(--r24-white);
    color: var(--r24-red);
    font-size: 15px;
    font-weight: 700;
    padding: 14px 32px;
    border-radius: 4px;
    text-decoration: none;
    margin-bottom: 16px;
    transition: opacity 0.2s;
}

.r24-reassurance-button:hover {
    opacity: 0.95;
}

.r24-reassurance-contact {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.75);
    margin: 0;
}

.r24-reassurance-contact strong {
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85);
}

/* Mobile responsive - SME Reassurance */
@media (max-width: 767px) {
    .r24-sme-reassurance {
        padding: 40px 20px;
    }

    .r24-sme-reassurance h2 {
        font-size: 20px;
        margin-bottom: 12px;
    }

    .r24-sme-reassurance p {
        font-size: 15px;
        margin-bottom: 24px;
    }

    .r24-reassurance-button {
        font-size: 14px;
        padding: 12px 28px;
    }

    .r24-reassurance-contact {
        font-size: 13px;
    }
}

/* Section 3 — What We Do */
.r24-sme-what {
    background-color: var(--r24-section);
    padding: 60px 20px;
}

.r24-sme-what h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--r24-text-dark);
    line-height: 1.3;
    margin: 0 0 16px 0;
    text-align: center;
}

.r24-sme-what .r24-section-subtext {
    font-size: 16px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    text-align: center;
    max-width: 860px;
    margin: 0 auto 48px auto;
}

/* Mobile responsive - SME What We Do */
@media (max-width: 767px) {
    .r24-sme-what {
        padding: 40px 20px;
    }

    .r24-sme-what h2 {
        font-size: 22px;
        margin-bottom: 12px;
    }

    .r24-sme-what .r24-section-subtext {
        font-size: 14px;
        margin-bottom: 32px;
    }
}

/* Section 4 — How We Work with Your Insurer */
.r24-sme-insurer {
    background-color: var(--r24-dark);
    padding: 60px 20px;
}

.r24-sme-insurer .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.60);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}

.r24-sme-insurer h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--r24-white);
    line-height: 1.3;
    margin: 0 0 40px 0;
}

.r24-sme-insurer-grid {
    display: grid;
    grid-template-columns: 60fr 40fr;
    gap: 60px;
    align-items: start;
}

.r24-sme-insurer-text p {
    font-size: 15px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    margin: 0 0 18px 0;
}

.r24-sme-insurer-text p:last-child {
    margin-bottom: 0;
}

.r24-sme-insurer-panels {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.r24-sme-info-panel {
    background: var(--r24-card);
    border-top: 3px solid var(--r24-red);
    padding: 24px;
    border-radius: 4px;
}

.r24-sme-panel-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}

.r24-sme-info-panel p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.80);
    line-height: 1.9;
    margin: 0;
}

/* Mobile responsive - SME Insurer */
@media (max-width: 767px) {
    .r24-sme-insurer {
        padding: 40px 20px;
    }

    .r24-sme-insurer h2 {
        font-size: 22px;
        margin-bottom: 28px;
    }

    .r24-sme-insurer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .r24-sme-insurer-text p {
        font-size: 14px;
        margin-bottom: 16px;
    }

    .r24-sme-info-panel {
        padding: 20px;
    }

    .r24-sme-info-panel p {
        font-size: 13px;
        line-height: 1.8;
    }
}

/* Section 5 — Before an Incident */
.r24-sme-preincident {
    background-color: var(--r24-section);
    padding: 60px 20px;
}

.r24-sme-preincident .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
    text-align: center;
}

.r24-sme-preincident h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--r24-text-dark);
    line-height: 1.3;
    margin: 0 0 16px 0;
    text-align: center;
}

.r24-sme-preincident .r24-section-subtext {
    font-size: 16px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    text-align: center;
    max-width: 760px;
    margin: 0 auto 48px auto;
}

.r24-sme-preincident-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-bottom: 32px;
}

.r24-preincident-note {
    font-size: 14px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    text-align: center;
    max-width: 600px;
    margin: 16px auto 0;
}

/* Mobile responsive - SME Pre-Incident */
@media (max-width: 1024px) {
    .r24-sme-preincident-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

@media (max-width: 767px) {
    .r24-sme-preincident {
        padding: 40px 20px;
    }

    .r24-sme-preincident h2 {
        font-size: 22px;
        margin-bottom: 12px;
    }

    .r24-sme-preincident .r24-section-subtext {
        font-size: 14px;
        margin-bottom: 32px;
    }

    .r24-preincident-note {
        font-size: 13px;
    }
}

/* Section 6 — CTA */
.r24-sme-cta {
    background-color: var(--r24-dark);
    padding: 80px 20px;
    text-align: center;
}

.r24-sme-cta h2 {
    font-size: 32px;
    font-weight: 700;
    color: var(--r24-white);
    line-height: 1.3;
    margin: 0 0 20px 0;
}

.r24-sme-cta-subtext {
    font-size: 17px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    max-width: 680px;
    margin: 0 auto 40px auto;
}

.r24-sme-cta-button {
    display: inline-block;
    background: var(--r24-red);
    color: var(--r24-white);
    font-size: 15px;
    font-weight: 600;
    padding: 14px 32px;
    border-radius: 4px;
    text-decoration: none;
    transition: opacity 0.2s;
}

.r24-sme-cta-button:hover {
    opacity: 0.9;
    color: var(--r24-white);
    text-decoration: none;
}

/* Mobile responsive - SME CTA */
@media (max-width: 767px) {
    .r24-sme-cta {
        padding: 50px 20px;
    }

    .r24-sme-cta h2 {
        font-size: 24px;
        margin-bottom: 16px;
    }

    .r24-sme-cta-subtext {
        font-size: 15px;
        margin-bottom: 32px;
    }

    .r24-sme-cta-button {
        font-size: 14px;
        padding: 12px 28px;
    }
}

/* ========================================
   TECHNOLOGY / CONNECT PAGES STYLES
   ======================================== */

/* Section 1 — Technology Hero */
.r24-tech-hero {
    background-color: var(--r24-dark);
    padding: 90px 20px;
    text-align: center;
}

.r24-tech-hero .r24-container {
    max-width: 860px;
}

.r24-tech-hero h1 {
    font-size: 42px;
    font-weight: 800;
    color: var(--r24-white);
    line-height: 1.2;
    margin: 0 0 24px 0;
}

.r24-tech-hero .r24-subheadline {
    font-size: 19px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    margin: 0 0 36px 0;
}

/* Mobile responsive - Technology Hero */
@media (max-width: 767px) {
    .r24-tech-hero {
        padding: 60px 20px;
    }

    .r24-tech-hero h1 {
        font-size: 28px;
    }

    .r24-tech-hero .r24-subheadline {
        font-size: 16px;
    }
}

/* Section 2 — Two Platform Cards */
.r24-tech-platforms {
    background-color: var(--r24-section);
    padding: 60px 20px;
}

.r24-tech-platform-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    max-width: var(--r24-max);
    margin: 0 auto;
}

.r24-tech-platform-card {
    background-color: var(--r24-dark);
    border-radius: 4px;
    border-top: 4px solid var(--r24-red);
    padding: 40px;
}

.r24-tech-platform-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    display: block;
    margin-bottom: 12px;
}

/* Icon styling for technology platform cards */
.r24-tech-platform-card .r24-card-icon {
    display: block;
    margin-bottom: 16px;
    color: var(--r24-red);
    line-height: 1;
}

.r24-tech-platform-card .r24-card-icon svg {
    display: block;
}

/* Icon brightens on card hover */
.r24-tech-platform-card:hover .r24-card-icon {
    color: #ff1a1a;
    transition: color 0.2s ease;
}

.r24-tech-platform-card h2 {
    font-size: 24px;
    font-weight: 700;
    color: var(--r24-white);
    line-height: 1.3;
    margin: 0 0 16px 0;
}

.r24-tech-platform-card p {
    font-size: 15px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    margin: 0 0 24px 0;
}

.r24-tech-feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 28px 0;
}

.r24-tech-feature-list li {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.75);
    padding: 8px 0;
    border-bottom: 1px solid var(--r24-border-dk);
    display: flex;
    align-items: center;
    gap: 10px;
}

.r24-tech-feature-list li:last-child {
    border-bottom: none;
}

.r24-feature-arrow {
    color: var(--r24-red);
    font-weight: 700;
    flex-shrink: 0;
}

.r24-tech-platform-link {
    font-size: 14px;
    color: var(--r24-red);
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.2s;
}

.r24-tech-platform-link:hover {
    opacity: 0.85;
}

/* Mobile responsive - Platform Cards */
@media (max-width: 767px) {
    .r24-tech-platforms {
        padding: 50px 20px;
    }

    .r24-tech-platform-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .r24-tech-platform-card {
        padding: 32px 24px;
    }

    .r24-tech-platform-card h2 {
        font-size: 21px;
    }

    .r24-tech-feature-list li {
        font-size: 13px;
    }
}

/* Section 3 — Included in Every Contract */
.r24-tech-included {
    background-color: var(--r24-red);
    padding: 60px 20px;
    text-align: center;
}

.r24-tech-included .r24-container {
    max-width: 800px;
}

.r24-tech-included h2 {
    font-size: 26px;
    font-weight: 700;
    color: var(--r24-white);
    line-height: 1.3;
    margin: 0 0 16px 0;
}

.r24-tech-included p {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.7;
    margin: 0;
}

/* Mobile responsive - Included Section */
@media (max-width: 767px) {
    .r24-tech-included {
        padding: 50px 20px;
    }

    .r24-tech-included h2 {
        font-size: 22px;
    }

    .r24-tech-included p {
        font-size: 15px;
    }
}

/* Section 4 — Why We Built It */
.r24-tech-why {
    background-color: var(--r24-dark);
    padding: 70px 20px;
}

.r24-tech-why-grid {
    display: grid;
    grid-template-columns: 60fr 40fr;
    gap: 60px;
    max-width: var(--r24-max);
    margin: 0 auto;
}

.r24-tech-why-text h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--r24-white);
    line-height: 1.3;
    margin: 0 0 24px 0;
}

.r24-tech-why-text p {
    font-size: 15px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    margin: 0 0 20px 0;
}

.r24-tech-why-text p:last-child {
    margin-bottom: 0;
}

.r24-tech-stat-panel {
    background-color: var(--r24-card);
    border-top: 3px solid var(--r24-red);
    border-radius: 4px;
    padding: 24px;
    margin-bottom: 16px;
}

.r24-tech-stat-panel:last-child {
    margin-bottom: 0;
}

.r24-tech-stat {
    font-size: 32px;
    font-weight: 800;
    color: var(--r24-white);
    line-height: 1;
    margin: 0 0 8px 0;
}

.r24-tech-stat-label {
    font-size: 13px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    margin: 0;
}

/* Mobile responsive - Why We Built It */
@media (max-width: 1024px) {
    .r24-tech-why-grid {
        gap: 50px;
    }
}

@media (max-width: 767px) {
    .r24-tech-why {
        padding: 50px 20px;
    }

    .r24-tech-why-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .r24-tech-why-text h2 {
        font-size: 24px;
    }

    .r24-tech-why-text p {
        font-size: 14px;
    }

    .r24-tech-stat {
        font-size: 28px;
    }

    .r24-tech-stat-label {
        font-size: 12px;
    }
}

/* Section 5 — Platform Navigation */
.r24-tech-nav {
    background-color: var(--r24-section);
    padding: 60px 20px;
}

.r24-tech-nav-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    max-width: var(--r24-max);
    margin: 0 auto;
}

.r24-tech-nav-card {
    background-color: var(--r24-white);
    border-top: 4px solid var(--r24-red);
    border-radius: 4px;
    padding: 32px;
}

.r24-tech-nav-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    display: block;
    margin-bottom: 12px;
}

.r24-tech-nav-card h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--r24-text-dark);
    line-height: 1.3;
    margin: 0 0 12px 0;
}

.r24-tech-nav-card p {
    font-size: 14px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    margin: 0 0 20px 0;
}

.r24-tech-nav-link {
    font-size: 14px;
    color: var(--r24-red);
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.2s;
}

.r24-tech-nav-link:hover {
    opacity: 0.85;
}

/* Mobile responsive - Platform Navigation */
@media (max-width: 767px) {
    .r24-tech-nav {
        padding: 50px 20px;
    }

    .r24-tech-nav-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .r24-tech-nav-card {
        padding: 28px 24px;
    }

    .r24-tech-nav-card h3 {
        font-size: 18px;
    }

    .r24-tech-nav-card p {
        font-size: 13px;
    }
}

/* ========================================
   CONNECT RISK PAGE SPECIFIC STYLES
   ======================================== */

/* Section 3 — Platform Detail */
.r24-tech-detail {
    background-color: var(--r24-dark);
    padding: 70px 20px;
}

.r24-tech-detail-grid {
    display: grid;
    grid-template-columns: 55fr 45fr;
    gap: 60px;
    max-width: var(--r24-max);
    margin: 0 auto;
}

.r24-tech-detail-text h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--r24-white);
    line-height: 1.3;
    margin: 0 0 24px 0;
}

.r24-tech-detail-text p {
    font-size: 15px;
    color: var(--r24-text-grey);
    line-height: 1.7;
    margin: 0 0 20px 0;
}

.r24-tech-detail-text p:last-child {
    margin-bottom: 0;
}

.r24-tech-feature-panel {
    background-color: var(--r24-card);
    border-left: 3px solid var(--r24-red);
    padding: 20px 24px;
    margin-bottom: 16px;
}

.r24-tech-feature-panel:last-child {
    margin-bottom: 0;
}

.r24-tech-feature-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    display: block;
    margin-bottom: 8px;
}

.r24-tech-feature-panel p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.7;
    margin: 0;
}

/* Mobile responsive - Platform Detail */
@media (max-width: 1024px) {
    .r24-tech-detail-grid {
        gap: 50px;
    }
}

@media (max-width: 767px) {
    .r24-tech-detail {
        padding: 50px 20px;
    }

    .r24-tech-detail-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .r24-tech-detail-text h2 {
        font-size: 24px;
    }

    .r24-tech-detail-text p {
        font-size: 14px;
    }

    .r24-tech-feature-panel p {
        font-size: 13px;
    }
}

/* Section 4 — Included in Every Contract (with CTA button) */
.r24-tech-included-cta {
    background-color: var(--r24-red);
    padding: 50px 20px;
    text-align: center;
}

.r24-tech-included-cta .r24-container {
    max-width: 740px;
}

.r24-tech-included-cta h2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--r24-white);
    line-height: 1.3;
    margin: 0 0 16px 0;
}

.r24-tech-included-cta p {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.7;
    margin: 0 0 28px 0;
}

.r24-tech-included-button {
    display: inline-block;
    background-color: var(--r24-white);
    color: var(--r24-red);
    font-size: 15px;
    font-weight: 700;
    padding: 14px 32px;
    border-radius: 4px;
    text-decoration: none;
    transition: opacity 0.2s;
}

.r24-tech-included-button:hover {
    opacity: 0.95;
}

/* Mobile responsive - Included CTA */
@media (max-width: 767px) {
    .r24-tech-included-cta {
        padding: 45px 20px;
    }

    .r24-tech-included-cta h2 {
        font-size: 20px;
    }

    .r24-tech-included-cta p {
        font-size: 15px;
        margin-bottom: 24px;
    }

    .r24-tech-included-button {
        font-size: 14px;
        padding: 12px 28px;
    }
}

/* ========================================
   CONNECT INCIDENT PAGE SPECIFIC STYLES
   ======================================== */

/* Section 4 — For Underwriters */
.r24-tech-underwriters {
    background-color: var(--r24-section);
    padding: 60px 20px;
}

.r24-tech-underwriters .r24-container {
    max-width: var(--r24-max);
}

.r24-tech-underwriters h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--r24-text-dark);
    line-height: 1.3;
    margin: 0 0 36px 0;
}

.r24-tech-underwriters-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
}

.r24-tech-underwriter-card {
    border-top: 4px solid var(--r24-red);
    border-radius: 4px;
    padding: 32px;
}

.r24-tech-underwriter-light {
    background-color: var(--r24-white);
}

.r24-tech-underwriter-light h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--r24-text-dark);
    line-height: 1.3;
    margin: 0 0 16px 0;
}

.r24-tech-underwriter-light p {
    font-size: 14px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    margin: 0 0 16px 0;
}

.r24-tech-underwriter-light p:last-child {
    margin-bottom: 0;
}

.r24-tech-underwriter-dark {
    background-color: var(--r24-dark);
}

.r24-tech-underwriter-dark h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--r24-white);
    line-height: 1.3;
    margin: 0 0 20px 0;
}

/* Mobile responsive - For Underwriters */
@media (max-width: 767px) {
    .r24-tech-underwriters {
        padding: 50px 20px;
    }

    .r24-tech-underwriters h2 {
        font-size: 24px;
        margin-bottom: 28px;
    }

    .r24-tech-underwriters-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .r24-tech-underwriter-card {
        padding: 28px 24px;
    }

    .r24-tech-underwriter-light h3,
    .r24-tech-underwriter-dark h3 {
        font-size: 18px;
    }

    .r24-tech-underwriter-light p {
        font-size: 13px;
    }
}

/* ========================================
   SERVICES OVERVIEW PAGE STYLES
   ======================================== */

/* Section 2 — Four Core Lines */
.r24-services-lines {
    background-color: var(--r24-section);
    padding: 60px 20px;
}

.r24-services-lines .r24-container {
    max-width: var(--r24-max);
}

.r24-services-lines h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--r24-text-dark);
    line-height: 1.3;
    margin: 0 0 12px 0;
}

.r24-services-lines-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    margin-bottom: 32px;
}

.r24-services-line-card {
    background-color: var(--r24-white);
    border-top: 4px solid var(--r24-red);
    border-radius: 4px;
    padding: 32px;
    display: flex;
    flex-direction: column;
}

.r24-services-line-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    display: block;
    margin-bottom: 10px;
}

.r24-services-line-card h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--r24-text-dark);
    line-height: 1.3;
    margin: 0 0 12px 0;
}

.r24-services-line-card p {
    font-size: 14px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    margin: 0 0 20px 0;
    flex-grow: 1;
}

.r24-services-line-link {
    font-size: 14px;
    color: var(--r24-red);
    font-weight: 600;
    text-decoration: none;
    margin-top: auto;
    transition: opacity 0.2s;
}

.r24-services-line-link:hover {
    opacity: 0.85;
}

.r24-services-insurance-note {
    font-size: 14px;
    color: var(--r24-text-mid);
    text-align: center;
    margin: 0;
}

.r24-services-insurance-link {
    color: var(--r24-red);
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.2s;
}

.r24-services-insurance-link:hover {
    opacity: 0.85;
}

/* Mobile responsive - Four Core Lines */
@media (max-width: 767px) {
    .r24-services-lines {
        padding: 50px 20px;
    }

    .r24-services-lines h2 {
        font-size: 24px;
    }

    .r24-services-lines-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 28px;
    }

    .r24-services-line-card {
        padding: 28px 24px;
    }

    .r24-services-line-card h3 {
        font-size: 18px;
    }

    .r24-services-line-card p {
        font-size: 13px;
    }
}

/* ====================================================================
   SERVICES OVERVIEW — SECTION 3: WHAT'S INCLUDED
   ==================================================================== */

.r24-services-included {
    background: var(--r24-dark);
    padding: 80px 20px;
}

.r24-services-included .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--r24-red);
    margin-bottom: 16px;
}

.r24-services-included h2 {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--r24-white);
    margin: 0 0 48px 0;
}

.r24-services-included-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
}

.r24-services-included-card {
    background: var(--r24-card);
    border-top: 3px solid var(--r24-red);
    padding: 32px 24px;
}

.r24-services-included-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--r24-red);
    margin-bottom: 12px;
}

.r24-services-included-card p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--r24-text-grey);
    margin: 0;
}

/* Responsive */
@media (max-width: 767px) {
    .r24-services-included {
        padding: 56px 20px;
    }

    .r24-services-included h2 {
        font-size: 24px;
        margin-bottom: 32px;
    }

    .r24-services-included-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .r24-services-included-card {
        padding: 28px 24px;
    }

    .r24-services-included-card p {
        font-size: 13px;
    }
}

/* ====================================================================
   SERVICES OVERVIEW — SECTION 4: BROADER SERVICE CATALOGUE
   ==================================================================== */

.r24-services-broader {
    background: var(--r24-section);
    padding: 80px 20px;
}

.r24-services-broader .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--r24-red);
    margin-bottom: 16px;
}

.r24-services-broader h2 {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--r24-text-dark);
    margin: 0 0 16px 0;
}

.r24-services-broader .r24-section-subtext {
    font-size: 16px;
    line-height: 1.7;
    color: var(--r24-text-mid);
    margin: 0 0 48px 0;
}

.r24-services-broader-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 32px;
}

.r24-services-broader-card {
    background: var(--r24-white);
    border-left: 3px solid var(--r24-red);
    border-radius: 2px;
    padding: 20px 24px;
}

.r24-services-broader-card h3 {
    font-size: 15px;
    font-weight: 700;
    color: var(--r24-text-dark);
    margin: 0 0 6px 0;
}

.r24-services-broader-card p {
    font-size: 13px;
    line-height: 1.6;
    color: var(--r24-text-mid);
    margin: 0;
}

.r24-services-broader-note {
    font-size: 14px;
    line-height: 1.7;
    color: var(--r24-text-mid);
    text-align: center;
    margin: 0;
}

.r24-services-broader-link {
    color: var(--r24-red);
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    margin-left: 6px;
}

.r24-services-broader-link:hover {
    text-decoration: underline;
}

/* Responsive */
@media (max-width: 1023px) {
    .r24-services-broader-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .r24-services-broader {
        padding: 56px 20px;
    }

    .r24-services-broader h2 {
        font-size: 24px;
        margin-bottom: 12px;
    }

    .r24-services-broader .r24-section-subtext {
        font-size: 14px;
        margin-bottom: 32px;
    }

    .r24-services-broader-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 28px;
    }

    .r24-services-broader-card {
        padding: 18px 20px;
    }

    .r24-services-broader-note {
        font-size: 13px;
    }
}

/* ====================================================================
   SERVICES OVERVIEW — SECTION 5: CTA
   ==================================================================== */

.r24-services-cta {
    background: var(--r24-dark);
    padding: 80px 20px;
}

.r24-services-cta-content {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
}

.r24-services-cta-content h2 {
    font-size: 28px;
    font-weight: 800;
    line-height: 1.2;
    color: var(--r24-white);
    margin: 0 0 16px 0;
}

.r24-services-cta-content p {
    font-size: 17px;
    line-height: 1.7;
    color: var(--r24-text-grey);
    margin: 0 0 32px 0;
}

.r24-services-cta-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
}

.r24-services-cta-primary {
    display: inline-block;
    background: var(--r24-red);
    color: var(--r24-white);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    padding: 14px 32px;
    border-radius: 2px;
    transition: background 0.2s ease;
}

.r24-services-cta-primary:hover {
    background: #B30000;
    color: var(--r24-white);
    text-decoration: none;
}

.r24-services-cta-secondary {
    display: inline-block;
    background: transparent;
    color: var(--r24-white);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    padding: 14px 32px;
    border: 2px solid rgba(255,255,255,0.30);
    border-radius: 2px;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.r24-services-cta-secondary:hover {
    border-color: rgba(255,255,255,0.50);
    background: rgba(255,255,255,0.05);
    color: var(--r24-white);
    text-decoration: none;
}

/* Responsive */
@media (max-width: 767px) {
    .r24-services-cta {
        padding: 56px 20px;
    }

    .r24-services-cta-content h2 {
        font-size: 22px;
        margin-bottom: 14px;
    }

    .r24-services-cta-content p {
        font-size: 15px;
        margin-bottom: 28px;
    }

    .r24-services-cta-buttons {
        flex-direction: column;
        gap: 12px;
    }

    .r24-services-cta-primary,
    .r24-services-cta-secondary {
        width: 100%;
        text-align: center;
        padding: 13px 24px;
    }
}

/* ====================================================================
   PRIVATE CLIENTS PAGE
   ==================================================================== */

/* SECTION 1 — HERO */
.r24-private-hero {
    background-color: var(--r24-dark);
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 50px 50px;
    padding: 90px 20px;
}

.r24-private-hero-content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.r24-private-hero .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--r24-red);
    margin-bottom: 20px;
}

.r24-private-hero h1 {
    font-size: 42px;
    font-weight: 800;
    line-height: 1.2;
    color: var(--r24-white);
    margin: 0 0 24px 0;
}

.r24-private-hero .r24-subheadline {
    font-size: 19px;
    line-height: 1.7;
    color: var(--r24-text-grey);
    margin: 0 0 36px 0;
}

.r24-private-hero .r24-cta-primary {
    display: inline-block;
    background: var(--r24-red);
    color: var(--r24-white);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    padding: 14px 36px;
    border-radius: 2px;
    transition: background 0.2s ease;
}

.r24-private-hero .r24-cta-primary:hover {
    background: #B30000;
    color: var(--r24-white);
    text-decoration: none;
}

/* Responsive */
@media (max-width: 767px) {
    .r24-private-hero {
        padding: 60px 20px;
    }

    .r24-private-hero h1 {
        font-size: 28px;
    }

    .r24-private-hero .r24-subheadline {
        font-size: 16px;
    }
}

/* SECTION 2 — OUR BACKGROUND */
.r24-private-background {
    background: var(--r24-section);
    padding: 80px 20px;
}

.r24-private-background-grid {
    display: grid;
    grid-template-columns: 60% 40%;
    gap: 60px;
    align-items: start;
}

.r24-private-background-text .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--r24-red);
    margin-bottom: 16px;
}

.r24-private-background-text h2 {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--r24-text-dark);
    margin: 0 0 24px 0;
}

.r24-private-background-text p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--r24-text-mid);
    margin: 0 0 20px 0;
}

.r24-private-background-text p:last-child {
    margin-bottom: 0;
}

.r24-private-background-panels {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.r24-private-credential-panel {
    background: var(--r24-white);
    border-left: 3px solid var(--r24-red);
    border-radius: 2px;
    padding: 20px 24px;
}

.r24-private-credential-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--r24-red);
    margin-bottom: 6px;
}

.r24-private-credential-panel p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--r24-text-mid);
    margin: 0;
}

/* Responsive */
@media (max-width: 767px) {
    .r24-private-background {
        padding: 56px 20px;
    }

    .r24-private-background-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .r24-private-background-text h2 {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .r24-private-background-text p {
        font-size: 15px;
    }
}

/* SECTION 3 — WHAT WE OFFER */
.r24-private-services {
    background: var(--r24-dark);
    padding: 80px 20px;
}

.r24-private-services h2 {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--r24-white);
    text-align: center;
    margin: 0 0 16px 0;
}

.r24-private-services-subtext {
    font-size: 17px;
    line-height: 1.7;
    color: var(--r24-text-grey);
    text-align: center;
    max-width: 800px;
    margin: 0 auto 48px auto;
}

.r24-private-services-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
}

.r24-private-service-card {
    background: var(--r24-card);
    border-top: 4px solid var(--r24-red);
    border-radius: 4px;
    padding: 40px;
}

.r24-private-service-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--r24-red);
    margin-bottom: 12px;
}

.r24-private-service-card h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--r24-white);
    margin: 0 0 14px 0;
}

.r24-private-service-card > p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--r24-text-grey);
    margin: 0 0 24px 0;
}

.r24-private-service-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.r24-private-service-list li {
    font-size: 14px;
    line-height: 1.5;
    color: rgba(255,255,255,0.72);
    padding: 9px 0;
    border-bottom: 1px solid var(--r24-border-dk);
    display: flex;
    align-items: center;
    gap: 10px;
}

.r24-private-service-list li:last-child {
    border-bottom: none;
}

.r24-private-service-list li::before {
    content: "→";
    color: var(--r24-red);
    font-weight: 700;
    flex-shrink: 0;
}

/* Responsive */
@media (max-width: 767px) {
    .r24-private-services {
        padding: 56px 20px;
    }

    .r24-private-services h2 {
        font-size: 26px;
        margin-bottom: 14px;
    }

    .r24-private-services-subtext {
        font-size: 15px;
        margin-bottom: 36px;
    }

    .r24-private-services-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .r24-private-service-card {
        padding: 32px 24px;
    }

    .r24-private-service-card h3 {
        font-size: 18px;
    }

    .r24-private-service-list li {
        font-size: 13px;
        padding: 8px 0;
    }
}

/* SECTION 4 — HOW WE WORK */
.r24-private-how {
    background: var(--r24-section);
    padding: 80px 20px;
}

.r24-private-how-content {
    max-width: 740px;
    margin: 0 auto;
    text-align: center;
}

.r24-private-how .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--r24-red);
    margin-bottom: 16px;
}

.r24-private-how h2 {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--r24-text-dark);
    margin: 0 0 28px 0;
}

.r24-private-how p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--r24-text-mid);
    margin: 0 0 20px 0;
}

.r24-private-how p:last-of-type {
    margin-bottom: 32px;
}

.r24-private-how-button {
    display: inline-block;
    background: var(--r24-red);
    color: var(--r24-white);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    padding: 14px 36px;
    border-radius: 2px;
    transition: background 0.2s ease;
}

.r24-private-how-button:hover {
    background: #B30000;
}

/* Responsive */
@media (max-width: 767px) {
    .r24-private-how {
        padding: 56px 20px;
    }

    .r24-private-how h2 {
        font-size: 24px;
        margin-bottom: 24px;
    }

    .r24-private-how p {
        font-size: 15px;
        text-align: left;
    }

    .r24-private-how-button {
        width: 100%;
        text-align: center;
    }
}

/* SECTION 5 — CONNECT TECHNOLOGY */
.r24-private-connect {
    background: var(--r24-dark);
    border-top: 1px solid var(--r24-border-dk);
    padding: 80px 20px;
}

.r24-private-connect-grid {
    display: grid;
    grid-template-columns: 60% 40%;
    gap: 60px;
    align-items: start;
}

.r24-private-connect-text .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--r24-red);
    margin-bottom: 16px;
}

.r24-private-connect-text h2 {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--r24-white);
    margin: 0 0 24px 0;
}

.r24-private-connect-text p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--r24-text-grey);
    margin: 0 0 20px 0;
}

.r24-private-connect-text p:last-of-type {
    margin-bottom: 24px;
}

.r24-private-connect-link {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    color: var(--r24-red);
    text-decoration: none;
}

.r24-private-connect-link:hover {
    text-decoration: underline;
}

.r24-private-connect-panels {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.r24-private-connect-panel {
    background: var(--r24-card);
    border-left: 3px solid var(--r24-red);
    padding: 20px 24px;
}

.r24-private-connect-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--r24-red);
    margin-bottom: 6px;
}

.r24-private-connect-panel p {
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255,255,255,0.75);
    margin: 0;
}

/* Responsive */
@media (max-width: 767px) {
    .r24-private-connect {
        padding: 56px 20px;
    }

    .r24-private-connect-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .r24-private-connect-text h2 {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .r24-private-connect-text p {
        font-size: 15px;
    }
}

/* SECTION 6 — CTA */
.r24-private-cta {
    background: var(--r24-section);
    padding: 80px 20px;
}

.r24-private-cta-content {
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
}

.r24-private-cta-content h2 {
    font-size: 26px;
    font-weight: 700;
    color: var(--r24-text-dark);
    margin: 0 0 16px 0;
}

.r24-private-cta-content > p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--r24-text-mid);
    margin: 0 0 28px 0;
}

.r24-private-cta-button {
    display: inline-block;
    background: var(--r24-red);
    color: var(--r24-white);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    padding: 14px 36px;
    border-radius: 2px;
    transition: background 0.2s ease;
}

.r24-private-cta-button:hover {
    background: #B30000;
    color: var(--r24-white);
    text-decoration: none;
}

.r24-private-cta-note {
    font-size: 13px;
    color: var(--r24-text-mid);
    margin: 16px 0 0 0;
}

/* Responsive */
@media (max-width: 767px) {
    .r24-private-cta {
        padding: 56px 20px;
    }

    .r24-private-cta-content h2 {
        font-size: 22px;
    }

    .r24-private-cta-content > p {
        font-size: 15px;
    }

    .r24-private-cta-button {
        width: 100%;
        text-align: center;
    }

    .r24-private-cta-note {
        font-size: 12px;
    }
}

/* ====================================================================
   INSIGHTS PAGE
   ==================================================================== */

/* SECTION 1 — HERO */
.r24-insights-hero {
    background-color: var(--r24-dark);
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 50px 50px;
    padding: 80px 20px;
}

.r24-insights-hero-content {
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
}

.r24-insights-hero .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--r24-red);
    margin-bottom: 20px;
}

.r24-insights-hero h1 {
    font-size: 38px;
    font-weight: 800;
    line-height: 1.2;
    color: var(--r24-white);
    margin: 0 0 20px 0;
}

.r24-insights-hero .r24-subheadline {
    font-size: 18px;
    line-height: 1.7;
    color: var(--r24-text-grey);
    margin: 0;
}

/* Responsive */
@media (max-width: 767px) {
    .r24-insights-hero {
        padding: 60px 20px;
    }

    .r24-insights-hero h1 {
        font-size: 26px;
    }

    .r24-insights-hero .r24-subheadline {
        font-size: 16px;
    }
}

/* SECTION 2 — CATEGORY FILTER + LISTING */
.r24-insights-listing {
    background: var(--r24-section);
    padding: 60px 0;
}

.r24-insights-listing-container {
    max-width: var(--r24-max);
    margin: 0 auto;
    padding: 0 24px;
}

/* Filter Bar */
.r24-insights-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 40px;
    overflow-x: auto;
    padding-bottom: 8px;
}

.r24-insights-filter {
    font-size: 13px;
    font-weight: 600;
    padding: 8px 18px;
    border-radius: 2px;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 1px solid var(--r24-border-lt);
    background: var(--r24-white);
    color: var(--r24-text-mid);
    white-space: nowrap;
}

.r24-insights-filter.active {
    background: var(--r24-dark);
    color: var(--r24-white);
    border-color: var(--r24-dark);
}

.r24-insights-filter:hover:not(.active) {
    background: var(--r24-dark);
    color: var(--r24-white);
}

/* Card Grid */
.r24-insights-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

/* Card */
.r24-insights-card {
    background: var(--r24-white);
    border-radius: 4px;
    border-top: 3px solid var(--r24-red);
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.r24-insights-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.10);
}

.r24-insights-card-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.r24-insights-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.r24-insights-card-body {
    padding: 24px 28px 28px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.r24-insights-card-category {
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    display: block;
    margin-bottom: 10px;
}

.r24-insights-card h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--r24-text-dark);
    line-height: 1.4;
    margin: 0 0 10px 0;
}

.r24-insights-card-excerpt {
    font-size: 14px;
    color: var(--r24-text-mid);
    line-height: 1.7;
    margin: 0 0 20px 0;
    flex-grow: 1;
}

.r24-insights-card-date {
    font-size: 12px;
    color: #999;
    display: block;
    margin-bottom: 16px;
}

.r24-insights-card-link {
    font-size: 14px;
    font-weight: 600;
    color: var(--r24-red);
    text-decoration: none;
    display: inline-block;
    margin-top: auto;
}

.r24-insights-card-link:hover {
    text-decoration: underline;
}

/* Responsive */
@media (max-width: 900px) {
    .r24-insights-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (max-width: 600px) {
    .r24-insights-listing {
        padding: 50px 0;
    }

    .r24-insights-listing-container {
        padding: 0 20px;
    }

    .r24-insights-filters {
        margin-bottom: 32px;
        gap: 10px;
    }

    .r24-insights-filter {
        font-size: 12px;
        padding: 7px 16px;
    }

    .r24-insights-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .r24-insights-card-body {
        padding: 20px 24px 24px;
    }

    .r24-insights-card h3 {
        font-size: 16px;
    }

    .r24-insights-card-excerpt {
        font-size: 13px;
    }
}

/* ====================================================================
   SINGLE INSIGHT POST
   ==================================================================== */

/* ARTICLE HERO */
.r24-insight-hero {
    background: var(--r24-dark);
    padding: 70px 24px;
}

.r24-insight-hero-content {
    max-width: 800px;
    margin: 0 auto;
    text-align: left;
}

.r24-insight-category {
    font-size: 11px;
    font-weight: 700;
    color: var(--r24-red);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    display: block;
    margin-bottom: 8px;
}

.r24-insight-date {
    font-size: 13px;
    color: rgba(255,255,255,0.50);
    display: block;
    margin-bottom: 20px;
}

.r24-insight-hero h1 {
    font-size: 36px;
    font-weight: 800;
    line-height: 1.25;
    color: var(--r24-white);
    margin: 0 0 20px 0;
}

.r24-insight-standfirst {
    font-size: 18px;
    line-height: 1.7;
    color: rgba(255,255,255,0.72);
    margin: 0;
}

/* FEATURED IMAGE */
.r24-insight-featured-image {
    max-width: 860px;
    margin: 0 auto;
    display: block;
}

.r24-insight-featured-image img {
    width: 100%;
    max-height: 460px;
    object-fit: cover;
    display: block;
}

/* ARTICLE BODY */
.r24-insight-body {
    max-width: 740px;
    margin: 0 auto;
    padding: 50px 24px 60px;
}

.r24-insight-body p {
    font-size: 17px;
    line-height: 1.85;
    color: var(--r24-text-dark);
    margin: 0 0 24px 0;
}

.r24-insight-body h2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--r24-text-dark);
    margin: 36px 0 14px 0;
}

.r24-insight-body h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--r24-text-dark);
    margin: 28px 0 10px 0;
}

.r24-insight-body blockquote {
    border-left: 3px solid var(--r24-red);
    padding-left: 20px;
    color: var(--r24-text-mid);
    font-style: italic;
    margin: 28px 0;
}

.r24-insight-body strong {
    font-weight: 700;
}

.r24-insight-body ul,
.r24-insight-body ol {
    margin: 0 0 24px 0;
    padding-left: 24px;
}

.r24-insight-body li {
    font-size: 17px;
    line-height: 1.85;
    color: var(--r24-text-dark);
    margin-bottom: 8px;
}

/* BACK LINK */
.r24-insight-back {
    max-width: 740px;
    margin: 0 auto;
    padding: 0 24px 40px;
}

.r24-insight-back a {
    font-size: 14px;
    font-weight: 600;
    color: var(--r24-red);
    text-decoration: none;
}

.r24-insight-back a:hover {
    text-decoration: underline;
}

/* RELATED CTA STRIP */
.r24-insight-cta {
    background: var(--r24-dark);
    padding: 50px 24px;
}

.r24-insight-cta-content {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
}

.r24-insight-cta h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--r24-white);
    margin: 0 0 12px 0;
}

.r24-insight-cta p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--r24-text-grey);
    margin: 0 0 24px 0;
}

.r24-insight-cta-button {
    display: inline-block;
    background: var(--r24-red);
    color: var(--r24-white);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    padding: 14px 36px;
    border-radius: 2px;
    transition: background 0.2s ease;
}

.r24-insight-cta-button:hover {
    background: #B30000;
    color: var(--r24-white);
    text-decoration: none;
}

/* Responsive */
@media (max-width: 767px) {
    .r24-insight-hero {
        padding: 50px 24px;
    }

    .r24-insight-hero h1 {
        font-size: 24px;
    }

    .r24-insight-standfirst {
        font-size: 16px;
    }

    .r24-insight-body {
        padding: 40px 20px 50px;
    }

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

    .r24-insight-body h2 {
        font-size: 20px;
    }

    .r24-insight-body h3 {
        font-size: 17px;
    }

    .r24-insight-back {
        padding: 0 20px 32px;
    }

    .r24-insight-cta {
        padding: 40px 20px;
    }

    .r24-insight-cta h3 {
        font-size: 18px;
    }

    .r24-insight-cta-button {
        width: 100%;
        text-align: center;
    }
}

/* ====================================================================
   CRISIS CONCIERGE PAGE
   ==================================================================== */

/* SECTION 3 — PRODUCT VIDEO */
.r24-cc-video {
    background: var(--r24-dark);
    padding: 70px 20px;
}

.r24-cc-video-container {
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
}

.r24-cc-video .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--r24-red);
    margin-bottom: 16px;
}

.r24-cc-video h2 {
    font-size: 26px;
    font-weight: 700;
    color: var(--r24-white);
    margin: 0 0 12px 0;
}

.r24-cc-video p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--r24-text-grey);
    margin: 0 0 36px 0;
}

.r24-video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    border-radius: 4px;
    background: #000;
}

.r24-video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Responsive */
@media (max-width: 767px) {
    .r24-cc-video {
        padding: 56px 20px;
    }

    .r24-cc-video h2 {
        font-size: 22px;
    }

    .r24-cc-video p {
        font-size: 15px;
        margin-bottom: 28px;
    }
}

/* SECTION 4 — WHAT CRISIS CONCIERGE COVERS */
.r24-cc-coverage {
    background: var(--r24-section);
    padding: 80px 20px;
}

.r24-cc-coverage h2 {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--r24-text-dark);
    text-align: center;
    margin: 0 0 16px 0;
}

.r24-cc-coverage-subtext {
    font-size: 17px;
    line-height: 1.7;
    color: var(--r24-text-mid);
    text-align: center;
    max-width: 900px;
    margin: 0 auto 48px auto;
}

.r24-cc-coverage-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
    max-width: var(--r24-max);
    margin: 0 auto;
}

.r24-cc-coverage-column h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--r24-text-dark);
    margin: 0 0 16px 0;
}

.r24-cc-optional-panel {
    background: var(--r24-dark);
    border-radius: 4px;
    padding: 20px 24px;
    margin-top: 24px;
}

.r24-cc-optional-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--r24-red);
    margin-bottom: 8px;
}

.r24-cc-optional-panel p {
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255,255,255,0.78);
    margin: 0;
}

/* Override for service list in light background */
.r24-cc-coverage .r24-private-service-list li {
    color: var(--r24-text-dark);
    border-bottom: 1px solid var(--r24-border-lt);
}

/* Responsive */
@media (max-width: 767px) {
    .r24-cc-coverage {
        padding: 56px 20px;
    }

    .r24-cc-coverage h2 {
        font-size: 26px;
        margin-bottom: 14px;
    }

    .r24-cc-coverage-subtext {
        font-size: 15px;
        margin-bottom: 36px;
    }

    .r24-cc-coverage-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}

/* SECTION 5 — FOR UNDERWRITERS & BROKERS */
.r24-cc-underwriters {
    background: var(--r24-dark);
    padding: 80px 20px;
}

.r24-cc-underwriters .r24-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--r24-red);
    text-align: center;
    margin-bottom: 16px;
}

.r24-cc-underwriters h2 {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--r24-white);
    text-align: center;
    margin: 0 0 48px 0;
}

.r24-cc-underwriters-grid {
    display: grid;
    grid-template-columns: 55% 45%;
    gap: 60px;
    max-width: var(--r24-max);
    margin: 0 auto;
}

.r24-cc-underwriters-left h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--r24-white);
    margin: 0 0 24px 0;
}

.r24-cc-checklist {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.r24-cc-checklist-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.r24-cc-tick {
    display: block;
    color: var(--r24-red);
    flex-shrink: 0;
    line-height: 1;
}

.r24-cc-tick svg {
    display: block;
}

.r24-cc-checklist-content strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: var(--r24-white);
    margin-bottom: 6px;
}

.r24-cc-checklist-content p {
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255,255,255,0.72);
    margin: 0;
}

.r24-cc-callout-panel {
    background: var(--r24-card);
    border-top: 3px solid var(--r24-red);
    border-radius: 4px;
    padding: 32px;
}

.r24-cc-callout-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--r24-red);
    margin-bottom: 12px;
}

.r24-cc-callout-panel h3 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--r24-white);
    margin: 0 0 16px 0;
}

.r24-cc-callout-panel p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--r24-text-grey);
    margin: 0 0 16px 0;
}

.r24-cc-callout-panel p:last-of-type {
    margin-bottom: 20px;
}

.r24-cc-callout-link {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    color: var(--r24-red);
    text-decoration: none;
}

.r24-cc-callout-link:hover {
    text-decoration: underline;
}

/* Responsive */
@media (max-width: 900px) {
    .r24-cc-underwriters-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }
}

@media (max-width: 767px) {
    .r24-cc-underwriters {
        padding: 56px 20px;
    }

    .r24-cc-underwriters h2 {
        font-size: 24px;
        margin-bottom: 36px;
    }

    .r24-cc-underwriters-left h3 {
        font-size: 17px;
    }

    .r24-cc-checklist {
        gap: 20px;
    }

    .r24-cc-checklist-content strong {
        font-size: 14px;
    }

    .r24-cc-checklist-content p {
        font-size: 13px;
    }

    .r24-cc-callout-panel {
        padding: 28px 24px;
    }

    .r24-cc-callout-panel h3 {
        font-size: 17px;
    }

    .r24-cc-callout-panel p {
        font-size: 14px;
    }
}

/* ========================================
   SECTION 6 — D&O CONTEXT
   ======================================== */

.r24-cc-context {
    background: var(--r24-section);
    padding: 80px 0;
}

.r24-cc-context .r24-eyebrow {
    display: block;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--r24-red);
    margin-bottom: 16px;
}

.r24-cc-context h2 {
    font-size: 34px;
    font-weight: 800;
    line-height: 1.25;
    color: var(--r24-text-dark);
    text-align: center;
    margin: 0 auto 20px auto;
    max-width: 800px;
}

.r24-cc-context-subtext {
    font-size: 16px;
    line-height: 1.7;
    color: var(--r24-text-mid);
    text-align: center;
    margin: 0 auto 48px auto;
    max-width: 900px;
}

.r24-cc-context-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
}

.r24-cc-context-card {
    background: var(--r24-white);
    border-top: 3px solid var(--r24-red);
    border-radius: 4px;
    padding: 24px 28px;
}

.r24-cc-context-card h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--r24-text-dark);
    margin: 0 0 14px 0;
}

.r24-cc-context-card p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--r24-text-mid);
    margin: 0;
}

/* Responsive */
@media (max-width: 767px) {
    .r24-cc-context {
        padding: 56px 20px;
    }

    .r24-cc-context h2 {
        font-size: 24px;
        margin-bottom: 16px;
    }

    .r24-cc-context-subtext {
        font-size: 15px;
        margin-bottom: 36px;
    }

    .r24-cc-context-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .r24-cc-context-card {
        padding: 20px 24px;
    }

    .r24-cc-context-card h3 {
        font-size: 15px;
    }

    .r24-cc-context-card p {
        font-size: 13px;
    }
}

/* ========================================
   SECTION 7 — DOWNLOAD & CTA
   ======================================== */

.r24-cc-download {
    background: var(--r24-dark);
    padding: 80px 0;
}

.r24-cc-download-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start;
}

/* Left panel: Download */
.r24-cc-download-panel {
    background: var(--r24-card);
    border-top: 3px solid var(--r24-red);
    border-radius: 4px;
    padding: 32px 36px;
}

.r24-cc-download-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--r24-red);
    margin-bottom: 14px;
}

.r24-cc-download-panel h3 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--r24-white);
    margin: 0 0 16px 0;
}

.r24-cc-download-panel p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--r24-text-grey);
    margin: 0 0 24px 0;
}

.r24-cc-download-button {
    display: inline-block;
    background: var(--r24-red);
    color: var(--r24-white);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    padding: 14px 28px;
    border-radius: 3px;
    transition: background 0.2s ease;
}

.r24-cc-download-button:hover {
    background: #B00000;
}

/* Right panel: CTA */
.r24-cc-cta-panel h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--r24-white);
    margin: 0 0 16px 0;
}

.r24-cc-cta-panel p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--r24-text-grey);
    margin: 0 0 28px 0;
}

.r24-cc-cta-buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 900px) {
    .r24-cc-download-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

@media (max-width: 767px) {
    .r24-cc-download {
        padding: 56px 20px;
    }

    .r24-cc-download-grid {
        gap: 32px;
    }

    .r24-cc-download-panel {
        padding: 28px 24px;
    }

    .r24-cc-download-panel h3 {
        font-size: 18px;
    }

    .r24-cc-download-panel p {
        font-size: 14px;
    }

    .r24-cc-cta-panel h3 {
        font-size: 20px;
    }

    .r24-cc-cta-panel p {
        font-size: 14px;
    }

    .r24-cc-cta-buttons {
        flex-direction: column;
        gap: 12px;
    }

    .r24-cc-cta-buttons a {
        width: 100%;
        text-align: center;
    }
}

/* ========================================
   RELATED SERVICES STRIP
   ======================================== */

.r24-cc-related {
    background: var(--r24-dark);
    padding: 80px 0;
    border-top: 1px solid var(--r24-border-dk);
}

.r24-cc-related .r24-eyebrow {
    display: block;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--r24-red);
    margin-bottom: 16px;
}

.r24-cc-related h2 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--r24-white);
    text-align: center;
    margin: 0 0 48px 0;
}

.r24-cc-related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.r24-cc-related-card {
    display: block;
    background: var(--r24-card);
    border: 1px solid var(--r24-border-dk);
    border-radius: 4px;
    padding: 28px 24px;
    text-decoration: none;
    transition: border-color 0.2s ease, transform 0.2s ease;
    position: relative;
}

.r24-cc-related-card:hover {
    border-color: var(--r24-red);
    transform: translateY(-2px);
}

.r24-cc-related-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--r24-red);
    margin-bottom: 12px;
}

.r24-cc-related-card h3 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--r24-white);
    margin: 0 0 12px 0;
}

.r24-cc-related-card p {
    font-size: 13px;
    line-height: 1.6;
    color: var(--r24-text-grey);
    margin: 0 0 16px 0;
}

.r24-cc-related-arrow {
    display: inline-block;
    font-size: 18px;
    color: var(--r24-red);
    transition: transform 0.2s ease;
}

.r24-cc-related-card:hover .r24-cc-related-arrow {
    transform: translateX(4px);
}

/* Responsive */
@media (max-width: 1024px) {
    .r24-cc-related-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .r24-cc-related {
        padding: 56px 20px;
    }

    .r24-cc-related h2 {
        font-size: 22px;
        margin-bottom: 32px;
    }

    .r24-cc-related-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .r24-cc-related-card {
        padding: 24px 20px;
    }

    .r24-cc-related-card h3 {
        font-size: 15px;
    }

    .r24-cc-related-card p {
        font-size: 13px;
    }
}
