.case-explorer{--card-border:#c5cec8;max-width:1240px;padding-top:3rem}
.case-explorer [hidden]{display:none!important}
.case-explorer .index-intro{background:none;color:var(--ink);padding:0 0 1.65rem;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;overflow:visible}
.case-explorer .index-intro:before{display:none}
.case-explorer .index-intro .eyebrow{color:var(--muted);margin-bottom:1.1rem}
.case-explorer .index-intro .eyebrow:before{background:#7e9450}
.case-explorer .index-intro h1{font-size:clamp(3.2rem,6vw,5.5rem)}
.case-explorer .index-intro .deck{color:var(--muted);font-size:1.12rem;line-height:1.7;max-width:44ch}
.independence-note{border-top:1px solid var(--card-border);padding:1rem 0 1.1rem;font-size:.79rem;line-height:1.6;color:var(--muted);max-width:none}
.independence-note strong{color:var(--ink)}
.case-browse{padding:1.5rem 0 0}
.case-browse h2{font:700 .8rem/1.5 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .9rem}
.subject-selectors{display:flex;gap:.65rem;flex-wrap:wrap}
.subject-selector{appearance:none;flex:1 1 150px;min-height:112px;border:1px solid var(--card-border);background:var(--white);color:var(--ink);padding:1rem;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.6rem;cursor:pointer;position:relative;border-radius:2px}
.subject-selector:hover{border-color:var(--ink);background:#eef1e8}
.subject-selector[aria-pressed=true]{border:2px solid var(--ink);background:#e9efdb;padding:calc(1rem - 1px)}
.selector-name{font-size:.75rem;line-height:1.4;font-weight:600;text-align:center}
.selector-all{flex:0 1 140px;justify-content:space-between;gap:.3rem}
.selector-all .selector-name{font-size:.87rem;align-self:flex-start;text-align:left}
.selector-count{font:2.2rem/1 Georgia,serif;align-self:flex-end;color:var(--secondary)}
.subject-logos{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;min-height:44px}
.subject-logo{display:block;object-fit:contain;flex:0 0 auto;width:156px;height:48px;max-width:156px;max-height:48px}
.logo-heathrow{background:#41256b;padding:5px 9px;box-sizing:content-box;border-radius:1px}
.selector-logos{min-height:40px;max-height:44px;justify-content:center;gap:.85rem;flex-wrap:nowrap}
.selector-logos .subject-logo{max-width:126px;max-height:30px}
.selector-logos .logo-british-airways{max-width:117px}
.selector-logos .logo-heathrow{max-width:90px;max-height:30px}
.selector-logos .logo-discover{max-width:80px}
.selector-logos .logo-capital-one{max-width:90px;max-height:34px}
.case-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1.25rem 0 1.5rem;border-bottom:1px solid var(--card-border);margin-bottom:1.75rem}
.topic-control{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.topic-control label{font-size:.8rem;font-weight:700}
.topic-control select{font:inherit;font-size:.85rem;min-height:44px;padding:.5rem 2rem .5rem .75rem;border:1px solid #a9b8af;border-radius:2px;background:var(--white);color:var(--ink);max-width:100%}
.topic-control select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
#case-count{font-size:.8rem;color:var(--muted);margin:0 0 0 auto}
.reset-filters{border:0;background:transparent;font-size:.8rem;font-weight:700;text-decoration:underline;text-underline-offset:3px;color:var(--ink);padding:.5rem;cursor:pointer;min-height:44px}
.case-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:stretch}
.case-explorer .case-card{margin:0;padding:1.8rem;box-shadow:none;border:1px solid var(--card-border);border-top:3px solid var(--ink);display:flex;flex-direction:column;min-width:0}
.case-explorer .case-card .case-label{padding:0 0 1.2rem;margin:0 0 1.4rem;gap:.75rem;display:grid;grid-template-columns:1fr;align-content:start;border-bottom:1px solid var(--card-border)}
.case-explorer .case-label .eyebrow{font-size:.65rem;letter-spacing:.1em;margin:0;display:inline-block;padding:0;background:none}
.case-explorer .case-label .subject-logos{min-height:60px;order:1}
.case-explorer .case-label>p:nth-of-type(2){order:2;margin:0;font-size:.8rem}
.case-explorer .case-label .case-date{order:3;display:flex;gap:.3rem;margin:0;font-size:.75rem;width:auto}
.case-explorer .case-date time{white-space:nowrap;word-break:normal;overflow-wrap:normal}
.case-card-body{display:flex;flex-direction:column;flex:1}
.case-explorer .case-card h2{font-size:clamp(1.8rem,2.8vw,2.4rem);margin:0 0 1rem;line-height:1.15;max-width:26ch}
.case-explorer .case-card .case-card-body>p{font-size:1rem;line-height:1.7;margin:0 0 1.2rem}
.case-explorer .case-card .tag-list{margin:.2rem 0 1.3rem}
.case-explorer .case-card .button{align-self:flex-start;margin-top:auto;padding:.7rem 1rem}
.case-explorer .case-card .company-comment{margin:1.25rem 0 0;padding-top:1rem;border-top:1px solid var(--card-border);font-size:.78rem;line-height:1.6}
.case-explorer .case-card .comment-label{font-size:.73rem}
.case-explorer .case-card.is-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.7fr);padding:0;gap:0;background:var(--ink);color:var(--white);border:0}
.case-explorer .is-featured .case-label{background:#e9eee2;color:var(--ink);border:0;margin:0;padding:2rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:1.25rem}
.case-explorer .is-featured .case-label .eyebrow{color:var(--ink);order:0;border-bottom:1px solid #98a99e;padding-bottom:.6rem;width:100%}
.case-explorer .is-featured .case-label .subject-logos{order:1;margin:.5rem 0 1rem;min-height:70px}
.case-explorer .is-featured .subject-logo{max-width:180px;max-height:60px}
.case-explorer .is-featured .case-label>p:nth-of-type(2){font-size:1rem;order:2}
.case-explorer .is-featured .case-label .case-date{order:3;margin:0;gap:.35rem;color:#40594e}
.case-explorer .is-featured .case-card-body{padding:2rem 2.5rem}
.case-explorer .is-featured h2{font-size:clamp(2rem,3.6vw,3.1rem);max-width:26ch}
.case-explorer .is-featured h2 a:hover{color:white}
.case-explorer .is-featured .case-card-body>p{color:#e1e9e0;font-size:1.08rem}
.case-explorer .is-featured .button{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.case-explorer .is-featured .company-comment{color:#d7e2d9;border-color:#55706c}
.case-empty{padding:2rem;border:1px solid var(--card-border);background:var(--white)}
.case-empty h2{margin-top:0}
@media(max-width:900px){.case-explorer .index-intro{grid-template-columns:1fr;gap:1.25rem}.case-explorer .index-intro .deck{max-width:60ch}.subject-selector{flex-basis:180px}.selector-all{flex-basis:140px}.case-explorer .case-card.is-featured{grid-template-columns:minmax(190px,.65fr) minmax(0,1.35fr)}.case-explorer .is-featured .case-card-body{padding:1.75rem}.case-explorer .case-card{padding:1.5rem}.case-explorer .is-featured .case-label{padding:1.75rem}}
@media(max-width:650px){.case-explorer{padding-top:1.75rem}.case-explorer .index-intro{padding-bottom:1.25rem}.case-explorer .index-intro h1{font-size:3.5rem}.independence-note{font-size:.75rem}.case-browse{padding-top:1rem}.subject-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.subject-selector,.selector-all{min-width:0;min-height:105px;padding:.8rem}.subject-selector[aria-pressed=true]{padding:calc(.8rem - 1px)}.selector-logos{gap:.35rem;flex-direction:column;min-height:40px;max-height:none}.selector-logos .logo-british-airways{max-width:115px;max-height:22px}.selector-logos .logo-heathrow{max-width:74px;max-height:22px}.selector-logos .logo-capital-one{max-width:85px;max-height:25px}.selector-logos .logo-discover{max-width:72px;max-height:18px}.case-toolbar{gap:.75rem;padding-bottom:1.2rem;margin-bottom:1.3rem}.topic-control{width:100%;justify-content:space-between;gap:.5rem}.topic-control label{font-size:.75rem}.topic-control select{min-width:0;max-width:66%;font-size:.8rem}#case-count{margin:0}.reset-filters{margin-left:auto}.case-results{grid-template-columns:1fr;gap:1.3rem}.case-explorer .case-card.is-featured{display:flex}.case-explorer .is-featured .case-label{padding:1.35rem;gap:.7rem;display:grid;grid-template-columns:1fr auto}.case-explorer .is-featured .case-label .eyebrow{grid-column:1/-1}.case-explorer .is-featured .case-label .subject-logos{grid-row:2/4;grid-column:2;margin:0;min-height:40px;max-width:110px}.case-explorer .is-featured .subject-logo{max-width:110px;max-height:40px}.case-explorer .is-featured .case-label>p:nth-of-type(2){grid-column:1;font-size:.85rem}.case-explorer .is-featured .case-label .case-date{grid-column:1;display:block;font-size:.7rem;line-height:1.8}.case-explorer .case-date time{display:inline-block}.case-explorer .is-featured .case-card-body{padding:1.5rem}.case-explorer .is-featured h2{font-size:2.15rem}.case-explorer .case-card h2{font-size:1.95rem}.case-explorer .is-featured .case-card-body>p{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.case-explorer{scroll-behavior:auto}}
@media(max-width:650px){.case-explorer .is-featured .case-date span{margin-right:.35rem}}
@media print{.case-browse{display:none}.case-results{display:block}.case-explorer .case-card{margin-bottom:1rem;break-inside:avoid}.case-explorer .case-card.is-featured{background:white;color:var(--ink)}.case-explorer .is-featured .company-comment,.case-explorer .is-featured .case-card-body>p{color:var(--ink)}}
