/* Legal Sandook — homepage only. Loaded on front-page.php. */
.ls-home{ background:var(--ls-cream); font-family:var(--ls-font-body) !important; }

/* ---- Hero ---- */
.ls-hero{
  background:linear-gradient(135deg,var(--ls-navy) 0%,var(--ls-navy-2) 55%,var(--ls-oxblood-dark) 130%);
  padding:3.5rem 0 2.75rem; position:relative; overflow:hidden;
  border-bottom:4px solid var(--ls-gold);
}
.ls-hero::after{
  content:""; position:absolute; right:-6vw; top:-8vw; width:32vw; height:32vw; max-width:420px; max-height:420px;
  background:radial-gradient(circle,rgba(156,31,37,.35) 0%,rgba(156,31,37,0) 70%); pointer-events:none;
}
.ls-hero-eyebrow{
  display:inline-block; color:var(--ls-gold-soft); font-family:var(--ls-font-body) !important; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; font-size:.78rem; margin-bottom:.9rem;
}
.ls-hero h1{
  font-family:var(--ls-font-head) !important; font-weight:700; color:#fff; font-size:clamp(1.9rem,4vw,2.9rem);
  line-height:1.15; margin:0 0 .75rem; max-width:720px;
}
.ls-hero p{ color:rgba(255,255,255,.82); font-size:1.05rem; max-width:600px; margin:0 0 1.9rem; }
.ls-search-form{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center;
  max-width:760px; background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 20px 45px rgba(0,0,0,.3);
}
.ls-search-form input{ border:0; outline:none; padding:1.05rem 1rem; font-size:1.05rem; font-weight:500; color:var(--ls-ink); min-width:0; background:transparent; font-family:var(--ls-font-body) !important; }
.ls-search-form .ls-search-icon{ padding:0 0 0 1.25rem; color:#9a9a94; }
.ls-search-form button{
  border:0; cursor:pointer; background:var(--ls-oxblood); color:#fff; font-family:var(--ls-font-body) !important;
  font-weight:700; font-size:.98rem; padding:0 1.8rem; align-self:stretch; transition:background .15s;
}
.ls-search-form button:hover{ background:var(--ls-oxblood-dark); }
.ls-pillars{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.4rem; }
.ls-pillar-link{
  font-family:var(--ls-font-body) !important; font-weight:600; font-size:.85rem; color:#fff; text-decoration:none;
  padding:.5rem 1rem; border:1px solid rgba(255,255,255,.35); border-radius:999px; transition:.15s;
}
.ls-pillar-link:hover{ background:rgba(255,255,255,.12); border-color:#fff; }
@media (max-width:640px){ .ls-search-form{ grid-template-columns:1fr; } .ls-search-form .ls-search-icon{ display:none; } .ls-search-form button{ padding:1rem; } }

/* ---- Stats band ---- */
.ls-stats{ background:var(--ls-navy); padding:1.4rem 0; }
.ls-stats .ls-wrap{ display:flex; flex-wrap:wrap; gap:1.5rem 2.5rem; justify-content:center; }
.ls-stat{ text-align:center; color:#fff; }
.ls-stat strong{ display:block; font-family:var(--ls-font-head) !important; font-size:1.5rem; font-weight:700; color:var(--ls-gold); }
.ls-stat span{ font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.7); }

/* ---- Section shell ---- */
.ls-section{ padding:2.75rem 0; }
.ls-section:nth-of-type(even){ background:#fff; }
.ls-section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; padding-bottom:.9rem; border-bottom:2px solid var(--ls-ink); }
.ls-kicker{ display:block; color:var(--ls-oxblood); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.72rem; margin-bottom:.3rem; }
.ls-section-title{ font-family:var(--ls-font-head) !important; font-weight:700; font-size:1.55rem; color:var(--ls-ink); margin:0; }
.ls-section-subtitle{ font-size:.9rem; color:var(--ls-muted); margin:.3rem 0 0; }
.ls-view-all{ font-family:var(--ls-font-body) !important; font-weight:700; font-size:.85rem; color:var(--ls-oxblood); text-decoration:none; white-space:nowrap; }
.ls-view-all:hover{ text-decoration:underline; }

/* ---- Magazine grid: one featured lead + a tight headline list beside it ---- */
.ls-mag-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2.25rem; align-items:start; }
@media (max-width:860px){ .ls-mag-grid{ grid-template-columns:1fr; } }

.ls-tile{
  flex:0 0 auto; display:flex; align-items:center; justify-content:center; overflow:hidden;
  border-radius:8px; background:linear-gradient(135deg,var(--ls-navy) 0%,var(--ls-navy-2) 100%);
}
.ls-tile-oxblood{ background:linear-gradient(135deg,var(--ls-oxblood) 0%,var(--ls-oxblood-dark) 100%); }
.ls-tile-gold{ background:linear-gradient(135deg,#d9ac3c 0%,var(--ls-gold) 100%); }
.ls-tile-muted{ background:#e7e2d6; }
.ls-tile-glyph{ font-size:1.3rem; filter:grayscale(1) brightness(3); opacity:.92; }
.ls-tile-muted .ls-tile-glyph{ filter:none; opacity:.55; }
.ls-tile-photo{ background:#e7e2d6; }
.ls-tile-photo img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Featured lead item */
.ls-mag-featured{ display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.ls-mag-featured .ls-tile{ width:100%; aspect-ratio:16/9; margin-bottom:1rem; }
.ls-mag-featured .ls-tile-glyph{ font-size:2.6rem; }
.ls-mag-kicker{ display:block; font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:.72rem; color:var(--ls-oxblood); margin-bottom:.45rem; }
.ls-mag-featured-title{ font-family:var(--ls-font-head) !important; font-weight:700; font-size:1.4rem; line-height:1.32; color:var(--ls-ink); margin:0 0 .55rem; }
.ls-mag-featured:hover .ls-mag-featured-title{ color:var(--ls-oxblood); }
.ls-mag-featured-excerpt{ font-size:.92rem; color:var(--ls-muted); line-height:1.6; margin:0 0 .6rem; }
.ls-mag-meta{ display:flex; gap:.6rem; font-size:.78rem; color:var(--ls-muted); font-weight:600; }
.ls-mag-empty .ls-mag-featured-title{ color:var(--ls-muted); font-style:italic; }

/* Headline list rows */
.ls-mag-list{ display:flex; flex-direction:column; }
.ls-mag-row{
  display:flex; align-items:center; gap:.9rem; padding:.85rem 0; text-decoration:none; color:inherit;
  border-bottom:1px solid var(--ls-line);
}
.ls-mag-list a.ls-mag-row:first-child{ padding-top:0; }
.ls-mag-row .ls-tile{ width:64px; height:52px; }
.ls-mag-row .ls-tile-glyph{ font-size:1.1rem; }
.ls-mag-row-body{ display:flex; flex-direction:column; gap:.2rem; min-width:0; }
.ls-mag-row-kicker{ font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ls-oxblood); }
.ls-mag-row-title{ font-family:var(--ls-font-head) !important; font-weight:700; font-size:.98rem; line-height:1.35; color:var(--ls-ink); }
.ls-mag-row:hover .ls-mag-row-title{ color:var(--ls-oxblood); }
.ls-mag-row-meta{ font-size:.76rem; color:var(--ls-muted); }
.ls-mag-row-empty .ls-mag-row-title{ color:var(--ls-muted); font-style:italic; font-family:var(--ls-font-body) !important; font-weight:500; }

/* ---- Browse by area (topic tiles) ---- */
.ls-area-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; }
@media (max-width:960px){ .ls-area-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:640px){ .ls-area-grid{ grid-template-columns:repeat(2,1fr); } }
.ls-area-tile{
  display:flex; flex-direction:column; gap:.4rem; padding:1.3rem 1.1rem; text-decoration:none;
  background:var(--ls-paper); border-radius:var(--ls-radius); border:1px solid var(--ls-line);
  transition:.15s;
}
.ls-area-tile:hover{ background:var(--ls-gold-soft); }
.ls-area-tile strong{ font-family:var(--ls-font-head) !important; font-weight:700; color:var(--ls-ink); font-size:.92rem; line-height:1.3; }
.ls-area-tile span{ font-size:.76rem; color:var(--ls-muted); }

/* ---- Databases band (the 3 reference corpora, separate from articles) ---- */
.ls-databases{ background:var(--ls-navy); padding:2.75rem 0; }
.ls-databases-head{ margin-bottom:1.5rem; }
.ls-databases-eyebrow{ display:block; font-family:var(--ls-font-body) !important; color:var(--ls-gold); font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:.75rem; margin-bottom:.4rem; }
.ls-databases-head h2{ font-family:var(--ls-font-head) !important; color:#fff; font-weight:700; font-size:1.4rem; margin:0; }
.ls-db-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
@media (max-width:900px){ .ls-db-grid{ grid-template-columns:1fr; } }
.ls-db-card{
  display:flex; flex-direction:column; gap:.3rem; text-decoration:none; color:#fff;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); border-radius:var(--ls-radius);
  padding:1.5rem 1.6rem; transition:.15s;
}
.ls-db-card:hover{ background:rgba(255,255,255,.12); border-color:var(--ls-gold); }
.ls-db-icon{ font-size:1.6rem; margin-bottom:.3rem; }
.ls-db-count{ font-family:var(--ls-font-head) !important; font-size:1.9rem; font-weight:700; color:var(--ls-gold); }
.ls-db-title{ font-family:var(--ls-font-head) !important; font-weight:700; font-size:1.05rem; }
.ls-db-desc{ font-size:.85rem; color:rgba(255,255,255,.7); margin-bottom:.5rem; }
.ls-db-cta{ font-family:var(--ls-font-body) !important; font-size:.8rem; font-weight:700; color:#fff; }

/* ---- Bottom CTA ---- */
.ls-cta{ background:linear-gradient(120deg,var(--ls-oxblood) 0%,var(--ls-oxblood-dark) 100%); padding:2.6rem 0; text-align:center; }
.ls-cta h2{ font-family:var(--ls-font-head) !important; color:#fff; font-weight:700; font-size:1.6rem; margin:0 0 .5rem; }
.ls-cta p{ color:rgba(255,255,255,.85); margin:0 0 1.3rem; }
.ls-cta a{
  display:inline-block; background:#fff; color:var(--ls-oxblood-dark); font-family:var(--ls-font-body) !important;
  font-weight:700; padding:.85rem 1.8rem; border-radius:8px; text-decoration:none;
}
