/* Shared layout for the remaining company-site sections. */
.catalog-page { background:#fff; color:#333; }
.catalog-hero { position:relative; height:clamp(360px,35vw,620px); overflow:hidden; background:#353535; }
.catalog-hero > img { display:block; width:100%; height:100%; object-fit:cover; }
.catalog-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.32)); }
.catalog-hero-copy { position:absolute; z-index:1; inset:0; padding:80px 32px 0; display:flex; align-items:center; justify-content:center; flex-direction:column; text-align:center; color:white; }
.catalog-hero h1 { font-size:clamp(30px,2.5vw,46px); line-height:1.5; font-weight:500; margin:0 0 8px; }
.catalog-hero-copy > p { margin:0; font-size:17px; letter-spacing:.06em; }
.catalog-width { width:min(calc(100% - 80px),1200px); margin-inline:auto; }
.catalog-breadcrumb { padding:18px 0; border-bottom:1px solid #eee; font-size:12px; color:#999; }
.catalog-breadcrumb .catalog-width { display:flex; flex-wrap:wrap; gap:12px; }
.catalog-breadcrumb a { color:#777; }
.catalog-breadcrumb a:hover { color:var(--gold-deep); }
.catalog-section { padding:56px 0; }
.catalog-heading { text-align:center; margin-bottom:30px; }
.catalog-heading > p { margin:0; color:#e5e5e5; font-size:clamp(24px,3vw,42px); font-weight:700; line-height:1.25; }
.catalog-heading h2 { margin:4px 0 0; font-size:30px; line-height:1.5; color:#252525; }
.catalog-lead { max-width:870px; margin:0 auto 36px; font-size:16px; line-height:1.95; color:#666; text-align:center; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.catalog-card { min-width:0; }
.catalog-card img { display:block; width:100%; height:auto; }
.catalog-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:60px; align-items:center; }
.catalog-split h2 { font-size:30px; line-height:1.5; margin:0 0 20px; }
.catalog-prose { font-size:16px; line-height:2; color:#666; }
.catalog-prose p { margin:0 0 15px; }
.catalog-list { list-style:none; padding:0; margin:0; }
.catalog-list li { position:relative; padding-left:18px; margin:10px 0; line-height:1.9; color:#666; }
.catalog-list li::before { content:""; position:absolute; width:5px; height:5px; left:0; top:.8em; background:var(--gold); }
.catalog-soft { background:#f7f7f7; }
.catalog-dark { background:#292929; color:#fff; }
.catalog-actions { display:flex; flex-wrap:wrap; gap:24px 50px; margin-top:30px; }
.catalog-link { display:inline-flex; gap:30px; color:var(--gold-deep); font-size:15px; padding-bottom:8px; border-bottom:1px solid #d6bca9; }
.catalog-link:hover { color:#333; }
.catalog-kicker { color:var(--gold-deep); font-size:12px; letter-spacing:.06em; margin:0 0 16px; }
.solution-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 26px; }
.solution-card { border-bottom:1px solid #ddd; display:block; overflow:hidden; }
.solution-card > img { display:block; width:100%; height:190px; object-fit:cover; transition:transform .35s; }
.solution-card:hover > img { transform:scale(1.035); }
.solution-card > div { position:relative; padding:22px 0; background:#fff; }
.solution-card span { color:var(--gold-deep); font-size:11px; letter-spacing:.06em; }
.solution-card h2 { margin:6px 0 12px; font-size:23px; }
.solution-card p { min-height:56px; margin:0 0 18px; line-height:1.85; font-size:14px; color:#777; }
.solution-card b { display:flex; justify-content:space-between; font-size:13px; font-weight:400; color:var(--gold-deep); }
.solution-card i { font-style:normal; }
.solution-subtitle { font-size:16px; line-height:1.9; color:#777; margin-bottom:0; }
.solution-section-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:28px; }
.solution-section-head h2 { margin:0; font-size:28px; }
.solution-section-head > span { color:#999; font-size:13px; }
.solution-pains { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 35px; margin:0; padding:0; }
.solution-pains li { display:flex; gap:18px; padding:22px 0; border-top:1px solid #ddd; }
.solution-pains span { color:var(--gold-deep); font-size:14px; }
.solution-pains p { font-size:15px; line-height:1.85; margin:0; }
.solution-approach { max-width:960px; font-size:18px; color:#555; line-height:2; margin:0 0 34px; }
.solution-capabilities { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #ddd; border-bottom:1px solid #ddd; }
.solution-capabilities a { padding:26px 25px; border-right:1px solid #ddd; }
.solution-capabilities a:first-child { padding-left:0; }
.solution-capabilities a:last-child { border:0; }
.solution-capabilities span { font-size:23px; color:var(--gold-deep); }
.solution-capabilities p { color:#888; font-size:14px; margin:8px 0 0; }
.solution-services { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.solution-services li { padding:20px; border-left:2px solid var(--gold); background:#fff; font-size:15px; }
.solution-value h2 { font-size:30px; margin:0 0 24px; }
.solution-value .catalog-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:35px; }
.catalog-page :is(section,details)[id], #catalogContent { scroll-margin-top:100px; }
@media(max-width:900px) {
  .catalog-width { width:calc(100% - 40px); }
  .catalog-grid,.solution-cards,.solution-pains { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-split { grid-template-columns:1fr; gap:24px; }
  .solution-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .catalog-grid,.solution-cards,.solution-pains,.solution-value .catalog-list { grid-template-columns:1fr; }
  .catalog-hero { height:330px; }
  .solution-capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .solution-capabilities a:first-child { padding-left:25px; }
  .solution-section-head > span { display:none; }
}
.solution-focus{overflow-x:auto}.solution-focus table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.9}.solution-focus caption{text-align:left;color:#888;font-size:13px;margin-bottom:14px}.solution-focus th,.solution-focus td{padding:20px 24px;border-bottom:1px solid #e4dfd9;text-align:left;vertical-align:top}.solution-focus thead{background:#f5f2ee;color:#8e6951}.solution-focus th:first-child{width:18%;min-width:130px}.solution-focus tbody th{font-weight:500;color:#333}.solution-focus td{width:41%;color:#666}.solution-systems{padding:28px 0 0;max-width:1050px}.solution-systems h3,.solution-preparation h3{font-size:21px;font-weight:500;margin:0 0 12px}.solution-systems p{font-size:16px;line-height:2;color:#666;margin:0 0 18px}.solution-preparation{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:34px;padding-top:28px;border-top:1px solid #ddd}.solution-preparation li{font-size:15px}.solution-scope-note{font-size:13px;color:#888;line-height:1.9;margin:24px 0 0}@media(max-width:700px){.solution-preparation{grid-template-columns:1fr;gap:20px}.solution-focus table{min-width:650px}}
