/* VTOA interior: restrained industrial directory, editorial reading layout. 1.5.6 */
.cv155-site {
  --cv155-ink: #1b3447;
  --cv155-subtle: #5b6a75;
  --cv155-line: #dce2e6;
  --cv155-link: #1b5a82;
  color: var(--cv155-ink);
  background: #fff;
  min-width: 0;
}
.cv155-site *, .cv155-site *::before, .cv155-site *::after { box-sizing: border-box; }
.cv155-site .container { max-width: 1260px; margin: 0 auto; padding: 0 42px; }

/* An editorial heading, not a second promotional image banner. */
.cv155-hero {
  padding: 37px 0 39px;
  border-bottom: 1px solid var(--cv155-line);
  background: #fff;
  color: var(--cv155-ink);
  position: relative;
}
.cv155-hero::before { display: none !important; content: none !important; }
.cv155-breadcrumb {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin-bottom: 31px; color: #77838c; font-size: 12px; line-height: 1.4;
}
.cv155-breadcrumb a { color: #607483; }
.cv155-breadcrumb a:hover { color: var(--cv155-link); text-decoration: underline; }
.cv155-breadcrumb span { color: #b4bcc2; }
.cv155-overline, .cv155-section-kicker { display: none; }
.cv155-hero h1 {
  color: #19364e; font-size: clamp(32px, 3.15vw, 45px);
  letter-spacing: -.028em; font-weight: 730; line-height: 1.19;
  max-width: 960px; margin: 0 0 15px;
}
.cv155-hero-intro {
  color: #526370; max-width: 850px; line-height: 1.68;
  font-size: 15px; margin: 0;
}
.cv155-hero-links {
  display: flex; flex-wrap: wrap; gap: 23px; margin-top: 20px;
}
.cv155-hero-links a,
.cv155-hero-links a:first-child {
  color: var(--cv155-link); background: transparent; border: 0;
  padding: 0 0 2px; font-size: 13px; font-weight: 650;
  min-height: 0; display: inline-block; border-bottom: 1px solid #aebfcb;
}
.cv155-hero-links a:hover { color: #0a3858; background: transparent; border-color: currentColor; }

/* Directory headers and search stay simple. */
.cv155-body { padding: 41px 0 75px; }
.cv155-introline {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 30px; border-bottom: 1px solid var(--cv155-line);
  padding: 0 0 17px; margin-bottom: 20px;
}
.cv155-introline h2 { margin: 0; font-size: 22px; letter-spacing: -.012em; font-weight: 680; color: #203c51; }
.cv155-introline > p { color: #75818a; margin: 0; max-width: 535px; font-size: 12px; line-height: 1.6; }
.cv155-index-body .directory-filters {
  background: #fff; box-shadow: none; border: 0;
  border-bottom: 1px solid var(--cv155-line); padding: 1px 0 22px;
  border-radius: 0; margin: 0 0 3px;
}
.cv155-index-body .directory-filters input,
.cv155-index-body .directory-filters select { border-radius: 0; box-shadow: none; border: 1px solid #cad3da; background-color: #fff; }
.cv155-index-body .directory-filters button { border-radius: 0; background: #204b69; font-weight: 650; }
.cv155-index-layout { display: grid; grid-template-columns: minmax(0,1fr) 230px; gap: 56px; align-items: start; }
.cv155-project-list { min-width: 0; }
.cv155-project-entry {
  display: grid; grid-template-columns: 215px minmax(0,1fr); gap: 26px;
  padding: 28px 0 29px; border-bottom: 1px solid var(--cv155-line);
}
.cv155-entry-image {
  align-self: start; aspect-ratio: 1.48; display: block;
  overflow: hidden; background: #e6ebee;
}
.cv155-entry-image img, .cv155-coop-photo img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.cv155-entry-content { min-width: 0; }
.cv155-entry-top { margin: 0 0 5px; }
.cv155-kicker { font-size: 12px; color: #74838c; }
.cv155-open-indicator { display: inline-block; font-size: 12px; color: #3e665a; font-weight: 550; }
.cv155-project-entry h3, .cv155-coop-entry h3 {
  font-size: clamp(19px, 1.75vw, 23px); line-height: 1.33;
  font-weight: 690; margin: 0 0 10px; letter-spacing: -.017em; color: #1b3f59;
}
.cv155-project-entry h3 a:hover, .cv155-coop-entry h3 a:hover { color: var(--cv155-link); text-decoration: underline; text-decoration-thickness: 1px; }
.cv155-entry-summary { font-size: 14px; line-height: 1.64; margin: 0 0 9px; color: #526572; }
.cv155-status-line { color: #687781 !important; margin: 7px 0 !important; font-size: 12.5px !important; line-height: 1.55 !important; }
.cv155-status-line strong { color: #445966; font-weight: 590; }
.cv155-need-summary { margin-top: 13px; padding: 0; border: 0; font-size: 13px; line-height: 1.58; }
.cv155-need-summary span, .cv155-need-label { font-size: 12px; font-weight: 630; letter-spacing: 0; color: #566c79; }
.cv155-need-summary p { margin: 3px 0 0; color: #61717a; }
.cv155-entry-actions { display: flex; flex-wrap: wrap; gap: 23px; margin-top: 14px; align-items: baseline; }
.cv155-view, .cv155-quiet-link {
  display: inline-block; min-height: 0; padding: 0 0 3px;
  font-size: 13px; background: transparent; color: var(--cv155-link) !important;
  border-bottom: 1px solid #afc0cb; font-weight: 660;
}
.cv155-view:hover, .cv155-quiet-link:hover { background: transparent; color: #0a3858 !important; border-color: currentColor; }
.cv155-index-aside {
  background: #fff; border: 0; border-top: 1px solid #aab7c0;
  padding: 22px 0 0; margin-top: 27px;
}
.cv155-index-aside h2 { font-size: 19px; margin: 0 0 15px; color: #233e50; font-weight: 660; }
.cv155-index-aside > p { color: #687781; font-size: 12px; line-height: 1.68; }
.cv155-aside-nav { display: flex; flex-direction: column; border-top: 1px solid var(--cv155-line); margin-top: 17px; }
.cv155-aside-nav a {
  padding: 12px 0; border-bottom: 1px solid var(--cv155-line);
  color: var(--cv155-link); font-size: 12.5px; font-weight: 580;
}
.cv155-aside-nav a:hover { color: #0b3956; text-decoration: underline; }
.cv155-aside-note { margin-top: 19px !important; font-size: 11px !important; color: #78848b !important; line-height: 1.62 !important; }
.cv155-pagination .nav-links { display: flex; gap: 10px; margin-top: 25px; flex-wrap: wrap; }
.cv155-pagination .page-numbers { border-bottom: 1px solid #c8d4db; padding: 4px 7px; }
.cv155-pagination .current { color: #173d57; border-color: #173d57; font-weight: 700; }

/* Project profile: header + reading area + a quiet contact rail. */
.cv155-detail-hero { padding-bottom: 32px; }
.cv155-detail-hero h1 { max-width: 980px; }
.cv155-hero-meta {
  display: flex; flex-wrap: wrap; gap: 0; margin-top: 27px;
  padding-top: 16px; border-top: 1px solid var(--cv155-line);
  max-width: 940px;
}
.cv155-hero-meta > div { max-width: 390px; flex: 1 1 275px; margin: 0 35px 0 0; padding: 0; border: 0; }
.cv155-hero-meta small { display: block; margin-bottom: 5px; color: #7b888f; font-size: 11px; }
.cv155-hero-meta strong { display: block; color: #273f50; font-size: 14px; font-weight: 650; line-height: 1.48; }
.cv155-detail-main { padding: 42px 0 85px; }
.cv155-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 256px; gap: 70px; align-items: start; }
.cv155-detail-article { min-width: 0; }
.cv155-detail-opening { border-bottom: 1px solid var(--cv155-line); padding: 0 0 17px; margin-bottom: 24px; }
.cv155-detail-opening .sector-tags { padding-top: 0; }
.cv155-detail-opening .pill { font-size: 11px; border-radius: 1px; }
.cv155-project-description, .cv155-detail-article .cv-project-story {
  color: #3f5260; font-size: 15px; line-height: 1.8;
  max-width: 830px;
}
.cv155-project-description p { margin-top: 0; }
.cv155-project-description h2, .cv155-project-description h3,
.cv155-detail-article .cv-project-story h2 { color: #233c4f; font-size: 21px; font-weight: 670; margin-bottom: 14px; }
.cv155-prototype-note {
  border: 0; border-left: 2px solid #b0a592;
  background: transparent; margin: 0 0 24px; padding: 0 0 0 13px;
  color: #756f65; font-size: 12px; line-height: 1.62;
}
.cv155-project-image { margin: 30px 0 37px; }
.cv155-project-image img { display: block; width: 100%; max-height: 390px; object-fit: cover; }
.cv155-project-image figcaption { color: #7d888e; background: transparent; padding: 8px 0; font-size: 11px; line-height: 1.5; }
.cv155-detail-article > section, .cv155-detail-article > .cv155-workstreams { margin-top: 34px; }
.cv155-workstreams { scroll-margin-top: 115px; }
.cv155-workstreams .cv-v10-cooperation { background: transparent; border: 0; border-top: 1px solid #9fabb3; padding: 27px 0 0 !important; }
.cv155-workstreams .cv-v10-cooperation h2 { color: #213c51; font-size: 24px; font-weight: 690; }
.cv155-workstreams .cv-v10-coop-list { border-top: 1px solid var(--cv155-line); }
.cv155-workstreams .cv-v10-coop-row { background: #fff; border-bottom: 1px solid var(--cv155-line); }
.cv155-workstreams .cv-v10-coop-summary { border-radius: 0; }
.cv155-workstreams .cv-v10-coop-status { text-align: right; max-width: 160px; }
.cv155-workstreams .cv-v10-pill-cta { color: var(--cv155-link); }
.cv155-related { border-top: 1px solid #aab5bd; padding-top: 25px; }
.cv155-related h2 { font-size: 21px; color: #233c4f; font-weight: 675; }
.cv155-related p { color: #69767f; font-size: 12.5px; }
.cv155-related-links { display: flex; flex-direction: column; align-items: start; gap: 10px; }
.cv155-related-links a { border: 0; padding: 0 0 3px; font-size: 13px; font-weight: 620; color: var(--cv155-link); border-bottom: 1px solid #c0d0d9; }
.cv155-related-links a:hover { background: transparent; text-decoration: underline; }
.cv155-detail-aside { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.cv155-action-panel {
  padding: 22px 0 18px; border: 0;
  border-top: 1px solid #9daeb9; background: transparent;
}
.cv155-action-panel h2 { margin: 0 0 14px; font-size: 20px; line-height: 1.3; font-weight: 670; color: #263f50; }
.cv155-action-panel p { font-size: 12.5px; color: #60727c; line-height: 1.65; }
.cv155-primary-action {
  display: inline-block; margin-top: 6px;
  padding: 10px 16px; color: #fff !important; background: #1d4f70;
  border: 1px solid #1d4f70; font-weight: 650; font-size: 12.5px;
}
.cv155-primary-action:hover { background: #133b57; }
.cv155-action-note { font-size: 11px !important; margin-top: 17px !important; color: #849098 !important; }
.cv155-aside-mini { display: flex; flex-direction: column; gap: 0; }
.cv155-aside-mini a { color: var(--cv155-link); font-size: 12px; padding: 12px 0; border-bottom: 1px solid var(--cv155-line); font-weight: 575; }
.cv155-aside-mini a:hover { text-decoration: underline; }

/* Cooperation listing looks like an industrial opportunities register. */
.cv155-coop-list { max-width: 1050px; }
.cv155-coop-entry { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 26px; padding: 28px 0; border-bottom: 1px solid var(--cv155-line); }
.cv155-coop-photo { display: block; aspect-ratio: 1.55; overflow: hidden; background: #e5eaed; }
.cv155-coop-entry h3 { margin-top: 7px; }
.cv155-need-list { margin: 8px 0 0; padding-left: 18px; color: #526b7a; font-size: 13px; line-height: 1.7; }
.cv155-need-list li { margin: 2px 0; }
.cv155-coop-form-area { padding-top: 52px; max-width: 920px; scroll-margin-top: 115px; }
.cv155-form-lead { border-top: 1px solid #9eacb5; padding-top: 27px; margin-bottom: 23px; }
.cv155-form-lead h2 { font-size: 24px; font-weight: 680; margin: 0 0 13px; color: #243e53; }
.cv155-form-lead p { font-size: 13px; color: #627582; line-height: 1.65; margin: 0; }
.cv155-coop-form-area .cv12-form-wrap,
.cv155-coop-form-area .cv12-form { max-width: 100%; }
.cv155-empty { padding: 20px 0; border: 0; border-bottom: 1px solid var(--cv155-line); background: transparent; color: #697c88; font-size: 14px; }

@media (max-width: 1100px) {
  .cv155-index-layout { grid-template-columns: minmax(0,1fr) 206px; gap: 31px; }
  .cv155-detail-layout { grid-template-columns: minmax(0,1fr) 220px; gap: 35px; }
  .cv155-project-entry { grid-template-columns: 185px minmax(0,1fr); gap: 21px; }
}
@media (max-width: 860px) {
  .cv155-site .container { padding-left: 27px; padding-right: 27px; }
  .cv155-index-layout, .cv155-detail-layout { grid-template-columns: minmax(0,1fr); gap: 25px; }
  .cv155-index-aside { margin-top: 22px; }
  .cv155-detail-aside { border-top: 1px solid var(--cv155-line); padding-top: 5px; }
  .cv155-introline { display: block; }
  .cv155-introline > p { margin-top: 8px; }
}
@media (max-width: 600px) {
  .cv155-site .container { padding-left: 18px; padding-right: 18px; }
  .cv155-hero { padding: 24px 0 30px; }
  .cv155-breadcrumb { margin-bottom: 23px; }
  .cv155-hero h1 { font-size: 31px; }
  .cv155-hero-intro { font-size: 14px; }
  .cv155-hero-links { gap: 15px; }
  .cv155-body, .cv155-detail-main { padding-top: 27px; padding-bottom: 55px; }
  .cv155-project-entry, .cv155-coop-entry { grid-template-columns: minmax(0,1fr); gap: 14px; padding: 24px 0; }
  .cv155-entry-image, .cv155-coop-photo { aspect-ratio: 1.9; max-height: 240px; }
  .cv155-entry-actions { gap: 14px; }
  .cv155-hero-meta { gap: 16px; }
  .cv155-hero-meta > div { flex-basis: 100%; }
  .cv155-workstreams .cv-v10-coop-status { max-width: none; text-align: left; }
  .cv155-workstreams .cv-v10-coop-row { padding-left: 8px; padding-right: 8px; }
  .cv155-coop-form-area { padding-top: 36px; }
}
