.journal {
    --ink:#173b3f;
    --muted:#627272;
    --sand:#fbf5ea;
    --accent:#d39439;
    color:var(--ink);
    background:#fff;
}
.journal a {
    color:inherit;
}
.journal-hero {
    background:var(--sand);
    padding:38px 0 65px;
    border-bottom:1px solid #eee5d6;
    position:relative;
    overflow:hidden;
}
.journal-hero:after {
    content:"";
    position:absolute;
    width:330px;
    height:330px;
    border:55px solid #e6d5b666;
    border-radius:50%;
    right:-120px;
    bottom:-170px;
    pointer-events:none;
}
.journal-breadcrumb {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    font-size:.82rem;
    color:var(--muted);
    margin-bottom:38px;
}
.journal-breadcrumb a {
    text-decoration:none;
}
.journal-eyebrow {
    display:block;
    font-size:.7rem;
    font-weight:700;
    letter-spacing:.17em;
    color:#866129;
    margin-bottom:14px;
}
.journal h1 {
    font-size:clamp(2.2rem,4.7vw,4.2rem);
    font-weight:750;
    letter-spacing:-.045em;
    line-height:1.12;
    max-width:900px;
    margin:0 0 22px;
}
.journal-hero p {
    font-size:1.12rem;
    color:var(--muted);
    max-width:680px;
    line-height:1.75;
}
.journal-hero-note {
    display:inline-flex;
    gap:10px;
    align-items:center;
    font-size:.82rem;
    margin-top:16px;
}
.journal-list {
    padding-top:36px;
    padding-bottom:60px;
}
.journal-toolbar {
    display:flex;
    gap:24px;
    justify-content:space-between;
    align-items:center;
    margin-bottom:40px;
    padding-bottom:24px;
    border-bottom:1px solid #e5eaea;
}
.journal-topics {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.journal-topics a {
    text-decoration:none;
    font-size:.85rem;
    padding:9px 16px;
    border-radius:30px;
    border:1px solid #e0e6e4;
    white-space:nowrap;
}
.journal-topics a[aria-current],.journal-topics a:hover {
    background:var(--ink);
    color:#fff;
    border-color:var(--ink);
}
.journal-search {
    display:flex;
    border:1px solid #d8e0dc;
    border-radius:9px;
    overflow:hidden;
    min-width:250px;
}
.journal-search input {
    border:0;
    padding:12px;
    background:transparent;
    width:100%;
    min-width:0;
    font-size:.85rem;
}
.journal-search button {
    border:0;
    background:transparent;
    padding:0 16px;
    color:var(--ink);
}
.journal-card {
    height:100%;
    border:1px solid #e2e7e3;
    border-radius:16px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:transform .2s,box-shadow .2s;
    background:#fff;
}
.journal-card:hover {
    transform:translateY(-4px);
    box-shadow:0 12px 30px #173b3f0c;
}
.journal-card-image {
    display:block;
    aspect-ratio:1.6;
    overflow:hidden;
}
.journal-card-image img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.journal-placeholder {
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:12px;
    background:linear-gradient(135deg,#e8eee7,#f8ead2);
    color:#53726a;
}
.journal-placeholder i {
    font-size:3rem;
}
.journal-placeholder span {
    font-size:.75rem;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.journal-card-body {
    padding:25px;
    display:flex;
    flex-direction:column;
    flex:1;
}
.journal-category {
    font-size:.7rem;
    text-transform:uppercase;
    font-weight:700;
    letter-spacing:.11em;
    text-decoration:none;
    color:#8b6228!important;
}
.journal-card h2 {
    font-size:1.35rem;
    line-height:1.4;
    letter-spacing:-.02em;
    margin:12px 0;
}
.journal-card h2 a {
    text-decoration:none;
}
.journal-card-body>p {
    font-size:.9rem;
    line-height:1.75;
    color:var(--muted);
    margin-bottom:24px;
}
.journal-card-meta {
    display:flex;
    gap:12px;
    justify-content:space-between;
    flex-wrap:wrap;
    font-size:.73rem;
    color:var(--muted);
    margin-top:auto;
    padding-bottom:18px;
    border-bottom:1px solid #edf0ed;
}
.journal-card-meta a {
    text-decoration:none;
}
.journal-read {
    display:flex;
    justify-content:space-between;
    text-decoration:none;
    margin-top:17px;
    font-size:.83rem;
    font-weight:600;
}
.journal-empty {
    text-align:center;
    padding:65px 20px;
    background:var(--sand);
    border-radius:16px;
}
.journal-empty>i {
    font-size:2.5rem;
}
.journal-empty h2 {
    font-size:1.6rem;
    margin:22px 0 12px;
}
.journal-empty p {
    color:var(--muted);
}
.journal-cta {
    display:flex;
    justify-content:space-between;
    gap:30px;
    align-items:center;
    background:var(--ink);
    color:#fff;
    border-radius:18px;
    padding:38px;
    margin-top:60px;
}
.journal-cta .journal-eyebrow {
    color:#e6c58a;
}
.journal-cta h2 {
    font-size:1.8rem;
    letter-spacing:-.03em;
}
.journal-cta p {
    color:#d3dddb;
    margin:12px 0 0;
}
.journal-cta>a {
    background:#f3b75a;
    color:#193c3d;
    text-decoration:none;
    padding:15px 22px;
    border-radius:8px;
    white-space:nowrap;
    font-size:.85rem;
    font-weight:650;
}
.journal-article-header {
    padding-top:35px;
    padding-bottom:35px;
    max-width:960px;
}
.journal-article-header h1 {
    margin-top:18px;
    font-size:clamp(2.2rem,4vw,3.6rem);
}
.journal-deck {
    font-size:1.2rem;
    line-height:1.8;
    color:var(--muted);
}
.journal-byline {
    display:flex;
    flex-wrap:wrap;
    gap:13px;
    font-size:.85rem;
    color:var(--muted);
    margin-top:25px;
}
.journal-byline a {
    font-weight:600;
    text-decoration:none;
}
.journal-cover {
    margin-bottom:45px;
}
.journal-cover img {
    width:100%;
    height:auto;
    max-height:650px;
    object-fit:cover;
    border-radius:18px;
}
.journal-prose {
    max-width:760px;
    margin:auto;
    font-size:1.08rem;
    line-height:1.95;
    color:#354c4d;
    overflow-wrap:anywhere;
}
.journal-prose h2,.journal-prose h3 {
    color:var(--ink);
    line-height:1.35;
    margin:1.8em 0 .65em;
    letter-spacing:-.025em;
}
.journal-prose p,.journal-prose ul,.journal-prose ol {
    margin-bottom:1.4em;
}
.journal-prose a {
    text-decoration:underline;
    text-underline-offset:3px;
}
.journal-prose img {
    max-width:100%;
    height:auto;
    border-radius:10px;
}
.journal-prose blockquote {
    border-left:3px solid #d39439;
    background:var(--sand);
    padding:18px 26px;
    margin:25px 0;
}
.journal-prose blockquote p:last-child {
    margin-bottom:0;
}
.journal-prose pre {
    overflow:auto;
    padding:20px;
    background:#f2f5f2;
    border-radius:8px;
}
.journal-prose table {
    display:block;
    overflow:auto;
    max-width:100%;
    border-collapse:collapse;
}
.journal-prose th,.journal-prose td {
    border:1px solid #d8e0dc;
    padding:8px 15px;
}
.journal-author {
    display:flex;
    gap:22px;
    max-width:760px;
    margin:50px auto 25px;
    padding:28px;
    border-radius:14px;
    background:var(--sand);
}
.journal-author h2 {
    font-size:1.3rem;
}
.journal-author h2 a {
    text-decoration:none;
}
.journal-author p {
    font-size:.92rem;
    line-height:1.8;
    color:var(--muted);
    white-space:pre-line;
}
.journal-author>div:empty {
    display:none;
}
.journal-author .journal-eyebrow {
    font-size:.6rem;
}
.journal-author>div>a {
    font-size:.82rem;
}
.journal-avatar {
    border-radius:50%;
    object-fit:cover;
}
.journal-back {
    display:flex;
    justify-content:space-between;
    gap:20px;
    max-width:760px;
    margin:30px auto 65px;
    font-size:.85rem;
}
.journal-related {
    padding-bottom:70px;
}
.journal a:focus-visible,.journal button:focus-visible,.journal input:focus-visible {
    outline:3px solid #b97e24;
    outline-offset:3px;
}
@media(max-width:767px) {
    .journal-hero {
        padding-bottom:40px;
    }
    .journal-toolbar {
        align-items:stretch;
        flex-direction:column;
    }
    .journal-search {
        min-width:0;
    }
    .journal-cta {
        padding:28px;
        flex-direction:column;
        align-items:flex-start;
    }
    .journal-cta>a {
        white-space:normal;
    }
    .journal-author {
        padding:22px;
        gap:15px;
        flex-direction:column;
    }
    .journal-cover img {
        border-radius:9px;
    }
    .journal-back {
        flex-direction:column;
    }
    .journal-breadcrumb {
        margin-bottom:25px;
    }
    .journal-card:hover {
        transform:none;
    }
}
@media(prefers-reduced-motion:reduce) {
    .journal-card {
        transition:none;
    }
}
