/* Directory revision 1.5.7. A quiet, factual presentation aligned with project editorial design 1.5.6. */
.cv157-site { color:#253c4d; background:#fff; }
.cv157-site .cv155-hero { background:#fff; padding-bottom:38px; }
.cv157-site .cv155-breadcrumb { margin-bottom:29px; }
.cv157-site .cv155-hero h1 { max-width:960px; }
.cv157-directory .cv155-body { padding-top:38px; }
.cv157-directory .cv155-introline { align-items:start; margin-bottom:24px; }
.cv157-directory .cv155-introline > p { max-width:530px; }
.cv157-directory .directory-filters { margin-bottom:14px; padding-bottom:23px; }
.cv157-list { width:100%; min-width:0; }
.cv157-record {
  display:grid; grid-template-columns:166px minmax(0,1fr); gap:34px;
  border-bottom:1px solid #dce2e6; padding:32px 0 35px;
  align-items:start; min-width:0;
}
.cv157-record:first-child { padding-top:27px; }
.cv157-record-mark {
  min-height:116px; width:166px; display:flex; justify-content:center; align-items:center;
  padding:17px 14px; background:#f7f9fa; border:1px solid #e5ebee; overflow:hidden;
}
.cv157-record-mark img { display:block; max-width:100%; max-height:91px; width:auto; height:auto; object-fit:contain; }
.cv157-textmark { overflow-wrap:anywhere; font-size:16px; font-weight:670; color:#31536a; text-align:center; line-height:1.35; }
.cv157-record-main { min-width:0; max-width:890px; }
.cv157-record-region { font-size:12px; line-height:1.5; font-weight:500; color:#6b7f8b; margin:1px 0 9px; }
.cv157-record h3 { font-size:clamp(21px,2vw,27px); font-weight:690; letter-spacing:-.02em; line-height:1.31; color:#193d56; margin:0 0 10px; }
.cv157-record h3 a { color:inherit; text-decoration:none; }
.cv157-record h3 a:hover { color:#1b5a82; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.cv157-record-summary { margin:0 0 12px; font-size:14px; line-height:1.7; color:#526775; max-width:790px; }
.cv157-record-fact { color:#526775; font-size:13px; line-height:1.7; margin:6px 0; }
.cv157-record-fact strong { color:#36556a; font-weight:650; }
.cv157-record-sector { color:#75848e; font-size:12px; margin:10px 0 0; line-height:1.5; }
.cv157-record-link { display:inline-block; margin:17px 0 0; border-bottom:1px solid #a9bdc9; color:#205676; font-size:12.5px; font-weight:660; padding:0 0 3px; text-decoration:none; }
.cv157-record-link:hover { color:#0c3958; border-color:currentColor; }
.cv157-record-link span { margin-inline-start:3px; }
.cv157-technology-record { grid-template-columns:166px minmax(0,1fr); }
.cv157-technology-record.cv157-record-text-only { grid-template-columns:minmax(0,1fr); }
.cv157-technology-image { display:block; width:166px; height:116px; overflow:hidden; background:#f5f7f8; }
.cv157-technology-image img { width:100%; height:100%; display:block; object-fit:cover; }
.cv157-technology-record h3 { font-size:clamp(21px,1.85vw,25px); }
.cv157-site .cv155-pagination { margin:26px 0 3px; }
/* Profile: no coloured cards, icon grids or duplicated promotional headings. */
.cv157-profile .cv155-hero { padding-bottom:30px; }
.cv157-profile .cv155-hero-meta { margin-top:24px; }
.cv157-profile-mark { display:flex; justify-content:flex-start; align-items:center; max-width:240px; margin:0 0 25px; padding:0; }
.cv157-profile-mark img { max-width:100%; max-height:77px; width:auto; height:auto; object-fit:contain; }
.cv157-profile .cv155-detail-main { padding-top:42px; }
.cv157-profile .cv155-detail-layout { grid-template-columns:minmax(0,1fr) 272px; gap:68px; }
.cv157-profile .cv155-detail-opening { padding-bottom:17px; margin-bottom:27px; }
.cv157-article .sector-tags { margin:0; display:flex; gap:8px; flex-wrap:wrap; }
.cv157-article .sector-tags .pill { background:transparent; color:#526d80; border:1px solid #d5dfe5; padding:5px 10px; border-radius:2px; font-size:11px; }
.cv157-reading { color:#3e5260; font-size:15px; line-height:1.82; }
.cv157-reading p { margin:0 0 17px; }
.cv157-reading h2,.cv157-reading h3 { color:#203d50; font-size:21px; font-weight:680; margin:27px 0 12px; }
.cv157-profile-figure { margin:29px 0 33px; }
.cv157-profile-figure img { display:block; max-width:100%; width:100%; max-height:365px; object-fit:cover; }
.cv157-profile-figure figcaption { color:#7c8891; font-size:11px; line-height:1.55; padding:8px 0; background:none; }
.cv157-verification-note { margin:0 0 22px; padding:0; padding-inline-start:12px; border-inline-start:2px solid #a8b5bf; background:transparent; font-size:12px; line-height:1.65; color:#677985; }
.cv157-section,.cv157-project-relations .cv-detail-section { border-top:1px solid #d4dfe5; margin:34px 0 0; padding:22px 0 0; background:none; box-shadow:none; border-radius:0; }
.cv157-section h2,.cv157-project-relations .cv-detail-section h2 { font-size:21px; font-weight:680; letter-spacing:-.014em; color:#244156; margin:0 0 14px; }
.cv157-section p,.cv157-project-relations .cv-detail-section p { color:#526874; font-size:14px; line-height:1.7; margin:7px 0; }
.cv157-readable-value { color:#526874; font-size:14px; line-height:1.82; }
.cv157-simple-lines { border-top:1px solid #e6ecef; }
.cv157-simple-lines p { border-bottom:1px solid #e6ecef; margin:0; padding:11px 0; color:#4e6675; font-size:14px; line-height:1.6; }
.cv157-small-note { color:#829097!important; font-size:11.5px!important; margin-top:12px!important; }
.cv157-project-relations { margin-top:32px; }
.cv157-project-relations .cv-detail-section:first-child { margin-top:0; }
.cv157-project-relations .cv-detail-section a,
.cv157-source a { color:#205676; text-decoration:none; border-bottom:1px solid #b3c6d0; padding-bottom:2px; }
.cv157-project-relations .cv-detail-section a:hover,.cv157-source a:hover { color:#0a3858; border-color:currentColor; }
.cv157-site .cv155-detail-aside { min-width:0; }
.cv157-sidebar .cv155-action-panel { padding-top:21px; }
.cv157-sidebar .cv155-action-panel h2 { font-size:19px; }
.cv157-sidebar .enquiry-form { display:flex; flex-direction:column; gap:12px; width:100%; }
.cv157-sidebar .enquiry-form .enquiry-grid { display:flex; flex-direction:column; gap:12px; min-width:0; }
.cv157-sidebar .enquiry-form label { color:#4a6070; font-size:12px; line-height:1.5; display:block; }
.cv157-sidebar .enquiry-form input:not([type=checkbox]),
.cv157-sidebar .enquiry-form select,
.cv157-sidebar .enquiry-form textarea {
  display:block; width:100%; min-width:0; margin:6px 0 0; border:1px solid #cfd9df; border-radius:0;
  background:#fff; color:#2b4659; padding:10px 11px; font-size:13px; box-shadow:none;
}
.cv157-sidebar .enquiry-form textarea { min-height:115px; resize:vertical; }
.cv157-sidebar .enquiry-form .privacy-check { display:flex; gap:8px; align-items:flex-start; }
.cv157-sidebar .enquiry-form .privacy-check input { flex:none; margin:2px 0 0; }
.cv157-sidebar .enquiry-form .privacy-check span { line-height:1.55; font-size:11px; color:#627582; }
.cv157-sidebar .enquiry-form button { background:#1e4f70; color:#fff; border:1px solid #1e4f70; border-radius:0; padding:11px 15px; text-align:center; width:100%; font-size:12.5px; font-weight:650; cursor:pointer; }
.cv157-sidebar .enquiry-form button:hover { background:#133a56; }
.cv157-contact-links { display:flex; flex-direction:column; gap:0; border-top:1px solid #dce2e6; }
.cv157-contact-links a { padding:13px 0; border-bottom:1px solid #dce2e6; color:#205676; text-decoration:none; font-size:12.5px; font-weight:620; }
.cv157-contact-links a:hover { color:#0b3956; text-decoration:underline; }
/* Flexible dimensions and logical alignment support future translations, including RTL. */
@media(max-width:1050px){
  .cv157-profile .cv155-detail-layout { grid-template-columns:minmax(0,1fr) 250px; gap:37px; }
  .cv157-record { grid-template-columns:142px minmax(0,1fr); gap:25px; }
  .cv157-record-mark,.cv157-technology-image { width:142px; }
  .cv157-technology-record { grid-template-columns:142px minmax(0,1fr); }
}
@media(max-width:860px){
  .cv157-profile .cv155-detail-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  .cv157-sidebar { max-width:600px; border-top:1px solid #dce2e6; padding-top:8px; }
}
@media(max-width:600px){
  .cv157-site .cv155-hero { padding-bottom:29px; }
  .cv157-directory .cv155-body { padding-top:26px; }
  .cv157-directory .cv155-introline h2 { font-size:20px; }
  .cv157-record,.cv157-technology-record { grid-template-columns:minmax(0,1fr); gap:15px; padding:24px 0; }
  .cv157-record-mark { width:148px; min-height:92px; padding:13px; }
  .cv157-record-mark img { max-height:68px; }
  .cv157-technology-image { width:100%; max-width:380px; aspect-ratio:1.8; height:auto; }
  .cv157-record h3 { font-size:22px; }
  .cv157-record-region { margin-top:0; }
  .cv157-record-link { margin-top:12px; }
  .cv157-profile-mark { max-width:180px; margin-bottom:21px; }
  .cv157-profile-mark img { max-height:65px; }
  .cv157-profile .cv155-detail-main { padding-top:27px; }
  .cv157-section { margin-top:27px; }
  .cv157-profile-figure img { max-height:270px; }
}
