/* Goal100 filters: "Find exactly what I need" (find/) and the Portrait of a Graduate finder (portrait/find.html). Uses only site.css variables. Nov 13, 2026. */
.fx-hero{grid-template-columns:minmax(0,1fr);gap:12px;padding:clamp(18px,4vw,40px)}
.fx-hero h1{font-size:clamp(1.65rem,5.6vw,2.6rem);line-height:1.15;margin:0}
.fx-hero .lede{margin:0}
.fx-form{display:flex;flex-direction:column;gap:6px;max-width:760px;min-width:0}
.fx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fx-qrow{display:flex;gap:8px;min-width:0;flex-wrap:wrap}
.fx-qrow input{flex:1 1 220px;min-width:0;min-height:54px;font:600 1.08rem var(--body);padding:10px 16px;border-radius:16px;border:2px solid rgba(255,255,255,.65);background:#fff;color:#16163A;box-sizing:border-box}
.fx-qrow input::placeholder{color:#5D5E80;opacity:1}
.fx-qrow input:focus,.fx-sel:focus{outline:3px solid var(--gold,#F2A93B);outline-offset:2px}
.fx-qgo{min-height:54px;flex:0 0 auto}
.fx-app{display:flex;flex-direction:column;gap:14px;margin-top:16px;min-width:0}
.fx-panel{background:var(--card);border:2px solid var(--line);border-radius:22px;padding:14px 14px 12px;display:flex;flex-direction:column;gap:10px;min-width:0}
.fx-h{font-size:clamp(1.12rem,4vw,1.35rem);margin:0;line-height:1.25}
.fx-h3{font-size:1.02rem;margin:8px 0 2px}
.fx-roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;min-width:0}
.fx-role{display:flex;align-items:center;gap:8px;min-height:52px;padding:8px 12px;border-radius:16px;border:2px solid var(--line);background:var(--bg,#fff);color:var(--ink);font:700 .98rem var(--body);text-align:left;cursor:pointer;min-width:0;overflow-wrap:anywhere}
.fx-role>span:first-child{font-size:1.35rem;flex:0 0 auto}
.fx-role[aria-pressed="true"],.fx-chipb[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink,#fff)}
.fx-role:focus-visible,.fx-chipb:focus-visible,.fx-pill:focus-visible{outline:3px solid var(--gold,#F2A93B);outline-offset:2px}
.fx-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.fx-row label{display:flex;flex-direction:column;gap:3px;font-weight:700;font-size:.92rem;min-width:0}
.fx-sel{min-height:48px;font:600 1rem var(--body);padding:6px 10px;border-radius:14px;border:2px solid var(--line);background:var(--bg,#fff);color:var(--ink);width:100%;min-width:0;box-sizing:border-box}
.fx-chips{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.fx-chipb{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:6px 12px;border-radius:999px;border:2px solid var(--line);background:var(--bg,#fff);color:var(--ink);font:700 .93rem var(--body);cursor:pointer;max-width:100%;text-align:left;overflow-wrap:anywhere}
.fx-more{border-top:1px dashed var(--line);padding-top:4px}
.fx-more>summary{display:flex;align-items:center;min-height:48px;font-weight:700;cursor:pointer;color:var(--brand);gap:4px}
.fx-res{display:flex;flex-direction:column;gap:10px;min-width:0}
.fx-reshead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
.fx-count{margin:0;font-size:1.08rem;color:var(--ink)}
.fx-count:focus{outline:none}
.fx-pills{display:flex;flex-wrap:wrap;gap:8px}
.fx-pills:empty{display:none}
.fx-pill{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 12px;border-radius:999px;border:2px solid var(--brand);background:var(--brand-soft,#E9E8FF);color:var(--brand);font:700 .92rem var(--body);cursor:pointer;max-width:100%;overflow-wrap:anywhere;text-align:left}
.fx-clear,.fx-link{min-height:44px;padding:6px 10px;border:0;background:none;color:var(--brand);font:700 .95rem var(--body);text-decoration:underline;cursor:pointer}
.fx-share{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fx-b2{min-height:48px;padding:8px 14px;font-size:.98rem}
.fx-say{margin:0;font-size:.95rem;min-height:0}
.fx-say:empty{display:none}
.fx-copyin{width:100%;min-height:44px;font-size:16px;margin-top:4px;padding:6px 10px;border-radius:10px;border:2px solid var(--line);box-sizing:border-box}
.fx-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.fx-card{background:var(--card);border:2px solid var(--line);border-radius:20px;padding:14px;display:flex;flex-direction:column;gap:7px;min-width:0;color:var(--ink)}
.fx-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fx-ic{font-size:1.5rem;line-height:1}
.fx-kind{font-weight:800;font-size:.85rem;color:var(--brand);text-transform:uppercase;letter-spacing:.03em}
.fx-chip{display:inline-flex;align-items:center;min-height:24px;padding:1px 8px;border-radius:999px;background:var(--brand-soft,#E9E8FF);color:var(--brand);font-size:.78rem;font-weight:700}
.fx-req{background:#E3F0FF;color:#0B4F8A}
.fx-ext{background:#FFF1DC;color:#6E4300}
.fx-t{margin:0;font-size:1.12rem;line-height:1.3;overflow-wrap:anywhere}
.fx-t a{color:var(--ink);text-decoration:none}
.fx-t a:hover,.fx-t a:focus{text-decoration:underline}
.fx-sub{margin:0;color:var(--ink2);font-size:.9rem;font-weight:700;overflow-wrap:anywhere}
.fx-w{margin:0;font-size:.98rem;line-height:1.4;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fx-why{margin:0;font-size:.88rem;color:var(--ink2);overflow-wrap:anywhere}
.fx-who{margin:0;font-size:.86rem;color:var(--ink2);overflow-wrap:anywhere}
.fx-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}
.fx-go{min-height:48px;padding:8px 18px;font-size:1rem}
.fx-moreb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}
.fx-small{font-size:.92rem;color:var(--ink2);margin:0}
.fx-hint{margin:0;font-size:.92rem;color:var(--ink2)}
.fx-note{background:var(--gold-soft,#FFF4DE);border:2px solid var(--gold,#F2A93B);border-radius:18px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;color:var(--ink)}
.fx-note p{margin:0;flex:1 1 240px}
.fx-empty{background:var(--card);border:2px dashed var(--line);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:10px}
.fx-big{font-size:1.1rem;font-weight:700;margin:0}
.fx-tips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.fx-tips .btn{max-width:100%;white-space:normal;text-align:left;justify-content:flex-start}
.fx-foot{display:flex;flex-direction:column;gap:6px;margin:8px 0 6px}
.fx-attr{display:flex;flex-wrap:wrap;gap:4px}
.fx-dot{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:1px 9px 1px 6px;border-radius:999px;font-size:.78rem;font-weight:800;color:var(--ink);background:var(--brand-soft,#E9E8FF)}
.fx-dot::before{content:"";width:11px;height:11px;border-radius:50%;background:var(--ac);flex:0 0 auto}
.fx-detail{background:var(--card);border:3px solid var(--brand);border-radius:22px;padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.fx-detail h2{margin:0;font-size:clamp(1.2rem,4.6vw,1.6rem);line-height:1.25;overflow-wrap:anywhere}
.fx-detail dl{margin:0;display:flex;flex-direction:column;gap:8px}
.fx-detail dt{font-weight:800;color:var(--brand)}
.fx-detail dd{margin:0 0 0 0;overflow-wrap:anywhere}
.fx-badge{display:inline-flex;align-items:center;min-height:24px;padding:1px 8px;border-radius:999px;font-size:.78rem;font-weight:800;border:2px solid currentColor}
.fx-badge.ad{color:#0E6B4F}.fx-badge.pr{color:#8A5200}.fx-badge.op{color:#5F3DC4}.fx-badge.ge{color:var(--ink2)}
@media (max-width:520px){.fx-row{grid-template-columns:minmax(0,1fr)}.fx-roles{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fx-role{font-size:.92rem;padding:8px 10px}.fx-qgo{flex:1 1 100%}}
@media (prefers-color-scheme:dark){.fx-qrow input{background:#fff;color:#16163A}}
@media print{.fx-panel,.fx-share,.fx-foot,.fx-hero form,.fx-acts .fx-b2{display:none}.fx-card{break-inside:avoid}}
.pf-sw{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--ac);flex:0 0 auto;margin-right:4px;border:2px solid #fff;box-shadow:0 0 0 1px var(--ac)}
.fx-chipb.pf-at[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink,#fff)}
.pf-note{background:var(--brand-soft,#E9E8FF);border-radius:16px;padding:10px 14px;margin:0;font-size:.95rem;color:var(--ink)}
.pf-entry{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 4px}
.fx-jump{align-self:stretch;min-height:52px;margin-top:4px}
@media (max-width:520px){.fx-chips{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.fx-chipb{border-radius:14px;padding:6px 10px;font-size:.9rem;min-height:48px}}
@media (min-width:900px){.fx-jump{display:none}}
@media (min-width:760px){.fx-roles{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fx-detail[hidden]{display:none}
