/* Research notes: article pages built on the site's own palette (navy #002f5d, green #009036,
   lime #79b51c, link blue #0095eb, band grey #f2f2f2) and fonts (Francois One, Raleway). */

.rn-note #Content { padding-top: 0; background: #fff; }

.rn-page {
    --rn-navy: #002f5d;
    --rn-blue: #0095eb;
    --rn-blue-dark: #007cc3;
    --rn-green: #009036;
    --rn-lime: #79b51c;
    --rn-ink: #353535;
    --rn-muted: #5b6670;
    --rn-grey: #f2f2f2;
    --rn-line: #dde3e9;
    --rn-navy-tint: #edf2f7;
    --rn-green-tint: #eef6e7;
    --rn-blue-tint: #e7f4fc;
    --rn-head: "Francois One", Arial, Tahoma, sans-serif;
    display: block;
    color: var(--rn-ink);
    font-size: 16px;
    line-height: 28px;
    overflow-x: clip;
}

.rn-page .section_wrapper .column { margin-bottom: 0; }

/* type */
.rn-page p { margin: 0 0 18px; }
.rn-page p:last-child { margin-bottom: 0; }
.rn-page h1,
.rn-page h2 {
    font-family: var(--rn-head);
    font-weight: 400;
    color: var(--rn-navy);
    letter-spacing: 0;
}
.rn-page h1 { font-size: 48px; line-height: 54px; margin: 0 0 22px; }
.rn-page h2 { font-size: 32px; line-height: 38px; margin: 0 0 26px; }
.rn-page a { color: var(--rn-blue); }
.rn-page a:hover,
.rn-page a:focus { color: var(--rn-blue-dark); text-decoration: underline; text-underline-offset: 3px; }
.rn-page a:focus-visible { outline: 2px solid var(--rn-blue); outline-offset: 2px; }
.rn-page strong { font-weight: 700; color: inherit; }

/* hero: full-bleed photo, white card over its lower edge */
.rn-hero { position: relative; background: #fff; }
.rn-page .rn-hero__media {
    margin: 0;
    height: clamp(240px, 32vw, 500px);
    overflow: hidden;
    background: #c9d3dc;
}
#Content .rn-page .rn-hero__media img {
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: 50% 42%;
}
#Content .rn-page .rn-hero__media--city img { object-position: 50% 52%; }
#Content .rn-page .rn-hero__media--station img { object-position: 50% 22%; }
.rn-hero .column { position: relative; z-index: 1; }
.rn-hero__card {
    margin-top: -150px;
    padding: 44px 52px 42px;
    background: #fff;
    border-top: 6px solid var(--rn-green);
    box-shadow: 0 22px 44px -28px rgba(0, 47, 93, .55);
}
.rn-page .rn-intro { font-size: 18px; line-height: 31px; }

/* bands */
.rn-band { padding: 72px 0; background: #fff; }
.rn-band--grey { background: var(--rn-grey); }
.rn-hero + .rn-band { padding-top: 64px; }

/* two panels: the caveat and the counterpoint */
.rn-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.rn-panel {
    padding: 30px 34px;
    background: var(--rn-navy-tint);
    border-left: 4px solid var(--rn-navy);
}
.rn-panel--green { background: var(--rn-green-tint); border-left-color: var(--rn-green); }

.rn-page .rn-lead { font-size: 18px; line-height: 31px; margin-bottom: 30px; }

/* callouts */
.rn-callout {
    margin-top: 30px;
    padding: 26px 32px;
    background: var(--rn-blue-tint);
    border-left: 4px solid var(--rn-blue);
}
.rn-table-wrap + .rn-callout { margin-top: 0; }
.rn-callout--white { background: #fff; }

/* tables */
.rn-table-wrap { margin: 0 0 32px; }
.rn-page .rn-table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
}
.rn-page .rn-table th {
    padding: 15px 22px;
    background: var(--rn-navy);
    color: #fff;
    font-family: var(--rn-head);
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    text-align: left;
    vertical-align: bottom;
    border: 0;
    box-shadow: none;
}
.rn-page .rn-table td {
    padding: 18px 22px;
    background: #fff;
    color: var(--rn-ink);
    font-size: 16px;
    line-height: 27px;
    text-align: left;
    vertical-align: top;
    border: 0;
    border-bottom: 1px solid var(--rn-line);
    box-shadow: none;
}
.rn-page .rn-table tr:hover td { background: #fff; }
.rn-page .rn-table td:first-child {
    font-family: var(--rn-head);
    font-size: 19px;
    line-height: 27px;
    color: var(--rn-navy);
}

/* evidence pathway: four linked stages */
.rn-table--path { counter-reset: rn-step; }
.rn-page .rn-table--path th:first-child { width: 34%; padding-left: 78px; }
.rn-page .rn-table--path td:first-child {
    position: relative;
    padding-left: 78px;
    counter-increment: rn-step;
    background: #fff linear-gradient(var(--rn-lime), var(--rn-lime)) no-repeat 38px 0 / 2px 100%;
}
.rn-page .rn-table--path tr:first-child td:first-child { background-position: 38px 34px; }
.rn-page .rn-table--path tr:last-child td:first-child { background-size: 2px 34px; }
.rn-page .rn-table--path td:first-child::before {
    content: counter(rn-step);
    position: absolute;
    left: 22px;
    top: 16px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--rn-green);
    color: #fff;
    font: 400 18px/34px var(--rn-head);
    text-align: center;
}

/* methods matrix */
.rn-page .rn-table--matrix th:first-child { width: 25%; }
.rn-page .rn-table--matrix tbody tr:nth-child(2n) td { background: #f8fafc; }

/* split: photo runs to the left edge of the window, text keeps the content edge */
.rn-split { position: relative; background: #fff; }
.rn-split .column { position: relative; container-type: inline-size; }
.rn-page .rn-split__media {
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc((100cqw - 100vw) / 2);
    width: calc((100vw - 100cqw) / 2 + 42cqw);
    margin: 0;
    overflow: hidden;
    background: #c9d3dc;
}
#Content .rn-page .rn-split__media img {
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: 50% 55%;
}
#Content .rn-page .rn-split__media--commuters img { object-position: 60% 62%; }
.rn-split__text { margin-left: calc(42cqw + 56px); padding: 80px 0; }

/* scenario: an imagined example, marked off from the measured world */
.rn-scenario {
    padding: 32px 36px;
    background: #fbfdf8;
    border: 2px dashed #a9cf74;
}

/* questions */
.rn-qa { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0 0 44px; }
.rn-qa__item {
    padding: 30px 30px 32px;
    background: #fff;
    border-top: 4px solid var(--rn-green);
}
.rn-page .rn-qa__item strong {
    display: block;
    margin-bottom: 12px;
    font-family: var(--rn-head);
    font-weight: 400;
    font-size: 21px;
    line-height: 28px;
    color: var(--rn-navy);
}
.rn-page .rn-closing { font-size: 19px; line-height: 32px; font-weight: 500; color: var(--rn-navy); }
.rn-page .rn-disclaimer {
    margin-top: 34px;
    padding-top: 18px;
    border-top: 1px solid #d3d7db;
    font-size: 14px;
    line-height: 23px;
    color: var(--rn-muted);
}

/* the site's responsive-tables plugin swaps tables for stacked rows at 700px and below */
@media (max-width: 700px) {
    .rn-page .art-table { margin: 0 0 28px; border: 0; }
    .rn-page .art-table .art-tbody .art-tr,
    .rn-page .art-table .art-tbody .art-tr:nth-child(2n),
    .rn-page .art-table .art-tbody .art-tr:nth-child(2n+1) {
        margin: 0 0 14px;
        padding: 8px 0 12px;
        background: #fff;
        border: 1px solid var(--rn-line);
        border-top: 4px solid var(--rn-navy);
    }
    .rn-page .art-table .art-tbody .art-tr:last-child { margin-bottom: 0; border-bottom: 1px solid var(--rn-line); }
    .rn-page .art-table .art-tbody .art-tr .art-td { border: 0; }
    .rn-page .art-table .art-tbody .art-tr .art-td .art-td-first,
    .rn-page .art-table .art-tbody .art-tr .art-td .art-td-last {
        float: none;
        width: 100%;
        padding: 0 18px;
        border: 0;
    }
    .rn-page .art-table .art-tbody .art-tr .art-td .art-td-first {
        padding-top: 8px;
        font-size: 13px;
        line-height: 20px;
        font-weight: 700;
        color: var(--rn-muted);
    }
    .rn-page .art-table .art-tbody .art-tr .art-td .art-td-last {
        font-size: 15px;
        line-height: 25px;
        font-weight: 400;
        color: var(--rn-ink);
    }
    .rn-page .art-table .art-tbody .art-tr .art-td:first-child .art-td-last {
        font-family: var(--rn-head);
        font-size: 19px;
        line-height: 26px;
        color: var(--rn-navy);
    }
}

@media (max-width: 1239px) {
    .rn-hero__card { margin-top: -110px; }
}

@media (max-width: 959px) {
    .rn-band { padding: 56px 0; }
    .rn-pair { grid-template-columns: 1fr; gap: 20px; }
    .rn-qa { grid-template-columns: 1fr; gap: 18px; }
    .rn-split { padding-top: 56px; }
    .rn-page .rn-split__media {
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        width: auto;
        height: clamp(220px, 46vw, 360px);
    }
    .rn-split__text { margin-left: 0; padding: 34px 0 56px; }
}

@media (max-width: 767px) {
    .rn-page h1 { font-size: 34px; line-height: 40px; margin-bottom: 18px; }
    .rn-page h2 { font-size: 27px; line-height: 33px; margin-bottom: 20px; }
    .rn-hero__card { margin-top: -64px; padding: 30px 28px 30px; border-top-width: 5px; }
    .rn-page .rn-intro,
    .rn-page .rn-lead { font-size: 17px; line-height: 29px; }
    .rn-band { padding: 46px 0; }
    .rn-hero + .rn-band { padding-top: 46px; }
    .rn-panel,
    .rn-callout,
    .rn-scenario { padding: 24px 22px; }
    .rn-qa__item { padding: 24px 22px 26px; }
    .rn-page .rn-closing { font-size: 18px; line-height: 30px; }
    .rn-page .rn-table th,
    .rn-page .rn-table td { padding-left: 16px; padding-right: 16px; }
}

@media (max-width: 479px) {
    .rn-page h1 { font-size: 29px; line-height: 35px; }
    .rn-page h2 { font-size: 25px; line-height: 31px; }
    .rn-hero__card { margin-top: -44px; padding: 26px 20px 26px; }
    .rn-panel,
    .rn-callout,
    .rn-scenario,
    .rn-qa__item { padding-left: 18px; padding-right: 18px; }
}
