@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');
:root{--paper:#f8f7f3;--ink:#282725;--muted:#78746d;--line:#c9c6bd;--accent:#8d342b;--serif:'Libre Baskerville',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}a:hover{color:var(--accent)}button{font:inherit}.site{max-width:1150px;margin:auto;padding:0 38px}.utility{display:flex;justify-content:space-between;padding:13px 0 12px;border-bottom:1px solid var(--ink);font-size:9px;font-weight:700;letter-spacing:.16em}.masthead{text-align:center;padding:26px 0 25px}.wordmark{font:700 clamp(40px,6.4vw,77px)/1 var(--serif);letter-spacing:-.075em}.masthead-dot{color:var(--accent)}.masthead-sub{margin-top:14px;font:italic 12px var(--serif);color:var(--muted)}.navline{border-top:3px double var(--ink);border-bottom:1px solid var(--ink)}.navline nav{display:flex;justify-content:center;align-items:center;gap:30px;min-height:45px}.navline nav a{font-size:10px;text-transform:uppercase;letter-spacing:.065em;font-weight:700;white-space:nowrap}.navline nav a.selected{color:var(--accent)}.menu-toggle{display:none}.issue-line{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:.14em;font-weight:700;padding:20px 0 18px}.front-top{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(210px,.9fr);gap:30px;padding-bottom:32px}.lead-column{min-width:0}.block-heading,.rail-header{border-bottom:1px solid var(--ink);margin:0 0 16px;padding-bottom:9px;font-size:10px;letter-spacing:.13em;font-weight:700}.lead-art{height:275px;display:block;overflow:hidden}.lead-art img,.story-art img{width:100%;height:100%;object-fit:cover}.story-placeholder{height:100%;background:#e6e1d7;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.story-placeholder:after{content:'';position:absolute;inset:10px;border:1px solid #ffffff55}.story-placeholder span{position:absolute;top:21px;left:23px;font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#55514c}.story-placeholder b{font:italic 140px/.9 var(--serif);opacity:.42;color:#7c7369}.placeholder-analysis{background:#dfe7e4}.placeholder-opinion{background:#e7dcd3}.placeholder-art{background:#dcdfe4}.placeholder-video{background:#e2dfec}.placeholder-to-read{background:#e5e3d5}.story-meta{display:flex;justify-content:space-between;gap:10px;margin-top:14px;text-transform:uppercase;font-weight:700;letter-spacing:.095em;font-size:9px;color:var(--accent)}.story-meta time{color:var(--muted);font-weight:400;letter-spacing:0;text-transform:none}.lead-story h1{font:400 clamp(27px,3.3vw,41px)/1.25 var(--serif);letter-spacing:-.04em;margin:15px 0 10px}.lead-story>p{font-size:12px;line-height:1.85;color:#615f5a;max-width:560px}.read-link{font-size:10px;letter-spacing:.06em;color:var(--accent);display:inline-block;margin-top:10px;font-weight:700;text-transform:uppercase}.right-rail{border-left:1px solid var(--line);padding-left:25px}.rail-intro{font:italic 14px/1.75 var(--serif);padding:3px 0 10px;margin:0}.rail-links{border-top:1px solid var(--line)}.rail-links a{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted);padding:13px 1px}.rail-links a span{font:400 17px var(--serif);color:var(--ink);flex:1}.rail-links a:hover span{color:var(--accent)}.rail-about{margin-top:29px;background:#ece9e2;padding:21px}.micro-label{font-weight:700;color:var(--accent);font-size:9px;letter-spacing:.15em}.rail-about p{font:13px/1.8 var(--serif)}.rail-about a{font-size:10px;color:var(--accent)}.latest-section{border-top:3px double var(--ink);padding-top:17px}.section-bar{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--ink);padding-bottom:12px;margin-bottom:22px}.section-bar h2{font:400 22px var(--serif);margin:0}.section-bar a{font-size:10px;color:var(--accent)}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:23px;row-gap:35px}.story-card{min-width:0;padding-bottom:18px;border-bottom:1px solid var(--line)}.story-art{display:block;height:160px;overflow:hidden}.story-art .story-placeholder b{font-size:72px}.story-art .story-placeholder span{font-size:8px;top:14px;left:14px}.story-card h3{font:400 18px/1.45 var(--serif);letter-spacing:-.025em;margin:11px 0 9px}.story-card p{font-size:11px;line-height:1.8;color:#67645f;margin:0}.story-card .read-link{margin-top:13px}.bottom-band{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ink);margin-top:48px;padding:23px 0}.bottom-band h2{font:400 20px var(--serif);margin:8px 0}.bottom-band>a{font-size:11px;color:var(--accent)}.site-footer{margin-top:30px;padding:21px 0 40px;border-top:3px double var(--ink);display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted)}.section-hero{padding:42px 0 33px;border-bottom:1px solid var(--ink);margin-bottom:20px}.eyebrow{font-size:9px;color:var(--accent);letter-spacing:.13em;font-weight:700}.section-hero h1{font:400 42px var(--serif);margin:12px 0}.intro-copy{font:13px/1.8 var(--serif);color:var(--muted)}.archive-top{display:flex;justify-content:space-between;align-items:center;margin:0 0 22px}.archive-top h2{font:400 22px var(--serif);margin:0}.archive-top h2 span{font:11px var(--sans);color:var(--accent)}.archive-hint{font-size:10px;color:var(--muted)}.archive-grid{margin-top:10px}.empty{padding:36px 0;color:var(--muted);font-size:12px}.about-page,.post-page{padding:48px 0;max-width:730px;margin:auto;min-height:56vh}.about-page h1,.post-page h1{font:400 clamp(36px,5vw,60px)/1.2 var(--serif);letter-spacing:-.04em}.about-text,.post-body{font:16px/2 var(--serif)}.about-text p,.post-body p{margin:0 0 20px}.back{font-size:11px;color:var(--accent)}.post-meta{font-size:10px;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-top:34px}.post-lead{font:italic 16px/1.8 var(--serif);color:var(--muted)}.post-image{width:100%;margin:25px 0;max-height:520px;object-fit:cover}.post-body{margin-top:36px}.post-body h2{font-weight:400;font-size:24px}.post-body img{max-width:100%}.post-body blockquote{border-left:2px solid var(--accent);padding-left:20px;margin-left:0}.video-wrap{position:relative;padding-bottom:56.25%;height:0}.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}@media(max-width:800px){.site{padding:0 22px}.navline{position:relative}.menu-toggle{display:block;background:transparent;border:0;padding:13px;font-size:11px;font-weight:700;text-transform:uppercase}.navline nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);z-index:10;box-shadow:0 10px 20px #0002;padding:12px;flex-direction:column;align-items:stretch;gap:0}.navline nav.open{display:flex}.navline nav a{padding:10px;border-bottom:1px solid var(--line)}.front-top{grid-template-columns:1fr}.right-rail{border-left:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.right-rail .rail-header,.right-rail .rail-intro{grid-column:1/-1}.rail-about{margin-top:0}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.site{padding:0 17px}.utility span:last-child{display:none}.masthead{padding:23px 0}.wordmark{font-size:42px}.issue-line span:last-child{display:none}.right-rail{display:block}.rail-about{margin-top:23px}.story-grid{grid-template-columns:1fr 1fr;column-gap:13px}.story-art{height:110px}.story-card h3{font-size:15px}.story-card p{font-size:10px}.story-meta{font-size:8px}.story-meta time{display:none}.lead-art{height:210px}.section-bar h2{font-size:19px}}

/* =========================================
   EXEGIS — COMPACT NAVIGATION
   ========================================= */

.journal-menu-bar {
    position: relative;
    display: flex;
    justify-content: flex-start;
    padding: 10px 0;
    border-top: 1px solid #222;
    border-bottom: 1px solid #222;
}

/* Remove browser's default marker */

.journal-main-menu > summary {
    list-style: none;
}

.journal-main-menu > summary::-webkit-details-marker {
    display: none;
}

/* MENU BUTTON */

.journal-menu-button {
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 5px 10px;
    cursor: pointer;

    font-family: Georgia, serif;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.1em;

    color: #222;
    transition: background 0.2s ease;
}

.journal-menu-button:hover {
    background: #eeeae3;
}

/* FLOATING DROPDOWN */

.journal-main-menu {
    position: relative;
    z-index: 100;
}

.journal-main-menu .journal-menu-panel {
    position: absolute;
    top: calc(100% + 12px);
    Left: 0;

    display: flex;
    flex-direction: column;

    width: 230px;
    padding: 16px 18px;

    background: #faf9f6;
    border: 1px solid #292929;

    box-shadow: 0 9px 24px rgba(0, 0, 0, 0.12);

    z-index: 200;

    animation: menuSlideDown 0.2s ease-out;
}

/* Ensure menu remains hidden when closed */

.journal-main-menu:not([open]) .journal-menu-panel {
    display: none;
}

.menu-panel-heading {
    padding-bottom: 12px;
    margin-bottom: 10px;

    border-bottom: 1px solid #bbb;

    font-size: 10px;
    font-weight: bold;
    letter-spacing: 0.12em;
    color: #777;
}

/* MENU LINKS */

.journal-main-menu .journal-menu-panel a {
    display: block;
    padding: 9px 4px;

    font-family: Georgia, serif;
    font-size: 14px;
    color: #222;

    text-decoration: none;
    border-bottom: 1px solid #e8e6e1;
    transition: padding 0.15s ease;
}

.journal-main-menu .journal-menu-panel a:hover {
    padding-left: 10px;
    color: #888;
}

.menu-panel-divider {
    margin: 9px 0;
    border-top: 1px solid #777;
}

/* OPENING ANIMATION */

@keyframes menuSlideDown {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================
   HOMEPAGE — TWO MAIN SECTIONS
   ========================================= */

/* The old sidebar layout is no longer used */

.latest-feature {
    width: 100%;
    margin: 24px 0 32px;
}

.latest-feature #lead-story {
    width: 100%;
}

/* Compact publication grid */

.latest-section {
    width: 100%;
    margin-top: 24px;
}

.latest-section .story-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

/* MOBILE */

@media (max-width: 700px) {

    .latest-section .story-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .journal-main-menu .journal-menu-panel {
        width: 210px;
    }
}

@media (max-width: 480px) {

    .latest-section .story-grid {
        grid-template-columns: 1fr;
    }
}

/* EXEGIS page consistency and menu layering */
.journal-header { position: relative; z-index: 10; }
.journal-menu-bar { z-index: 20; }
.journal-main-menu .journal-menu-panel { left: 0; right: auto; max-width: calc(100vw - 34px); }
.journal-main-menu .journal-menu-panel a.selected { color: var(--accent); font-weight: 700; }
.latest-feature { border-top: none; }
@media (max-width: 520px) { .journal-menu-bar { padding: 8px 0; } }


/* EXEGIS page consistency — preserved recent overrides */
.journal-header { position: relative; z-index: 10; }
.journal-menu-bar { z-index: 20; }
.journal-main-menu .journal-menu-panel { left: 0; right: auto; max-width: calc(100vw - 34px); }
.journal-main-menu .journal-menu-panel a.selected { color: var(--accent); font-weight: 700; }
.latest-feature { border-top: none; }
@media (max-width: 520px) { .journal-menu-bar { padding: 8px 0; } }

/* =========================================
   EXEGIS — MENU IN TOP-LEFT CORNER
   ========================================= */

.utility {
    overflow: visible;
    position: relative;
    z-index: 100;
}

.utility .journal-main-menu {
    position: relative;
    display: block;
    z-index: 101;
}

.utility .journal-menu-button {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    list-style: none;
}

.utility .journal-menu-button::-webkit-details-marker {
    display: none;
}

.utility .journal-main-menu .journal-menu-panel {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    right: auto;
    z-index: 200;
}

/* =========================================
   EXEGIS — JOURNAL CATEGORY VIGNETTES
   ========================================= */

/* Preserve the original card proportions */

.journal-category-card {
    min-width: 0;
}

/* Category images and placeholder backgrounds */

.journal-category-card .story-art {
    display: block;
    width: 100%;
    height: 149px;
    overflow: hidden;
}

.journal-category-card .story-art img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

/* Subtle image movement on hover */

.journal-category-card:hover .story-art img {
    transform: scale(1.025);
}

/* Category titles */

.journal-category-card h3 {
    font: 400 18px/1.45 var(--serif);
    letter-spacing: -0.025em;
    margin: 11px 0 9px;
}

/* Category navigation links */

.journal-category-card .read-link {
    margin-top: 5px;
}

/* Mobile dimensions */

@media (max-width: 520px) {
    .journal-category-card .story-art {
        height: 110px;
    }

    .journal-category-card h3 {
        font-size: 15px;
    }
}

/* =========================================
   EXEGIS — CATEGORY BANNER
   ========================================= */

.category-banner {
    width: 100%;
    height: 340px;
    margin-top: 30px;
    overflow: hidden;
}

.category-banner img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

/* Mobile */

@media (max-width: 700px) {
    .category-banner {
        height: 220px;
        margin-top: 24px;
    }
}

@media (max-width: 480px) {
    .category-banner {
        height: 170px;
    }
}
/* Category image above the title */

.section-hero .category-banner {
    margin-top: 0;
    margin-bottom: 32px;
}

@media (max-width: 700px) {
    .section-hero .category-banner {
        margin-bottom: 24px;
    }
}
