:root {
    --prc-paper: #f5f0e6;
    --prc-paper-2: #ece3d2;
    --prc-ink: #2a2521;
    --prc-teal: #18494d;
    --prc-rust: #9a4827;
    --prc-line: #d6cbb6;
    --prc-muted: #57513f;
    --prc-max: 1168px;
    --prc-serif: 'Newsreader', Georgia, serif;
    --prc-sans: 'Hanken Grotesk', system-ui, sans-serif;
}

* {
    box-sizing: border-box;
}

body.prc-site {
    margin: 0;
    background: var(--prc-paper);
    color: var(--prc-ink);
    font-family: var(--prc-sans);
    font-size: 18px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

a {
    color: var(--prc-teal);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.prc-shell {
    width: 100%;
    max-width: var(--prc-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 28px;
    padding-right: 28px;
}

.prc-skip {
    position: absolute;
    left: -9999px;
    top: 0;
    background: var(--prc-ink);
    color: var(--prc-paper);
    padding: 10px 16px;
    z-index: 50;
}

.prc-skip:focus {
    left: 12px;
    top: 12px;
}

.prc-header {
    background: var(--prc-paper);
    border-bottom: 2px solid var(--prc-ink);
}

.prc-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding-top: 22px;
    padding-bottom: 22px;
}

.prc-brand {
    margin: 0;
}

.prc-brand a {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: var(--prc-ink);
}

.prc-brand-mark {
    width: 44px;
    height: 31px;
    color: var(--prc-teal);
    flex: none;
}

.prc-brand-mark svg {
    width: 100%;
    height: 100%;
}

.prc-brand-words {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.prc-brand-name {
    font-family: var(--prc-serif);
    font-size: 27px;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.prc-brand-tag {
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--prc-muted);
    margin-top: 3px;
}

.prc-nav-list {
    list-style: none;
    display: flex;
    gap: 26px;
    margin: 0;
    padding: 0;
}

.prc-nav-list a {
    text-decoration: none;
    color: var(--prc-ink);
    font-size: 15px;
    letter-spacing: 0.04em;
    padding-bottom: 4px;
    border-bottom: 2px solid transparent;
}

.prc-nav-list a:hover {
    border-bottom-color: var(--prc-rust);
}

.prc-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 312px;
    column-gap: 56px;
    padding-top: 44px;
    padding-bottom: 72px;
}

.prc-hero {
    grid-column: 1 / -1;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--prc-line);
    background: var(--prc-paper-2);
    padding: 56px 48px 60px;
    margin-bottom: 52px;
}

.prc-hero-art {
    position: absolute;
    inset: 0;
    color: var(--prc-teal);
    pointer-events: none;
}

.prc-hero-art svg {
    width: 100%;
    height: 100%;
}

.prc-hero-text {
    position: relative;
    max-width: 720px;
}

.prc-hero-kicker {
    margin: 0 0 18px;
    font-size: 13px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--prc-teal);
    font-weight: 600;
}

.prc-hero-lead {
    margin: 0;
    font-family: var(--prc-serif);
    font-size: 36px;
    line-height: 1.28;
    font-weight: 500;
    color: var(--prc-ink);
}

.prc-stream-head,
.prc-archive-title {
    font-family: var(--prc-serif);
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 30px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--prc-line);
    letter-spacing: 0.02em;
}

.prc-entry {
    padding-bottom: 44px;
    margin-bottom: 44px;
    border-bottom: 1px solid var(--prc-line);
}

.prc-entry:last-of-type {
    border-bottom: none;
}

.prc-entry-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    font-size: 13px;
    color: var(--prc-muted);
    letter-spacing: 0.03em;
    margin-bottom: 14px;
}

.prc-chip {
    text-decoration: none;
    background: var(--prc-teal);
    color: var(--prc-paper);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 4px 10px;
    border-radius: 2px;
}

.prc-entry-time::before {
    content: "\00b7";
    margin-right: 14px;
    color: var(--prc-line);
}

.prc-entry-title {
    font-family: var(--prc-serif);
    font-size: 31px;
    line-height: 1.22;
    font-weight: 600;
    margin: 0 0 18px;
}

.prc-entry-title a {
    text-decoration: none;
    color: var(--prc-ink);
}

.prc-entry-title a:hover {
    color: var(--prc-rust);
}

.prc-entry-figure {
    display: block;
    margin: 0 0 20px;
    border: 1px solid var(--prc-line);
}

.prc-entry-lead p {
    margin: 0 0 14px;
}

.prc-entry-more {
    margin: 18px 0 0;
}

.prc-entry-more a {
    text-decoration: none;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--prc-rust);
    border-bottom: 1px solid currentColor;
    padding-bottom: 2px;
}

.prc-crumbs {
    font-size: 13px;
    color: var(--prc-muted);
    letter-spacing: 0.03em;
    margin-bottom: 22px;
}

.prc-crumbs a {
    text-decoration: none;
    color: var(--prc-muted);
}

.prc-crumbs a:hover {
    color: var(--prc-rust);
}

.prc-crumb-sep {
    margin: 0 8px;
    color: var(--prc-line);
}

.prc-article-head {
    margin-bottom: 26px;
}

.prc-article-title {
    font-family: var(--prc-serif);
    font-size: 40px;
    line-height: 1.16;
    font-weight: 600;
    margin: 12px 0 0;
}

.prc-article-figure {
    margin: 0 0 32px;
    border: 1px solid var(--prc-line);
}

.prc-prose {
    font-size: 18px;
    line-height: 1.78;
}

.prc-prose p {
    margin: 0 0 22px;
}

.prc-prose h2 {
    font-family: var(--prc-serif);
    font-size: 27px;
    font-weight: 600;
    line-height: 1.3;
    margin: 44px 0 16px;
}

.prc-prose h3 {
    font-family: var(--prc-serif);
    font-size: 21px;
    font-weight: 600;
    margin: 32px 0 12px;
}

.prc-prose a {
    color: var(--prc-teal);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

.prc-prose a:hover {
    color: var(--prc-rust);
}

.prc-prose ul,
.prc-prose ol {
    margin: 0 0 22px;
    padding-left: 24px;
}

.prc-prose li {
    margin-bottom: 9px;
}

.prc-prose blockquote {
    margin: 30px 0;
    padding: 6px 0 6px 24px;
    border-left: 3px solid var(--prc-rust);
    font-family: var(--prc-serif);
    font-size: 22px;
    font-style: italic;
    line-height: 1.5;
    color: var(--prc-muted);
}

.prc-prose img {
    margin: 28px 0;
    border: 1px solid var(--prc-line);
}

.prc-related {
    margin-top: 56px;
    padding-top: 28px;
    border-top: 2px solid var(--prc-ink);
}

.prc-related-head {
    font-family: var(--prc-serif);
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 16px;
}

.prc-related-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.prc-related-list li {
    margin-bottom: 10px;
    padding-left: 18px;
    position: relative;
}

.prc-related-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    width: 7px;
    height: 7px;
    background: var(--prc-rust);
    border-radius: 50%;
}

.prc-related-list a {
    text-decoration: none;
    color: var(--prc-ink);
    font-family: var(--prc-serif);
    font-size: 18px;
}

.prc-related-list a:hover {
    color: var(--prc-rust);
}

.prc-aside {
    align-self: start;
    position: sticky;
    top: 28px;
}

.prc-widget {
    margin-bottom: 40px;
    padding-top: 18px;
    border-top: 2px solid var(--prc-teal);
}

.prc-widget-title {
    font-family: var(--prc-serif);
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin: 0 0 14px;
}

.prc-widget-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.prc-widget-list li {
    margin-bottom: 9px;
    font-size: 16px;
    line-height: 1.4;
}

.prc-widget-list a {
    text-decoration: none;
    color: var(--prc-ink);
}

.prc-widget-list a:hover {
    color: var(--prc-rust);
}

.prc-widget input[type="search"],
.prc-widget input[type="text"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--prc-line);
    background: #fff;
    font-family: var(--prc-sans);
    font-size: 15px;
}

.prc-archive-intro {
    margin: -16px 0 30px;
    color: var(--prc-muted);
}

.prc-archive-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 36px;
}

.prc-card {
    border: 1px solid var(--prc-line);
    background: var(--prc-paper-2);
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
}

.prc-card-figure {
    display: block;
    border-right: 1px solid var(--prc-line);
}

.prc-card-figure img {
    height: 100%;
    object-fit: cover;
}

.prc-card-body {
    padding: 24px 26px;
}

.prc-card-title {
    font-family: var(--prc-serif);
    font-size: 23px;
    font-weight: 600;
    line-height: 1.25;
    margin: 6px 0 12px;
}

.prc-card-title a {
    text-decoration: none;
    color: var(--prc-ink);
}

.prc-card-title a:hover {
    color: var(--prc-rust);
}

.prc-card-excerpt {
    margin: 0;
    color: var(--prc-muted);
    font-size: 16px;
}

.pagination,
.prc-stream .nav-links,
.prc-archive .nav-links {
    margin-top: 48px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.pagination .page-numbers,
.nav-links .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    padding: 9px 14px;
    border: 1px solid var(--prc-line);
    text-decoration: none;
    color: var(--prc-ink);
    font-size: 15px;
}

.pagination .page-numbers.current {
    background: var(--prc-teal);
    color: var(--prc-paper);
    border-color: var(--prc-teal);
}

.pagination a.page-numbers:hover {
    border-color: var(--prc-rust);
    color: var(--prc-rust);
}

.prc-footer {
    background: var(--prc-ink);
    color: var(--prc-paper);
    margin-top: 0;
    padding-top: 56px;
}

.prc-footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 40px;
}

.prc-footer-brand {
    font-family: var(--prc-serif);
    font-size: 25px;
    font-weight: 600;
    margin: 0 0 10px;
}

.prc-footer-note {
    margin: 0;
    color: #c8bfa9;
    font-size: 15px;
    max-width: 320px;
}

.prc-foot-widget-title {
    font-family: var(--prc-serif);
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 12px;
}

.prc-footer-list,
.prc-foot-widget .menu,
.prc-foot-widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.prc-footer-list li,
.prc-foot-widget li {
    margin-bottom: 8px;
    font-size: 15px;
}

.prc-footer-nav a,
.prc-footer-list a,
.prc-foot-widget a {
    text-decoration: none;
    color: #d9d0bb;
}

.prc-footer-nav a:hover,
.prc-footer-list a:hover,
.prc-foot-widget a:hover {
    color: #fff;
}

.prc-footer-base {
    border-top: 1px solid #463f37;
    padding-top: 22px;
    padding-bottom: 30px;
}

.prc-footer-base p {
    margin: 0;
    font-size: 13px;
    letter-spacing: 0.05em;
    color: #aba298;
}

.prc-page .prc-article-page {
    max-width: 760px;
}

@media (max-width: 900px) {
    .prc-body {
        grid-template-columns: 1fr;
        row-gap: 0;
    }

    .prc-aside {
        position: static;
        margin-top: 56px;
        padding-top: 32px;
        border-top: 2px solid var(--prc-ink);
    }

    .prc-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    body.prc-site {
        font-size: 17px;
    }

    .prc-shell {
        padding-left: 18px;
        padding-right: 18px;
    }

    .prc-header-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .prc-nav-list {
        gap: 18px;
        flex-wrap: wrap;
    }

    .prc-hero {
        padding: 36px 24px 40px;
    }

    .prc-hero-lead {
        font-size: 27px;
    }

    .prc-entry-title {
        font-size: 26px;
    }

    .prc-article-title {
        font-size: 30px;
    }

    .prc-card {
        grid-template-columns: 1fr;
    }

    .prc-card-figure {
        border-right: none;
        border-bottom: 1px solid var(--prc-line);
    }

    .prc-footer-grid {
        grid-template-columns: 1fr;
    }
}
