/* Homepage use-case catalog; styles stay scoped to this component. */
.uc-section{background:#f2f6fb;border-block:1px solid #d8e2ef}
.uc-section .kicker{color:#365b84;margin:0 0 14px}
.uc-section h2{max-width:36ch}
.uc-intro{max-width:65ch;margin-bottom:28px}
.uc-controls[hidden],.uc-empty[hidden],.uc-case[hidden],.uc-case-item[hidden]{display:none!important}
.uc-controls{display:grid;gap:18px;margin:26px 0 18px}
.uc-search{display:grid;gap:8px;max-width:38rem;font-size:.9rem;font-weight:650;color:var(--navy)}
.uc-search input{width:100%;min-height:48px;border:1px solid #9eb3cc;border-radius:6px;background:white;color:var(--navy);font:inherit;font-weight:400;padding:12px 14px;box-sizing:border-box}
.uc-search input::placeholder{color:#576e88;opacity:1}
.uc-filters{display:flex;flex-wrap:wrap;gap:8px}
.uc-filters button,.uc-empty button{border:1px solid #a9bbd1;border-radius:5px;background:white;color:var(--navy);font:inherit;font-size:.875rem;line-height:1.4;padding:10px 14px;min-height:44px;cursor:pointer}
.uc-filters button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:white}
.uc-results{font-size:.875rem;color:#45607e;margin:18px 0 14px}
.uc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:12px;align-items:start;list-style:none;padding:0;margin:0}
.uc-case-item{min-width:0;margin:0;padding:0;list-style:none}
.uc-case-item:has(.uc-case[open]){grid-column:1/-1}
.uc-case{min-width:0;border:1px solid #c2d1e3;border-radius:7px;background:white;color:var(--navy);overflow-wrap:anywhere;padding:0;margin:0}
.uc-case summary{position:relative;display:flex;flex-direction:column;gap:9px;padding:19px 38px 20px 18px;min-height:154px;box-sizing:border-box;cursor:pointer;list-style:none;height:100%}
.uc-case summary::-webkit-details-marker{display:none}
.uc-case summary::marker{content:''}
.uc-case summary:hover{background:#f7faff;border-radius:7px}
.uc-case-channel{display:block;color:#42658f;font-size:.6875rem;line-height:1.5;font-weight:650;letter-spacing:.05em;text-transform:uppercase}
.uc-case-title{display:block;font-size:1.0625rem;line-height:1.35;font-weight:700}
.uc-case-summary{display:block;font-size:.8125rem;line-height:1.55;color:#4f6681}
.uc-case-open{position:absolute;top:17px;right:15px;color:var(--blue);font-size:1.375rem;font-weight:400}
.uc-case[open]{grid-column:1/-1}
.uc-case[open] summary{min-height:0;border-bottom:1px solid #d8e2ef}
.uc-case[open] .uc-case-open{transform:rotate(45deg)}
.uc-case-body{padding:26px}
.uc-case-body h3,.uc-modal-content>h3{font-size:1.75rem;line-height:1.2;color:var(--navy);margin:0 0 20px}
.uc-detail-lead{font-size:1rem;line-height:1.65;margin:0 0 26px}
.uc-common-requests{margin:0 0 26px;padding:18px 20px;background:#f2f6fb;border-radius:6px}
.uc-common-requests h4{font-size:.9375rem;line-height:1.45;margin:0 0 10px}
.uc-common-requests ul{padding-left:19px;margin:0;display:grid;gap:6px}
.uc-common-requests li{font-size:.875rem;line-height:1.55;margin:0;color:#213d60}
.uc-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
.uc-detail-columns h4{font-size:.9375rem;line-height:1.45;margin:0 0 12px;color:var(--navy)}
.uc-detail-columns h4:not(:first-child){margin-top:24px}
.uc-detail-columns ul{margin:0;padding-left:19px;display:grid;gap:9px}
.uc-detail-columns li,.uc-detail-columns p{font-size:.875rem;line-height:1.65;margin:0;color:#213d60}
.uc-scope{font-size:.8125rem;line-height:1.65;background:#edf3fb;border-left:3px solid #6c8fb9;padding:14px 16px;margin:26px 0;color:#314e71}
.uc-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}
.uc-detail-actions a{font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}
.uc-detail-actions .button{white-space:normal;max-width:100%;box-sizing:border-box}
.uc-catalog-note{font-size:.875rem;line-height:1.65;color:#45607e;margin:26px 0 0;max-width:80ch}
.uc-catalog-note a{display:inline-block;margin-top:6px}
.uc-empty{padding:26px;border:1px dashed #a9bbd1;border-radius:7px;background:white;margin-bottom:14px}
.uc-empty p{margin:0 0 14px}
.uc-modal{width:min(850px,calc(100% - 36px));max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);padding:0;border:1px solid #9eb3cc;border-radius:10px;box-sizing:border-box;color:var(--navy);background:white;overflow-y:auto;overscroll-behavior:contain}
.uc-modal::backdrop{background:#03152bd9}
.uc-modal-top{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:20px;background:white;padding:17px 28px;border-bottom:1px solid #d8e2ef}
.uc-modal-top>p{font-size:.75rem;line-height:1.5;color:#42658f;letter-spacing:.04em;text-transform:uppercase;font-weight:650;margin:0}
.uc-modal-top form{margin:0;flex-shrink:0}
.uc-modal-top button{min-height:44px;border:1px solid #b3c4d9;border-radius:4px;background:white;color:var(--navy);font:inherit;font-size:.875rem;line-height:1.4;padding:9px 12px;cursor:pointer}
.uc-modal-content{padding:28px}
.uc-modal-content .uc-case-body{padding:0}
.uc-section :is(summary,button,input,a):focus-visible,.uc-modal :is(button,a):focus-visible{outline:3px solid #d77700;outline-offset:4px}
body.uc-dialog-open{overflow:hidden}
@media(max-width:620px){
  .uc-section>.wrap{width:calc(100% - 38px)}
  .uc-section h2{font-size:2rem}
  .uc-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,9.25rem),1fr))}
  .uc-case summary{padding:16px 30px 17px 15px;min-height:124px;gap:10px}
  .uc-case-title{font-size:1rem}
  .uc-case-summary{display:none}
  .uc-case-channel{font-size:.625rem;letter-spacing:.03em}
  .uc-case-open{right:10px;top:13px;font-size:1.25rem}
  .uc-filters button{padding:9px 11px}
  .uc-modal{width:calc(100% - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
  .uc-modal-top{padding:12px 18px;gap:12px}
  .uc-modal-content,.uc-case-body{padding:22px 18px}
  .uc-modal-content .uc-case-body{padding:0}
  .uc-case-body h3,.uc-modal-content>h3{font-size:1.5rem}
  .uc-detail-columns{grid-template-columns:minmax(0,1fr);gap:24px}
  .uc-detail-actions{align-items:flex-start;flex-direction:column;gap:16px}
}
@media print{
  .uc-controls,.uc-modal,.uc-case-open,.uc-empty{display:none!important}
  .uc-section{background:white}
  .uc-grid{display:block}
  .uc-case{break-inside:avoid;margin-bottom:12px}
  .uc-case summary{min-height:0;padding:16px}
  .uc-case-summary{display:block}
}
