
/* ── Reset & Base ──────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  background:#080d16;
  color:#e2e8f0;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}
input{font:inherit;color:inherit}

/* ── Container ─────────────────────────────────────────────────────── */
.ca-container{
  max-width:1200px;
  margin:0 auto;
  padding:0 40px;
}
@media(max-width:768px){
  .ca-container{padding:0 20px}
}

/* ── Header ────────────────────────────────────────────────────────── */
.ca-header{
  padding:20px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ca-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.ca-header__brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:15px;
  font-weight:600;
  letter-spacing:-.01em;
  color:#f1f5f9;
}
.ca-header__brand svg{flex-shrink:0}
.ca-header__nav{
  display:flex;
  align-items:center;
  gap:24px;
}
.ca-header__link{
  font-size:13px;
  color:#94a3b8;
  transition:color .15s;
}
.ca-header__link:hover{color:#e2e8f0}

/* ── Hero ──────────────────────────────────────────────────────────── */
.ca-hero{
  padding:88px 0 64px;
  text-align:center;
}
@media(max-width:768px){
  .ca-hero{padding:56px 0 40px}
}
.ca-hero__badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 14px;
  background:rgba(52,211,153,.1);
  border:1px solid rgba(52,211,153,.2);
  border-radius:100px;
  font-size:12px;
  font-weight:600;
  color:#34d399;
  letter-spacing:.03em;
  text-transform:uppercase;
  margin-bottom:24px;
}
.ca-hero__badge-dot{
  width:6px;height:6px;
  background:#34d399;
  border-radius:50%;
  animation:ca-pulse 2s ease-in-out infinite;
}
@keyframes ca-pulse{
  0%,100%{opacity:1}
  50%{opacity:.4}
}
.ca-hero__title{
  font-size:clamp(32px,5vw,52px);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.025em;
  color:#f8fafc;
  margin-bottom:16px;
}
.ca-hero__subtitle{
  font-size:clamp(16px,2vw,19px);
  color:#94a3b8;
  max-width:640px;
  margin:0 auto 12px;
  line-height:1.5;
}
.ca-hero__disclaimer{
  font-size:13px;
  color:#64748b;
  max-width:560px;
  margin:0 auto 40px;
  line-height:1.5;
}
.ca-hero__stats{
  display:flex;
  justify-content:center;
  gap:48px;
  margin-bottom:40px;
}
@media(max-width:480px){
  .ca-hero__stats{gap:24px}
}
.ca-stat{
  text-align:center;
}
.ca-stat__value{
  font-size:clamp(28px,4vw,40px);
  font-weight:700;
  color:#f8fafc;
  letter-spacing:-.02em;
  line-height:1;
}
.ca-stat__label{
  font-size:12px;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-top:6px;
}
.ca-hero__ctas{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.ca-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 28px;
  border-radius:8px;
  font-size:14px;
  font-weight:600;
  transition:all .15s ease;
}
.ca-btn--primary{
  background:#34d399;
  color:#080d16;
}
.ca-btn--primary:hover{
  background:#2dd4a0;
  transform:translateY(-1px);
  box-shadow:0 4px 16px rgba(52,211,153,.25);
}
.ca-btn--secondary{
  background:rgba(255,255,255,.06);
  color:#e2e8f0;
  border:1px solid rgba(255,255,255,.1);
}
.ca-btn--secondary:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.15);
}
.ca-btn svg{
  width:16px;height:16px;
}

/* ── Section ───────────────────────────────────────────────────────── */
.ca-section{
  padding:88px 0;
  border-top:1px solid rgba(255,255,255,.04);
}
@media(max-width:768px){
  .ca-section{padding:56px 0}
}
.ca-section__header{
  margin-bottom:40px;
}
.ca-section__title{
  font-size:clamp(22px,3vw,28px);
  font-weight:700;
  color:#f8fafc;
  letter-spacing:-.02em;
}
.ca-section__subtitle{
  font-size:15px;
  color:#64748b;
  margin-top:8px;
}

/* ── Featured Grid ─────────────────────────────────────────────────── */
.ca-featured-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}
@media(max-width:768px){
  .ca-featured-grid{grid-template-columns:1fr}
}

/* ── Card ──────────────────────────────────────────────────────────── */
.ca-card{
  display:flex;
  flex-direction:column;
  background:#0f1520;
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  padding:24px;
  transition:all .2s ease;
  text-decoration:none;
  color:inherit;
  position:relative;
  overflow:hidden;
}
.ca-card:hover{
  border-color:rgba(52,211,153,.2);
  transform:translateY(-2px);
  box-shadow:0 8px 32px rgba(0,0,0,.3);
}
.ca-card--featured{
  background:linear-gradient(135deg,#0f1520 0%,#111b2a 100%);
  border-color:rgba(255,255,255,.08);
}
.ca-card__badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.ca-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 10px;
  border-radius:6px;
  font-size:11px;
  font-weight:600;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.ca-badge--status{
  background:rgba(52,211,153,.12);
  color:#34d399;
}
.ca-badge--investigation{
  background:rgba(251,191,36,.12);
  color:#fbbf24;
}
.ca-badge--commenced{
  background:rgba(96,165,250,.12);
  color:#60a5fa;
}
.ca-badge--complaint{
  background:rgba(168,85,247,.12);
  color:#a855f7;
}
.ca-badge--category{
  background:rgba(255,255,255,.06);
  color:#94a3b8;
}
.ca-badge--featured{
  background:rgba(251,191,36,.12);
  color:#fbbf24;
}
.ca-card__title{
  font-size:17px;
  font-weight:600;
  color:#f1f5f9;
  line-height:1.35;
  margin-bottom:8px;
  letter-spacing:-.01em;
}
.ca-card--featured .ca-card__title{
  font-size:19px;
}
.ca-card__defendant{
  font-size:13px;
  color:#64748b;
  margin-bottom:12px;
}
.ca-card__description{
  font-size:14px;
  color:#94a3b8;
  line-height:1.55;
  flex:1;
  margin-bottom:16px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.ca-card--featured .ca-card__description{
  -webkit-line-clamp:4;
}
.ca-card__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.04);
  margin-top:auto;
}
.ca-card__firm{
  font-size:12px;
  color:#64748b;
}
.ca-card__cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  font-weight:600;
  color:#34d399;
  transition:gap .15s;
}
.ca-card:hover .ca-card__cta{gap:10px}
.ca-card__cta svg{width:14px;height:14px;flex-shrink:0}

/* ── Search & Filters ──────────────────────────────────────────────── */
.ca-search{
  margin-bottom:32px;
}
.ca-search__input-wrap{
  position:relative;
  max-width:480px;
}
.ca-search__icon{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:18px;height:18px;
  color:#64748b;
  pointer-events:none;
}
.ca-search__input{
  width:100%;
  padding:14px 16px 14px 44px;
  background:#0f1520;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  font-size:15px;
  color:#e2e8f0;
  outline:none;
  transition:border-color .15s;
}
.ca-search__input::placeholder{color:#475569}
.ca-search__input:focus{
  border-color:rgba(52,211,153,.3);
}
.ca-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:32px;
}
.ca-filter-chip{
  padding:8px 16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:100px;
  font-size:13px;
  color:#94a3b8;
  transition:all .15s;
  white-space:nowrap;
}
.ca-filter-chip:hover{
  background:rgba(255,255,255,.08);
  color:#e2e8f0;
}
.ca-filter-chip--active{
  background:rgba(52,211,153,.12);
  border-color:rgba(52,211,153,.25);
  color:#34d399;
}

/* ── Matters Grid ──────────────────────────────────────────────────── */
.ca-matters-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
@media(max-width:1024px){
  .ca-matters-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .ca-matters-grid{grid-template-columns:1fr}
}
.ca-matters-grid .ca-card{
  padding:20px;
}
.ca-matters-grid .ca-card__title{font-size:15px}
.ca-matters-grid .ca-card__description{
  font-size:13px;
  -webkit-line-clamp:2;
}

/* ── Show More ─────────────────────────────────────────────────────── */
.ca-show-more{
  text-align:center;
  margin-top:32px;
}
.ca-show-more__btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 32px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  font-size:14px;
  font-weight:500;
  color:#94a3b8;
  transition:all .15s;
}
.ca-show-more__btn:hover{
  background:rgba(255,255,255,.08);
  color:#e2e8f0;
}
.ca-show-more__btn svg{width:16px;height:16px}

/* ── Counts ────────────────────────────────────────────────────────── */
.ca-counts{
  font-size:13px;
  color:#64748b;
  margin-bottom:20px;
}
.ca-counts strong{color:#94a3b8;font-weight:600}

/* ── Latest Developments ───────────────────────────────────────────── */
.ca-developments{
  display:grid;
  gap:12px;
}
.ca-dev-card{
  display:flex;
  gap:16px;
  padding:20px;
  background:#0f1520;
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  transition:border-color .15s;
}
.ca-dev-card:hover{
  border-color:rgba(255,255,255,.1);
}
.ca-dev-card__date{
  font-size:12px;
  color:#64748b;
  white-space:nowrap;
  min-width:80px;
  padding-top:2px;
}
.ca-dev-card__body{flex:1}
.ca-dev-card__title{
  font-size:15px;
  font-weight:600;
  color:#f1f5f9;
  margin-bottom:4px;
}
.ca-dev-card__summary{
  font-size:13px;
  color:#94a3b8;
  line-height:1.5;
}
.ca-empty-state{
  padding:40px;
  text-align:center;
  background:#0f1520;
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  color:#475569;
  font-size:14px;
}

/* ── Legal Clarity ─────────────────────────────────────────────────── */
.ca-legal{
  padding:48px 0;
  border-top:1px solid rgba(255,255,255,.04);
}
.ca-legal__text{
  max-width:720px;
  margin:0 auto;
  font-size:13px;
  color:#475569;
  line-height:1.7;
  text-align:center;
}

/* ── Footer ────────────────────────────────────────────────────────── */
.ca-footer{
  border-top:1px solid #e2e8f0;
  background:#fff;
  margin-top:auto;
}
.ca-footer__inner{
  max-width:64rem;
  margin:0 auto;
  padding:2.5rem 1.5rem;
}

/* 4-column grid */
.ca-footer__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:2rem;
}
@media(min-width:640px){
  .ca-footer__grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .ca-footer__grid{grid-template-columns:repeat(4,1fr)}
}

/* Brand lockup */
.ca-footer__logo-link{
  display:flex;
  align-items:center;
  gap:0.625rem;
  margin-bottom:0.75rem;
  text-decoration:none;
}
.ca-footer__logo-link:hover .ca-footer__logo-mark{background:#475569}
.ca-footer__logo-mark{
  width:2.25rem;height:2.25rem;
  border-radius:0.25rem;
  background:#0f172a;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:background .15s;
}
.ca-footer__logo-icon{width:1.125rem;height:1.125rem;color:#fff}
.ca-footer__wordmark{
  display:block;
  font-size:0.875rem;font-weight:700;
  letter-spacing:-0.015em;
  color:#0f172a;
  line-height:1.2;
}
.ca-footer__subtitle{
  display:block;
  font-size:10px;
  color:#94a3b8;
  letter-spacing:0.1em;
  text-transform:uppercase;
  line-height:1.2;
}
.ca-footer__tagline{
  font-size:12px;
  color:#64748b;
  line-height:1.6;
}
.ca-footer__abn{
  margin-top:0.75rem;
  font-size:10px;
  color:rgba(100,116,139,0.7);
  letter-spacing:0.05em;
}

/* Column titles + links */
.ca-footer__col-title{
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:#0f172a;
  margin-bottom:0.75rem;
}
.ca-footer__col-links{
  list-style:none;
  margin:0;padding:0;
  display:flex;flex-direction:column;
  gap:0.5rem;
}
.ca-footer__col-links a{
  font-size:12px;
  color:#64748b;
  text-decoration:none;
  transition:color .15s;
}
.ca-footer__col-links a:hover{color:#0f172a}

/* Contact blocks */
.ca-footer__contact-block{
  margin-bottom:1rem;
}
.ca-footer__contact-block:last-child{margin-bottom:0}
.ca-footer__contact-label{
  display:flex;
  align-items:center;
  gap:0.375rem;
  font-size:12px;
  color:#64748b;
  line-height:1.6;
  margin-bottom:0.25rem;
}
.ca-footer__contact-icon{
  width:0.75rem;height:0.75rem;
  color:#94a3b8;
  flex-shrink:0;
}
.ca-footer__contact-link{
  display:inline-flex;
  align-items:center;
  gap:0.375rem;
  font-size:12px;
  color:#64748b;
  text-decoration:none;
  transition:color .15s;
}
.ca-footer__contact-link:hover{color:#0f172a}

/* Bottom bar */
.ca-footer__bottom{
  margin-top:2rem;
  padding-top:1.5rem;
  border-top:1px solid #e2e8f0;
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}
@media(min-width:640px){
  .ca-footer__bottom{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
}
.ca-footer__copyright{
  font-size:12px;
  color:#64748b;
  line-height:1.625;
}
.ca-footer__copyright .ca-footer__ai-note{
  color:#d97706;
  font-weight:600;
}
.ca-footer__copyright strong{font-weight:600;color:#334155}
.ca-footer__bottom-links{
  display:flex;
  align-items:center;
  gap:1rem;
}
.ca-footer__bottom-links a{
  font-size:12px;
  color:#64748b;
  text-decoration:none;
  white-space:nowrap;
  transition:color .15s;
}
.ca-footer__bottom-links a:hover{color:#0f172a}

/* ── No Results ─────────────────────────────────────────────────────── */
.ca-no-results{
  grid-column:1/-1;
  padding:48px 20px;
  text-align:center;
}
.ca-no-results__icon{
  width:40px;height:40px;
  color:#475569;
  margin:0 auto 12px;
}
.ca-no-results__title{
  font-size:16px;
  font-weight:600;
  color:#94a3b8;
  margin-bottom:6px;
}
.ca-no-results__text{
  font-size:13px;
  color:#64748b;
}

/* ── Registry-only card variant ────────────────────────────────────── */
.ca-card--registry{
  background:#0c111a;
  border-color:rgba(255,255,255,.04);
  cursor:default;
}
.ca-card--registry:hover{
  border-color:rgba(255,255,255,.08);
  transform:none;
  box-shadow:none;
}
.ca-card__court{
  font-size:12px;
  color:#475569;
  margin-bottom:8px;
  display:flex;
  align-items:center;
  gap:4px;
}
.ca-card__cta--muted{
  color:#475569 !important;
  font-weight:500;
  font-size:12px;
  gap:4px;
}
.ca-card__cta--muted svg{
  width:13px;height:13px;
  opacity:.6;
}
.ca-badge--lifecycle{
  background:rgba(148,163,184,.1);
  color:#94a3b8;
}

/* ── Hidden utility ────────────────────────────────────────────────── */
.ca-hidden{display:none!important}

/* ── Scroll-to-top visual offset for anchor links ──────────────────── */
#featured,#registry,#search{scroll-margin-top:24px}
