/* Softomate UI reference v1. Opt-in pages only: .sm-page / .sm-ui. */
.sm-ui {
  --sm-blue:#003d82; --sm-text:#101828; --sm-muted:#475467;
  --sm-line:#dce4ef; --sm-surface:#f1f5fb; --sm-radius:12px;
  --sm-icon-ring:42px; --sm-icon-art:24px; --sm-reading:75ch;
  --sm-space-1:8px; --sm-space-2:16px; --sm-space-3:24px; --sm-space-4:32px;
}
.sm-page .nav-wrapper { background:#fff!important; box-shadow:0 1px 8px #003d8210; }
.sm-page .nav-wrapper .nav-link { color:#101828!important; }
.sm-page .nav-wrapper .nav-burger { color:#101828!important; }
.sm-page .nav-wrapper .nav-search-btn { color:#101828!important; }
.sm-ui [id] { scroll-margin-top:88px; }
.sm-ui :is(a,button,summary,[tabindex]):focus-visible {
  outline:2px solid var(--sm-blue); outline-offset:4px;
}
.sm-ui .sm-icon, .sm-ui .solution-icon-wrapper, .sm-ui .value-icon-wrapper {
  position:relative!important; display:inline-flex!important; align-items:center!important;
  justify-content:center!important; flex:0 0 var(--sm-icon-ring)!important;
  width:var(--sm-icon-ring)!important; min-width:var(--sm-icon-ring)!important;
  height:var(--sm-icon-ring)!important; border:1px solid #ccd5e2; border-radius:50%;
  margin:0!important; color:var(--sm-blue); background:transparent;
}
.sm-ui :is(.solution-icon-circle,.value-circle) { display:none!important; }
.sm-ui :is(.sm-icon img,.solution-icon,.value-icon) {
  display:block; position:relative!important; inset:auto!important;
  width:var(--sm-icon-art)!important; height:var(--sm-icon-art)!important;
  max-width:var(--sm-icon-art)!important; object-fit:contain; margin:0!important;
}
.sm-ui :is(.sm-icon i,.solution-icon-wrapper i) { font-size:22px; line-height:1; }
.sm-disclosure { border-top:1px solid var(--sm-line); width:100%; }
.sm-disclosure:last-child { border-bottom:1px solid var(--sm-line); }
.sm-disclosure > summary {
  display:grid; grid-template-columns:42px minmax(0,1fr) 28px; align-items:center;
  gap:20px; padding:20px 0; list-style:none; cursor:pointer;
}
.sm-disclosure > summary::-webkit-details-marker { display:none; }
.sm-ui .sm-disclosure summary h3 { margin:0; font-size:clamp(20px,1.7vw,26px); line-height:1.3; }
.sm-disclosure-toggle {
  display:flex; align-items:center; justify-content:center; width:28px; height:28px;
  border-radius:50%; background:var(--sm-blue); color:#fff; font-size:22px; line-height:1;
}
.sm-disclosure[open] .sm-disclosure-toggle { transform:rotate(45deg); }
.sm-disclosure-answer { padding:0 48px 24px 62px; }
.sm-disclosure-answer p { max-width:var(--sm-reading); margin:0 0 12px; }
.sm-disclosure-answer p:last-child { margin-bottom:0; }
.sm-disclosure-link { display:inline-block; margin-top:12px; color:var(--sm-blue); text-decoration:underline; text-underline-offset:3px; }

/* Retain the approved homepage type scale; inner pages share this type system. */
.sm-ui:not(.sm-ui--home) :is(p,.p,li,td,th) { font-size:clamp(16px,1.2vw,18px); line-height:1.65; }
.sm-ui:not(.sm-ui--home) :is(h2,.h2) {
  font-size:clamp(28px,3vw,44px); line-height:1.15; letter-spacing:-.025em;
  overflow-wrap:break-word;
}
.sm-ui:not(.sm-ui--home) :is(h3,.h3) { font-size:clamp(20px,1.7vw,26px); line-height:1.3; }
.sm-ui:not(.sm-ui--home) .section:not(#mainmate) {
  height:auto!important; min-height:0; padding-top:clamp(28px,3vw,48px);
  padding-bottom:clamp(28px,3vw,48px);
}
.sm-ui:not(.sm-ui--home) .section:not(#mainmate) > .title-wrapper {
  position:relative!important; inset:auto!important; transform:none!important;
  width:100%!important; height:auto!important; display:flex; flex-direction:column;
  align-items:flex-start; gap:12px; margin:0 0 32px!important;
}
.sm-ui:not(.sm-ui--home) .section:not(#mainmate) > .title-wrapper > * {
  position:relative!important; inset:auto!important; transform:none!important;
  margin:0!important; height:auto;
}
.sm-ui:not(.sm-ui--home) .section:not(#mainmate) > .title-wrapper .p { max-width:var(--sm-reading); }
.sm-ui:not(.sm-ui--home) #mainmate { position:relative; height:auto!important; min-height:0; padding-top:120px!important; padding-bottom:56px!important; }
.sm-ui:not(.sm-ui--home) #mainmate::before {
  content:""; position:absolute; inset:0; background:linear-gradient(105deg,#003363b8,#00336338);
  pointer-events:none; z-index:1;
}
.sm-ui:not(.sm-ui--home) #mainmate > .bg-img { z-index:0; }
.sm-ui:not(.sm-ui--home) #mainmate > :not(.bg-img) { position:relative; z-index:2; }
.sm-ui:not(.sm-ui--home) #mainmate .section-links { font-size:16px!important; line-height:1.4; font-weight:600; letter-spacing:0; }
.sm-ui:not(.sm-ui--home) #mainmate :is(h1,.home-h1,.home-h1 span) {
  color:#fff!important; font-size:clamp(32px,3.3vw,52px)!important;
  line-height:1.13!important; letter-spacing:-.025em; max-width:30ch; margin-bottom:24px;
}
.sm-ui:not(.sm-ui--home) #mainmate .softothemecontent.softto-sec { width:100%; max-width:1180px; margin-inline:auto; }
.sm-ui:not(.sm-ui--home) #mainmate .p { max-width:75ch; color:#fff; opacity:1; }
.sm-ui--service #mainmate .direct-answer-block { font-size:clamp(16px,1.2vw,18px)!important; line-height:1.65; }
.sm-ui:not(.sm-ui--home) #mainmate .page-nav-wrapper {
  display:flex!important; flex-wrap:wrap; gap:8px; position:relative!important;
  inset:auto!important; transform:none!important; width:100%; margin:24px 0 0;
}
.sm-ui:not(.sm-ui--home) .page-nav-wrapper .nav-link.page { color:#fff; font-size:14px; line-height:1.5; }
.sm-ui:not(.sm-ui--home) .card-wrapper.product-category {
  min-width:0; padding:24px!important; gap:20px; height:100%; border-radius:var(--sm-radius);
}
.sm-ui:not(.sm-ui--home) .card-name-wrapper.category { min-width:0; margin:0; padding:0; }
.sm-ui:not(.sm-ui--home) .product-card-wrapper .cms-list { align-items:stretch; }
.sm-ui:not(.sm-ui--home) .category-card-wrapper { min-width:0; }
.sm-ui:not(.sm-ui--home) .softothemecontent.solution-case { gap:32px; align-items:flex-start; }
.sm-ui:not(.sm-ui--home) .about-value-wrapper { min-width:0; }
.sm-ui--about #director :is(h2,h3,p,.p,.subheading) { color:#fff!important; }
.sm-ui--about #director .p { opacity:1!important; }
.sm-ui--about .about-director-flex { display:grid!important; grid-template-columns:220px minmax(0,1fr); gap:40px!important; }
.sm-ui--about .about-director-flex > * { min-width:0!important; }
.sm-ui--about #who .softothemecontent.about, .sm-ui--about #approach .softothemecontent.about { min-width:0; }
.sm-ui--about .about-facts-wrap { border:1px solid var(--sm-line); border-radius:12px; }
.sm-ui--about .about-facts-wrap table { margin:0; }
.sm-ui--about .about-facts-wrap caption { padding:16px!important; }
.sm-ui--about .about-facts-wrap td, .sm-ui--about .about-facts-wrap th { text-align:left; vertical-align:top; }
.sm-ui--about .sm-number-icon { width:42px!important; height:42px!important; border-radius:50%!important; }
.sm-ui .sm-table-scroll { min-width:0; width:100%; max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }

/* All FAQ controls use identical spacing and a fixed toggle width. */
.sm-ui .pf-body[hidden] { display:none!important; }
.sm-ui .pf-item.pf-open .pf-body { max-height:none; }
.sm-ui:not(.sm-ui--home) :is(#industry-faqs,#case-study-faqs) > .softothemecontent { width:100%!important; margin-top:0!important; }
.sm-ui:not(.sm-ui--home) .pf-btn { min-height:76px; padding:20px 0; gap:16px; }
.sm-ui:not(.sm-ui--home) .pf-num { width:32px; height:32px; flex:0 0 32px; }
.sm-ui:not(.sm-ui--home) .pf-question { flex:1; min-width:0; font-size:18px; line-height:1.5; }
.sm-ui:not(.sm-ui--home) .pf-toggle { min-width:32px; max-width:32px; width:32px; height:32px; padding:0; flex:0 0 32px; }
.sm-ui:not(.sm-ui--home) .pf-toggle-label { display:none; }
.sm-ui:not(.sm-ui--home) .pf-body-inner { padding:0 48px 24px; }
.sm-ui:not(.sm-ui--home) .pf-body-inner p + p { margin-top:12px; }
.sm-ui:not(.sm-ui--home) .pf-body { transition:none; }
.sm-ui:not(.sm-ui--home) .pf-item.pf-open .pf-body { max-height:none; }

/* Editorial pages: readable measure, fluid media and purposeful section gaps. */
.sm-ui:is(.sm-ui--article,.sm-ui--case) .bp-content-col { width:100%; max-width:780px; min-width:0; margin-inline:auto; }
.sm-ui:is(.sm-ui--article,.sm-ui--case) .bp-body-section { width:100%; max-width:1180px; margin-inline:auto; padding-inline:32px; }
.sm-ui:is(.sm-ui--article,.sm-ui--case) .bp-prose { width:100%; max-width:75ch; }
.sm-ui:is(.sm-ui--article,.sm-ui--case) .bp-prose :is(p,li) { font-size:18px; line-height:1.75; }
.sm-ui:is(.sm-ui--article,.sm-ui--case) .bp-prose h2 { font-size:clamp(26px,2.3vw,34px); margin-top:40px; margin-bottom:16px; }
.sm-ui:is(.sm-ui--article,.sm-ui--case) .bp-prose h3 { margin-top:28px; margin-bottom:12px; }
.sm-ui:is(.sm-ui--article,.sm-ui--case) .bp-prose img { max-width:100%; height:auto; border-radius:12px; }
.sm-ui--article .bp-featured-img-wrap { width:calc(100% - 64px); max-width:960px; margin:32px auto 0!important; }
.sm-ui--article .bp-featured-img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:12px!important; box-shadow:0 4px 20px #003d8210!important; }
.sm-ui--article .bp-meta-row { display:flex; flex-wrap:wrap; gap:8px 12px; }
.sm-ui--article .bp-share-bar { flex-wrap:wrap; }
.sm-ui--article .bp-share-btn { min-height:44px; }
.sm-ui--article .bp-toc-box { max-width:100%; padding:24px; border-radius:12px; }
.sm-ui--case .cs-cta-buttons { display:flex; flex-wrap:wrap; gap:16px; }
.sm-ui--case .cs-cta-card { min-width:0; }

/* Process photos, explanations and outputs stay in one stable content column. */
.sm-ui--home #preview-process .tab { display:grid!important; grid-template-columns:minmax(220px,1fr) minmax(0,2fr); gap:40px; align-items:start; }
.sm-ui--home #preview-process :is(.tab,.tab-menu,.tab-title)::before, .sm-ui--home #preview-process :is(.tab,.tab-menu,.tab-title)::after { display:none!important; }
.sm-ui--home #preview-process .tab-menu { grid-column:1; grid-row:1; width:100%!important; min-width:0; margin:0!important; border:0; }
.sm-ui--home #preview-process .tab-title { display:flex; align-items:center; gap:14px!important; padding:16px!important; min-height:76px; height:auto; margin:0!important; }
.sm-ui--home #preview-process .tab-title .category-icon { width:24px!important; height:24px!important; margin:0!important; }
.sm-ui--home #preview-process .h3.for-tab { margin:0; font-size:18px; line-height:1.35; text-transform:none; }
.sm-ui--home #preview-process .tab-title { transition:background-color 150ms ease,color 150ms ease,box-shadow 150ms ease; border-radius:0; }
.sm-ui--home #preview-process .tab-title:hover { background:#f3f6fa; }
.sm-ui--home #preview-process .tab-title.w--current { background:#eef4fb; border-radius:0; box-shadow:inset 0 -2px 0 var(--sm-blue); color:var(--sm-blue); }
.sm-ui--home #preview-process .tab-title.w--current .h3 { color:var(--sm-blue); }
.sm-ui--home #preview-process .tab-title.w--current .sm-icon { border-color:#9ab8d9; }
.sm-ui--home #preview-process .w--tab-active .text-content-parent { animation:sm-process-enter 160ms ease-out; }
@keyframes sm-process-enter { from { opacity:.65; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) {
  .sm-ui--home #preview-process .text-content-parent { animation:none!important; }
}
.sm-ui--home #preview-process .tab-content { grid-column:2; grid-row:1; width:100%!important; min-width:0; margin:0!important; padding:0!important; border:0; }
.sm-ui--home #preview-process :is(.tab-content-parent,.text-content-parent) { display:block; width:100%!important; min-width:0; }
.sm-ui--home #preview-process .text-content-parent > h3 { width:100%; max-width:none; margin:0 0 20px; line-height:1.35; }
.sm-ui--home #preview-process .softothemecontent.for-tab { display:block!important; float:right; width:34%!important; max-width:240px; margin:0 0 16px 24px!important; }
.sm-ui--home #preview-process .card-img { display:block; width:100%!important; height:auto!important; aspect-ratio:8/5; object-fit:cover; border-radius:8px; }
.sm-ui--home #preview-process .text-content-parent > .p { margin:0 0 12px; }
.sm-process-output { clear:both; padding:16px 20px; margin-top:20px; border-left:3px solid var(--sm-blue); border-radius:0 12px 12px 0; background:var(--sm-surface); }
.sm-process-output strong { color:var(--sm-blue); display:block; margin-bottom:8px; }
.sm-process-output p { margin:0; line-height:1.6; }
@media(max-width:991px) {
  .sm-ui--home #preview-process .tab { grid-template-columns:minmax(0,1fr); gap:24px; }
  .sm-ui--home #preview-process .tab-content { grid-column:1; grid-row:2; }
  .sm-ui--home #preview-process .tab-menu { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .sm-ui--home #preview-process .tab-title { min-width:0; margin:0!important; }
  .sm-ui--about .about-director-flex { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:767px) {
  .sm-ui:not(.sm-ui--home) #mainmate { display:block!important; padding-top:96px!important; padding-bottom:32px!important; }
  .sm-ui:not(.sm-ui--home) #mainmate .softothemecontent.softto-sec { display:block!important; min-width:0; }
  .sm-ui:not(.sm-ui--home) .section:not(#mainmate) > .title-wrapper { margin-bottom:24px!important; }
  .sm-ui:not(.sm-ui--home) .softothemecontent.solution-case { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
  .sm-ui:not(.sm-ui--home) .about-value-wrapper { width:100%!important; }
  .sm-ui:not(.sm-ui--home) .pf-question { font-size:16px; }
  .sm-ui:not(.sm-ui--home) .pf-btn { min-height:72px; gap:12px; padding:16px 0; }
  .sm-ui:not(.sm-ui--home) .pf-body-inner { padding:0 0 20px 44px; }
  .sm-disclosure > summary { gap:14px; padding:16px 0; }
  .sm-disclosure-answer { padding:0 0 24px; }
  .sm-ui:is(.sm-ui--article,.sm-ui--case) .bp-body-section { padding-inline:24px; }
  .sm-ui:is(.sm-ui--article,.sm-ui--case) .bp-prose :is(p,li) { font-size:16px; }
  .sm-ui--article .bp-featured-img-wrap { width:calc(100% - 48px); margin-top:24px!important; }
  .sm-ui--home #preview-process .tab-menu { grid-template-columns:minmax(0,1fr); }
  .sm-ui--home #preview-process .tab-title { min-height:68px; padding:12px!important; }
}
@media(prefers-reduced-motion:reduce) {
  .sm-ui *, .sm-ui *::before, .sm-ui *::after { scroll-behavior:auto!important; transition:none!important; }
}

/* Use one spacing rhythm across the pilot; avoid compounded section/CTA gaps. */
.sm-ui--home > .preview-section:not(.home-mainmate) { padding-block:clamp(28px,3vw,48px)!important; }
.sm-ui--home #about-us .btn-wrapper { margin-top:24px!important; }
.sm-ui:not(.sm-ui--home) .section .section { padding-block:24px; }
@media(max-width:767px) {
  .sm-ui--home #preview-process .softothemecontent.for-tab { float:none; width:100%!important; max-width:240px; margin:0 0 16px!important; }
  .sm-ui--home #preview-process .text-content-parent > h3 { margin-bottom:16px; }
}

/* Remove inherited CTA and title margins that otherwise double these gaps. */
.sm-ui:not(.sm-ui--home) .section > .title-wrapper + * { margin-top:0!important; }
.sm-ui--service #o-services > .btn-wrapper { margin-top:24px!important; }
.sm-ui--home #why-softomate > .softothemecontent.align-right { margin-top:24px!important; }

.sm-ui--home #why-softomate > .softothemecontent.img { margin-bottom:0!important; }

/* Editorial reference layouts: override legacy 62% hero and viewport padding. */
.sm-ui:is(.sm-ui--article,.sm-ui--case) .section { padding-inline:max(24px,calc((100% - 1180px)/2))!important; }
.sm-ui:is(.sm-ui--article,.sm-ui--case) #mainmate.sm-editorial-hero {
  display:block!important; margin:0!important; padding:56px 24px 48px!important;
  min-height:0!important; height:auto!important; color:#fff;
}
.sm-ui #mainmate.sm-editorial-hero::before { background:linear-gradient(105deg,#003363d9,#00336333); }
.sm-editorial-shell { position:relative; z-index:2; max-width:1180px; width:100%; margin-inline:auto; }
.sm-editorial-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 32px; font-size:14px; line-height:1.5; color:#e3edf7; }
.sm-editorial-breadcrumb a { color:inherit; text-decoration:none; }
.sm-editorial-breadcrumb a:hover { text-decoration:underline; }
.sm-editorial-hero-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:56px; align-items:center; }
.sm-editorial-heading { min-width:0; }
.sm-ui #mainmate.sm-editorial-hero .sm-editorial-eyebrow { font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; margin:0 0 16px; color:#e3edf7; }
.sm-ui #mainmate.sm-editorial-hero h1.home-h1 { font-size:clamp(30px,3.1vw,44px)!important; font-weight:700; line-height:1.15!important; letter-spacing:-.025em; max-width:none; margin:0 0 20px; }
.sm-ui #mainmate.sm-editorial-hero .sm-editorial-summary { color:#f0f5fa; font-size:18px; line-height:1.6; margin:0 0 20px; max-width:65ch; }
.sm-ui #mainmate.sm-editorial-hero .sm-editorial-meta { display:flex; flex-wrap:wrap; gap:6px 10px; color:#e0eaf4; font-size:14px; line-height:1.6; margin:0; }
.sm-editorial-meta a { color:#fff; text-underline-offset:3px; }
.sm-editorial-actions { display:flex; flex-wrap:wrap; gap:16px 24px; align-items:center; margin-top:24px; }
.sm-editorial-button { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:44px; padding:12px 20px; border:1px solid #003d82; border-radius:7px; background:#003d82; color:#fff; font-size:15px; line-height:1.4; font-weight:600; text-decoration:none; }
.sm-editorial-button--light { background:#fff; color:#003d82; border-color:#fff; }
.sm-editorial-secondary { color:#fff; font-size:15px; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.sm-editorial-photo { margin:0; min-width:0; }
.sm-editorial-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:10px; }
.sm-case-result { padding:28px; border:1px solid #ffffff52; border-radius:10px; background:#ffffff12; }
.sm-ui #mainmate .sm-case-result p { font-size:17px; line-height:1.6; margin:16px 0 0; color:#fff; }
.sm-ui #mainmate .sm-case-result .sm-editorial-eyebrow { margin:0 0 16px; }
.sm-case-result-number { display:block; font-size:clamp(30px,3vw,40px); line-height:1.15; letter-spacing:-.025em; font-weight:700; }
.sm-case-result-foot { display:flex; flex-direction:column; gap:4px; margin-top:24px; padding-top:20px; border-top:1px solid #ffffff40; font-size:14px; color:#e0eaf4; }
.sm-case-result-foot strong { color:#fff; }
.sm-ui:is(.sm-ui--article,.sm-ui--case) .bp-body-section { width:calc(100% - 48px); max-width:1180px; padding:40px 0 48px!important; margin-inline:auto; }
.sm-ui--article .bp-share-bar { margin:0 0 28px; padding:0 0 20px; }
.sm-ui--article .direct-answer-block { background:#eef3f9; border-left:3px solid #003d82; padding:20px 24px; border-radius:0 8px 8px 0; }
.sm-ui--article .sm-article-toc { padding:24px; margin:28px 0 36px; border:1px solid #dce4ef; border-radius:8px; background:#fff; }
.sm-ui--article .bp-prose .sm-article-toc h2 { margin:0 0 16px; font-size:20px; line-height:1.3; }
.sm-ui--article .sm-article-toc ul { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; }
.sm-ui--article .sm-article-toc li { margin:0; font-size:15px; line-height:1.5; }
.sm-ui--article .sm-article-toc a { text-decoration:none; }
.sm-ui--article .sm-article-toc a:hover { text-decoration:underline; }
.sm-ui--article .bp-newsletter { margin-top:32px; }
.sm-ui--article .author-bio-inner { max-width:780px; width:100%; margin:auto; }
.sm-ui--article .post-related-services > .softothemecontent { width:100%!important; max-width:none!important; margin:0!important; }
.sm-ui--article .post-related-services .card-wrapper { text-align:left; padding:24px!important; }
.sm-ui--article .post-related-services .card-wrapper h3 { font-size:20px!important; }
.sm-ui--article .post-related-services .card-wrapper p { font-size:16px!important; }
.sm-ui--article .bp-related-case-studies { width:calc(100% - 48px); max-width:1180px; margin:24px auto!important; padding:24px!important; border-left-width:1px!important; border:1px solid #dce4ef; }
.sm-ui--article .bp-related-case-studies h3 { font-size:26px!important; }
.sm-ui--article .related-posts .cms-list { gap:24px; }
.sm-ui--article .related-posts .card-wrapper.news { padding:0; height:100%; background:#fff; border:1px solid #dce4ef; border-radius:10px; }
.sm-ui--article .related-posts .card-name-wrapper.news { margin:0; width:100%; gap:0; }
.sm-ui--article .related-posts .card-img-wrapper { width:100%; height:auto!important; aspect-ratio:16/9; overflow:hidden; }
.sm-ui--article .related-posts .card-img.news { display:block; width:100%; height:100%; object-fit:cover; }
.sm-ui--article .related-posts h3 { margin:0!important; padding:20px; font-size:20px!important; line-height:1.35; }
.sm-ui--article .post-cta .bp-results-cta, .sm-ui--case .cs-cta-inner { max-width:1180px; width:100%; margin:0; display:block; }
.sm-ui--article .bp-results-stats, .sm-ui--case .cs-cta-right { display:none; }
.sm-ui--article .bp-results-left, .sm-ui--case .cs-cta-left { width:100%; max-width:780px; }
.sm-ui--article .post-cta .btn-wrapper { justify-content:flex-start; margin-top:24px; gap:16px; }
.sm-ui--case .bp-body-section { display:grid; grid-template-columns:240px minmax(0,780px); gap:64px; align-items:start!important; justify-content:space-between; }
.sm-ui--case .bp-content-col { max-width:780px; margin:0; }
.sm-project-facts { padding:24px; border:1px solid #dce4ef; background:#fff; border-radius:8px; }
.sm-ui.sm-ui--case .sm-project-facts h2 { margin:0 0 20px; font-size:20px; line-height:1.3; }
.sm-project-facts dl { margin:0; }
.sm-project-facts dt { font-size:13px; font-weight:600; color:#475467; margin:16px 0 4px; }
.sm-project-facts dd { margin:0; font-size:16px; line-height:1.5; }
.sm-project-facts nav { display:flex; flex-direction:column; gap:12px; border-top:1px solid #dce4ef; padding-top:20px; margin-top:24px; }
.sm-project-facts a { color:#003d82; font-size:15px; text-decoration:none; }
.sm-ui--case .cs-prose h2:first-child { margin-top:0; }
.sm-ui--case .cs-prose > p:has(em) { margin-top:28px; padding-top:20px; border-top:1px solid #dce4ef; font-size:15px; color:#475467; }
.sm-ui--case .cs-service-link { padding:20px!important; margin-top:24px!important; }
.sm-ui--case .cs-cta-band .h2 { font-size:clamp(28px,3vw,36px); }
.sm-ui--case .cs-cta-buttons { margin-top:24px; }
.sm-ui--about #services { padding-inline:max(24px,calc((100% - 1180px)/2))!important; }
.sm-ui--about #services .title-wrapper { max-width:820px; }
.sm-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; width:100%; }
.sm-service-card { display:flex; flex-direction:column; align-items:flex-start; padding:24px; border:1px solid #dce4ef; border-radius:10px; background:#fff; min-width:0; }
.sm-ui.sm-ui--about .sm-service-card h3 { font-size:22px; line-height:1.3; margin:20px 0 12px; }
.sm-service-card h3 a { color:#101828; text-decoration:none; }
.sm-ui.sm-ui--about .sm-service-card p { font-size:16px; line-height:1.65; margin:0 0 20px; }
.sm-service-link { margin-top:auto; color:#003d82; font-size:15px; font-weight:600; text-decoration:none; }
.sm-service-help { display:flex; flex-wrap:wrap; align-items:center; gap:20px 32px; margin-top:28px; }
.sm-service-help p { margin:0; }
@media(max-width:1023px) {
  .sm-editorial-hero-grid { gap:32px; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
  .sm-ui--case .bp-body-section { gap:32px; grid-template-columns:220px minmax(0,1fr); }
  .sm-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
  .sm-ui:is(.sm-ui--article,.sm-ui--case) #mainmate.sm-editorial-hero { padding:32px 24px 32px!important; }
  .sm-editorial-breadcrumb { margin-bottom:24px; font-size:13px; }
  .sm-editorial-hero-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .sm-ui #mainmate.sm-editorial-hero h1.home-h1 { font-size:30px!important; }
  .sm-ui #mainmate.sm-editorial-hero .sm-editorial-summary { font-size:16px; }
  .sm-editorial-photo { max-width:400px; }
  .sm-editorial-photo img { aspect-ratio:16/9; }
  .sm-editorial-actions { gap:16px; }
  .sm-editorial-button { padding:12px 16px; font-size:14px; }
  .sm-case-result { padding:24px; }
  .sm-case-result-number { font-size:30px; }
  .sm-ui--case .bp-body-section { display:flex; flex-direction:column; gap:28px; }
  .sm-project-facts { width:100%; }
  .sm-project-facts nav { flex-direction:row; flex-wrap:wrap; gap:12px 20px; }
  .sm-ui--article .sm-article-toc ul { grid-template-columns:minmax(0,1fr); }
  .sm-ui--article .direct-answer-block { padding:16px 20px; }
  .sm-ui--article .sm-article-toc { padding:20px; }
  .sm-ui--article .post-related-services .cms-list { grid-template-columns:minmax(0,1fr)!important; }
  .sm-ui--article .bp-related-case-studies > div { grid-template-columns:minmax(0,1fr)!important; }
  .sm-ui--article .related-posts .cms-list { grid-template-columns:minmax(0,1fr)!important; }
}
@media(max-width:600px) { .sm-service-grid { grid-template-columns:minmax(0,1fr); } }

/* About introduction uses the same 1:2 image/copy balance as the homepage. */
.sm-about-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:48px; align-items:start; width:100%; }
.sm-about-photo { margin:0; }
.sm-about-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:10px; }
.sm-ui--about #who .sm-about-intro .align-right, .sm-ui--about #who .sm-about-intro .about { width:100%!important; margin:0!important; padding:0; }
.sm-ui--about #who .sm-about-intro .about > div { margin:24px 0 0!important; gap:12px!important; }
@media(max-width:767px) { .sm-about-intro { grid-template-columns:minmax(0,1fr); gap:24px; } .sm-about-photo { max-width:320px; } }

.sm-editorial-cta { background:#eef3f9; border-top:1px solid #dce4ef; }
.sm-editorial-cta-inner { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:48px; align-items:center; width:100%; }
.sm-ui:is(.sm-ui--article,.sm-ui--case) .sm-editorial-cta h2 { font-size:clamp(28px,2.7vw,36px); margin:12px 0; }
.sm-editorial-cta .p { max-width:65ch; margin:0; }
.sm-editorial-cta-actions { display:flex; flex-direction:column; align-items:stretch; gap:12px; justify-self:end; }
.sm-editorial-button--outline { color:#003d82; background:transparent; }
.sm-ui.sm-ui--article .bp-prose details { margin:0; border-bottom:1px solid #dce4ef; }
.sm-ui.sm-ui--article .bp-prose details summary { display:flex; align-items:center; justify-content:space-between; gap:16px; list-style:none; cursor:pointer; padding:20px 0; font-size:18px; font-weight:600; line-height:1.5; }
.sm-ui.sm-ui--article .bp-prose details summary::-webkit-details-marker { display:none; }
.sm-ui.sm-ui--article .bp-prose details summary::before { display:none; }
.sm-ui.sm-ui--article .bp-prose details summary::after { content:'+'; display:flex; align-items:center; justify-content:center; flex:0 0 28px; width:28px; height:28px; border:1px solid #dce4ef; border-radius:50%; color:#003d82; font-size:20px; line-height:1; }
.sm-ui.sm-ui--article .bp-prose details[open] summary::after { content:'\2212'; }
.sm-ui.sm-ui--article .bp-prose details > p { margin:0 0 20px; }
@media(max-width:767px) {
  .sm-editorial-cta-inner { grid-template-columns:minmax(0,1fr); gap:24px; }
  .sm-editorial-cta-actions { justify-self:stretch; }
  .sm-ui.sm-ui--article .bp-prose details summary { font-size:16px; }
}

/* The legacy FAQ aligns its plus to the right edge after hiding Expand. */
.sm-ui .pf-toggle { justify-content:center!important; align-items:center!important; gap:0!important; }
.sm-ui .pf-toggle-icon { flex:0 0 auto; margin:0!important; }

/* Paragraph spacing comes from margins, not the theme's additional 15px padding. */
.sm-ui #mainmate.sm-editorial-hero p,
.sm-ui:is(.sm-ui--article,.sm-ui--case) .bp-prose p:not(.direct-answer-block),
.sm-ui:is(.sm-ui--article,.sm-ui--case) .sm-editorial-cta p,
.sm-ui.sm-ui--about .sm-service-card p { padding:0!important; }

/* About hero follows the service-page composition, without filled chips. */
.sm-ui--about #mainmate.sm-about-hero { display:block!important; margin:0!important; padding:64px max(24px,10%) 56px!important; height:auto!important; min-height:0; }
.sm-ui--about #mainmate.sm-about-hero::before { background:linear-gradient(105deg,#00446c80,#00446c26); }
.sm-about-hero-wrap { position:relative; z-index:2; width:100%; max-width:1480px; margin:auto; }
.sm-about-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:64px; align-items:center; }
.sm-about-hero-copy { min-width:0; }
.sm-ui--about #mainmate.sm-about-hero h1 { font-size:clamp(32px,3.1vw,52px)!important; line-height:1.16!important; font-weight:900; max-width:none; margin:0 0 28px; }
.sm-ui--about #mainmate.sm-about-hero h1 span { color:#fff!important; }
.sm-ui--about #mainmate.sm-about-hero .p { font-size:18px; line-height:1.65; max-width:65ch; color:#fff; margin:0; padding:0; }
.sm-ui--about #mainmate .sm-about-hero-note { font-size:14px; line-height:1.6; color:#e3edf7; margin:28px 0 0; padding:0; }
.sm-about-hero-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; width:100%; }
.sm-about-hero-nav a { display:flex; align-items:center; gap:18px; padding:24px 0; border-top:1px solid #ffffff45; color:#fff; font-size:16px; line-height:1.5; font-weight:600; text-decoration:none; min-width:0; }
.sm-about-nav-number { flex:0 0 30px; align-self:flex-start; color:#d0e4f0; font-size:14px; }
.sm-about-hero-nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.sm-about-hero-actions { margin-top:40px; }
.sm-about-hero-actions .ss-hero-cta-buttons { margin-top:0!important; }
@media(max-width:991px) {
  .sm-about-hero-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .sm-ui--about #mainmate.sm-about-hero { padding:48px 6% 40px!important; }
  .sm-about-hero-copy { max-width:780px; }
  .sm-about-hero-nav { max-width:780px; }
}
@media(max-width:767px) {
  .sm-ui--about #mainmate.sm-about-hero { padding:32px 24px!important; }
  .sm-ui--about #mainmate.sm-about-hero .p { font-size:16px; }
  .sm-about-hero-nav { gap:0 20px; }
  .sm-about-hero-nav a { gap:8px; padding:16px 0; font-size:15px; }
  .sm-about-nav-number { flex-basis:24px; font-size:13px; }
  .sm-about-hero-actions { margin-top:28px; }
}
