@font-face{font-family:Playfair;src:url("public/assets/PlayfairDisplay-SemiBold.ttf")}
:root{--navy:#0B2545;--cream:#F7F5F0;--red:#C8102E;--ink:#14263b;--muted:#647184;--line:#e6e3dc}
*{box-sizing:border-box}body{margin:0;background:#fbfaf7;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
.dir-header{height:84px;padding:10px 6%;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line)}
.dir-brand img{width:210px}.dir-header nav{display:flex;gap:24px;font-size:12px;font-weight:700;color:var(--navy)}.dir-header a{text-decoration:none}
.dir-main{max-width:1200px;margin:auto;padding:0 28px 55px}.dir-hero{padding:66px 0 35px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--red);margin:0 0 14px}
h1,h2,h3{font-family:Playfair,Georgia,serif;color:var(--navy)}.dir-hero h1{font-size:clamp(38px,5vw,58px);line-height:1.1;margin:0}.dir-hero h1 em{font-style:normal;color:var(--red)}.dir-hero>p:last-child{color:var(--muted);max-width:650px}
.dir-search{display:grid;grid-template-columns:2fr 1fr 1.5fr auto;gap:13px;align-items:end;background:white;border:1px solid var(--line);padding:20px;margin:15px 0 34px}
.dir-search label{display:grid;gap:7px;font-size:11px;font-weight:700;color:var(--navy)}.dir-search input,.dir-search select{width:100%;height:42px;padding:10px 12px;border:1px solid #ccd5df;background:white;font:13px Arial;color:var(--ink)}
.dir-search button{height:42px;padding:0 16px;background:var(--navy);color:white;border:0;font-weight:700;cursor:pointer}
.dir-results-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.dir-results-head h2{font-size:25px;margin:0}.dir-results-head span{font-size:12px;color:var(--muted)}
.dir-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:20px}.dir-card{background:white;border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:12px}.dir-card h3{font-size:22px;margin:0}.dir-meta{font-size:11px;color:var(--muted);letter-spacing:.3px}.dir-description{font-size:13px;color:#46566a;white-space:pre-line}.dir-tags{display:flex;gap:7px;flex-wrap:wrap}.dir-tag{font-size:10px;padding:5px 8px;background:var(--cream);color:var(--navy)}.dir-card a{color:var(--navy);font-size:12px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.dir-card-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:auto;padding-top:8px}.dir-message{grid-column:1/-1;color:var(--muted);font-size:14px;padding:22px;background:white;border:1px solid var(--line)}
.dir-note{font-size:11px;color:var(--muted);margin-top:32px}.dir-footer{background:#071a30;color:#b7c2ce;text-align:center;padding:25px;font-size:11px}
@media(max-width:850px){.dir-search{grid-template-columns:1fr 1fr}.dir-header{height:auto;align-items:flex-start;gap:12px;flex-direction:column}.dir-header nav{flex-wrap:wrap;gap:12px}.dir-grid{grid-template-columns:1fr}}
@media(max-width:520px){.dir-main{padding:0 16px 35px}.dir-search{grid-template-columns:1fr}.dir-hero{padding-top:42px}}

.dir-match{font-size:12px;line-height:1.5;color:#46566a}.dir-match strong{color:var(--navy)}
.dir-search{grid-template-columns:2fr 1fr 1.5fr 1fr 1.2fr auto}
@media(max-width:1100px){.dir-search{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:520px){.dir-search{grid-template-columns:1fr}}


/* Company identity image in public directory */
.dir-company-logo{width:76px;height:76px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid #e3e9f0;margin-bottom:14px}.dir-logo-placeholder{display:flex;align-items:center;justify-content:center;color:#7b8794;font-size:11px;background:#f3f6fa}
