/* PublicDefender — additive layer on top of the shared Rogue Defender
   design system (styles.css). Adds the civil practice-area showcase, the
   cross-practice band, and a few civil-specific touches. Gold stays the
   single brand accent; each practice area gets a quiet identity tint. */

:root{
  --pa-family:#6f9bcb;   /* cool slate-blue  */
  --pa-trust:#83ad8a;    /* sage green       */
  --pa-tax:#d2a661;      /* warm bronze/gold */
}

/* ---------- Practice-area showcase (asymmetric bento) ---------- */
.pa{position:relative}
.pa-grid{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  grid-auto-rows:1fr;
  gap:22px;
}
.pa-card--feature{grid-row:span 2}

.pa-card{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  padding:34px 30px 30px;
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:var(--radius);
  transition:transform .35s var(--ease), border-color .3s, background .3s;
}
/* cursor spotlight, tinted to the area accent */
.pa-card::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(440px circle at var(--mx,50%) var(--my,50%),
            color-mix(in srgb, var(--pa) 16%, transparent), transparent 42%);
  opacity:0;transition:opacity .3s;pointer-events:none;
}
/* big translucent index numeral in the corner */
.pa-card__watermark{
  position:absolute;top:-18px;right:6px;
  font-family:'Fraunces',serif;font-style:italic;font-weight:600;
  font-size:140px;line-height:1;color:var(--pa);opacity:.07;
  pointer-events:none;user-select:none;
}
.pa-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--pa) 60%,var(--line));background:#171c25}
.pa-card:hover::before{opacity:1}

.pa-card__icon{
  width:46px;height:46px;color:var(--pa);margin-bottom:20px;
  stroke:var(--pa);stroke-width:1.5;fill:none;
}
.pa-card__icon *{stroke:var(--pa)}
.pa-card__kicker{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--pa);
  margin-bottom:10px;font-weight:500;
}
.pa-card h3{
  font-family:'Fraunces',serif;font-weight:500;font-size:26px;
  letter-spacing:-.01em;margin-bottom:12px;
}
.pa-card--feature h3{font-size:32px}
.pa-card__lede{color:var(--ink-soft);font-size:15px;margin-bottom:20px;max-width:46ch}
.pa-card__list{list-style:none;margin:0 0 24px;display:grid;gap:9px}
.pa-card__list li{
  position:relative;padding-left:20px;color:var(--ink-soft);font-size:14px;
}
.pa-card__list li::before{
  content:"";position:absolute;left:0;top:8px;width:7px;height:7px;
  border-radius:2px;background:var(--pa);transform:rotate(45deg);
}
.pa-card__link{
  margin-top:auto;align-self:flex-start;
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;letter-spacing:.04em;color:var(--gold);font-weight:500;
}
.pa-card__link .arrow{transition:transform .25s var(--ease)}
.pa-card:hover .pa-card__link .arrow{transform:translateX(4px)}

/* ---------- Cross-practice band (link to Rogue Defender / criminal) ---------- */
.crosslink{
  position:relative;overflow:hidden;margin-top:22px;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;
  padding:30px 34px;border-radius:var(--radius);
  background:
    radial-gradient(700px circle at 12% 0%, rgba(201,169,106,.10), transparent 55%),
    var(--bg-2);
  border:1px solid color-mix(in srgb,var(--gold) 38%,var(--line));
}
.crosslink__mark{width:42px;height:42px;color:var(--gold);stroke:var(--gold);stroke-width:1.5;fill:none}
.crosslink__body strong{
  display:block;font-family:'Fraunces',serif;font-weight:500;font-size:21px;margin-bottom:4px;
}
.crosslink__body span{color:var(--ink-soft);font-size:14px}
.crosslink .btn{white-space:nowrap}
@media (max-width:760px){
  .crosslink{grid-template-columns:1fr;text-align:left;gap:18px;padding:26px 24px}
  .crosslink .btn{justify-content:center}
}

/* ---------- "not a government office" disclaimer note ---------- */
.gov-note{
  margin-top:22px;padding:14px 18px;border-radius:10px;
  background:rgba(255,255,255,.02);border:1px solid var(--line);
  color:var(--ink-dim);font-size:12.5px;line-height:1.55;
}
.gov-note strong{color:var(--ink-soft);font-weight:600}

/* ---------- Practice-area detail page hero band ---------- */
.pa-hero{
  position:relative;padding:150px 0 60px;overflow:hidden;
  background:
    radial-gradient(ellipse at top right, color-mix(in srgb,var(--pa) 14%,transparent), transparent 52%),
    var(--bg);
  border-bottom:1px solid var(--line);
}
.pa-hero__eyebrow{
  display:inline-flex;align-items:center;gap:10px;color:var(--pa);
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:22px;
}
.pa-hero__eyebrow .pa-dot{width:8px;height:8px;border-radius:2px;background:var(--pa);transform:rotate(45deg)}
.pa-hero h1{
  font-family:'Fraunces',serif;font-weight:500;
  font-size:clamp(36px,5.4vw,68px);line-height:1.03;letter-spacing:-.02em;
  max-width:18ch;margin-bottom:22px;
}
.pa-hero h1 em{font-style:italic;color:var(--pa)}
.pa-hero__lede{font-size:clamp(16px,1.4vw,19px);color:var(--ink-soft);max-width:62ch;margin-bottom:34px}

/* prose block for detail pages */
.prose{max-width:760px}
.prose h2{
  font-family:'Fraunces',serif;font-weight:500;font-size:clamp(24px,3vw,34px);
  letter-spacing:-.01em;margin:48px 0 14px;
}
.prose h3{font-family:'Fraunces',serif;font-weight:500;font-size:21px;margin:30px 0 10px}
.prose p{color:var(--ink-soft);margin-bottom:16px;max-width:68ch}
.prose ul{list-style:none;margin:0 0 20px;display:grid;gap:10px}
.prose ul li{position:relative;padding-left:22px;color:var(--ink-soft)}
.prose ul li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:2px;background:var(--pa);transform:rotate(45deg)}
.prose a{color:var(--gold);border-bottom:1px solid color-mix(in srgb,var(--gold) 40%,transparent)}
.prose strong{color:var(--ink)}
.prose .statute{
  font-family:'Fraunces',serif;font-style:italic;color:var(--gold);font-size:.95em;
}

/* callout cards inside detail prose */
.callout{
  margin:24px 0;padding:22px 24px;border-radius:var(--radius);
  background:color-mix(in srgb,var(--pa) 9%,var(--bg-2));
  border:1px solid color-mix(in srgb,var(--pa) 30%,var(--line));
}
.callout h4{font-family:'Fraunces',serif;font-weight:500;font-size:18px;margin-bottom:8px;color:var(--ink)}
.callout p{margin:0;color:var(--ink-soft);font-size:14.5px}

/* sticky in-page CTA aside on detail pages */
.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:64px;align-items:start}
.detail-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px}
.detail-aside .panel{
  background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px;
}
.detail-aside .panel h4{font-family:'Fraunces',serif;font-weight:500;font-size:19px;margin-bottom:8px}
.detail-aside .panel p{color:var(--ink-soft);font-size:14px;margin-bottom:18px}
@media (max-width:920px){
  .detail-grid{grid-template-columns:1fr;gap:40px}
  .detail-aside{position:static}
}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .pa-grid{grid-template-columns:1fr}
  .pa-card--feature{grid-row:auto}
  .pa-card__watermark{font-size:110px}
}

@media (prefers-reduced-motion: reduce){
  .pa-card,.pa-card__link .arrow{transition:none !important}
}
