/* Helmet — Groundcraft News, enqueued ONLY on /news/ (and the posts index).
 * Verbatim from the comp <style> block. NOTE: News's gcMaskUp has NO rotate
 * component — deliberately different from the dark home's. Do not merge. */
body{margin:0;background:#0f110d}
a{color:var(--green-500);text-decoration:none}
a:hover{color:#c5e59c}
::selection{background:var(--green-500);color:#12160e}
@keyframes gcMaskUp{from{transform:translateY(105%)}to{transform:translateY(0)}}
[data-anim="on"] [data-rv]{opacity:0;transform:translateY(20px)}
[data-anim="on"] [data-rv="in"]{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
[data-story]:hover [data-headline]{color:var(--green-500)!important}
[data-story]:hover [data-arrow]{transform:translateX(5px)}
@media (prefers-reduced-motion:reduce){[data-rv]{opacity:1!important;transform:none!important}*{animation:none!important}}

/* ------------------------------------------------------------------ *
 * B0 News composition additions (2026-08-05).
 * Class-based carriers for what logged-out KSES strips from inline
 * style="" (animation, gap) + the skins for the Forge Posts loop,
 * TaxonomyFilter pills and Subscribe form on the dark /news/ page.
 * Scope: this sheet is enqueued ONLY on /news/ + posts index; the loop
 * skins are additionally scoped to body.gc-news.
 * ------------------------------------------------------------------ */

/* hero */
.gc-pulse-dot{width:8px;height:8px;border-radius:999px;display:inline-block;flex:0 0 auto;background:var(--brand);animation:gc-pulse 1.3s ease-in-out infinite}
.gc-mask-line{display:block;overflow:hidden;padding-bottom:.02em}
.gc-mask-in{display:block;animation:gcMaskUp .9s cubic-bezier(.16,1,.3,1) both}
.gc-mask-in--d1{animation-delay:.1s;color:#5d635a}

/* desk marquee (raw html node; gcMarquee keyframes live in helmet.css) */
.gc-marquee-track{display:flex;width:max-content;animation:gcMarquee 40s linear infinite;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#6f7569}
.gc-marquee-set{display:flex;gap:24px;padding-right:24px}

/* lead story card (raw html node) */
.gc-story{display:block;color:inherit}
.gc-story:hover .gc-lead-h{color:var(--green-500)}
.gc-story:hover .gc-lead-arrow{transform:translateX(5px)}
.gc-lead-grid{max-width:1320px;margin:0 auto;padding:64px 28px 70px;display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:44px;align-items:start;box-sizing:content-box}
.gc-lead-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-500)}
.gc-lead-h{margin:18px 0 0;font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;line-height:.94;color:var(--grey-0);font-size:clamp(32px,4.8vw,66px);transition:color .18s;text-wrap:balance}
.gc-lead-stand{margin:20px 0 0;font-size:16px;line-height:1.62;color:#8b9086;max-width:600px;text-wrap:pretty}
.gc-lead-ctarow{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.gc-lead-read{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-500)}
.gc-lead-arrow{display:inline-flex;transition:transform .18s}
.gc-lead-min{font-family:var(--font-mono);font-size:11px;color:#4e5449}
.gc-src-card{border:1px solid #2b2f27;border-radius:16px;background:#141712;padding:20px}
.gc-src-title{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#6f7569;margin-bottom:14px}
.gc-src-list{display:flex;flex-direction:column}
.gc-src-row{display:flex;align-items:center;gap:11px;border-top:1px solid #1e2219;padding:11px 0}
.gc-src-ico{display:inline-flex;width:13px;height:13px;flex:0 0 auto;align-items:center;justify-content:center;color:#5d635a}
.gc-src-name{font-family:var(--font-mono);font-size:11.5px;color:#c8ccc2}
.gc-grade-row{margin-top:16px;padding-top:14px;border-top:1px solid #2b2f27;display:flex;align-items:center;gap:12px}
.gc-grade-letter{font-family:var(--font-display);font-size:34px;font-weight:700;line-height:1;color:var(--green-500)}
.gc-grade-t{font-size:13px;font-weight:600;color:var(--grey-0)}
.gc-grade-s{font-size:12px;color:#6f7569}

/* Posts loop, skinned to the comp's archive rows */
.gc-news .gf-posts__grid{gap:0}
.gc-news .gf-posts__card{background:transparent;border:0;border-bottom:1px solid #2b2f27;border-right:1px solid #2b2f27;border-radius:0;padding:34px 30px 38px}
.gc-news .gf-posts__card:nth-child(3n){border-right:0}
.gc-news .gf-posts__body{padding:0;gap:0}
.gc-news .gf-posts__meta{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--green-500);margin:0}
.gc-news .gf-posts__title{margin:14px 0 10px;font-family:var(--font-display);font-size:24px;font-weight:600;line-height:1.14;letter-spacing:-.015em;text-wrap:pretty}
.gc-news .gf-posts__title a{color:var(--grey-0);transition:color .18s}
.gc-news .gf-posts__title a:hover{color:var(--green-500)}
.gc-news .gf-posts__excerpt{margin:0;font-size:13.5px;line-height:1.6;color:#8b9086}
@media (max-width:1024px){
	.gc-news .gf-posts__card{border-right:0}
	.gc-news .gf-posts__card:nth-child(odd){border-right:1px solid #2b2f27}
}
@media (max-width:640px){
	.gc-news .gf-posts__card{border-right:0 !important;padding:28px 0 30px}
}

/* Taxonomy filter pills on dark */
.gc-news .gf-taxonomy-filter__btn{font-family:var(--font-mono);font-size:11.5px;color:#c8ccc2;background:transparent;border:1px solid #2b2f27;padding:6px 13px}
.gc-news .gf-taxonomy-filter__btn:hover{color:var(--grey-0);border-color:var(--green-500)}
.gc-news .gf-taxonomy-filter__btn[aria-pressed="true"]{color:#12160e;background:var(--green-500);border-color:var(--green-500)}

/* Subscribe on the lime band */
.gc-news .gf-subscribe{background:transparent;border:0;padding:0}
.gc-news .gf-subscribe__input{font-family:var(--font-mono);font-size:13px;color:#12160e;background:rgba(255,255,255,.6);border:1px solid rgba(18,22,14,.3);border-radius:999px;padding:14px 18px}
.gc-news .gf-subscribe__input::placeholder{color:rgba(18,22,14,.55)}
.gc-news .gf-subscribe__btn{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--green-500);background:#12160e;border:0;border-radius:999px;padding:14px 22px}
.gc-news .gf-subscribe__btn:hover{background:#000;color:var(--green-500)}
