/* ==========================================================
   essential nothing. — alb. negru. sport. nimic în plus.
   Stratul de stil peste Casper. Totul alb-negru, fără excepții.
   ========================================================== */

:root {
    --en-ink: #0a0a0a;
    --en-paper: #ffffff;
    --en-grey: #6b6b6b;
    --en-line: #e6e6e6;
    --en-soft: #f5f5f5;
    --en-head: "Archivo", "Helvetica Neue", Arial, sans-serif;
    --en-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --en-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

    /* Casper's own variables, forced to black & white */
    --color-darkgrey: var(--en-ink);
    --color-midgrey: var(--en-grey);
    --color-lightgrey: var(--en-soft);
    --color-secondary-text: var(--en-grey);
    --color-border: var(--en-line);
    --color-wash: var(--en-soft);
    --ghost-accent-color: var(--en-ink) !important;
    --font-sans: var(--en-body);
    --font-serif: var(--en-body);
    --gh-font-heading: var(--en-head);
    --gh-font-body: var(--en-body);
}

/* Always light. No dark mode, no exceptions. */
html, html.dark-mode, html.auto-color { background: var(--en-paper); }
body, .dark-mode body, .auto-color body {
    background: var(--en-paper) !important;
    color: var(--en-ink) !important;
    font-family: var(--en-body);
    font-feature-settings: "tnum" 1, "ss01" 1;
    -webkit-font-smoothing: antialiased;
}
::selection { background: var(--en-ink); color: var(--en-paper); }
a { color: var(--en-ink); }

/* ---------- Headings: condensed, heavy, lowercase-friendly ---------- */
h1, h2, h3, h4,
.article-title, .post-card-title, .site-title,
.gh-content > h2, .gh-content > h3 {
    font-family: var(--en-head) !important;
    font-stretch: 72%;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--en-ink);
}

/* ---------- Header ---------- */
.gh-head, .dark-mode .gh-head {
    background: var(--en-paper) !important;
    color: var(--en-ink) !important;
    border-bottom: 1px solid var(--en-ink);
    height: 72px;
}
.gh-head-logo {
    font-family: var(--en-head) !important;
    font-stretch: 72%;
    font-weight: 900;
    font-size: 2.6rem;
    letter-spacing: -0.02em;
    color: var(--en-ink) !important;
}
.gh-head-menu .nav a, .gh-head-link {
    font-family: var(--en-mono);
    font-size: 1.3rem;
    font-weight: 400;
    text-transform: lowercase;
    letter-spacing: 0;
    color: var(--en-ink) !important;
    opacity: 1;
}
.gh-head-menu .nav a:hover, .gh-head-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.gh-head-button {
    background: var(--en-ink) !important;
    color: var(--en-paper) !important;
    border-radius: 0;
    font-family: var(--en-mono);
    font-size: 1.3rem;
    font-weight: 600;
    text-transform: lowercase;
    letter-spacing: 0;
    padding: 10px 16px;
}
.gh-head-button:hover { opacity: .85; }
.gh-icon-btn svg, .gh-burger::before, .gh-burger::after { color: var(--en-ink); }
.gh-head-open .gh-head, .gh-head-open #gh-head { background: var(--en-paper) !important; }

/* ---------- Buttons & forms everywhere ---------- */
.gh-btn, .footer-cta-button, .kg-btn, .kg-btn-accent, .kg-header-card-button,
.kg-product-card-button, .kg-signup-card-button {
    background: var(--en-ink) !important;
    color: var(--en-paper) !important;
    border-radius: 0 !important;
    font-family: var(--en-mono) !important;
    text-transform: lowercase;
}

/* ==========================================================
   ACASĂ
   ========================================================== */
.en-home .inner { max-width: 1080px; }

.en-hero { padding-top: 12vmin; padding-bottom: 10vmin; border-bottom: 1px solid var(--en-ink); }
.en-kicker {
    font-family: var(--en-mono);
    font-size: 1.3rem;
    text-transform: lowercase;
    color: var(--en-grey);
    margin: 0 0 3rem;
}
.en-headline {
    font-family: var(--en-head) !important;
    font-stretch: 62%;
    font-weight: 900;
    font-size: clamp(5.2rem, 11vw, 13rem);
    line-height: .88;
    letter-spacing: -0.025em;
    text-transform: lowercase;
    margin: 0;
    max-width: 11ch;
}
.en-headline-sm { font-size: clamp(3.6rem, 6vw, 6.4rem); max-width: 16ch; margin-bottom: 3.2rem; }
.en-subline {
    font-size: clamp(1.8rem, 2.2vw, 2.2rem);
    line-height: 1.45;
    max-width: 34ch;
    margin: 3.2rem 0 4rem;
    color: var(--en-ink);
}

/* Signup */
.en-form { display: flex; flex-wrap: wrap; gap: 0; max-width: 560px; }
.en-input {
    flex: 1 1 260px;
    height: 56px;
    padding: 0 18px;
    border: 1.5px solid var(--en-ink);
    border-right: 0;
    border-radius: 0;
    background: var(--en-paper);
    color: var(--en-ink);
    font-family: var(--en-body);
    font-size: 1.7rem;
    outline: none;
}
.en-input:focus { box-shadow: inset 0 0 0 1.5px var(--en-ink); }
.en-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    padding: 0 24px;
    border: 1.5px solid var(--en-ink);
    border-radius: 0;
    background: var(--en-ink);
    color: var(--en-paper) !important;
    font-family: var(--en-mono);
    font-size: 1.5rem;
    font-weight: 600;
    text-transform: lowercase;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.en-button:hover { background: var(--en-paper); color: var(--en-ink) !important; }
.en-note { flex-basis: 100%; margin: 1.4rem 0 0; font-family: var(--en-mono); font-size: 1.2rem; color: var(--en-grey); }
.en-loading, .en-success, .en-error { display: none; }
.en-form.loading .en-default { display: none; }
.en-form.loading .en-loading { display: inline; }
.en-form.success .en-default-note, .en-form.error .en-default-note { display: none; }
.en-form.success .en-success, .en-form.error .en-error { display: block; color: var(--en-ink); }
.en-form.success .en-input, .en-form.success .en-button { display: none; }
.en-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Pillars: like race bibs */
.en-pillars { border-bottom: 1px solid var(--en-ink); }
.en-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.en-pillar { padding: 5rem 3.2rem 5.6rem 0; }
.en-pillar + .en-pillar { padding-left: 3.2rem; border-left: 1px solid var(--en-ink); }
.en-num {
    display: block;
    font-family: var(--en-mono);
    font-size: 1.3rem;
    color: var(--en-grey);
    margin-bottom: 2.4rem;
}
.en-pillar h2 {
    font-stretch: 62%;
    font-weight: 900;
    font-size: 4.4rem;
    line-height: 1;
    text-transform: lowercase;
    margin: 0 0 1.4rem;
}
.en-pillar p { font-size: 1.6rem; line-height: 1.55; color: var(--en-ink); margin: 0; max-width: 28ch; }

.en-page-content { padding-top: 8vmin; padding-bottom: 8vmin; border-bottom: 1px solid var(--en-ink); }
.en-page-content .gh-content { max-width: 720px; margin: 0; }

/* Latest posts: results-board list */
.en-latest { padding-top: 8vmin; padding-bottom: 8vmin; border-bottom: 1px solid var(--en-ink); }
.en-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--en-ink); }
.en-list li { margin: 0; padding: 0; border-bottom: 1px solid var(--en-line); }
.en-list a {
    display: grid;
    grid-template-columns: 7rem 1fr auto;
    align-items: baseline;
    gap: 2rem;
    padding: 2rem 0;
    text-decoration: none;
}
.en-list a:hover .en-list-title { text-decoration: underline; text-underline-offset: 5px; }
.en-list-date, .en-list-tag { font-family: var(--en-mono); font-size: 1.3rem; color: var(--en-grey); text-transform: lowercase; }
.en-list-title {
    font-family: var(--en-head);
    font-stretch: 72%;
    font-weight: 800;
    font-size: 2.6rem;
    line-height: 1.1;
    text-transform: lowercase;
}

.en-closer { padding-top: 12vmin; padding-bottom: 12vmin; }

/* ==========================================================
   LISTE, ARTICOLE, PAGINI
   ========================================================== */
.site-header-content { padding-bottom: 0; }
.site-description { font-family: var(--en-mono) !important; font-size: 1.4rem !important; color: var(--en-grey) !important; }
.post-card-title { text-transform: lowercase; font-stretch: 72%; }
.post-card-image { filter: grayscale(100%); }
.post-card-primary-tag, .post-card-meta, .article-tag, .byline-meta-content {
    font-family: var(--en-mono) !important;
    text-transform: lowercase !important;
    letter-spacing: 0 !important;
    color: var(--en-grey) !important;
}
.post-card-featured { color: var(--en-ink); }

.article-title {
    font-stretch: 62%;
    font-weight: 900;
    font-size: clamp(4.2rem, 7vw, 8rem);
    line-height: .92;
    text-transform: lowercase;
}
.article-excerpt { font-family: var(--en-body); color: var(--en-grey); }
.article-image img, .gh-content img { filter: grayscale(100%); }

.gh-content { font-family: var(--en-body) !important; font-size: 1.85rem; line-height: 1.65; }
.gh-content > h2 { font-stretch: 72%; font-size: 3.6rem; text-transform: lowercase; margin-top: 2em; }
.gh-content > h3 { font-stretch: 80%; font-size: 2.4rem; text-transform: lowercase; }
.gh-content a { color: var(--en-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.gh-content blockquote { border-left: 3px solid var(--en-ink); font-style: normal; }
.gh-content hr { border-top: 1px solid var(--en-ink); }
.gh-content table, .gh-content th, .gh-content td { border-color: var(--en-ink) !important; }
.gh-content th { background: var(--en-ink); color: var(--en-paper); font-family: var(--en-mono); text-transform: lowercase; }
.gh-content table td:first-child { font-family: var(--en-mono); }

/* Members-only gate */
.gh-post-upgrade-cta, .gh-post-upgrade-cta-content {
    background: var(--en-ink) !important;
    border-radius: 0 !important;
    color: var(--en-paper) !important;
}
.gh-post-upgrade-cta a.gh-btn { background: var(--en-paper) !important; color: var(--en-ink) !important; }

/* Post footer signup */
.footer-cta { border-top: 1px solid var(--en-ink); }
.footer-cta-title { font-family: var(--en-head) !important; font-stretch: 72%; text-transform: lowercase; }
.footer-cta-button { border: 1.5px solid var(--en-ink) !important; }

/* ---------- Footer ---------- */
.site-footer, .dark-mode .site-footer {
    background: var(--en-ink) !important;
    color: var(--en-paper) !important;
    font-family: var(--en-mono);
    font-size: 1.3rem;
    text-transform: lowercase;
}
.site-footer a { color: var(--en-paper) !important; opacity: .75; }
.site-footer a:hover { opacity: 1; }
.site-footer-social-links svg { fill: var(--en-paper); }

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
    .en-hero { padding-top: 9vh; padding-bottom: 8vh; }
    .en-grid { grid-template-columns: 1fr; }
    .en-pillar, .en-pillar + .en-pillar { padding: 3.6rem 0; border-left: 0; }
    .en-pillar + .en-pillar { border-top: 1px solid var(--en-ink); }
    .en-input { border-right: 1.5px solid var(--en-ink); border-bottom: 0; flex-basis: 100%; }
    .en-form .en-button { width: 100%; }
    .en-list a { grid-template-columns: 5rem 1fr; }
    .en-list-tag { display: none; }
    .en-list-title { font-size: 2.2rem; }
}
