/* theme v2: liberty */
/* shared mechanics only; every visual decision lives in the per-site file */
html body.tv2-liberty .skip-link, html body.tv2-liberty .skip { position:absolute !important; left:-9999px !important; top:auto; }
html body.tv2-liberty .skip-link:focus, html body.tv2-liberty .skip:focus { left:1rem !important; top:1rem !important; z-index:1000; background:#fff; color:#000; padding:.6rem 1rem; }
html body.tv2-liberty *, html body.tv2-liberty *::before, html body.tv2-liberty *::after { box-sizing:border-box; }
html body.tv2-liberty img, html body.tv2-liberty svg { max-width:100%; }
html body.tv2-liberty .tv2-wrap { width:min(100% - 2.5rem, var(--wrap, 72rem)); margin-inline:auto; }
html body.tv2-liberty .tv2-post { display:block; padding:0; margin:0; }
html body.tv2-liberty .tv2-post h1 { margin:0; text-wrap:balance; overflow-wrap:break-word; }
html body.tv2-liberty .tv2-post h2 { text-wrap:balance; }
html body.tv2-liberty .tv2-crumbs { display:flex; gap:.5rem; flex-wrap:wrap; font-size:.85rem; margin-bottom:1.25rem; }
html body.tv2-liberty .tv2-crumbs a { text-decoration:none; }
html body.tv2-liberty .tv2-lead-label { display:block; }
html body.tv2-liberty .tv2-meta { display:flex; flex-wrap:wrap; gap:0; margin:1.5rem 0 0; padding:0; }
html body.tv2-liberty .tv2-meta div { margin:0; }
html body.tv2-liberty .tv2-meta dt, html body.tv2-liberty .tv2-meta dd { margin:0; }
html body.tv2-liberty .tv2-article { min-width:0; }
html body.tv2-liberty .tv2-sec-body > *:first-child { margin-top:0; }
html body.tv2-liberty .tv2-article ul, html body.tv2-liberty .tv2-article ol { padding-left:1.25rem; }
html body.tv2-liberty .tv2-article a { overflow-wrap:anywhere; }
html body.tv2-liberty .tv2-sources .source-list li { margin:.4rem 0; }
html body.tv2-liberty .tv2-more { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:center; }
html body.tv2-liberty .tv2-h { display:inline; }
html body.tv2-liberty .tv2-all { margin:1.75rem 0 0; }
html body.tv2-liberty .latest-docket .docket-card:nth-child(n+5) { display:none !important; }
@media (max-width: 760px) {
  html body.tv2-liberty .site-header .primary-nav, html body.tv2-liberty .site-header .site-nav, html body.tv2-liberty .masthead .topnav { display:flex !important; overflow-x:auto; flex-wrap:nowrap !important; white-space:nowrap; -webkit-overflow-scrolling:touch; scrollbar-width:none; max-width:100%; }
  html body.tv2-liberty .site-header .primary-nav a, html body.tv2-liberty .site-header .site-nav a, html body.tv2-liberty .masthead .topnav a { flex:0 0 auto; }
}
/* neutralise the older shared homepage-polish hero decorations */
html body.tv2-liberty .hero .container { display:block; grid-template-columns:none; }
html body.tv2-liberty .hero .container::after, html body.tv2-liberty .hero .container::before, html body.tv2-liberty .hero .container:after { content:none !important; display:none !important; }
html body.tv2-liberty .hero::before { content:none; }
html body.tv2-liberty .hero .eyebrow { width:auto; height:auto; min-height:0; }
html body.tv2-liberty .hero h1, html body.tv2-liberty .hero .display { opacity:1; -webkit-text-fill-color:currentColor; }
html body.tv2-liberty .hero::after, html body.tv2-liberty .site-hero::after, html body.tv2-liberty .hero-inner::after, html body.tv2-liberty .hero-inner::before { content:none; }
html body.tv2-liberty .hero .hero-grid { position:relative; }
html body.tv2-liberty main :is(li:has(> .res-kind), .idx-item) { list-style:none; }
html body.tv2-liberty main :is(li:has(> .res-kind), .idx-item) h3 { margin:.1rem 0 .3rem; }
html body.tv2-liberty main :is(li:has(> .res-kind), .idx-item) p { margin:0; }
@media (max-width:760px){
  html body.tv2-liberty .site-header .header-inner { flex-wrap:wrap; row-gap:.6rem; }
  html body.tv2-liberty .site-header .header-inner > .primary-nav, html body.tv2-liberty .site-header .header-inner > .site-nav { order:3; width:100%; gap:1.1rem; padding-bottom:.2rem; }
  html body.tv2-liberty .site-header .brand-name { max-width:14rem; }
  html body.tv2-liberty .pub-list li { grid-template-columns:1fr !important; gap:.4rem !important; }
}
html body.tv2-liberty .tv2-kicker:empty{display:none}

/* Liberty: manifesto. black and cream, crimson, oversized numerals, heavy serif */
html body.tv2-liberty { --bg:#f2ebdd; --ink:#131313; --muted:#4a4440; --crimson:#9b1c2c; --cream:#f2ebdd; --wrap:76rem; background:var(--bg); color:var(--ink); font-family:'Libre Franklin',system-ui,sans-serif; font-size:16.5px; }
html body.tv2-liberty h1, html body.tv2-liberty h2, html body.tv2-liberty h3, html body.tv2-liberty .display { font-family:'Fraunces',Georgia,serif; font-weight:900; letter-spacing:-.025em; }
html body.tv2-liberty a { color:var(--crimson); }
html body.tv2-liberty .site-header { background:#131313; border:0; position:static; }
html body.tv2-liberty .site-header .brand-name { color:var(--cream); font-family:'Fraunces',serif; font-style:normal; font-weight:700; }
html body.tv2-liberty .site-header .primary-nav a { color:var(--cream); text-transform:uppercase; letter-spacing:.14em; font-size:.74rem; font-weight:600; }
html body.tv2-liberty .site-header .header-cta { background:var(--crimson); color:#fff; border:0; border-radius:0; text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; }
html body.tv2-liberty .hero { background:#131313 !important; color:var(--cream); padding:5rem 0 5.5rem; border-bottom:10px solid var(--crimson); }
html body.tv2-liberty .hero::before, html body.tv2-liberty .hero::after { display:none !important; }
html body.tv2-liberty .hero .eyebrow { color:#e8a4ad; text-transform:uppercase; letter-spacing:.24em; font-size:.78rem; font-style:normal; font-family:'Libre Franklin',sans-serif; font-weight:700; }
html body.tv2-liberty .hero h1.display, html body.tv2-liberty .hero h1 { color:var(--cream) !important; font-size:clamp(3rem,8vw,7rem); line-height:.9; max-width:14ch; opacity:1 !important; }
html body.tv2-liberty .hero h1 em { color:#e8a4ad; }
html body.tv2-liberty .hero .lede { color:#d8d0c2; font-size:1.2rem; max-width:38rem; }
html body.tv2-liberty .btn { background:var(--crimson); color:#fff; border:0; border-radius:0; text-transform:uppercase; letter-spacing:.1em; font-weight:700; font-size:.82rem; }
html body.tv2-liberty .btn-secondary { background:transparent; color:inherit; border:2px solid currentColor; }
html body.tv2-liberty .hero .btn-secondary { color:var(--cream); }
html body.tv2-liberty main { counter-reset:art; }
html body.tv2-liberty .section { border-bottom:2px solid #131313; counter-increment:art; position:relative; }
html body.tv2-liberty .section h2 { font-size:clamp(2.2rem,5vw,3.8rem); line-height:.95; display:block; }
html body.tv2-liberty .section-num { display:block; font-family:'Fraunces',serif; font-weight:900; font-size:clamp(4rem,10vw,8rem); line-height:.8; color:var(--crimson); font-style:normal; margin-bottom:.5rem; }
html body.tv2-liberty .docket-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:2px solid #131313; counter-reset:dk; }
html body.tv2-liberty .docket-card { counter-increment:dk; background:none !important; border:0 !important; border-bottom:2px solid #131313 !important; border-radius:0 !important; box-shadow:none !important; padding:1.5rem 1.5rem 1.5rem 5.5rem !important; position:relative; }
html body.tv2-liberty .docket-card:nth-child(odd) { border-right:2px solid #131313 !important; }
html body.tv2-liberty .docket-card::before { content:counter(dk); position:absolute; left:1.2rem; top:1rem; font-family:'Fraunces',serif; font-weight:900; font-size:3.4rem; line-height:1; color:var(--crimson); }
html body.tv2-liberty .docket-card h3 { font-size:1.55rem; line-height:1.02; }
html body.tv2-liberty .docket-kicker { text-transform:uppercase; letter-spacing:.14em; font-size:.68rem; font-weight:700; }
html body.tv2-liberty .docket-link { font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; }
html body.tv2-liberty .tv2-all a { font-family:'Fraunces',serif; font-weight:900; font-size:1.6rem; color:#131313; }
html body.tv2-liberty .site-footer { background:#131313; color:#cfc6b6; border:0; } html body.tv2-liberty .site-footer a { color:#e8a4ad; }
@media (max-width:760px){ html body.tv2-liberty .docket-grid{grid-template-columns:1fr} html body.tv2-liberty .docket-card:nth-child(odd){border-right:0 !important} }
/* post: manifesto */
html body.tv2-liberty .tv2-post .tv2-hero { background:#131313; color:var(--cream); padding:4rem 0 4rem; border-bottom:10px solid var(--crimson); }
html body.tv2-liberty .tv2-post .tv2-crumbs a, html body.tv2-liberty .tv2-post .tv2-crumbs { color:#e8a4ad; text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; }
html body.tv2-liberty .tv2-post .tv2-kicker { text-transform:uppercase; letter-spacing:.22em; font-size:.75rem; font-weight:700; color:#e8a4ad; margin:0 0 1rem; }
html body.tv2-liberty .tv2-post h1 { color:var(--cream); font-size:clamp(2.6rem,7vw,5.6rem); line-height:.92; max-width:16ch; }
html body.tv2-liberty .tv2-post .tv2-lead { color:#d8d0c2; font-size:1.25rem; max-width:40rem; margin:1.5rem 0 0; border-left:4px solid var(--crimson); padding-left:1rem; }
html body.tv2-liberty .tv2-post .tv2-grid { padding:3rem 0 2rem; max-width:58rem; }
html body.tv2-liberty .tv2-sec { display:grid; grid-template-columns:7rem minmax(0,1fr); gap:0 2rem; border-bottom:2px solid #131313; padding:1.6rem 0; }
html body.tv2-liberty .tv2-sec h2 { grid-column:1 / -1; display:contents; }
html body.tv2-liberty .tv2-n { grid-column:1; grid-row:1 / span 2; font-family:'Fraunces',serif; font-weight:900; font-size:5rem; line-height:.85; color:var(--crimson); }
html body.tv2-liberty .tv2-h { grid-column:2; font-family:'Fraunces',serif; font-weight:900; font-size:1.9rem; line-height:1; margin-bottom:.7rem; display:block; }
html body.tv2-liberty .tv2-sec-body { grid-column:2; line-height:1.7; font-size:1.08rem; }
html body.tv2-liberty .tv2-sources { margin-top:2rem; background:#131313; color:var(--cream); padding:1.5rem 1.75rem; font-size:.92rem; }
html body.tv2-liberty .tv2-sources h2 { color:var(--cream); font-size:1.4rem; margin:0 0 .5rem; }
html body.tv2-liberty .tv2-sources a { color:#e8a4ad; }
html body.tv2-liberty .tv2-more { padding:0 0 4rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; font-size:.82rem; max-width:58rem; }
@media (max-width:760px){ html body.tv2-liberty .tv2-sec{grid-template-columns:3.5rem minmax(0,1fr);gap:0 1rem} html body.tv2-liberty .tv2-n{font-size:3rem} html body.tv2-liberty .tv2-h{font-size:1.45rem} }
/* index */
html body.tv2-liberty.tv2-index .doc { background:#131313; color:var(--cream); padding-top:3.5rem; }
html body.tv2-liberty.tv2-index .doc h1 { color:var(--cream); font-size:clamp(2.6rem,7vw,5rem); line-height:.92; }
html body.tv2-liberty.tv2-index .doc p, html body.tv2-liberty .doc .eyebrow { color:#d8d0c2; }
html body.tv2-liberty.tv2-index .doc a { color:#f0b9c0; }
html body.tv2-liberty main .doc-banner { background:transparent; border:2px solid var(--crimson); border-radius:0; color:var(--cream); }
html body.tv2-liberty main :is(ul,ol):has(> li > .res-kind) { counter-reset:lx; padding:0; border-top:2px solid var(--cream); }
html body.tv2-liberty main :is(li:has(> .res-kind), .idx-item) { counter-increment:lx; display:grid; grid-template-columns:5rem 12rem 1fr; gap:1rem; padding:1.2rem 0; border-bottom:1px solid #3a3a3a; }
html body.tv2-liberty main :is(li:has(> .res-kind), .idx-item)::before { content:counter(lx, decimal-leading-zero); font-family:'Fraunces',serif; font-weight:900; font-size:2.6rem; line-height:1; color:#e04a5e; }
html body.tv2-liberty main :is(.res-kind, .idx-kind) { text-transform:uppercase; letter-spacing:.12em; font-size:.68rem; font-weight:700; color:#e8a4ad; }
html body.tv2-liberty main :is(li:has(> .res-kind), .idx-item) h3 { font-size:1.45rem; } html body.tv2-liberty main :is(li:has(> .res-kind), .idx-item) p { color:#cfc6b6; }
@media (max-width:760px){ html body.tv2-liberty main :is(li:has(> .res-kind), .idx-item) { grid-template-columns:3.5rem 1fr; } html body.tv2-liberty main :is(li:has(> .res-kind), .idx-item) > div { grid-column:2; } }
