@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@400;500;600;700;800&family=Oooh+Baby&display=swap');

:root { --rw-burgundy:#800000; --rw-black:#111111; --rw-grey:#646464; --rw-soft:#f7f7f7; }
.rw-insights-home,.rw-insights-archive,.rw-insight-single { box-sizing:border-box; background:#fff; color:var(--rw-black); }
.rw-insights-home *,.rw-insights-archive *,.rw-insight-single * { box-sizing:border-box; }
.rw-insights-home { padding:90px 0 104px; }
.rw-insights-container,.rw-insights-archive__container,.rw-insight-single__container { width:min(calc(100% - 48px),1240px); margin:0 auto; }

.rw-insights-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:36px; align-items:end; margin-bottom:42px; }
.rw-insights-script { display:block; width:max-content; margin:0 0 4px; color:var(--rw-burgundy); font-family:"Oooh Baby",cursive; font-size:44px; line-height:1; transform:rotate(-4deg); transform-origin:left bottom; }
.rw-insights-heading h2,.rw-insights-archive h1,.rw-insight-single h1 { margin:0; color:var(--rw-black); font-family:"League Spartan",sans-serif; font-weight:800; letter-spacing:-.045em; text-transform:uppercase; }
.rw-insights-heading h2 { max-width:820px; font-size:clamp(52px,5.5vw,82px); line-height:.9; }
.rw-insights-heading__copy > p { max-width:700px; margin:22px 0 0; color:var(--rw-grey); font-size:16px; line-height:1.58; }
.rw-insights-all { display:inline-flex; align-items:center; gap:11px; padding-bottom:4px; color:var(--rw-black) !important; border-bottom:1px solid var(--rw-burgundy); font-family:"League Spartan",sans-serif; font-size:13px; font-weight:600; text-decoration:none !important; }
.rw-insights-all__arrow,.rw-insight-card__arrow span { position:relative; display:block; width:21px; height:10px; }
.rw-insights-all__arrow::before,.rw-insight-card__arrow span::before { content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:var(--rw-burgundy); transform:translateY(-50%); }
.rw-insights-all__arrow::after,.rw-insight-card__arrow span::after { content:""; position:absolute; right:0; top:50%; width:5px; height:5px; border-top:1px solid var(--rw-burgundy); border-right:1px solid var(--rw-burgundy); transform:translateY(-50%) rotate(45deg); }

.rw-insights-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 24px; align-items:stretch; }
.rw-insight-card { display:grid; grid-template-rows:auto 1fr; min-width:0; height:100%; background:#fff; }
.rw-insight-card__media { position:relative; display:block; width:100%; aspect-ratio:1.36/1; overflow:hidden; border:2px solid var(--rw-burgundy); background:#f1f1f1; text-decoration:none !important; }
.rw-insight-card__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .28s ease; }
.rw-insight-card:hover .rw-insight-card__media img { transform:scale(1.018); }
.rw-insight-card__placeholder { position:absolute; inset:0; display:flex; align-items:flex-end; padding:22px; background:linear-gradient(140deg,#161616 0%,#2b2b2b 52%,#800000 140%); }
.rw-insight-card__placeholder > span { max-width:90%; color:#fff; font-family:"League Spartan",sans-serif; font-size:clamp(24px,2.4vw,38px); font-weight:800; line-height:.95; letter-spacing:-.03em; text-transform:uppercase; }

/* Equal fixed card body on desktop: topic 1 line, title 2 lines, subtitle 3 lines. */
.rw-insight-card__body { display:flex; flex-direction:column; height:232px; min-height:232px; padding:17px 18px 16px; overflow:hidden; border:2px solid var(--rw-burgundy); border-top:0; }
.rw-insight-card__topic { display:block; flex:0 0 auto; height:14px; margin:0 0 9px; overflow:hidden; color:var(--rw-burgundy); font-family:"League Spartan",sans-serif; font-size:11px; font-weight:700; line-height:14px; letter-spacing:.08em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.rw-insight-card h3 { flex:0 0 auto; margin:0; }
.rw-insight-card h3 a { display:-webkit-box; height:58px; max-height:58px; overflow:hidden; color:var(--rw-black) !important; font-family:"League Spartan",sans-serif; font-size:30px; font-weight:800; line-height:.96; letter-spacing:-.035em; text-transform:uppercase; text-decoration:none !important; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; }
.rw-insight-card p { display:-webkit-box; flex:0 0 auto; height:62px; max-height:62px; margin:12px 0 0; overflow:hidden; color:var(--rw-grey); font-size:14px; line-height:1.48; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; }
.rw-insight-card__empty { visibility:hidden; }
.rw-insight-card__arrow { display:inline-flex; width:26px; height:14px; align-items:center; margin-top:auto; text-decoration:none !important; }

.rw-insights-archive { padding:96px 0 120px; }
.rw-insights-archive__header { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,430px); gap:40px; align-items:end; margin-bottom:54px; }
.rw-insights-archive__kicker { display:block; width:max-content; margin-bottom:6px; color:var(--rw-burgundy); font-family:"Oooh Baby",cursive; font-size:46px; line-height:1; transform:rotate(-4deg); transform-origin:left bottom; }
.rw-insights-archive h1 { font-size:clamp(58px,7vw,96px); line-height:.88; }
.rw-insights-archive__intro { margin:0; color:var(--rw-grey); font-size:16px; line-height:1.65; }
.rw-insights-pagination { margin-top:54px; font-family:"League Spartan",sans-serif; }
.rw-insights-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; margin:0 4px 4px 0; padding:0 10px; color:var(--rw-black); border:1px solid var(--rw-burgundy); text-decoration:none; }
.rw-insights-pagination .current { color:#fff; background:var(--rw-burgundy); }

.rw-insight-single { padding:82px 0 120px; }
.rw-insight-single__header { max-width:960px; margin:0 auto 44px; }
.rw-insight-single__topic { display:block; margin-bottom:12px; color:var(--rw-burgundy); font-family:"League Spartan",sans-serif; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.rw-insight-single h1 { font-size:clamp(52px,6vw,86px); line-height:.9; }
.rw-insight-single__excerpt { max-width:760px; margin:24px 0 0; color:var(--rw-grey); font-size:19px; line-height:1.55; }
.rw-insight-single__meta { margin-top:18px; color:#777; font-size:13px; }
.rw-insight-single__hero { width:min(100%,1100px); margin:0 auto 52px; overflow:hidden; border:2px solid var(--rw-burgundy); }
.rw-insight-single__hero img { display:block; width:100%; height:auto; }
.rw-insight-single__content { width:min(100%,820px); margin:0 auto; color:#292929; font-size:18px; line-height:1.72; }
.rw-insight-single__content h2,.rw-insight-single__content h3 { color:var(--rw-black); font-family:"League Spartan",sans-serif; line-height:1; letter-spacing:-.035em; }
.rw-insight-single__content h2 { margin:54px 0 18px; font-size:40px; text-transform:uppercase; }
.rw-insight-single__content h3 { margin:38px 0 14px; font-size:29px; }
.rw-insight-single__content p { margin:0 0 24px; }
.rw-insight-single__content ul,.rw-insight-single__content ol { margin:0 0 26px; padding-left:24px; }
.rw-insight-single__content blockquote { margin:34px 0; padding:4px 0 4px 22px; border-left:3px solid var(--rw-burgundy); font-size:21px; line-height:1.55; }
.rw-insight-single__content a { color:var(--rw-burgundy); }
.rw-insight-single__content img { max-width:100%; height:auto; }
.rw-insight-single__back { display:inline-flex; align-items:center; gap:10px; margin-top:54px; color:var(--rw-black) !important; font-family:"League Spartan",sans-serif; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; text-decoration:none !important; }

@media (max-width:980px) {
    .rw-insights-home { padding:82px 0 92px; }
    .rw-insights-container,.rw-insights-archive__container,.rw-insight-single__container { width:min(calc(100% - 36px),1240px); }
    .rw-insights-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 20px; }
    .rw-insights-heading { grid-template-columns:1fr; gap:20px; }
    .rw-insights-all { justify-self:start; }
    .rw-insight-card__body { height:224px; min-height:224px; }
    .rw-insight-card h3 a { height:54px; max-height:54px; font-size:28px; }
    .rw-insights-archive__header { grid-template-columns:1fr; gap:24px; }
}

@media (max-width:640px) {
    .rw-insights-home { padding:68px 0 74px; }
    .rw-insights-container,.rw-insights-archive__container,.rw-insight-single__container { width:min(calc(100% - 24px),1240px); }
    .rw-insights-heading { margin-bottom:32px; }
    .rw-insights-script { font-size:38px; }
    .rw-insights-heading h2 { font-size:clamp(38px,12vw,52px); }
    .rw-insights-heading__copy > p { margin-top:17px; font-size:15px; }
    .rw-insights-grid { grid-template-columns:1fr; gap:22px; }
    .rw-insight-card__media { aspect-ratio:1.3/1; }
    .rw-insight-card__body { height:218px; min-height:218px; padding:15px 15px 15px; }
    .rw-insight-card h3 a { height:52px; max-height:52px; font-size:27px; }
    .rw-insight-card p { height:60px; max-height:60px; }
    .rw-insights-archive { padding:68px 0 84px; }
    .rw-insights-archive__kicker { font-size:38px; }
    .rw-insights-archive h1 { font-size:clamp(48px,15vw,68px); }
    .rw-insight-single { padding:58px 0 84px; }
    .rw-insight-single h1 { font-size:clamp(42px,13vw,60px); }
    .rw-insight-single__excerpt { font-size:17px; }
    .rw-insight-single__hero { margin-bottom:36px; }
    .rw-insight-single__content { font-size:17px; line-height:1.68; }
    .rw-insight-single__content h2 { font-size:34px; }
    .rw-insight-single__content h3 { font-size:27px; }
}
