/* Liberty Port – SEO static pages (product / category / hub / 404).
   Only classes prefixed .lp- plus the shared .spec-table/.prose are used,
   so this file never fights assets/css/style.css. */
.site-shell{min-height:60vh}
.lp-h2{font-size:clamp(20px,2.4vw,28px);color:var(--c-ink);margin:0 0 14px}
.article-hero .crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;margin-bottom:14px}
.article-hero .crumbs a{color:#9fb4cc}
.article-hero .crumbs a:hover{color:#fff}
.lp-lead{font-size:16.5px;color:var(--c-ink-2);max-width:78ch;line-height:1.65}
.lp-small{font-size:13px;color:var(--c-mut);line-height:1.6}
.lp-count{font-size:13px;font-weight:600;color:var(--c-mut);white-space:nowrap}
.lp-prod{display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:44px;align-items:start}
.lp-prod-media{position:sticky;top:96px;border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;background:var(--c-soft)}
.lp-prod-media img{width:100%;height:auto;display:block;aspect-ratio:1/1;object-fit:cover}
.lp-prod-body .spec-table{margin-top:4px}
.lp-cta{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 12px}
.lp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:26px}
.lp-card{display:flex;flex-direction:column;border:1px solid var(--c-line);border-radius:var(--r);overflow:hidden;background:#fff;transition:.2s}
.lp-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.lp-card img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;background:var(--c-soft)}
.lp-cardname{font-size:13.5px;font-weight:700;color:var(--c-ink);padding:10px 12px 0;line-height:1.35}
.lp-cardcode{font-size:12px;color:var(--c-mut);padding:2px 12px 12px;font-variant-numeric:tabular-nums}
.lp-serieslist{list-style:none;padding:0;margin:18px 0 0;columns:2;column-gap:38px}
.lp-serieslist li{break-inside:avoid;margin:0 0 12px;font-size:13.5px;line-height:1.75;color:var(--c-mut)}
.lp-serieslist li strong{color:var(--c-ink);font-weight:700}
.lp-serieslist li a{white-space:nowrap;color:var(--c-ink-3);text-decoration:none;border-bottom:1px solid transparent}
.lp-serieslist li a:hover{border-bottom-color:currentColor}
.lp-relgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 22px}
.lp-relcard{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--c-line);border-radius:var(--r);background:#fff;text-decoration:none;transition:.18s}
.lp-relcard:hover{border-color:var(--c-accent);box-shadow:var(--shadow-sm)}
.lp-relcode{font-size:11.5px;font-weight:800;letter-spacing:.4px;color:var(--c-accent);text-transform:uppercase}
.lp-relname{font-size:13.5px;color:var(--c-ink);line-height:1.4}
.lp-more{font-weight:700;color:var(--c-ink-3)}
.lp-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.lp-tile{display:flex;flex-direction:column;gap:6px;padding:22px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:#fff;text-decoration:none;transition:.2s}
.lp-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#cdd9e6}
.lp-tilecount{font-size:11.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--c-accent)}
.lp-tilename{font-size:17px;font-weight:800;color:var(--c-ink);line-height:1.3}
.lp-tileblurb{font-size:13.5px;color:var(--c-mut);line-height:1.55}
.lp-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:20px 0 26px}
.lp-cols h3{font-size:16px;color:var(--c-ink);margin:0 0 6px}
.lp-cols p{font-size:14px;color:var(--c-mut);line-height:1.65;margin:0}
.lp-numlist{margin:0 0 22px;padding-left:20px;color:var(--c-ink-2);line-height:1.8}
.lp-ctarow{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.lp-footnav{border-top:1px solid var(--c-line);background:var(--c-soft);padding:44px 0 34px;margin-top:64px}
.lp-footnav h2{font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--c-mut);margin:0 0 18px}
.lp-fgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.lp-fcol h3{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--c-ink);margin:0 0 10px}
.lp-fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.lp-fcol a,.lp-fcol span{font-size:13.5px;color:var(--c-ink-3);text-decoration:none}
.lp-fcol a:hover{color:var(--c-accent)}
.lp-colophon{border-top:1px solid var(--c-line);padding:26px 0 44px;background:#fff}
.lp-colophon p{font-size:12.5px;color:var(--c-mut);line-height:1.7;margin:0 0 6px}
.lp-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:980px){
 .lp-prod{grid-template-columns:1fr;gap:26px}
 .lp-prod-media{position:static;max-width:520px}
 .lp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .lp-relgrid,.lp-tiles,.lp-cols,.lp-fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lp-serieslist{columns:1}
}
@media(max-width:640px){
 .lp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lp-relgrid,.lp-tiles,.lp-cols,.lp-fgrid{grid-template-columns:1fr}
}
