.portfolio-page{color:#172440;min-width:0}.portfolio-shell{width:min(1600px,calc(100% - 64px));margin-inline:auto}.portfolio-hero{padding:56px 0;background:#f1f3f8;border-bottom:1px solid #dfe5ef}.portfolio-hero h1{font-size:clamp(2.5rem,5vw,4rem);margin:6px 0 12px;line-height:1.05}.portfolio-hero p{max-width:700px}.portfolio-hero a{color:#332873}.portfolio-eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.15em;color:#b95d00}.portfolio-register{padding-block:48px}.portfolio-section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.portfolio-section-heading h2,.portfolio-catalogue h2{font-size:clamp(1.7rem,2.5vw,2.4rem);line-height:1.2;margin:8px 0}.portfolio-count{white-space:nowrap;background:#eef0f8;color:#342c71;border-radius:30px;padding:10px 16px;font-weight:700}.portfolio-source{font-size:.87rem;color:#596780;line-height:1.6}.portfolio-filters{display:flex;gap:18px;align-items:flex-end;padding:22px;background:#f7f8fb;border:1px solid #e1e5ee;border-radius:12px;margin-top:24px}.portfolio-filters label:first-child{flex:1}.portfolio-filters label,.catalogue-search{display:flex;flex-direction:column;gap:8px;font-size:.86rem;font-weight:700}.portfolio-filters input,.portfolio-filters select,.catalogue-search input{font:inherit;color:#172440;border:1px solid #b8c4d8;background:white;border-radius:6px;padding:12px;min-height:46px;min-width:0}.portfolio-filters select{min-width:150px}.portfolio-filters button,.catalog-strip button{border:1px solid #c3cce0;background:white;color:#332873;border-radius:6px;padding:12px 16px;cursor:pointer;font:inherit}.portfolio-filters button:hover{background:#e9eaf5}#portfolio-result,#catalogue-result{font-size:.84rem;color:#58657c}.portfolio-table-wrap{max-width:100%;overflow:visible;border:1px solid #a6b5d5;border-radius:8px;scrollbar-color:#9caacf #edf0f7}.portfolio-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:1320px;font-size:.82rem;line-height:1.5}.portfolio-table thead th{position:sticky;top:0;z-index:2;background:#2d306c;color:white;font-size:.76rem;text-align:left;padding:17px 12px;vertical-align:middle;box-shadow:0 1px 0 #fff}.portfolio-table thead th:first-child{background:#2e5896}.portfolio-table td,.portfolio-table tbody th[scope=row]{padding:15px 12px;vertical-align:top;border-bottom:1px solid #95b0d6;text-align:left;font-weight:400;overflow-wrap:anywhere;background:white}.portfolio-table tbody tr[data-portfolio-record]:nth-child(odd) td,.portfolio-table tbody tr[data-portfolio-record]:nth-child(odd) th{background:#f8faff}.portfolio-table tbody tr[data-portfolio-record]:hover td,.portfolio-table tbody tr[data-portfolio-record]:hover th{background:#fff5e6}.portfolio-table a{color:#213e76;text-decoration:none;font-weight:600}.portfolio-table a:hover{text-decoration:underline}.portfolio-year-row th{padding:8px;background:#ee7c10;color:white;font-size:1rem;text-align:center;border-top:4px solid white}.portfolio-col-no{width:5%}.portfolio-col-title{width:21%}.portfolio-col-scope{width:14%}.portfolio-col-client{width:16%}.portfolio-col-contract{width:15%}.portfolio-col-date{width:8%}.portfolio-col-funding{width:6%}.portfolio-col-associate{width:6%}.portfolio-col-value{width:9%}.portfolio-catalogue{padding-block:30px 70px;scroll-margin-top:120px}.portfolio-catalogue>p{max-width:920px;line-height:1.7}.catalogue-group-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-block:28px}.catalogue-group-links a{border:1px solid #d7def0;border-radius:12px;padding:24px;text-decoration:none;color:#2f2866;background:#f6f7fc;display:flex;flex-direction:column;gap:7px}.catalogue-group-links strong{font-size:2.3rem;line-height:1}.catalogue-group-links small{color:#64718a}.catalogue-search{max-width:650px}.catalogue-group{scroll-margin-top:120px;margin-top:36px}.catalogue-group h3{border-bottom:2px solid #ed7b13;padding-bottom:12px}.catalogue-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.catalogue-card{border:1px solid #e0e5ef;border-radius:10px;padding:20px;text-align:center;min-width:0;background:white}.catalogue-card__image{height:86px;display:flex;justify-content:center;align-items:center;margin-bottom:16px}.catalogue-card img{width:140px;height:76px;object-fit:contain}.catalogue-card__image span{font-size:.75rem;color:#6b7790;padding:14px;background:#f4f5f9;border-radius:5px}.catalogue-card h4{font-size:.82rem;line-height:1.5;margin:0;overflow-wrap:anywhere}.catalogue-card p{font-size:.76rem;color:#60708a;margin:12px 0 0}.catalog-strip .client-strip__track{animation-duration:var(--logo-duration,90s)}.catalog-strip .client-strip__track img{filter:none;opacity:1}.catalog-strip__heading{display:flex;gap:18px;align-items:center;justify-content:center;margin-bottom:12px;flex-wrap:wrap}.catalog-strip__heading .client-strip__label{margin:0}.catalog-strip__heading a,.catalog-strip__heading button{font-size:.78rem}.portfolio-page [hidden]{display:none!important}
@media(min-width:1025px) and (max-width:1550px){.site-nav__link{padding-inline:10px;font-size:.8rem}.site-header__inner{gap:16px}.site-nav__list{gap:2px}}
@media(max-width:1000px){.catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-shell{width:calc(100% - 40px)}.catalogue-group-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.portfolio-shell{width:calc(100% - 32px)}.portfolio-hero{padding:34px 0}.portfolio-register{padding-block:30px}.portfolio-section-heading{align-items:flex-start;flex-direction:column;gap:8px}.portfolio-filters{padding:16px;flex-wrap:wrap;gap:12px}.portfolio-filters label:first-child{flex-basis:100%}.portfolio-filters label:nth-child(2){flex:1}.portfolio-filters select{min-width:100px}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalogue-card{padding:14px 10px}.catalogue-card img{max-width:100%}.catalogue-group-links a{padding:18px}.portfolio-table-wrap{max-height:none}}
@media(prefers-reduced-motion:reduce){.catalog-strip .client-strip__track{animation:none}.catalog-strip .client-strip__viewport{overflow-x:auto}}
@media print{.portfolio-filters,.catalog-strip,.portfolio-catalogue,.site-header,.site-footer{display:none}.portfolio-table-wrap{overflow:visible;max-height:none}.portfolio-table{min-width:0;font-size:7pt}.portfolio-table thead th{position:static}.portfolio-shell{width:100%}.portfolio-year-row{break-after:avoid}.portfolio-table tr{break-inside:avoid}}



/* Give the searchable register enough room to browse several projects at once. */
.portfolio-register {
  display: flex;
  flex-direction: column;
  width: min(1280px, calc(100% - 64px));
  box-sizing: border-box;
  padding-block: 18px 28px;
}
.portfolio-register .portfolio-filters { flex: 0 0 auto; margin-top: 0; }
.portfolio-register .portfolio-table-wrap { flex: none; height: max-content; min-height: 0; max-height: none; overflow: visible; scroll-margin-top: calc(var(--site-top-offset, 0px) + var(--nav-height) + 16px); }
.portfolio-register .portfolio-table-wrap:focus-visible { outline: 2px solid #332873; outline-offset: 3px; }
@media (max-width: 1000px) {
  .portfolio-register { width: calc(100% - 64px); }
}
@media (max-width: 600px) {
  .portfolio-register { width: calc(100% - 32px); padding-block: 16px 24px; }
  .portfolio-register .portfolio-filters { flex-direction: column; align-items: stretch; }
  .portfolio-register .portfolio-filters label:first-child { flex-basis: auto; }
  .portfolio-register .portfolio-filters input,
  .portfolio-register .portfolio-filters select { width: 100%; box-sizing: border-box; }
}
@media print {
  .portfolio-register { display: block; width: 100%; height: auto; min-height: 0; padding: 0; }
  .portfolio-register .portfolio-table-wrap { height: auto; }
}

/* Compact rounded controls keep the portfolio data in focus. */
.portfolio-register .portfolio-filters {
  gap: 10px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.portfolio-register .portfolio-filters label,
.portfolio-register .portfolio-filters label:first-child { gap: 0; }
.portfolio-register .portfolio-filters input,
.portfolio-register .portfolio-filters select {
  min-height: 42px;
  padding: 8px 16px;
  border-color: #cbd5e7;
  border-radius: 999px;
  background-color: #fff;
}
.portfolio-register .portfolio-filters :is(input, select):focus-visible {
  border-color: #ef7d00;
  outline: 3px solid rgba(239, 125, 0, .18);
  outline-offset: 0;
}
.portfolio-register .portfolio-filters button {
  min-height: 42px;
  padding: 8px 17px;
  border-radius: 999px;
  background: #fff;
  font-weight: 700;
}
.portfolio-register .portfolio-filters button:hover { border-color: #2d176f; background: #f0ebfa; }
.portfolio-list-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 10px 0; }
.portfolio-list-controls__right { display: flex; align-items: center; justify-content: flex-end; gap: 16px; min-width: 0; }
.portfolio-list-controls label { display: inline-flex; align-items: center; gap: 8px; color: #52617a; font-size: .82rem; font-weight: 600; white-space: nowrap; }
.portfolio-list-controls select { min-height: 34px; padding: 5px 28px 5px 11px; border: 1px solid #cbd5e7; border-radius: 999px; background: #fff; color: #172440; font: inherit; }
.portfolio-list-controls select:focus-visible { border-color: #ef7d00; outline: 3px solid rgba(239,125,0,.18); }
.portfolio-page .portfolio-register :is(#portfolio-search, #portfolio-year-from, #portfolio-year-to, #portfolio-page-size, #portfolio-reset) {
  background-color: #f0f2f5;
  border-color: #c6cdd7;
  color: #172440;
}
.portfolio-page #portfolio-search::placeholder { color: #657084; opacity: 1; }
.portfolio-page .portfolio-register :is(#portfolio-search, #portfolio-year-from, #portfolio-year-to, #portfolio-page-size):focus-visible {
  background-color: #fff;
  border-color: #ef7d00;
  outline: 3px solid rgba(239,125,0,.18);
}
.portfolio-page .portfolio-register #portfolio-reset:hover { background-color: #e4e7ec; border-color: #aab4c3; }
.portfolio-register .portfolio-year-separator { align-self: center; color: #52617a; font-weight: 700; }
@media (max-width: 900px) and (min-width: 601px) {
  .portfolio-register .portfolio-filters { flex-wrap: wrap; }
  .portfolio-register .portfolio-filters label:first-child { flex-basis: 100%; }
}
.portfolio-register #portfolio-result { margin: 0; color: #52617a; font-size: .82rem; font-weight: 600; text-align: right; }
.portfolio-register .portfolio-table-wrap {
  border-color: #d4ddec;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(20, 33, 61, .07);
}
.portfolio-register .portfolio-table { width: 100%; min-width: 0; table-layout: fixed; font-size: .8rem; line-height: 1.5; }
.portfolio-register .portfolio-table thead th { padding: 16px 8px; background: #2d176f; font-size: .73rem; overflow-wrap: anywhere; }
.portfolio-register .portfolio-table thead th:first-child { background: #39247e; }
.portfolio-register .portfolio-year-row th { font-size: .9rem; }
.portfolio-register .portfolio-table td,
.portfolio-register .portfolio-table tbody th[scope=row] { padding: 16px 8px; }
.portfolio-pagination { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 16px; color: #52617a; font-size: .85rem; }
.portfolio-pagination--top { padding-top: 0; }
.portfolio-pagination--top .portfolio-pagination__summary { display: none; }
.portfolio-pagination--top .portfolio-pagination__buttons { flex-wrap: nowrap; }
.portfolio-pagination--top .portfolio-pagination__buttons button { min-width: 34px; min-height: 34px; padding: 5px 9px; font-size: .78rem; }
.portfolio-pagination__buttons { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.portfolio-pagination__buttons button { min-width: 38px; min-height: 38px; padding: 7px 12px; border: 1px solid #cbd5e7; border-radius: 999px; background: #fff; color: #2d176f; cursor: pointer; font: inherit; font-weight: 700; }
.portfolio-pagination__buttons button:hover:not(:disabled),
.portfolio-pagination__buttons button:focus-visible { border-color: #2d176f; background: #f0ebfa; }
.portfolio-pagination__buttons button[aria-current="page"] { border-color: #2d176f; background: #2d176f; color: #fff; }
.portfolio-pagination__buttons button:disabled { cursor: default; opacity: .45; }
.portfolio-pagination__buttons span { padding: 0 3px; }
@media (max-width: 800px) {
  .portfolio-pagination--top { display: none !important; }
}
@media (max-width: 600px) {
  .portfolio-register .portfolio-filters { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 8px; }
  .portfolio-register .portfolio-filters label:first-child { grid-column: 1 / -1; }
  .portfolio-register .portfolio-filters label:nth-child(2) { grid-column: 1; min-width: 0; }
  .portfolio-register .portfolio-filters label:nth-child(4) { grid-column: 3; min-width: 0; }
  .portfolio-register .portfolio-year-separator { grid-column: 2; }
  .portfolio-register .portfolio-filters button { grid-column: 1 / -1; width: 100%; }
  .portfolio-list-controls, .portfolio-pagination { flex-wrap: wrap; }
  .portfolio-register #portfolio-result { text-align: left; }
  .portfolio-pagination__buttons { justify-content: flex-start; }
}
.catalog-strip__heading .client-strip__label a{color:inherit;font:inherit;text-decoration:none}.catalog-strip__heading .client-strip__label a:hover{color:#b95d00;text-decoration:underline;text-underline-offset:4px}.catalog-strip__heading .client-strip__label a:focus-visible{outline:2px solid #ed7b13;outline-offset:5px;border-radius:4px}
.catalog-strip.is-swipe-ready .client-strip__viewport{overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior-x:contain;scrollbar-width:none}.catalog-strip.is-swipe-ready .client-strip__viewport::-webkit-scrollbar{display:none}.catalog-strip.is-swipe-ready .client-strip__track{animation:none!important;transform:none!important}
.catalog-strip__carousel{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;padding-inline:12px}
.catalog-strip.has-logo-controls .catalog-strip__carousel{grid-template-columns:44px minmax(0,1fr) 44px}
.catalog-strip__carousel .client-strip__viewport{min-width:0}
.catalog-strip .catalog-strip__arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #e6e9f1;border-radius:50%;background:#fff;color:#243252;box-shadow:0 3px 10px rgba(20,33,61,.14);transition:background .2s,color .2s,box-shadow .2s}
.catalog-strip .catalog-strip__arrow[hidden]{display:none}
.catalog-strip .catalog-strip__arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.catalog-strip .catalog-strip__arrow:hover{background:#f0edf8;color:#321b71;box-shadow:0 4px 12px rgba(20,33,61,.2)}
.catalog-strip .catalog-strip__arrow:focus-visible{outline:3px solid #ef7d00;outline-offset:3px}
@media(max-width:600px){.catalog-strip__carousel{padding-inline:8px;gap:4px}}

/* Give funding names room to wrap between words without widening the table. */
.portfolio-col-no{width:4%}
.portfolio-col-title{width:22%}
.portfolio-col-scope{width:12%}
.portfolio-col-client{width:15%}
.portfolio-col-contract{width:13%}
.portfolio-col-date{width:8%}
.portfolio-col-funding{width:9%}
.portfolio-col-associate{width:7%}
.portfolio-col-value{width:10%}
.portfolio-table tbody td:nth-child(7){padding-inline:8px;overflow-wrap:normal;word-break:normal}

/* Keep every field readable on small screens without a horizontal scroller. */
.portfolio-register .portfolio-filters label { min-width: 0; }
.portfolio-register .portfolio-table tbody td,
.portfolio-register .portfolio-table tbody th[scope=row] { overflow-wrap: anywhere; white-space: normal; }
@media screen and (max-width: 1000px) {
  .portfolio-register .portfolio-table,
  .portfolio-register .portfolio-table tbody { display: block; width: 100%; }
  .portfolio-register .portfolio-table colgroup { display: none; }
  .portfolio-register .portfolio-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .portfolio-register .portfolio-table tr[data-portfolio-record] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 2px solid #d4ddec; }
  .portfolio-register .portfolio-table tr[data-portfolio-record] > :nth-child(-n+2),
  .portfolio-register .portfolio-table tr[data-portfolio-record] > :last-child { grid-column: 1 / -1; }
  .portfolio-register .portfolio-table tr[data-portfolio-record] > :is(td, th) { display: block; min-width: 0; padding: 10px 12px; }
  .portfolio-register .portfolio-table [data-label]::before { display: block; margin-bottom: 4px; color: #68738a; font-size: .7rem; font-weight: 700; content: attr(data-label); }
  .portfolio-register .portfolio-year-row,
  .portfolio-register .portfolio-year-row th { display: block; width: 100%; box-sizing: border-box; }
}
@media (max-width: 700px) { .portfolio-register { width: calc(100% - 32px); } }
@media screen and (max-width: 600px) {
  .portfolio-register .portfolio-table tr[data-portfolio-record] { grid-template-columns: minmax(0, 1fr); }
}

/* Shared MADEP arch-pattern banner for the relationships page. */
.portfolio-hero {
 position:relative; isolation:isolate; display:grid; min-height:120px; align-items:center; overflow:hidden; padding:10px 0;
 border:0; background-color:#2d176f;
 background-image: none;
 color:#fff; text-align:center;
}
.portfolio-hero > .portfolio-shell { position:relative; z-index:1; width:min(100% - 40px, 980px); margin-inline:auto; }
.portfolio-hero h1 { margin:0; color:#fff; font-family:inherit; font-size:clamp(1.75rem,2.8vw,2.45rem); font-weight:700; letter-spacing:-.035em; line-height:1.12; }
.portfolio-hero p { max-width:760px; margin:4px auto 0; color:rgba(255,255,255,.94); font-size:.9rem; line-height:1.5; }
.portfolio-hero .portfolio-eyebrow { margin:0 0 4px; color:#ff9a28; font-size:.7rem; }
.portfolio-hero a { color:#fff; }
@media(max-width:700px) {
 .portfolio-shell { width:calc(100% - 32px); }
 .portfolio-hero { min-height:110px; padding:10px 0; }
 .portfolio-hero h1 { font-size:clamp(1.65rem,7vw,2rem); }
 .portfolio-hero p { font-size:.84rem; }
}

.catalogue-card p a{color:#342c71;font-weight:700;text-decoration:underline;text-underline-offset:3px}.catalogue-card p a:hover,.catalogue-card p a:focus-visible{color:#b95d00}

/* Show the Indonesian name below the English catalogue title on hover and focus. */
.profile-catalogue .catalogue-card{position:relative}
.profile-catalogue .catalogue-group[hidden],
.profile-catalogue .catalogue-card[hidden]{display:none!important}
.profile-catalogue .catalogue-card[tabindex="0"]{cursor:pointer}
.profile-catalogue .catalogue-card__details{position:relative}
.profile-catalogue .catalogue-card:hover,.profile-catalogue .catalogue-card:focus-within{z-index:3}
.profile-catalogue .catalogue-card:focus-visible{outline:3px solid #ed7b13;outline-offset:3px}
.profile-catalogue .catalogue-card__translation{position:absolute;top:calc(100% + 8px);left:0;right:0;box-sizing:border-box;padding:10px 14px;border-radius:10px;background:#2d176f;color:#fff;font-size:.82rem;font-weight:600;line-height:1.45;text-align:center;box-shadow:0 8px 20px rgba(19,24,52,.22);opacity:0;visibility:hidden;transform:translateY(-5px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.profile-catalogue .catalogue-card:hover .catalogue-card__translation,.profile-catalogue .catalogue-card:focus-within .catalogue-card__translation{opacity:1;visibility:visible;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.profile-catalogue .catalogue-card__translation{transition:none}}

/* Portfolio client links show English names and reveal Indonesian names on hover and focus. */
.portfolio-table tbody td:nth-child(4){position:relative}
.portfolio-table tbody td:nth-child(4):hover,.portfolio-table tbody td:nth-child(4):focus-within{z-index:4}
.portfolio-client-name{position:relative;display:inline-block}
.portfolio-client-name__translation{position:absolute;z-index:5;top:calc(100% + 6px);left:0;box-sizing:border-box;width:max-content;min-width:100%;max-width:min(300px,70vw);padding:9px 12px;border-radius:8px;background:#2d176f;color:#fff;font-size:.8rem;font-weight:600;line-height:1.4;white-space:normal;overflow-wrap:break-word;box-shadow:0 8px 18px rgba(19,24,52,.22);opacity:0;visibility:hidden;transform:translateY(-5px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.portfolio-client-name:hover .portfolio-client-name__translation,.portfolio-client-name:focus-within .portfolio-client-name__translation{opacity:1;visibility:visible;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.portfolio-client-name__translation{transition:none}}

/* Each moving logo links to its published projects. */
.catalog-strip .catalog-strip__logo{position:relative;display:flex;flex:0 0 190px;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;box-sizing:border-box;height:130px;margin:0 16px;padding:8px 10px;color:#17264d;text-decoration:none;cursor:pointer;text-align:center}
.catalog-strip .catalog-strip__logo img{display:block;width:120px;height:52px;margin:0;object-fit:contain;filter:none;opacity:1}
.catalog-strip .catalog-strip__logo img[src*="pemprov-dki-jakarta.png"]{width:52px;object-fit:cover}
.catalog-strip .catalog-strip__logo--text{height:auto;min-height:58px;justify-content:center;padding:12px 10px;border:1px solid #d9e2ef;border-radius:10px;background:#fff;box-shadow:0 2px 7px rgba(19,24,52,.09)}
.catalog-strip__name,.catalog-strip__original{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;width:100%;line-height:1.25;overflow-wrap:anywhere}
.catalog-strip__name{font-size:.73rem;font-weight:700}
.catalog-strip__original{color:#68758d;font-size:.64rem;font-style:italic;font-weight:400}
.catalog-strip .catalog-strip__logo--text:hover,.catalog-strip .catalog-strip__logo--text:focus-visible{border-color:#ed7b13;background:#fff8ef}
.catalog-strip .catalog-strip__logo:hover img,.catalog-strip .catalog-strip__logo:focus-visible img{position:relative;z-index:2;transform:translateX(var(--logo-hover-shift,0px)) scale(1.35)}
.catalog-strip .catalog-strip__logo.is-click-bouncing{z-index:3;animation:catalog-logo-bounce .42s ease-out both}
@keyframes catalog-logo-bounce{0%{transform:scale(1)}22%{transform:scale(.82)}52%{transform:scale(1.18)}76%{transform:scale(.95)}100%{transform:scale(1)}}
.catalog-strip .catalog-strip__logo:focus-visible{outline:2px solid #ed7b13;outline-offset:4px;border-radius:5px}
.catalog-strip__detail:not([hidden]){position:fixed;z-index:1000;box-sizing:border-box;width:max-content;max-width:min(320px,calc(100vw - 24px));padding:11px 14px;border:1px solid #d8d3e9;border-radius:10px;background:#fff;color:#18264a;box-shadow:0 10px 28px rgba(22,19,54,.24);font:inherit;line-height:1.35;pointer-events:none}
.catalog-strip__detail[hidden]{display:none!important}
.catalog-strip__actions { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 12px 20px 8px; }
.catalog-strip__intro { max-width: 760px; margin: 0; color: #65728a; font-size: .76rem; line-height: 1.6; text-align: center; }
.catalog-strip .catalog-strip__cta { display: inline-flex; align-items: center; justify-content: center; gap: 16px; max-width: 100%; box-sizing: border-box; min-height: 50px; padding: 12px 22px; border: 1px solid #2d176f; border-radius: 999px; background: linear-gradient(110deg, #2d176f, #4b2b91); color: #fff; box-shadow: 0 5px 16px rgba(45,23,111,.18); font-size: .88rem; font-weight: 700; line-height: 1.4; text-align: center; text-decoration: none; transition: background .2s ease, border-color .2s ease, box-shadow .2s ease; }
.catalog-strip .catalog-strip__cta svg { flex: 0 0 22px; width: 22px; height: 22px; color: #ffb44f; }
.catalog-strip .catalog-strip__cta:is(:hover, :focus-visible) { border-color: #ef7d00; background: #382077; color: #fff; box-shadow: 0 6px 20px rgba(45,23,111,.24), 0 0 0 3px rgba(239,125,0,.14); }
.catalog-strip .catalog-strip__cta:focus-visible { outline: 2px solid #ef7d00; outline-offset: 4px; }
.catalog-strip__detail strong,.catalog-strip__detail span{display:block;overflow-wrap:anywhere}
.catalog-strip__detail strong{font-size:.79rem}
.catalog-strip__detail .catalog-strip__detail-count{margin-top:7px;color:#a75000;font-size:.73rem;font-weight:700}
@media(max-width:600px){.catalog-strip .catalog-strip__logo{flex-basis:160px;height:130px;margin:0 10px}.catalog-strip .catalog-strip__logo--text{height:auto;min-height:58px}.catalog-strip .catalog-strip__logo img{width:100px}}
@media(prefers-reduced-motion:reduce){.catalog-strip .catalog-strip__logo:hover img,.catalog-strip .catalog-strip__logo:focus-visible img{transform:none}.catalog-strip .catalog-strip__logo.is-click-bouncing{animation:none}}

.catalog-strip__detail { max-height: min(55vh, 400px); overflow-y: auto; }
.catalog-strip__detail:not([hidden]) { pointer-events: auto; }
.catalog-strip__detail-unit { display: flex !important; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; font-weight: 500; }
.catalog-strip__detail-badge { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 5px; border-radius: 999px; background: #e9e7f6; color: #2d176f; font-size: .75rem; }

/* Keep the confidentiality notice understated and project numbers intact. */
.madep-confidential-value { font-family: Arial, Helvetica, sans-serif; font-size: .85em; line-height: 1.45; color: #52617a; }
.madep-confidential-value a { font-weight: 600; }
.portfolio-register .portfolio-table tr[data-portfolio-record] > td:first-child { white-space: nowrap; overflow-wrap: normal; word-break: normal; padding-inline: 8px 4px; font-variant-numeric: tabular-nums; }
