.cad-hero{position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(var(--space-10),6vw,var(--space-13)) 0 clamp(var(--space-9),5vw,var(--space-12));
  background:var(--surface-navy-deep);color:var(--text-inverse)}
.cad-hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top left,
    var(--blue-700) 0%, var(--blue-700) 16%, transparent 62%);
  opacity:.75;
  -webkit-mask-image:url('../patterns/hex-lattice.svg');
  mask-image:url('../patterns/hex-lattice.svg');
  -webkit-mask-size:78px;mask-size:78px;
  -webkit-mask-repeat:repeat;mask-repeat:repeat}
.cad-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
  column-gap:clamp(var(--space-8),5vw,var(--space-12));align-items:center}
.cad-eyebrow{margin:0 0 var(--space-4);
  font-family:var(--font-display);font-weight:var(--fw-bold);
  font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;color:var(--orange-300)}
.cad-hero h1{margin:0;font-size:var(--fs-hero);line-height:var(--lh-hero);
  letter-spacing:var(--ls-hero);color:var(--text-inverse)}
.cad-hero__lede{margin:0;max-width:46ch;
  font-size:var(--fs-lead);line-height:1.65;color:var(--text-inverse-muted)}
@media (max-width:900px){
  .cad-hero__grid{grid-template-columns:minmax(0,1fr);row-gap:var(--space-6);align-items:start}
  .cad-hero__lede{max-width:60ch}
}
.cad-browse{background:var(--surface-subtle)}
.cad-controls{position:sticky;top:113px;z-index:30;
  background:var(--surface-page);
  border-bottom:1px solid var(--border-subtle);
  box-shadow:var(--shadow-xs)}
.cad-controls__inner{display:flex;flex-wrap:nowrap;align-items:center;
  gap:0 clamp(var(--space-5),2.4vw,var(--space-7));
  padding-top:var(--space-2);padding-bottom:var(--space-2)}
.cad-group{display:flex;align-items:center;border:0;margin:0;padding:0;min-width:0}
.cad-group--topics{margin-left:auto;
  padding-left:clamp(var(--space-5),2.4vw,var(--space-7));
  border-left:1px solid var(--border-subtle)}
.cad-group__label{padding:0;margin:0;white-space:nowrap;
  font-family:var(--font-display);font-weight:var(--fw-bold);
  font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;color:var(--text-muted);
  position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.cad-radio{position:absolute;width:1px;height:1px;margin:0;opacity:0;
  pointer-events:none}
.cad-tabs,.cad-chips{display:flex;flex-wrap:nowrap;align-items:center;
  gap:0 clamp(var(--space-4),1.8vw,var(--space-5))}
.cad-tab{position:relative;cursor:pointer;white-space:nowrap;
  padding:var(--space-3) 0 calc(var(--space-3) + 2px);
  font-family:var(--font-display);font-weight:var(--fw-semibold);
  font-size:var(--fs-body);line-height:1.2;color:var(--text-body);
  transition:color var(--dur) var(--ease-out)}
.cad-tab:hover{color:var(--text-strong)}
.cad-tab::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:0;
  background:var(--em-orange);
  transition:width var(--dur) var(--ease-out)}
.cad-radio:checked + .cad-tab{color:var(--text-strong);font-weight:var(--fw-bold)}
.cad-radio:checked + .cad-tab::after{width:100%}
.cad-radio:focus-visible + .cad-tab{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:2px}
.cad-chip{cursor:pointer;display:inline-flex;align-items:center;min-height:32px;
  white-space:nowrap;
  padding:0 var(--space-3);border:1px solid var(--border-default);
  border-radius:var(--radius-pill);background:var(--surface-page);
  font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--text-body);
  transition:background-color var(--dur) var(--ease-out),
             border-color var(--dur) var(--ease-out),
             color var(--dur) var(--ease-out)}
.cad-chip:hover{border-color:var(--border-strong);color:var(--text-strong)}
.cad-radio:checked + .cad-chip{background:var(--surface-navy);border-color:var(--surface-navy);
  color:var(--text-inverse)}
.cad-radio:focus-visible + .cad-chip{outline:3px solid var(--focus-ring);outline-offset:3px}
@media (max-width:960px){
  .cad-controls__inner{display:grid;grid-template-columns:auto minmax(0,1fr);
    column-gap:clamp(var(--space-5),2.4vw,var(--space-8));row-gap:var(--space-4);
    align-items:baseline;
    padding-top:var(--space-4);padding-bottom:var(--space-5)}
  .cad-group{display:contents}
  .cad-group--topics{margin-left:0;padding-left:0;border-left:0}
  .cad-group__label{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
  .cad-tabs,.cad-chips{flex-wrap:wrap;
    gap:var(--space-2) clamp(var(--space-4),2vw,var(--space-6))}
}
@media (max-width:900px){
  .cad-controls__inner{grid-template-columns:minmax(0,1fr);row-gap:var(--space-5)}
  .cad-group{display:block}
  .cad-group__label{margin-bottom:var(--space-3)}
}
@media (max-width:720px){
  .cad-controls{position:static}
}
.cad-results{padding-top:clamp(var(--space-9),5vw,var(--space-12));
  padding-bottom:clamp(var(--space-10),6vw,var(--space-13))}
.cad-band__title{scroll-margin-top:188px}
.cad-band + .cad-band{margin-top:clamp(var(--space-8),3.5vw,var(--space-10));
  padding-top:clamp(var(--space-8),3.5vw,var(--space-10));
  border-top:1px solid var(--border-subtle)}
.cad-band__head{max-width:62ch;margin-bottom:clamp(var(--space-6),3vw,var(--space-8))}
.cad-band__title{position:relative;margin:0 0 var(--space-4);
  padding-top:calc(var(--space-5) + 4px);
  font-size:var(--fs-h2);line-height:var(--lh-heading);color:var(--text-strong)}
.cad-band__title::before{content:"";position:absolute;left:0;top:0;
  width:56px;height:4px;background:var(--em-orange)}
.cad-band__blurb{margin:0;font-size:var(--fs-lead);line-height:1.6;color:var(--text-body)}
.cad-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));
  gap:clamp(var(--space-5),2.4vw,var(--space-7));list-style:none;margin:0;padding:0}
.cad-card{position:relative;overflow:hidden;display:flex;flex-direction:column;
  border:1px solid var(--border-subtle);border-radius:var(--radius-card);
  background:var(--surface-card)}
.cad-card__body{display:flex;flex-direction:column;gap:var(--space-4);
  padding:var(--space-6)}
.cad-card--lead{grid-column:1/-1;display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  align-items:center;padding:0}
.cad-card--lead .cad-card__body{padding:clamp(var(--space-6),2.4vw,var(--space-8));
  padding-left:clamp(var(--space-6),2.4vw,var(--space-8))}
.cad-card--lead .cad-card__photo{aspect-ratio:auto;height:clamp(300px,24vw,420px);
  object-position:center 35%}
@media (max-width:720px){
  .cad-card--lead{grid-template-columns:minmax(0,1fr)}
  .cad-card--lead .cad-card__body{padding:var(--space-6)}
}
.cad-card__photo{display:block;width:100%;aspect-ratio:3/2;height:auto;
  object-fit:cover;object-position:center;background:var(--surface-subtle);
  transition:transform var(--dur-slow) var(--ease-out)}
.cad-card__photo--whole{object-fit:contain;padding:var(--space-5)}
.cad-card:hover .cad-card__photo--whole{transform:none}
.cad-card:hover .cad-card__photo{transform:scale(1.035)}
.cad-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);
  font-size:var(--fs-caption);font-weight:var(--fw-semibold);
  letter-spacing:var(--ls-caps);text-transform:uppercase}
.cad-card__topic{color:var(--em-orange-ink)}
.cad-card__date{color:var(--text-muted);font-weight:var(--fw-medium);letter-spacing:normal;
  text-transform:none}
.cad-card__title{margin:0;font-size:var(--fs-h5);line-height:1.3;color:var(--text-strong)}
.cad-card--lead .cad-card__title{font-size:var(--fs-h3)}
.cad-card__title a{color:inherit;text-decoration:none;
  transition:color var(--dur) var(--ease-out)}
.cad-card__title a::before{content:"";position:absolute;inset:0}
.cad-card:hover .cad-card__title a{color:var(--em-orange-ink)}
.cad-card__title a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px;
  border-radius:var(--radius-xs)}
.cad-card::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:0;
  background:var(--em-orange);
  transition:width var(--dur) var(--ease-out)}
.cad-card:hover::after,.cad-card:focus-within::after{width:56px}
.cad-empty{display:none;position:relative;margin:0;
  padding:calc(var(--space-7) + 4px) var(--space-7) var(--space-7);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-card);background:var(--surface-page);
  font-size:var(--fs-lead);line-height:1.6;color:var(--text-body)}
.cad-empty::before{content:"";position:absolute;left:var(--space-7);top:var(--space-6);
  width:56px;height:4px;background:var(--em-orange)}
.cad-empty__hint{font-weight:var(--fw-bold);color:var(--text-strong)}
body:has(#ca-t-article:checked) .cad-band:not([data-type="article"]),
body:has(#ca-t-story:checked) .cad-band:not([data-type="story"]),
body:has(#ca-t-research:checked) .cad-band:not([data-type="research"]),
body:has(#ca-t-press:checked) .cad-band:not([data-type="press"]){display:none}
body:has(#ca-p-education:checked) .cad-card:not([data-topic~="education"]),
body:has(#ca-p-work:checked) .cad-card:not([data-topic~="work"]),
body:has(#ca-p-safety:checked) .cad-card:not([data-topic~="safety"]),
body:has(#ca-p-bills:checked) .cad-card:not([data-topic~="bills"]){display:none}
body:has(#ca-p-bills:checked) .cad-band:not([data-type="article"]){display:none}
body:has(#ca-p-bills:checked):has(#ca-t-story:checked) .cad-empty,
body:has(#ca-p-bills:checked):has(#ca-t-research:checked) .cad-empty,
body:has(#ca-p-bills:checked):has(#ca-t-press:checked) .cad-empty{display:block}
@supports not selector(body:has(a)){
  .cad-controls{display:none}
}
@media (prefers-reduced-motion: reduce){
  .cad-tab::after,.cad-chip,.cad-card::after,.cad-card__photo,.cad-card__title a{
    transition:none}
  .cad-card:hover .cad-card__photo{transform:none}
}
