*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;background:#f3f7fb;color:#243b55}.top{background:#103b73;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 24px}.brand img{width:175px;max-width:45vw;height:40px;object-fit:contain}.top nav{display:flex;flex-wrap:wrap;gap:18px}.top a{color:#fff;text-decoration:none}.top a:hover{text-decoration:underline}main{max-width:1240px;margin:auto;padding:24px 16px}.hero{background:linear-gradient(125deg,#124a85,#287bb6);color:#fff;padding:42px clamp(18px,5vw,55px);border-radius:14px}.hero h1{font-size:clamp(27px,4vw,42px);margin:4px 0}.hero p{margin:5px 0 24px}.eyebrow{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px}form{display:flex;gap:10px;max-width:900px}input{flex:1;min-width:0;border:1px solid #d3deeb;border-radius:10px;padding:13px 16px;font:inherit}button{border:0;border-radius:10px;padding:12px 18px;font:inherit;font-weight:650;cursor:pointer;background:#24945c;color:#fff}button:hover{filter:brightness(.94)}.results{margin-top:26px}.result-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.card,.profile,.empty{border:1px solid #dae4f0;background:#fff;border-radius:12px;padding:22px;min-width:0}.card h3{margin:12px 0 8px}.card p{color:#61758b;min-height:42px}.card small{display:block;color:#61758b;margin-bottom:16px}.badge{display:inline-block;border-radius:20px;background:#e6f4ec;color:#167348;padding:4px 12px;font-size:12px;font-weight:700}.card button{width:100%}.back{margin-bottom:14px;background:#205a92}.profile h2{font-size:30px}.profile h3{margin-top:25px}.lead{font-size:18px;color:#526b85}.empty{grid-column:1/-1}footer{padding:24px;text-align:center;color:#6e8196}@media(max-width:600px){.top{padding:10px;flex-wrap:wrap}.top nav{gap:12px;font-size:13px}form{flex-direction:column}.hero{padding:24px 16px}main{padding:10px}.cards{grid-template-columns:1fr}}.top nav a{display:inline-flex;align-items:center;padding:9px 18px;border:1px solid #88a7c8;border-radius:9px;font-weight:650;white-space:nowrap}
.top nav a[aria-current="page"]{background:#fff;color:#103b73}
.subnav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px;padding:9px 14px;background:#fff;border:1px solid #dce7f5;border-radius:10px}
.subnav a{color:#244c76;text-decoration:none;font-weight:600;padding:7px 12px}
.subnav a:hover{background:#e8f1fa;border-radius:8px}
@media(max-width:600px){.top nav a{padding:7px 10px;font-size:13px}.subnav{flex-wrap:nowrap;overflow-x:auto;gap:2px;padding:6px}.subnav a{white-space:nowrap;font-size:13px;padding:7px 9px}}
/* Shared public header with the Photobank: exact component geometry. */
body>.fc-photo-top{height:62px;min-height:62px;display:flex;align-items:center;justify-content:flex-start;gap:18px;padding:0 24px;background:#f8fbff;border-bottom:1px solid #dce7f5;position:sticky;top:0;z-index:20}
body>.fc-photo-top .fc-photo-brand{display:flex;align-items:center;flex-shrink:0}
body>.fc-photo-top .fc-photo-login{margin-left:auto;flex-shrink:0}
body>.fc-photo-top .fc-public-main-tabs{display:flex;align-items:center;gap:8px}
body>.fc-photo-top .fc-public-main-tabs a{color:#1d4773;background:#fff;border:1px solid #d0dfed;border-radius:9px;padding:9px 18px;font-size:14px;font-weight:650;text-decoration:none}
body>.fc-photo-top .fc-public-main-tabs a[aria-current="page"]{color:#fff;background:#103b73;border-color:#103b73}
@media(max-width:800px){body>.fc-photo-top{height:58px;min-height:58px;padding:0 13px;gap:9px}body>.fc-photo-top .fc-public-main-tabs a{padding:7px 10px;font-size:13px}}
@media(max-width:420px){body>.fc-photo-top{padding:0 8px}body>.fc-photo-top .fc-public-main-tabs a{padding:7px 8px;font-size:12px}}
.catalog-login-dialog{border:1px solid #d6e3f3;border-radius:12px;max-width:min(420px,94vw);padding:25px;box-shadow:0 20px 80px #173e6544}.catalog-login-dialog::backdrop{background:#142b4a88}.catalog-login-dialog form{display:flex;flex-direction:column;gap:12px}.catalog-login-dialog label{display:flex;flex-direction:column;gap:5px;font-weight:600}.catalog-login-dialog input{width:100%}.catalog-login-dialog a{color:#205a92}
.card[role="link"]{cursor:pointer;transition:box-shadow .15s,border-color .15s}.card[role="link"]:hover,.card[role="link"]:focus-visible{border-color:#6ca6d4;box-shadow:0 5px 20px #123c6c17;outline:none}
/* Compact catalog introduction: company cards are the primary content. */
main{padding-top:10px}
.hero{padding:14px 20px;border-radius:10px}
.hero .eyebrow{font-size:10px;margin:0 0 2px}
.hero h1{font-size:clamp(19px,2.3vw,26px);line-height:1.2;margin:2px 0 3px}
.hero>p:not(.eyebrow){font-size:13px;margin:0 0 10px}
.hero form{max-width:none;gap:8px}
.hero input{padding:9px 12px;min-height:38px}
.hero button{padding:8px 16px;min-height:38px}
.results{margin-top:12px}
.result-heading h2{font-size:19px;margin:5px 0 12px}
@media(max-width:600px){.hero{padding:12px}.hero h1{font-size:20px}.hero>p:not(.eyebrow){margin-bottom:8px}.hero form{flex-direction:row}.hero input{min-width:0}.hero button{white-space:nowrap;padding:8px 10px;font-size:13px}}
.hero-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 10px}
.hero-title-row h1{flex:0 0 auto;margin:0}
.hero-title-row p{flex:1 1 auto;margin:0;text-align:right;font-size:13px}
@media(max-width:600px){.hero-title-row{gap:8px;align-items:center}.hero-title-row h1{font-size:18px}.hero-title-row p{font-size:11px;line-height:1.3}}
/* Right-hand introductory text aligned to the upper-right corner. */
.hero-title-row{align-items:flex-start}
.hero-title-row p{align-self:flex-start;text-align:right;margin:0;line-height:1.25}
/* Compact, fully clickable four-line company cards. */
.cards{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px}
.catalog-company-card{display:flex;flex-direction:column;gap:4px;min-height:0;padding:13px 15px;text-decoration:none;color:#243b55;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.catalog-company-card .company-name{font-size:16px;font-weight:750;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-company-card .company-headline{font-size:13px;color:#536c83;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-company-card .company-location{font-size:12px;color:#718397;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-company-card .company-type{font-size:12px;color:#187a50;font-weight:650;line-height:1.4}
.catalog-company-card:hover,.catalog-company-card:focus-visible{border-color:#72a7d3;box-shadow:0 4px 15px #173e651a;outline:none;background:#faffff}
@media(max-width:600px){.cards{grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}.catalog-company-card{padding:11px 12px}}
.catalog-company-card .company-type{text-align:right;align-self:stretch}
.company-popup{width:min(510px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow:auto;border:1px solid #d4e3f1;border-radius:12px;padding:24px;background:#fff;color:#263f59;box-shadow:0 18px 70px #0d305555}
.company-popup::backdrop{background:#102e4b80}
#popup-content{position:relative}
.company-popup h2{font-size:24px;line-height:1.25;margin:0 40px 12px 0}
.company-popup .popup-description{color:#5b7087;line-height:1.6;white-space:pre-line;margin:0 0 18px}
.company-popup .popup-close{position:absolute;right:-9px;top:-9px;width:34px;height:34px;min-height:0;padding:0;border:0;background:#edf3f9;color:#355674;border-radius:9px;font-size:24px;line-height:1}
.popup-fields{display:grid;gap:12px;margin:0 0 22px}
.popup-fields>div{padding:11px 13px;border:1px solid #e0e9f2;border-radius:9px;background:#f8fbff}
.popup-fields dt{font-size:12px;font-weight:700;color:#71849a;margin-bottom:4px}
.popup-fields dd{margin:0;font-size:15px;overflow-wrap:anywhere}
.popup-open-page{display:block;text-align:center;text-decoration:none;background:#24945c;color:#fff;border-radius:9px;padding:12px 16px;font-weight:700}
.popup-open-page:hover{background:#187d4b}
.popup-fields dd a{color:#126cb1;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.popup-fields dd a:hover{color:#084a83}
/* Inside authenticated FullCator, the shell supplies the sole navigation/header. */
body:has(.catalog-embedded){margin:0}
body.catalog-embedded .fc-photo-top,body.catalog-embedded .subnav,body.catalog-embedded>footer{display:none!important}
body.catalog-embedded main{max-width:none;width:100%;padding:10px!important;margin:0}
body.catalog-embedded .hero{margin-top:0}
/* Authenticated shell embed: remove both public navigation rows completely. */
html.catalog-embedded .fc-photo-top,
html.catalog-embedded .subnav,
html.catalog-embedded body>footer{display:none!important}
html.catalog-embedded body>main{padding-top:10px!important}
/* Mobile embedded catalog: the signed-in header is the only header. */
@media(max-width:800px){
 html.catalog-embedded body>.fc-photo-top,
 html.catalog-embedded body>main>.subnav,
 html.catalog-embedded body>footer{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important}
 html.catalog-embedded body>main{padding:10px!important;margin:0!important;max-width:none!important}
}
