/* Shared presentation for the whole collection. */
.compact-collection,.compact-presentation{--catalog-ink:#242c50;--catalog-muted:#626b82;--catalog-line:#e0e3ed;--catalog-accent:#534273;--catalog-paper:#f7f8fc}
.compact-collection .intro{min-height:0;padding:28px 32px;grid-template-columns:minmax(0,1.5fr) minmax(190px,.6fr);gap:28px;border-bottom:1px solid var(--catalog-line)}
.compact-collection .intro h1{font-size:clamp(30px,3vw,43px);margin:10px 0 12px;max-width:none;letter-spacing:-.035em}
.compact-collection .intro .lead{font-size:16px;line-height:1.6;max-width:54ch;margin:0}
.compact-collection .kicker{font-size:10px;margin:0;letter-spacing:.14em}
.compact-collection .family-visual img{height:148px;width:100%;min-height:0;object-fit:cover;border-radius:16px}
.compact-collection .family-visual figcaption{font-size:11px;padding:0;background:none;margin-top:7px}
.compact-collection .home-actions{display:flex;gap:8px;margin-top:18px}
.compact-collection .home-action{font-size:12px;min-height:44px;padding:9px 12px;border-radius:9px}
.compact-collection .demo-notice{margin:0;padding:10px 32px;border-radius:0;border-width:0 0 1px;font-size:12px;line-height:1.4}
.compact-collection .demo-notice strong{font-size:12px}
.compact-collection .demo-notice p{font-size:11px;margin:3px 0 0}
.compact-collection .home-catalog,.compact-collection .applications{padding:30px 32px 36px}
.compact-collection .section-heading{display:block;margin:0 0 22px}
.compact-collection .section-heading h2,.compact-collection #applications-title{font-family:'DM Sans',system-ui,sans-serif;font-size:26px;letter-spacing:-.025em;margin:6px 0 8px;line-height:1.25}
.compact-collection .section-heading p{font-size:14px;max-width:none;line-height:1.6;margin:0}
.compact-collection .section-heading .eyebrow{font-size:10px;letter-spacing:.15em;color:#7c6a92}
.compact-collection .catalog-grouping-note{font-size:13px;margin-bottom:22px;line-height:1.6}
.compact-collection .home-catalog-grid,.compact-collection .app-grid,.compact-presentation .catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.compact-collection .compact-card,.compact-presentation .offer{display:flex;flex-direction:column;gap:0;padding:18px;background:#fff;border:1px solid var(--catalog-line);border-radius:15px;box-shadow:0 3px 12px #242c5004;min-width:0;position:relative;transition:border-color .15s,box-shadow .15s}
.compact-collection .compact-card:hover,.compact-presentation .offer:hover{border-color:#bbb1ce;box-shadow:0 6px 18px #242c5009}
.compact-collection .compact-card::before,.compact-collection .compact-card::after{content:none}
.compact-collection .catalog-card-heading,.compact-presentation .catalog-card-heading{display:flex;align-items:center;gap:12px;min-height:64px;margin:0 0 13px}
.compact-collection .compact-card .catalog-card-heading>img,.compact-presentation .catalog-card-heading>img{width:62px;height:62px;max-width:62px;min-width:62px;object-fit:contain;flex:0 0 62px;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.compact-collection .compact-card .catalog-card-heading h3,.compact-presentation .catalog-card-heading h3{font-family:'DM Sans',system-ui,sans-serif;font-size:17px;line-height:1.3;letter-spacing:-.015em;font-weight:700;color:var(--catalog-ink);margin:0;overflow-wrap:anywhere}
.compact-collection .compact-card>.home-catalog-copy,.compact-collection .compact-card>.app-card-copy{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;width:100%}
.compact-collection .compact-card .catalog-instruction,.compact-presentation .offer>.catalog-instruction{font-size:14px;color:var(--catalog-muted);line-height:1.55;margin:0 0 12px;min-height:66px;flex:none}
.compact-collection .compact-card .home-catalog-status,.compact-collection .compact-card .app-status,.compact-presentation .catalog-status{display:block;align-self:start;width:auto;min-height:23px;margin:0 0 10px;padding:3px 7px;font-size:10px;line-height:1.7;font-weight:600;color:#63577b;background:#f3f0f7;border:0;border-radius:5px;max-width:100%;overflow-wrap:anywhere}
.compact-collection .compact-card .home-catalog-action,.compact-collection .compact-card>.app-card-copy>.app-open,.compact-presentation .offer>.actions>.button{display:flex;justify-content:center;align-items:center;gap:8px;min-height:44px;width:100%;font-size:13px;font-weight:700;text-decoration:none;padding:10px 12px;line-height:1.4;border:1px solid #dcd6e6;border-radius:8px;background:#f8f6fb;color:var(--catalog-accent);margin:0;box-shadow:none}
.compact-collection .compact-card .home-catalog-action:hover,.compact-collection .compact-card>.app-card-copy>.app-open:hover,.compact-presentation .offer>.actions>.button:hover{background:#534273;color:#fff;border-color:#534273}
.compact-presentation .offer>.actions{margin:0;display:block}
.compact-collection .catalog-unavailable,.compact-presentation .catalog-unavailable{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:13px;border:1px solid #e4e5eb;border-radius:8px;background:#f5f6f9;color:#73798b}
.compact-collection .catalog-details,.compact-presentation .catalog-details{border-top:1px solid #edf0f5;margin:12px 0 0;padding:0;width:100%;font-size:13px}
.compact-collection .catalog-details>summary,.compact-presentation .catalog-details>summary{cursor:pointer;font-size:12px;font-weight:600;line-height:1.5;min-height:36px;padding:10px 0 0;color:#59617b;list-style-position:inside;margin:0}
.compact-collection .catalog-detail-content,.compact-presentation .catalog-detail-content{border-top:1px solid #edf0f5;margin-top:10px;padding-top:6px}
.compact-collection .catalog-detail-content p,.compact-collection .catalog-detail-content small,.compact-presentation .catalog-detail-content p,.compact-presentation .catalog-detail-content li{font-size:13px;line-height:1.65;color:#5c657c;margin:10px 0;min-height:0}
.compact-collection .catalog-detail-content .space-links,.compact-collection .catalog-detail-content .space-modules{width:100%;margin:12px 0 0}
.compact-collection .catalog-detail-content summary,.compact-presentation .catalog-detail-content summary{font-size:13px;line-height:1.5;min-height:40px;padding:10px 0}
.compact-collection .catalog-detail-content .app-module-card{display:block;padding:14px;background:#fafbfe;border-radius:10px}
.compact-collection .catalog-detail-content .app-module-card img{width:50px;height:50px;object-fit:contain;margin-bottom:10px}
.compact-collection .catalog-detail-content .app-module-card h4{font-size:16px}
.compact-collection .catalog-detail-content .app-open,.compact-collection .catalog-detail-content .app-link{font-size:13px;min-height:44px;white-space:normal}
.compact-collection .catalog-detail-content a,.compact-presentation .catalog-detail-content a{overflow-wrap:anywhere}
.compact-collection .collection-brief{margin:0 32px 32px}
.compact-presentation{background:var(--catalog-paper);color:var(--catalog-ink);font-family:'DM Sans',system-ui,sans-serif;font-size:16px}
.compact-presentation .wrap{max-width:1200px;width:calc(100% - 64px)}
.compact-presentation .top{padding:16px 0;min-height:84px;gap:24px;border-color:var(--catalog-line)}
.compact-presentation .brand{display:flex;align-items:center;gap:10px;font-size:17px;letter-spacing:.12em;color:var(--catalog-ink)}
.compact-presentation .brand img{width:62px;height:52px;object-fit:contain}
.compact-presentation .brand small{display:block;font-size:9px;margin-top:4px;letter-spacing:.15em;color:var(--catalog-muted)}
.compact-presentation .top-links{gap:20px;font-size:13px}
.compact-presentation .top-links a{min-height:40px;display:inline-flex;align-items:center}
.compact-presentation .hero{display:block;padding:32px 0 24px;min-height:0;border-bottom:1px solid var(--catalog-line)}
.compact-presentation .hero h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(29px,3.2vw,42px);line-height:1.15;max-width:none;letter-spacing:-.03em;margin:8px 0 14px}
.compact-presentation .hero .lead{font-size:15px;line-height:1.6;max-width:80ch;margin:0;color:var(--catalog-muted)}
.compact-presentation .eyebrow{font-size:10px;letter-spacing:.15em;color:#7c6a92;margin:0 0 7px}
.compact-presentation .section{padding:28px 0}
.compact-presentation .section-intro{margin-bottom:20px;gap:24px}
.compact-presentation .section-intro h2{font-size:24px;line-height:1.25;letter-spacing:-.025em;margin:0}
.compact-presentation .section-intro>p{font-size:13px;max-width:50ch;color:var(--catalog-muted);line-height:1.6}
.compact-presentation .filters{gap:8px;margin:14px 0}
.compact-presentation .filters button{cursor:pointer;font-size:12px;min-height:44px;padding:9px 15px;border-radius:8px}
.compact-presentation .filters button[aria-pressed=true]{background:var(--catalog-accent);border-color:var(--catalog-accent)}
.compact-presentation #result-count{font-size:12px;margin:0 0 16px;color:var(--catalog-muted)}
.compact-presentation .catalog .offer{min-height:0}
.compact-presentation .offer .esign-letter,.compact-presentation .offer .esign-e{font-style:italic}
.compact-presentation .offer .module-list{font-size:13px;padding-left:20px}
.compact-presentation .offer .space-links ul{padding-left:18px}
.compact-presentation .note{font-size:12px;line-height:1.6;border-left-color:#b9aacd;background:#f0ecf5;color:#635578}
.compact-presentation .panel{padding:22px;font-size:14px}
.compact-presentation .panel h3{font-size:19px}
.compact-presentation .panel p{font-size:14px;line-height:1.6}
.compact-presentation .panel.dark{background:#2b3155;border-color:#2b3155}
.compact-presentation .public-footer{font-size:12px;line-height:1.6}
.compact-collection a:focus-visible,.compact-collection summary:focus-visible,.compact-presentation a:focus-visible,.compact-presentation summary:focus-visible,.compact-presentation button:focus-visible{outline:3px solid #a274bb;outline-offset:3px}
@media(min-width:1600px){.compact-collection .home-catalog-grid,.compact-collection .app-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1150px){.compact-collection .home-catalog-grid,.compact-collection .app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-collection .intro{grid-template-columns:minmax(0,1fr) 190px}}
@media(max-width:900px){.compact-presentation .catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-collection .intro{grid-template-columns:minmax(0,1fr) 200px}.compact-presentation .top{flex-wrap:wrap;gap:8px}.compact-presentation .top-links{justify-content:flex-start;gap:6px 18px}.compact-presentation .section-intro{display:block}.compact-presentation .section-intro>p{max-width:none;margin-top:10px}}
@media(max-width:600px){.compact-collection .intro{grid-template-columns:1fr;padding:22px 18px;gap:18px}.compact-collection .intro h1{font-size:31px}.compact-collection .family-visual{display:none}.compact-collection .home-actions{display:flex;flex-wrap:wrap}.compact-collection .home-action{font-size:11px;min-height:44px}.compact-collection .home-catalog,.compact-collection .applications{padding:24px 18px}.compact-collection .home-catalog-grid,.compact-collection .app-grid,.compact-presentation .catalog{grid-template-columns:1fr;gap:14px}.compact-collection .compact-card,.compact-presentation .offer{padding:17px}.compact-collection .compact-card .catalog-instruction,.compact-presentation .offer>.catalog-instruction{min-height:44px}.compact-collection .compact-card .catalog-card-heading h3,.compact-presentation .catalog-card-heading h3{font-size:18px}.compact-collection .demo-notice{padding:10px 18px}.compact-collection .section-heading h2,.compact-collection #applications-title{font-size:24px}.compact-collection .collection-brief{margin:0 18px 24px}.compact-presentation .wrap{width:calc(100% - 36px)}.compact-presentation .hero{padding:24px 0}.compact-presentation .hero h1{font-size:32px}.compact-presentation .top-links{font-size:12px}.compact-presentation .section-intro h2{font-size:24px}.compact-presentation .filters{gap:6px}.compact-presentation .filters button{font-size:11px;padding:8px 10px}.compact-presentation .public-footer{display:grid;grid-template-columns:1fr;gap:24px}.compact-presentation .duo{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.compact-collection .compact-card,.compact-presentation .offer{transition:none}}
/* Compact navigation leaves room for the cards on a phone. */
.compact-collection .catalog-details>summary,.compact-presentation .catalog-details>summary{min-height:44px}
@media(max-width:900px){
 .compact-collection .sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:14px 18px;gap:10px;align-items:center}
 .compact-collection .sidebar .brand{grid-column:1;display:flex;align-items:center;gap:9px}
 .compact-collection .sidebar .collection-logo-small{width:44px;height:40px;max-width:44px;margin:0}
 .compact-collection .sidebar .brand strong{font-size:13px;letter-spacing:.1em}
 .compact-collection .sidebar .brand small{font-size:9px;letter-spacing:.1em}
 .compact-collection .sidebar>.side-link{grid-column:2;font-size:11px;min-height:44px;max-width:105px;margin:0;padding:8px;line-height:1.4;white-space:normal}
 .compact-collection .sidebar .side-nav{grid-column:1/-1;width:100%;display:flex;flex-wrap:wrap;gap:6px;overflow:visible}
 .compact-collection .sidebar .side-nav .side-link{display:flex;align-items:center;justify-content:center;flex:1 1 27%;font-size:11px;line-height:1.4;min-height:44px;padding:8px 10px;margin:0;white-space:normal;text-align:center}
 .compact-collection .topbar{padding:10px 18px;min-height:0;display:block}
 .compact-collection .topbar>.eyebrow{display:none}
 .compact-collection .site-languages{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;width:100%}
 .compact-collection .site-languages .protelia-partners-link{width:auto;min-height:44px;padding:8px 10px;font-size:12px}
 .compact-collection .language-control{display:flex;align-items:center;gap:6px;font-size:11px}
 .compact-collection .language-control select{font-size:14px;max-width:140px;min-height:44px}
 .compact-presentation .top-links a{font-size:12px}
}
/* Keep the home as a quick introduction and provide tools to browse the catalogue. */
.compact-collection .home-catalog-card .home-catalog-copy { flex: 1; }
.compact-collection .home-catalog-card .home-catalog-action { margin-top: auto; }

[data-catalog-kind="work"] { --card-color: #244c72; --card-tint: #ecf3fa; --card-edge: #9eb7d0; }
[data-catalog-kind="life"] { --card-color: #763d59; --card-tint: #faf0f4; --card-edge: #cca1b4; }
[data-catalog-kind="learn"] { --card-color: #265b56; --card-tint: #edf6f3; --card-edge: #93bbb1; }

.catalog-controls {
  border: 1px solid #ded9e9;
  border-radius: 16px;
  background: #f8f6fb;
  padding: 16px 18px 9px;
  margin: 0 0 20px;
}
.catalog-tools { display: flex; flex-wrap: wrap; align-items: end; gap: 12px 20px; }
.catalog-search {
  display: grid;
  gap: 6px;
  flex: 1 1 245px;
  max-width: 420px;
  font-size: .875rem;
  font-weight: 700;
  color: #34274e;
}
.catalog-search-box { position: relative; min-width: 0; }
.catalog-search-box svg { position: absolute; inset: 50% auto auto 12px; transform: translateY(-50%); color: #534273; pointer-events: none; }
.catalog-search input {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: 8px 12px 8px 40px;
  border: 1px solid #ab9bbf;
  border-radius: 9px;
  background: white;
  color: #252446;
  font: inherit;
  font-size: 1rem;
}
.catalog-filters { display: flex; flex-wrap: wrap; gap: 7px; }
.catalog-filters button {
  min-height: 44px;
  padding: 6px 11px;
  border: 1px solid #d4cadd;
  border-radius: 9px;
  background: #fff;
  color: #423355;
  font-size: .875rem;
  font-weight: 650;
  line-height: 1.3;
  cursor: pointer;
}
.catalog-filters button:hover { border-color: #7c6a92; background: #f4edf9; }
.catalog-filters button[aria-pressed="true"] { background: #534273; border-color: #534273; color: white; }
.catalog-feedback { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; min-height: 46px; gap: 4px 12px; }
.catalog-count, .catalog-empty { color: #55506b; font-size: .9rem; }
.catalog-count { margin: 0; }
.catalog-empty { padding: 12px 16px; background: #f8f6fb; border-radius: 10px; margin-bottom: 20px; }
.catalog-reset {
  min-height: 44px;
  padding: 5px 0 5px 8px;
  border: 0;
  background: none;
  color: #534273;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-size: .875rem;
  font-weight: 650;
  cursor: pointer;
}
[data-catalog-browser] [hidden] { display: none !important; }

.compact-collection .home-catalog-card,
.compact-collection .app-grid > .application-story,
.compact-presentation .catalog > .offer {
  padding: 16px;
  border: 1px solid #e4deec;
  border-top: 3px solid var(--card-edge);
  box-shadow: 0 3px 12px #33234b0a;
  scroll-margin-top: 24px;
}
.compact-collection .home-catalog-card:hover,
.compact-collection .app-grid > .application-story:hover,
.compact-presentation .catalog > .offer:hover {
  border-color: var(--card-edge);
  box-shadow: 0 6px 20px #33234b15;
}
.compact-collection .compact-card .catalog-card-heading > img,
.compact-presentation .catalog-card-heading > img {
  border-radius: 11px;
  background: var(--card-tint);
  padding: 3px;
}
.compact-collection .app-grid > .application-story .catalog-card-heading h3,
.compact-presentation .offer .catalog-card-heading h3 {
  font-size: clamp(1.05rem, 1.5vw, 1.23rem);
}
.compact-collection .app-grid .catalog-purpose,
.compact-presentation .offer > .catalog-purpose {
  color: #3e3a52;
  font-size: .9375rem;
  line-height: 1.5;
  margin: 0 0 12px;
  min-height: 3em;
}
.compact-collection .compact-card .home-catalog-status,
.compact-collection .application-story > .app-card-copy > .app-status,
.compact-presentation .offer > .catalog-status {
  background: var(--card-tint);
  color: var(--card-color);
  border-radius: 6px;
  font-size: .8125rem;
  line-height: 1.45;
  padding: 4px 8px;
}
.compact-collection .application-story > .app-card-copy > .app-open,
.compact-presentation .offer > .actions > .button {
  color: var(--card-color);
  background: var(--card-tint);
  border-color: var(--card-edge);
  font-size: .9rem;
}
.compact-collection .application-story > .app-card-copy > .app-open:hover,
.compact-presentation .offer > .actions > .button:hover {
  color: #fff;
  background: var(--card-color);
  border-color: var(--card-color);
}
.compact-collection .application-story > .app-card-copy > .catalog-unavailable {
  justify-content: flex-start;
  background: transparent;
  border: 0;
  min-height: 0;
}
.compact-collection .application-story .catalog-details,
.compact-presentation .offer .catalog-details { margin-top: 8px; }
.compact-collection .application-story .catalog-details > summary,
.compact-presentation .offer .catalog-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  list-style: none;
  padding: 6px 2px;
  min-height: 44px;
  color: var(--card-color);
  font-size: .875rem;
  font-weight: 700;
}
.catalog-details > summary::-webkit-details-marker { display: none; }
.catalog-details > summary::after {
  content: "";
  flex: 0 0 .46rem;
  height: .46rem;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin: 0 4px 3px 0;
}
.catalog-details[open] > summary::after { transform: rotate(225deg); margin-bottom: -3px; }
.compact-collection .application-story .application-promise {
  font: 600 1.125rem/1.4 'DM Sans', system-ui, sans-serif;
  color: #34274e;
}
.compact-collection .application-story .application-access {
  background: var(--card-tint);
  border-radius: 8px;
  padding: 10px 12px;
}
.compact-collection .application-story .app-module-card {
  display: block;
  padding: 14px;
  background: var(--card-tint);
  border: 1px solid var(--catalog-line);
  border-radius: 10px;
}
.compact-collection .application-story .app-module-card h4 { color: #34274e; }
.compact-collection .application-story .app-secondary-link,
.compact-presentation .app-secondary-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: .875rem;
  font-weight: 650;
  color: #534273;
}
.compact-collection .applications-welcome { max-width: 70ch; }
.compact-collection .applications > .catalog-grouping-note { margin-top: 26px; }
.compact-collection .legacy-anchor { position: absolute; top: 0; left: 0; }
.compact-collection .application-story:target { outline: 2px solid var(--card-color); outline-offset: 4px; }
@media (max-width: 760px) {
  .catalog-controls { padding: 13px 13px 6px; }
  .catalog-search { flex-basis: 100%; max-width: none; }
  .compact-collection .app-grid { grid-template-columns: 1fr; gap: 14px; }
  .compact-collection .app-grid .catalog-purpose,
  .compact-presentation .offer > .catalog-purpose { min-height: 0; }
}
