.sup-directory,.sup-profile,.sup-review { max-width: 1120px; margin: 0 auto; }
.sup-crumb { display:flex; gap:10px; flex-wrap:wrap; color:var(--muted); font-size:13px; margin:4px 0 24px; }
.sup-heading { display:flex; justify-content:space-between; align-items:center; gap:28px; padding-bottom:28px; border-bottom:1px solid var(--rule); margin-bottom:28px; }
.sup-heading h1,.sup-form-page h1,.sup-review h1 { font-family:var(--serif); font-size:36px; font-weight:normal; line-height:1.15; margin:0 0 14px; }
.sup-lede { max-width:65ch; color:var(--muted); font-size:16px; line-height:1.6; margin:0; }
.sup-button { display:inline-flex; justify-content:center; align-items:center; min-height:42px; padding:9px 17px; border:1px solid var(--link); border-radius:3px; background:var(--link); color:white; font:600 14px var(--sans); text-decoration:none; cursor:pointer; flex-shrink:0; }
.sup-button:hover { background:#254c99; color:white; text-decoration:none; }
.sup-button-secondary { background:white; color:var(--link); }
.sup-button-secondary:hover { background:var(--hl); color:var(--link); }
.sup-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:34px; align-items:start; }
.sup-processes h2 { font:600 14px var(--sans); margin:5px 0 14px; }
.sup-processes nav { display:grid; gap:3px; }
.sup-processes nav a { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:10px 12px; color:var(--ink); border-left:3px solid transparent; }
.sup-processes nav a span:last-child { color:var(--muted); font-size:12px; }
.sup-processes nav a[aria-current] { background:var(--hl); border-left-color:var(--link); font-weight:600; }
.sup-sidebar-note { border-top:1px solid var(--line); margin-top:24px; padding-top:17px; font-size:13px; color:var(--muted); }
.sup-sidebar-note h3 { color:var(--ink); font-size:13px; margin:0; }
.sup-search { display:flex; align-items:end; gap:12px; padding:18px; background:var(--panel); border:1px solid var(--line); }
.sup-search label,.sup-form label { display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:600; }
.sup-search-query { flex:1; min-width:100px; }
.sup-search input,.sup-search select,.sup-form input:not([type=checkbox]),.sup-form textarea { font:14px var(--sans); line-height:1.4; border:1px solid var(--rule); border-radius:2px; padding:10px; width:100%; background:white; color:var(--ink); min-height:42px; }
.sup-search select { max-width:185px; }
.sup-results-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:17px 0 12px; font-size:13px; color:var(--muted); }
.sup-results-heading p { margin:0; }
.sup-results-heading b { color:var(--ink); }
.sup-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; padding:25px 0; border-top:1px solid var(--line); align-items:start; }
.sup-row h2 { font:600 21px var(--sans); margin:0 0 4px; }
.sup-row p { margin:9px 0; max-width:65ch; }
.sup-meta { font-size:13px; color:var(--muted); }
.sup-meta span { margin:0 5px; }
.sup-tags { display:flex; gap:7px; flex-wrap:wrap; margin-top:13px; }
.sup-tag { display:inline-block; background:var(--panel); border:1px solid #dce0e4; padding:3px 8px; border-radius:3px; font-size:12px; color:#354b6f; }
.sup-profile-link { margin-top:5px; font-size:13px; font-weight:600; white-space:nowrap; }
.sup-about { margin-top:35px; padding:25px 0 0; border-top:1px solid var(--rule); }
.sup-about h2,.sup-related h2 { font:normal 25px var(--serif); margin:0 0 12px; }
.sup-about p { max-width:85ch; color:var(--muted); }
.sup-empty { padding:28px 20px; background:var(--panel); border:1px solid var(--line); }
.sup-empty h2 { font-size:18px; margin:0; }
.sup-profile-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:55px; align-items:start; }
.sup-section { margin-bottom:32px; }
.sup-section h2 { font:normal 25px var(--serif); border-bottom:1px solid var(--line); margin:0 0 15px; padding-bottom:8px; }
.sup-section p { max-width:74ch; }
.sup-section .sup-tags { margin-bottom:18px; }
.sup-checklist { padding-left:20px; }
.sup-checklist li { padding:5px 0; }
.sup-contact { background:var(--panel); border:1px solid var(--line); padding:23px; }
.sup-contact h2 { font:600 18px var(--sans); margin:0 0 20px; }
.sup-contact dl,.sup-review-entry dl { margin:0 0 23px; }
.sup-contact dt,.sup-review-entry dt { font-size:12px; color:var(--muted); margin-top:14px; }
.sup-contact dd,.sup-review-entry dd { margin:3px 0 0; overflow-wrap:anywhere; }
.sup-contact .sup-button { width:100%; }
.sup-contact p { font-size:13px; color:var(--muted); margin-bottom:0; }
.sup-source-list { padding-left:19px; overflow-wrap:anywhere; }
.sup-source-list li { padding:4px 0; }
.sup-related { padding-top:25px; border-top:1px solid var(--line); }
.sup-related>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-bottom:20px; }
.sup-related>div a { border-left:3px solid var(--line); padding:8px 14px; }
.sup-related span { display:block; color:var(--muted); font-size:12px; margin-top:5px; }
.sup-form-page { max-width:760px; margin:0 auto; }
.sup-form { display:grid; gap:22px; margin-top:25px; }
.sup-form-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.sup-form textarea { resize:vertical; }
.sup-form label>span { font-size:12px; color:var(--muted); font-weight:normal; }
.sup-form fieldset { border:1px solid var(--line); padding:15px 18px 18px; margin:0; }
.sup-form legend { font-weight:600; padding:0 5px; }
.sup-form fieldset p { margin:0 0 12px; color:var(--muted); font-size:13px; }
.sup-checkboxes { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sup-checkboxes label { flex-direction:row; align-items:center; gap:9px; font-weight:normal; }
.sup-checkboxes input { width:18px; height:18px; margin:0; }
.sup-form .sup-button { justify-self:start; }
.sup-receipt,.sup-signin { padding:23px; margin:25px 0; background:var(--hl); border-left:3px solid var(--link); }
.sup-receipt h2,.sup-signin h2 { font-size:20px; margin-top:0; }
.sup-error { padding:16px; margin:20px 0; background:#fff4f3; border-left:3px solid var(--warn); }
.sup-review-entry { padding:20px 0 28px; border-top:1px solid var(--line); }
.sup-review-entry h2 { font-size:20px; margin:0; }
.sup-submission-description { white-space:pre-wrap; overflow-wrap:anywhere; }
.sup-review-entry .sup-form { max-width:760px; }
.sup-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.sup-directory :focus-visible,.sup-profile :focus-visible,.sup-form-page :focus-visible,.sup-review :focus-visible { outline:3px solid var(--link); outline-offset:3px; }
@media(max-width:850px) { .sup-layout { grid-template-columns:175px minmax(0,1fr); gap:22px; } .sup-search { flex-wrap:wrap; } .sup-search-query { flex-basis:100%; } .sup-search label:not(.sup-search-query) { flex:1; } .sup-search select { max-width:none; } .sup-profile-layout { grid-template-columns:minmax(0,1fr) 250px; gap:28px; } }
@media(max-width:600px) { .sup-heading { align-items:start; flex-direction:column; gap:18px; padding-bottom:22px; margin-bottom:22px; } .sup-heading h1,.sup-form-page h1 { font-size:30px; } .sup-layout,.sup-profile-layout { grid-template-columns:1fr; gap:22px; } .sup-processes nav { grid-template-columns:1fr 1fr; } .sup-processes nav a { padding:9px; font-size:13px; } .sup-sidebar-note { display:none; } .sup-row { grid-template-columns:1fr; gap:10px; padding:22px 0; } .sup-profile-link { margin:0; } .sup-results-heading { align-items:start; } .sup-results-heading>span { text-align:right; } .sup-contact { grid-row:1; } .sup-related>div { grid-template-columns:1fr; gap:12px; } .sup-form-pair,.sup-checkboxes { grid-template-columns:1fr; } }
