
:root {
    --cmp-red:#d71920;
    --cmp-red-dark:#aa1015;
    --cmp-dark:#171c23;
    --cmp-text:#47505b;
    --cmp-muted:#727b87;
    --cmp-border:#e5e8ec;
    --cmp-soft:#f6f7f9;
    --cmp-white:#ffffff;
    --cmp-radius:14px;
    --cmp-shadow:0 8px 25px rgba(15,23,42,.055);
}

* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
}

body.cmp-site {
    margin:0;
    color:var(--cmp-text);
    background:#f6f7f9;
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;
}

body.cmp-site img {
    max-width:100%;
    height:auto;
}

.cmp-wrap {
    width:min(1180px,calc(100% - 40px));
    margin-left:auto;
    margin-right:auto;
}


/* TOP BAR */

.cmp-topbar {
    color:#fff;
    background:
        linear-gradient(
            90deg,
            #c80f15,
            #e82025
        );
}

.cmp-topbar-inner {
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    font-size:10px;
    font-weight:750;
}


/* HEADER */

.cmp-site-header {
    position:relative;
    z-index:100;
    background:#fff;
    border-bottom:1px solid var(--cmp-border);
    box-shadow:0 3px 15px rgba(15,23,42,.035);
}

.cmp-header-inner {
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:26px;
}

.cmp-site-brand {
    flex:0 0 auto;
    color:var(--cmp-dark);
    text-decoration:none;
}

.cmp-site-brand strong {
    display:block;
    font-size:25px;
    line-height:1;
    letter-spacing:-.045em;
}

.cmp-site-brand strong span {
    color:var(--cmp-red);
}

.cmp-site-brand small {
    display:block;
    margin-top:5px;
    color:var(--cmp-muted);
    font-size:9px;
}

.cmp-global-nav {
    display:flex;
    align-items:center;
    gap:2px;
}

.cmp-global-nav a {
    padding:10px 10px;
    color:#303741;
    border-radius:7px;
    font-size:11px;
    font-weight:750;
    text-decoration:none;
}

.cmp-global-nav a:hover {
    color:var(--cmp-red);
    background:#fff3f3;
}

.cmp-menu-toggle {
    display:none;
}


/* COMMON */

.cmp-panel,
.cmp-sidebar-card,
.cmp-article-card,
.cmp-post-card {
    background:#fff;
    border:1px solid var(--cmp-border);
    border-radius:var(--cmp-radius);
    box-shadow:var(--cmp-shadow);
}

.cmp-panel {
    padding:27px 28px;
}

.cmp-kicker {
    display:block;
    margin-bottom:7px;
    color:var(--cmp-red);
    font-size:9px;
    font-weight:900;
    letter-spacing:.06em;
}

.cmp-readable h2 {
    margin:0 0 12px;
    color:var(--cmp-dark);
    font-size:25px;
    line-height:1.25;
}

.cmp-readable h2:not(:first-of-type) {
    margin-top:27px;
}

.cmp-readable h3 {
    margin:26px 0 10px;
    color:var(--cmp-dark);
    font-size:19px;
}

.cmp-readable p {
    margin:0 0 14px;
    font-size:13px;
    line-height:1.78;
}

.cmp-readable ul,
.cmp-readable ol {
    margin:0 0 18px;
    padding-left:23px;
}

.cmp-readable li {
    margin-bottom:7px;
    font-size:13px;
    line-height:1.65;
}

.cmp-button-primary {
    min-height:41px;
    padding:9px 15px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff !important;
    background:var(--cmp-red);
    border-radius:7px;
    font-size:10px;
    font-weight:850;
    text-decoration:none !important;
}

.cmp-button-primary:hover {
    background:var(--cmp-red-dark);
}

.cmp-button-secondary {
    min-height:41px;
    padding:9px 15px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--cmp-dark);
    background:#fff;
    border:1px solid #dadde2;
    border-radius:7px;
    font-size:10px;
    font-weight:850;
    text-decoration:none;
}

.cmp-inline-link {
    color:var(--cmp-red) !important;
    font-size:10px;
    font-weight:850;
    text-decoration:none !important;
}


/* HOME HERO */

.cmp-home-hero {
    padding:28px 0 0;
}

.cmp-hero-grid {
    min-height:445px;
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr 1.08fr;
    background:#fff;
    border:1px solid var(--cmp-border);
    border-radius:16px;
    box-shadow:var(--cmp-shadow);
}

.cmp-hero-copy {
    padding:46px 42px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.cmp-hero-copy h1 {
    margin:0 0 15px;
    color:var(--cmp-dark);
    font-size:clamp(38px,5vw,57px);
    line-height:1.04;
    letter-spacing:-.045em;
}

.cmp-hero-copy h1 strong {
    display:block;
    color:var(--cmp-red);
}

.cmp-large-intro {
    max-width:610px;
    margin:0;
    font-size:15px;
    line-height:1.72;
}

.cmp-hero-points {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:11px;
    margin-top:23px;
}

.cmp-hero-points > div {
    padding-left:11px;
    border-left:2px solid #ffd0d2;
}

.cmp-hero-points b {
    display:block;
    margin-bottom:3px;
    color:var(--cmp-dark);
    font-size:10px;
}

.cmp-hero-points span {
    display:block;
    color:var(--cmp-muted);
    font-size:9px;
    line-height:1.45;
}

.cmp-actions {
    display:flex;
    gap:9px;
    margin-top:23px;
}

.cmp-hero-photo {
    min-height:445px;
}

.cmp-hero-photo img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}


/* HOME LAYOUT */

.cmp-home-body {
    padding:24px 0 34px;
}

.cmp-home-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) 285px;
    gap:24px;
    align-items:start;
}

.cmp-home-main {
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:18px;
}

.cmp-section-title {
    margin-bottom:19px;
}

.cmp-section-title h2 {
    margin:0 0 4px;
    color:var(--cmp-dark);
    font-size:22px;
}

.cmp-section-title p {
    margin:0;
    color:var(--cmp-muted);
    font-size:10px;
    line-height:1.55;
}

.cmp-title-row {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
}

.cmp-title-row > a {
    color:var(--cmp-red);
    font-size:9px;
    font-weight:850;
    text-decoration:none;
}


/* CATEGORIES */

.cmp-category-grid {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:10px;
}

.cmp-category-grid > a {
    min-height:160px;
    padding:12px 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:var(--cmp-dark);
    background:#fff;
    border:1px solid var(--cmp-border);
    border-radius:10px;
    text-align:center;
    text-decoration:none;
    transition:.16s ease;
}

.cmp-category-grid > a:hover {
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(15,23,42,.06);
}

.cmp-category-grid img {
    width:103px;
    height:78px;
    margin-bottom:8px;
    object-fit:contain;
}

.cmp-category-grid b {
    color:var(--cmp-red);
    font-size:10px;
}

.cmp-category-grid span {
    margin-top:3px;
    color:var(--cmp-muted);
    font-size:8px;
}

.cmp-info-circle {
    width:68px;
    height:68px;
    margin-bottom:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:var(--cmp-red);
    border-radius:50%;
    font-family:Georgia,serif;
    font-size:28px;
    font-weight:bold;
}


/* COMBO CARDS */

.cmp-combo-grid {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:10px;
}

.cmp-combo-grid article {
    overflow:hidden;
    border:1px solid var(--cmp-border);
    border-radius:9px;
    background:#fff;
}

.cmp-combo-grid img {
    width:100%;
    height:128px;
    display:block;
    object-fit:contain;
    background:#fafafa;
}

.cmp-combo-grid h3 {
    margin:10px 10px 4px;
    color:var(--cmp-dark);
    font-size:10px;
}

.cmp-combo-grid p {
    margin:0 10px 12px;
    color:var(--cmp-muted);
    font-size:8px;
    line-height:1.5;
}


/* MENU CONTENT */

.cmp-menu-card-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:11px;
    margin:17px 0 7px;
}

.cmp-menu-card-grid > div,
.cmp-three-grid > div {
    padding:13px;
    background:#fafafa;
    border:1px solid #e9ebee;
    border-radius:9px;
}

.cmp-menu-card-grid img {
    width:100%;
    height:125px;
    object-fit:contain;
}

.cmp-menu-card-grid b,
.cmp-three-grid b {
    display:block;
    color:var(--cmp-dark);
    font-size:10px;
}

.cmp-menu-card-grid span {
    display:block;
    margin-top:4px;
    color:var(--cmp-muted);
    font-size:8px;
    line-height:1.45;
}

.cmp-feature-box {
    margin:17px 0;
    padding:17px;
    display:grid;
    grid-template-columns:240px 1fr;
    gap:20px;
    align-items:center;
    background:#fafafa;
    border:1px solid #e9ebee;
    border-radius:10px;
}

.cmp-feature-box img {
    width:100%;
    height:170px;
    object-fit:contain;
}

.cmp-feature-box h4 {
    margin:0 0 7px;
    color:var(--cmp-dark);
    font-size:15px;
}

.cmp-feature-box p {
    font-size:11px;
}

.cmp-feature-box a {
    color:var(--cmp-red);
    font-size:9px;
    font-weight:850;
    text-decoration:none;
}

.cmp-three-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin:17px 0;
}

.cmp-three-grid img {
    width:100%;
    height:115px;
    object-fit:contain;
}


/* TWO COL */

.cmp-two-column {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}


/* RESOURCES */

.cmp-resource-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.cmp-resource-grid a {
    padding:15px;
    color:var(--cmp-dark);
    background:#fafafa;
    border:1px solid #e9ebee;
    border-radius:8px;
    text-decoration:none;
}

.cmp-resource-grid b {
    display:block;
    color:var(--cmp-red);
    font-size:10px;
}

.cmp-resource-grid span {
    display:block;
    margin-top:4px;
    color:var(--cmp-muted);
    font-size:8px;
    line-height:1.5;
}

.cmp-method-box {
    border-left:4px solid var(--cmp-red);
}


/* FAQ */

.cmp-faq h2 {
    margin:0 0 12px;
    color:var(--cmp-dark);
    font-size:24px;
}

.cmp-faq details {
    margin-top:8px;
    background:#fff;
    border:1px solid #e7e9ec;
    border-radius:8px;
}

.cmp-faq summary {
    padding:13px 14px;
    color:var(--cmp-dark);
    cursor:pointer;
    font-size:10px;
    font-weight:800;
}

.cmp-faq details p {
    padding:0 14px 14px;
    margin:0;
    font-size:10px;
    line-height:1.65;
}


/* SIDEBARS */

.cmp-home-sidebar,
.cmp-article-sidebar {
    position:sticky;
    top:18px;
    display:flex;
    flex-direction:column;
    gap:13px;
}

.cmp-sidebar-card {
    padding:18px 16px;
}

.cmp-sidebar-card h3 {
    margin:0 0 11px;
    color:var(--cmp-dark);
    font-size:15px;
    line-height:1.3;
}

.cmp-sidebar-card p {
    margin:0 0 10px;
    color:var(--cmp-muted);
    font-size:9px;
    line-height:1.65;
}

.cmp-sidebar-card > a:not(.cmp-sidebar-button) {
    min-height:33px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#343b45;
    border-bottom:1px solid #eeeeef;
    font-size:9px;
    font-weight:750;
    text-decoration:none;
}

.cmp-sidebar-card > a:last-child {
    border-bottom:0;
}

.cmp-sidebar-button {
    color:var(--cmp-red);
    font-size:9px;
    font-weight:850;
    text-decoration:none;
}

.cmp-sidebar-red {
    color:#fff;
    background:
        linear-gradient(
            135deg,
            #bb1015,
            #e72126
        );
    border:0;
}

.cmp-sidebar-red > span {
    display:block;
    margin-bottom:7px;
    font-size:8px;
    font-weight:900;
    opacity:.83;
}

.cmp-sidebar-red h3 {
    color:#fff;
}

.cmp-sidebar-red p {
    color:rgba(255,255,255,.85);
}

.cmp-sidebar-red a {
    color:#fff !important;
}

.cmp-related-link {
    padding:8px 0 !important;
    line-height:1.4;
}


/* SINGULAR */

.cmp-singular-main {
    display:block;
    width:100%;
    max-width:none;
    margin:0 auto;
    padding:28px 0 36px;
    float:none;
    clear:both;
}

.cmp-article-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:24px;
    align-items:start;
    width:calc(100% - 40px);
    max-width:1000px;
    margin:0 auto;
    float:none;
    position:relative;
    left:auto;
    right:auto;
}

.cmp-article-card {
    min-width:0;
    overflow:hidden;
}

.cmp-breadcrumb {
    padding:13px 28px;
    display:flex;
    gap:7px;
    align-items:center;
    color:var(--cmp-muted);
    background:#fafafa;
    border-bottom:1px solid var(--cmp-border);
    font-size:9px;
}

.cmp-breadcrumb a {
    color:var(--cmp-red);
    text-decoration:none;
}

.cmp-article-header {
    padding:30px 30px 19px;
}

.cmp-article-header h1 {
    max-width:850px;
    margin:0;
    color:var(--cmp-dark);
    font-size:clamp(30px,4vw,44px);
    line-height:1.14;
    letter-spacing:-.03em;
}

.cmp-article-meta {
    margin-top:12px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    color:var(--cmp-muted);
    font-size:9px;
}

.cmp-article-disclosure {
    margin:0 30px 22px;
    padding:12px 14px;
    color:#5b4d41;
    background:#fff8ec;
    border:1px solid #f1e2c6;
    border-radius:7px;
    font-size:9px;
    line-height:1.55;
}

.cmp-article-disclosure strong {
    color:var(--cmp-dark);
}

.cmp-featured-image {
    padding:0 30px 25px;
}

.cmp-featured-image img {
    width:100%;
    max-height:520px;
    object-fit:cover;
    border-radius:10px;
}

.cmp-article-content {
    padding:0 30px 32px;
    color:var(--cmp-text);
}

.cmp-article-content h1,
.cmp-article-content h2,
.cmp-article-content h3,
.cmp-article-content h4 {
    color:var(--cmp-dark) !important;
    line-height:1.3 !important;
}

.cmp-article-content h2 {
    margin:29px 0 11px !important;
    font-size:24px !important;
}

.cmp-article-content h3 {
    margin:24px 0 9px !important;
    font-size:19px !important;
}

.cmp-article-content h4 {
    font-size:16px !important;
}

.cmp-article-content p {
    margin:0 0 15px !important;
    color:var(--cmp-text) !important;
    font-size:13px !important;
    line-height:1.78 !important;
}

.cmp-article-content ul,
.cmp-article-content ol {
    margin:0 0 18px !important;
    padding-left:24px !important;
}

.cmp-article-content li {
    margin-bottom:7px;
    font-size:13px !important;
    line-height:1.65 !important;
}

.cmp-article-content a {
    color:var(--cmp-red) !important;
    text-underline-offset:3px;
}

.cmp-article-content img {
    border-radius:9px;
}

.cmp-article-content table {
    width:100% !important;
    margin:18px 0 !important;
    border-collapse:collapse !important;
    background:#fff !important;
}

.cmp-article-content table th {
    padding:11px 12px !important;
    color:#fff !important;
    background:#8f180d !important;
    border:0 !important;
    font-size:10px !important;
    text-align:left !important;
}

.cmp-article-content table td {
    padding:10px 12px !important;
    color:#3f4750 !important;
    background:#fff !important;
    border:0 !important;
    border-bottom:1px solid #e5e7ea !important;
    font-size:10px !important;
    line-height:1.45 !important;
}

.cmp-article-content table tr:nth-child(even) td {
    background:#f7f7f7 !important;
}


/*
 * Keep Elementor-based legacy pages readable inside
 * the new article shell.
 */

.cmp-article-content .elementor,
.cmp-article-content .e-con,
.cmp-article-content .elementor-section,
.cmp-article-content .elementor-container {
    max-width:100% !important;
}

.cmp-article-content
.elementor-section.elementor-section-stretched {
    width:100% !important;
    left:auto !important;
}

.cmp-article-end-note {
    padding:24px 30px 28px;
    background:#fafafa;
    border-top:1px solid var(--cmp-border);
}

.cmp-article-end-note h2 {
    margin:0 0 8px;
    color:var(--cmp-dark);
    font-size:18px;
}

.cmp-article-end-note p {
    margin:0;
    font-size:10px;
    line-height:1.65;
}


/* ARCHIVES */

.cmp-archive-main {
    padding:30px 0 40px;
}

.cmp-archive-header {
    max-width:760px;
    margin-bottom:24px;
}

.cmp-archive-header h1 {
    margin:0 0 8px;
    color:var(--cmp-dark);
    font-size:38px;
}

.cmp-archive-header p {
    margin:0;
    font-size:12px;
    line-height:1.65;
}

.cmp-post-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.cmp-post-card {
    overflow:hidden;
}

.cmp-post-image {
    display:block;
    background:#fafafa;
}

.cmp-post-image img {
    width:100%;
    height:210px;
    display:block;
    object-fit:cover;
}

.cmp-post-card-content {
    padding:18px;
}

.cmp-post-card-content > span {
    color:var(--cmp-red);
    font-size:8px;
    font-weight:800;
}

.cmp-post-card h2 {
    margin:7px 0;
    font-size:17px;
    line-height:1.35;
}

.cmp-post-card h2 a {
    color:var(--cmp-dark);
    text-decoration:none;
}

.cmp-post-card p {
    margin:0 0 11px;
    color:var(--cmp-muted);
    font-size:10px;
    line-height:1.6;
}

.cmp-pagination {
    margin-top:28px;
}


/* FOOTER */

.cmp-site-footer {
    color:#cbd1d9;
    background:#161c23;
    border-top:4px solid var(--cmp-red);
}

.cmp-footer-grid {
    padding:42px 0 32px;
    display:grid;
    grid-template-columns:1.8fr 1fr 1fr 1fr 1.3fr;
    gap:28px;
}

.cmp-footer-grid > div {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
}

.cmp-footer-grid strong {
    color:#fff;
    font-size:11px;
}

.cmp-footer-about > strong {
    font-size:18px;
}

.cmp-footer-grid p {
    margin:0;
    font-size:9px;
    line-height:1.65;
}

.cmp-footer-grid small {
    display:inline-block;
    margin-top:3px;
    padding:5px 6px;
    background:rgba(255,255,255,.06);
    border-radius:5px;
}

.cmp-footer-grid a {
    color:#cbd1d9;
    font-size:9px;
    text-decoration:none;
}

.cmp-footer-grid a:hover {
    color:#fff;
}

.cmp-footer-bottom {
    border-top:1px solid rgba(255,255,255,.1);
}

.cmp-footer-bottom .cmp-wrap {
    min-height:50px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:#9099a5;
    font-size:8px;
}


/* TABLET */

@media(max-width:1024px) {

    .cmp-home-layout {
        grid-template-columns:minmax(0,1fr) 235px;
        gap:18px;
    }

    .cmp-article-layout {
        grid-template-columns:minmax(0,1fr);
        gap:18px;
    }

    .cmp-global-nav a {
        padding-left:6px;
        padding-right:6px;
        font-size:9px;
    }

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

}


/* MOBILE */

@media(max-width:767px) {

    .cmp-wrap {
        width:calc(100% - 24px);
    }

    .cmp-topbar-inner {
        width:100%;
        padding:8px 12px;
        justify-content:flex-start;
        overflow-x:auto;
        white-space:nowrap;
    }

    .cmp-header-inner {
        min-height:70px;
    }

    .cmp-menu-toggle {
        display:inline-flex;
        padding:8px 11px;
        color:#fff;
        background:var(--cmp-red);
        border:0;
        border-radius:6px;
        font-size:10px;
        font-weight:800;
    }

    .cmp-global-nav {
        position:absolute;
        top:70px;
        left:12px;
        right:12px;
        display:none;
        padding:8px;
        flex-direction:column;
        align-items:stretch;
        background:#fff;
        border:1px solid var(--cmp-border);
        border-radius:10px;
        box-shadow:0 15px 35px rgba(15,23,42,.12);
    }

    .cmp-global-nav.is-open {
        display:flex;
    }

    .cmp-global-nav a {
        padding:10px 11px;
        font-size:10px;
    }

    .cmp-home-hero {
        padding-top:12px;
    }

    .cmp-hero-grid {
        display:block;
    }

    .cmp-hero-copy {
        padding:27px 20px;
    }

    .cmp-hero-copy h1 {
        font-size:34px;
    }

    .cmp-hero-points {
        grid-template-columns:1fr;
        gap:7px;
    }

    .cmp-hero-photo {
        min-height:280px;
    }

    .cmp-home-layout,
    .cmp-article-layout {
        display:block;
    }

    .cmp-home-sidebar,
    .cmp-article-sidebar {
        position:static;
        margin-top:18px;
    }

    .cmp-panel {
        padding:23px 17px;
    }

    .cmp-category-grid,
    .cmp-combo-grid {
        grid-template-columns:1fr 1fr;
    }

    .cmp-category-grid > a:last-child {
        grid-column:1/-1;
    }

    .cmp-menu-card-grid,
    .cmp-three-grid,
    .cmp-resource-grid {
        grid-template-columns:1fr 1fr;
    }

    .cmp-feature-box {
        display:block;
    }

    .cmp-two-column {
        grid-template-columns:1fr;
    }

    .cmp-article-header {
        padding:25px 18px 16px;
    }

    .cmp-article-disclosure {
        margin-left:18px;
        margin-right:18px;
    }

    .cmp-featured-image,
    .cmp-article-content {
        padding-left:18px;
        padding-right:18px;
    }

    .cmp-article-header h1 {
        font-size:30px;
    }

    .cmp-post-grid {
        grid-template-columns:1fr;
    }

    .cmp-footer-grid {
        grid-template-columns:1fr 1fr;
        gap:24px 18px;
    }

    .cmp-footer-about {
        grid-column:1/-1;
    }

    .cmp-footer-bottom .cmp-wrap {
        padding:13px 0;
        flex-direction:column;
        align-items:flex-start;
        justify-content:center;
        gap:4px;
    }

}


@media(max-width:480px) {

    .cmp-actions {
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .cmp-category-grid,
    .cmp-combo-grid,
    .cmp-menu-card-grid,
    .cmp-three-grid,
    .cmp-resource-grid,
    .cmp-footer-grid {
        grid-template-columns:1fr;
    }

    .cmp-footer-about,
    .cmp-category-grid > a:last-child {
        grid-column:auto;
    }

}
