/* Inner pages, the scandiweb "phase 2" design (2026-10): /solutions/, /use-cases/, /blog/ and the
   capability pages. build.py writes the page frame (heroes, breadcrumbs, the share row, the closing
   CTA with its photo, the read-next and index card grids); a page's own content uses the pieces below.

   Heroes      .blog-hero (index pages, dark band) · .article-hero (inner pages, light card)
   Breadcrumbs .crumbs (--light inside .article-hero; the middle level folds to "…" on phones)
   Column      article.col > section.section > .block (h2 + p) · .block.subsection (h3 + p)
   Lists       .uc-neg__list (✗) · .uc-check (✓) · .bullets
   Panels      .steps-panel > .steps > .step (.num + .body) · .callout · .compare (stays / changes)
   Cards       .uc-cards--2/--3 > .uc-card · .uc-doc (document type card) · .uc-media (photo)
   Tables      .tbl-wrap > table.tbl · .comparison__table.uc-compare (the home page's comparison)
   Grids       .blog__grid > .blog-card · .read-next > .rn-grid · .sol-stack > .sol-card · .sol-tech
   Closing     .cta-section > .cta-deck + .cta-photo-frame

   Copied from the delivered pages' inline CSS, minus what our shared sheets already hold, the
   page-to-page veil and the wheel-scroll hijack (both left out on purpose — see build.py). */
:root { --grid-gap: 48px; } /* card grids; 32px at ≤1100, 24px at ≤767 (below) */
.uc-neg__list li { display:flex;gap:12px;align-items:center;font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.uc-neg__icon { flex:0 0 20px;color:var(--uc-negative) }
.uc-cards { display:grid;gap:24px;align-items:start }
.uc-sec--compare .block h2 { text-align:center }
@media (max-width:767px) {
  .uc-neg__list li { align-items:flex-start }
  .uc-neg__icon { margin-top:2px }
  .uc-sec { gap:16px }
  .uc-cards { gap:16px }
  .uc-cards--3,.uc-cards--2 { grid-template-columns:minmax(0,1fr) }
  .uc-card { padding:24px;border-radius:var(--radius-12);gap:8px }
  .uc-card.uc-doc { gap:16px }
  .uc-spec { grid-template-columns:minmax(0,1fr);row-gap:20px;padding:24px;border-radius:var(--radius-12) }
  .uc-sec--compare { margin-left:-16px;margin-right:-16px }
  .uc-sec--compare > .block { padding:0 16px;text-align:center;align-items:center }
  .uc-compare { width:100%;margin:0 }
}
.toc__link { display:block;font:400 18px/24px var(--font);letter-spacing:-.04em;color:var(--brand-secondary);text-decoration:none;transition:color .25s ease }
@media (max-width:767px) {
  .article-hero { margin:12px 16px 0;border-radius:12px;background:var(--surface-card);padding:24px 24px 32px }
  .article-hero__inner { gap:24px }
  .article-hero__heading { gap:24px }
  .article-hero h1 { font:500 32px/36px var(--font);letter-spacing:-.03em }
  .article-hero .lead { font:400 20px/24px var(--font) }
  article.col { gap:48px;padding:48px 16px 64px }
  .section { gap:24px }
  article.col h2 { font:500 24px/28px var(--font);letter-spacing:-.02em }
  article.col h3 { font:500 20px/24px var(--font);letter-spacing:-.02em }
  .subsection { gap:8px }
  .subsection p { font:400 16px/20px var(--font) }
  .steps-panel { padding:24px;gap:20px }
  .steps { gap:24px }
  .step { gap:16px }
  .step .body { gap:8px;padding-top:5px }
  .step h3 { font:500 20px/24px var(--font) }
  .cta-section { flex-direction:column;min-height:0 }
  .cta-deck { width:100%;padding:48px 24px;margin-bottom:-32px;border-radius:0 0 24px 24px;gap:24px }
  .cta-text { gap:16px }
  .cta-deck h2 { font:500 32px/36px var(--font);letter-spacing:-.03em }
  .cta-deck p { font:400 20px/24px var(--font);letter-spacing:-.04em }
  .cta-actions { flex-wrap:nowrap;width:100% }
  .cta-actions .btn { flex:1 1 0;min-width:0;padding:11px 12px }
  .cta-photo-frame { position:relative;width:100%;height:auto;display:grid;place-items:center;grid-template-columns:minmax(0,1fr);border-radius:0 0 var(--radius-12) var(--radius-12) }
  .cta-photo-frame::before { content:"";display:block;grid-area:1/1;width:100%;padding-top:62.5% }
  .cta-photo-frame > * { grid-area:1/1 }
  .read-next { padding:64px 16px }
  .read-next h2 { font:500 32px/36px var(--font);letter-spacing:-.03em }
  .rn-grid { display:flex;grid-template-columns:none;gap:16px; margin-left:-16px;margin-right:-16px;padding-left:16px; overflow-x:auto;-webkit-overflow-scrolling:touch; scroll-snap-type:x proximity;scroll-padding-left:16px; scrollbar-width:none;-ms-overflow-style:none; }
  .rn-grid::-webkit-scrollbar { display:none }
  .rn-grid::after { content:"";flex:0 0 0px;align-self:stretch }
  .rn-card { flex:0 0 280px;scroll-snap-align:start }
  .compare { flex-direction:column }
  .pullquote__text { font:400 24px/28px var(--font) }
  .callout { border-radius:var(--radius-12) }
  .callout__content { padding:16px }
  .callout__title { font:500 20px/24px var(--font);letter-spacing:-.02em }
  .tbl-wrap.is-bleed { display:flex;margin-left:-16px;margin-right:-16px;padding-left:16px;border:0;border-radius:0 }
  .tbl-wrap.is-bleed::after { content:"";flex:0 0 16px;align-self:stretch }
  .tbl-wrap.is-bleed .tbl { flex:0 0 auto;border:1px solid var(--border-divider);border-radius:var(--radius-12) }
  .tbl-wrap.is-bleed .tbl th:last-child,.tbl-wrap.is-bleed .tbl td:last-child { padding-right:24px }
}
.uc-tag--s { padding:4px 12px;font:400 12px/16px var(--font);letter-spacing:-.04em;background:var(--surface-white) }
.uc-sec--compare { gap:32px }
.uc-neg__list li { display:flex;gap:12px;align-items:flex-start;font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.uc-check li { display:flex;gap:12px;align-items:center;font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.uc-neg__icon { flex:0 0 20px;margin-top:2px;color:var(--uc-negative) }
.uc-check__badge { flex:0 0 28px;width:28px;height:28px;border-radius:var(--radius-full);background:var(--brand-accent);color:var(--text-ink);display:flex;align-items:center;justify-content:center }
@media (max-width:767px) {
  .uc-sec { gap:16px }
  .uc-cards { gap:16px }
  .uc-cards--3,.uc-cards--2 { grid-template-columns:minmax(0,1fr) }
  .uc-card { padding:24px;border-radius:var(--radius-12);gap:8px }
  .uc-card.uc-doc { gap:16px }
  .uc-spec { grid-template-columns:minmax(0,1fr);row-gap:20px;padding:24px;border-radius:var(--radius-12) }
  .uc-sec--compare { margin-left:-16px;margin-right:-16px }
  .uc-sec--compare > .block { padding:0 16px;text-align:center;align-items:center }
  .uc-compare { width:100%;margin:0 }
}
.uc-tags { display:flex;flex-wrap:wrap;gap:8px }
.uc-tag { display:inline-flex;align-items:center;padding:6px 16px;border-radius:var(--radius-8);background:var(--surface-accent);font:400 14px/18px var(--font);letter-spacing:-.04em;color:var(--text-ink);white-space:nowrap }
.uc-tag--s { padding:4px 12px;font:400 12px/16px var(--font);letter-spacing:-.04em }
.uc-sec { gap:24px }
.uc-neg { gap:16px }
.uc-neg__list,.uc-check { list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px }
.uc-neg__list li,.uc-check li { display:flex;gap:12px;align-items:flex-start;font:400 20px/24px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.uc-neg__icon { flex:0 0 20px;margin-top:0;color:var(--uc-negative) }
.uc-neg__list li { font:400 16px/20px var(--font);letter-spacing:-.04em }
.uc-media { width:100%;aspect-ratio:800/351;border-radius:var(--radius-16);overflow:hidden }
.uc-media img { display:block;width:100%;height:100%;object-fit:cover }
.uc-check__badge { flex:0 0 32px;width:32px;height:32px;border-radius:var(--radius-full);background:var(--brand-accent);color:var(--text-ink);display:flex;align-items:center;justify-content:center }
.uc-check li > span:last-child { padding-top:4px }
.uc-cards { display:grid;gap:24px }
.uc-cards--3 { grid-template-columns:repeat(3,minmax(0,1fr)) }
.uc-cards--2 { grid-template-columns:repeat(2,minmax(0,1fr)) }
.uc-card { display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:var(--radius-16);background:var(--surface-card);min-width:0 }
.steps-panel .uc-card { background:var(--surface-white);border-radius:var(--radius-12) }
.uc-card p { font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.uc-doc { gap:16px }
.uc-doc__group { display:flex;flex-direction:column;gap:8px }
.uc-doc__label { font:600 12px/16px var(--font);letter-spacing:-.04em;color:var(--text-muted) }
.uc-doc__tags { display:flex;flex-wrap:wrap;gap:8px }
.uc-card .uc-card__img,.blog-card .blog-card__img { display:block;overflow:hidden;border-radius:var(--radius-12) }
.uc-card .uc-card__img img,.blog-card .blog-card__img img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.22,.61,.36,1) }
.uc-card:hover .uc-card__img img,.blog-card:hover .blog-card__img img { transform:scale(1.04) }
@media (prefers-reduced-motion:reduce) {
  .uc-card:hover .uc-card__img img,.blog-card:hover .blog-card__img img { transform:none }
}
.uc-spec { margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:24px;padding:32px;border-radius:var(--radius-16);background:var(--brand-primary) }
.uc-spec__item { display:flex;flex-direction:column;gap:8px;min-width:0 }
.uc-spec dt { font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--brand-accent) }
.uc-spec dd { margin:0;font:400 14px/18px var(--font);letter-spacing:-.04em;color:var(--text-inverse) }
.uc-compare { max-width:none;grid-template-columns:minmax(0,220fr) minmax(0,300fr) minmax(0,280fr);grid-template-rows:80px repeat(var(--rows,5),minmax(76px,auto)) 48px }
.uc-compare .comparison__cell--feature { white-space:normal }
.uc-compare .comparison__cell p { font:inherit;letter-spacing:inherit;color:inherit }
.uc-compare .comparison__row--head .comparison__cell { white-space:normal;text-align:center }
@media (max-width:767px) {
  .uc-tags { display:none }
  .uc-sec { gap:16px }
  .uc-cards { gap:16px }
  .uc-cards--3,.uc-cards--2 { grid-template-columns:minmax(0,1fr) }
  .uc-media { aspect-ratio:343/150;border-radius:var(--radius-12) }
  .uc-card { padding:16px;border-radius:var(--radius-12) }
  .uc-spec { grid-template-columns:minmax(0,1fr);row-gap:20px;padding:24px;border-radius:var(--radius-12) }
  .uc-sec--compare { margin-left:-16px;margin-right:-16px }
  .uc-sec--compare > .block { padding:0 16px;text-align:center;align-items:center }
  .uc-compare { width:100%;margin:0 }
}
.blog-hero { position: relative; background: var(--brand-primary); color: var(--surface-white); font-family: var(--font); will-change: transform; }
.blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; width: 100%; align-items: stretch; }
.blog-pagination { display: flex; align-items: center; justify-content: center; gap: 32px; padding: 16px; border-radius: var(--radius-16); background: var(--surface-section); }
.blog-pagination__arrow { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; cursor: pointer; border-radius: var(--radius-8); background: var(--surface-subtle); color: var(--brand-primary); transition: background-color .2s ease; }
.blog-pagination__pages { display: flex; align-items: center; gap: 16px; }
.blog-pagination__page { border: 0; background: none; padding: 0; cursor: pointer; font: 600 16px/24px var(--font); letter-spacing: -0.64px; color: var(--brand-primary); }
.blog-pagination__gap { font: 600 16px/24px var(--font); letter-spacing: -0.64px; color: var(--brand-primary); }
@media (max-width: 1100px) {
  .blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
}
@media (max-width: 767px) {
  .blog-hero__inner { padding: 64px var(--page-pad) calc(64px + 32px); margin-bottom: -32px; gap: 20px; }
  .blog-hero__title { font: 500 40px/44px var(--font); letter-spacing: -1.6px; }
  .blog-hero__sub { font: 400 24px/28px var(--font); letter-spacing: -0.96px; }
  .blog { border-radius: 24px 24px 0 0; }
  .blog__inner { padding: 16px var(--page-pad) 64px; gap: 32px; }
  .blog-card.card-enter { opacity: 0; transform: translateY(28px) scale(.94); }
  .blog-card.card-enter.is-in { opacity: 1; transform: none; transition: opacity .55s ease, transform .7s cubic-bezier(.16, 1, .3, 1); }
  .blog__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .blog-card { border-radius: var(--radius-12); }
  .blog-card__top { padding: 24px; border-radius: var(--radius-12); }
  .blog-card__band { padding: 12px 16px; }
  .blog-card__go { background: var(--brand-primary); color: var(--surface-white); }
  .blog-card__title { font: 500 20px/24px var(--font); letter-spacing: -0.4px; }
  .blog__pagination-wrap { padding-top: 16px; }
  .blog-pagination { gap: 20px; }
  .blog-pagination__pages { gap: 12px; }
}
.article-hero { width:auto;background:var(--surface-card);border-radius:var(--radius-16);margin:16px 48px 0;padding:80px 16px }
.article-hero__inner { max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:32px;align-items:flex-start }
.article-hero__heading { display:flex;flex-direction:column;gap:32px;align-items:flex-start }
.article-hero__tags { display:flex;flex-wrap:wrap;gap:8px;align-items:center }
.article-hero__tag { display:inline-flex;align-items:center;padding:6px 16px;border-radius:var(--radius-8);background:var(--surface-accent);font:400 14px/18px var(--font);letter-spacing:-.04em;color:var(--text-ink);white-space:nowrap }
@media (min-width:768px) {
  .article-hero__inner { padding:0 16px }
}
.backlink { display:inline-flex;align-items:center;gap:12px;color:var(--text-ink);text-decoration:none }
.backlink .label { font:400 16px/20px var(--font);letter-spacing:-.04em }
.backlink .pill { display:inline-flex;align-items:center;justify-content:center;width:40px;height:32px;border-radius:var(--radius-12);background:var(--brand-primary);transition:background .2s ease }
.backlink .pill svg { stroke:var(--surface-white);transition:stroke .2s ease }
.backlink:hover .pill { background:var(--brand-accent) }
.backlink:hover .pill svg { stroke:var(--brand-primary) }
.backlink .label { position:relative }
.backlink .label::after { content:"";position:absolute;left:0;right:0;bottom:-3px;height:1.5px;background:var(--brand-primary);transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.16,1,.3,1) }
.backlink:hover .label::after { transform:scaleX(1);transform-origin:left }
.crumbs--light .crumbs__list { list-style:none;margin:0;padding:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font:400 14px/18px var(--font);letter-spacing:-.56px }
.crumbs--light .crumbs__item { display:flex;align-items:center;gap:8px;color:var(--text-ink) }
.crumbs--light .crumbs__item+.crumbs__item::before { content:"/";color:rgba(8,42,28,.4) }
.crumbs--light .crumbs__link { position:relative;color:rgba(8,42,28,.64);text-decoration:none;transition:color .25s ease }
.crumbs--light .crumbs__link::after { content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--text-ink);transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.16,1,.3,1) }
.crumbs--light .crumbs__link:hover { color:var(--text-ink) }
.crumbs--light .crumbs__link:hover::after { transform:scaleX(1);transform-origin:left }
.crumbs__ellipsis { appearance:none;border:0;margin:0;padding:0;background:none;color:rgba(8,42,28,.64);font:inherit;letter-spacing:inherit;cursor:pointer }
.crumbs__ellipsis:focus-visible { outline:2px solid var(--text-ink);outline-offset:2px }
@media (max-width:767px) {
  .crumbs--light .crumbs__more { display:flex }
  .crumbs--light .crumbs__mid { display:none }
  .crumbs--light .crumbs__list { flex-wrap:nowrap;align-items:flex-start }
  .crumbs--light .crumbs__item { flex:none;min-height:22px;align-items:center }
  .crumbs--light .crumbs__item[aria-current] { flex:1 1 auto;min-width:0;align-items:flex-start;padding-top:2px }
  .crumbs--light.is-expanded .crumbs__more { display:none }
  .crumbs--light.is-expanded .crumbs__mid { display:flex;animation:crumbs-in .3s ease }
}
@keyframes crumbs-in { from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:none} }
@media (prefers-reduced-motion:reduce) {
  .crumbs--light.is-expanded .crumbs__mid { animation:none }
}
.crumbs--light .crumbs__list { display:block }
.crumbs--light .crumbs__item { display:inline }
.crumbs--light .crumbs__item+.crumbs__item::before { margin:0 8px }
.crumbs--light .crumbs__more { display:none }
@media (max-width:767px) {
  .crumbs--light .crumbs__more { display:inline }
  .crumbs--light .crumbs__mid { display:none }
  .crumbs--light .crumbs__item[aria-current] { padding-top:0 }
  .crumbs--light.is-expanded .crumbs__more { display:none }
  .crumbs--light.is-expanded .crumbs__mid { display:inline }
}
.article-hero h1 { font:500 54px/58px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.article-hero .meta { font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-muted) }
.article-hero .lead { font:400 24px/28px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
article.col { max-width:832px;margin:0 auto;display:flex;flex-direction:column;gap:56px;padding:64px 16px 120px }
.section { display:flex;flex-direction:column;gap:32px }
.block { display:flex;flex-direction:column;gap:16px }
article.col h2 { font:500 32px/36px var(--font);letter-spacing:-.03em;color:var(--text-ink);text-wrap:balance }
article.col h3 { font:500 24px/28px var(--font);letter-spacing:-.03em;color:var(--text-ink) }
.section p,.steps p,.bullets-block p { font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.subsection { gap:12px }
.subsection p { font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.section p + p { margin-top:16px }
.steps-panel { background:var(--surface-card);border-radius:var(--radius-16);padding:48px;display:flex;flex-direction:column;gap:24px }
.steps { display:flex;flex-direction:column;gap:24px }
.step { display:flex;gap:16px;align-items:flex-start }
.step .num { flex:0 0 36px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);background:var(--brand-accent);color:var(--text-ink);font:600 16px/20px var(--font);letter-spacing:-.04em }
.step .body { display:flex;flex-direction:column;gap:12px;padding-top:4px }
.step .body p { font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.bullets { list-style:none;display:flex;flex-direction:column;gap:12px }
.bullets li { display:flex;gap:12px;align-items:center;font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.bullets li::before { content:"";flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--text-muted) }
.share { display:flex;gap:16px }
.share button { display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);border:0;background:var(--brand-primary);color:var(--surface-white);cursor:pointer;transition:background .2s ease,color .2s ease }
.share button:hover { background:var(--brand-accent);color:var(--brand-primary) }
.share svg { display:block }
.read-next { max-width:var(--container-w);margin:0 auto;box-sizing:border-box;padding:var(--section-pad) var(--page-pad) }
.read-next-inner { display:flex;flex-direction:column;gap:24px }
.read-next h2 { font:500 54px/58px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.rn-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap) }
.rn-card[hidden] { display:none }
@media (min-width:1101px) {
  .rn-grid { --card-min:360px;grid-template-columns:repeat(auto-fill,minmax(max(var(--card-min),calc((100% - 3 * var(--grid-gap)) / 4)),1fr)) }
}
.toc { position:fixed;z-index:40; --toc-w:240px;--toc-gap:32px; top:var(--toc-top,140px); width:var(--toc-w); left:calc(50% - 400px - var(--toc-w) - var(--toc-gap)); display:none;flex-direction:column;gap:24px; opacity:0;transform:translateY(8px);pointer-events:none; transition:opacity .4s ease,transform .4s ease; }
.toc.is-on { opacity:1;transform:none;pointer-events:auto }
.toc__eyebrow { display:flex;align-items:center;gap:8px;font:600 14px/18px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted) }
.toc__eyebrow::before { content:"";flex:0 0 6px;width:6px;height:6px;border-radius:var(--radius-full);background:currentColor }
.toc__list { list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px }
.toc__link { display:block;font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--brand-secondary);text-decoration:none;transition:color .25s ease }
.toc__link:hover { color:var(--text-muted) }
.toc__item.is-active .toc__link { color:var(--text-ink) }
.toc__link:focus-visible { outline:2px solid var(--text-ink);outline-offset:3px;border-radius:2px }
article.col h2[id] { scroll-margin-top:120px }
@media (min-width:1440px) {
  .toc { display:flex }
}
@media (min-width:1728px) {
  .toc { --toc-w:288px;--toc-gap:64px }
}
@media (min-width:1920px) {
  .toc { --toc-w:320px;--toc-gap:140px }
}
@media (prefers-reduced-motion:reduce) {
  .toc { transition:none;transform:none }
}
.callout { display:flex;border-radius:var(--radius-16);background:var(--surface-card);overflow:hidden }
.callout__bar { flex:0 0 4px;background:var(--brand-accent) }
.callout__content { display:flex;flex-direction:column;gap:12px;padding:24px;min-width:0 }
.callout__title { font:500 24px/28px var(--font);letter-spacing:-.03em;color:var(--text-ink) }
.callout__content p { font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.callout__content p + p { margin-top:0 }
.pullquote { display:flex;flex-direction:column;gap:12px;padding-left:24px;border-left:4px solid var(--brand-primary) }
.pullquote__text { font:400 28px/32px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.pullquote__by { font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-muted) }
.compare-section { gap:24px }
.tbl-section { gap:24px }
.compare { display:flex;gap:24px }
.compare__card { flex:1;display:flex;flex-direction:column;gap:16px;padding:24px;border-radius:var(--radius-12);background:var(--surface-card);min-width:0 }
.compare__label { font:500 24px/28px var(--font);letter-spacing:-.03em;color:var(--text-ink) }
.compare__items { display:flex;flex-direction:column;gap:12px }
.compare__item { position:relative;padding-left:20px;font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.compare__item::before { content:"";position:absolute;left:0;top:6px;width:8px;height:8px;border-radius:50%;background:var(--text-muted) }
.tbl-wrap { overflow-x:auto;border-radius:var(--radius-12);border:1px solid var(--border-divider) }
table.tbl { width:100%;min-width:560px;border-collapse:separate;border-spacing:0;border-radius:var(--radius-12);overflow:hidden }
.tbl th { background:var(--brand-primary);color:var(--surface-white);font:600 14px/18px var(--font);letter-spacing:-.04em;text-align:left;padding:12px 16px }
.tbl td { font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-ink);padding:12px 16px;vertical-align:top }
.tbl td:first-child { font:600 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.tbl tbody tr:nth-child(odd) { background:var(--surface-white) }
.tbl tbody tr:nth-child(even) { background:var(--surface-card) }
@media (max-width:1100px) {
  .rn-grid { grid-template-columns:1fr 1fr }
}
@media (max-width:960px) {
  .article-hero { margin:16px }
}
@media (max-width:767px) {
  .article-hero { margin:12px 16px 0;border-radius:12px;background:var(--surface-card);padding:24px 24px 32px }
  .article-hero__inner { gap:24px }
  .article-hero__heading { gap:24px }
  .article-hero h1 { font:500 32px/36px var(--font);letter-spacing:-.03em }
  .article-hero .lead { font:400 20px/24px var(--font) }
  article.col { gap:48px;padding:48px 16px 64px }
  .section { gap:24px }
  .block { gap:12px }
  article.col h2 { font:500 24px/28px var(--font);letter-spacing:-.02em }
  article.col h3 { font:500 20px/24px var(--font) }
  .subsection { gap:8px }
  .subsection p { font:400 16px/20px var(--font) }
  .steps-panel { padding:24px;gap:20px }
  .steps { gap:24px }
  .step { gap:16px }
  .step .body { gap:8px;padding-top:6px }
  .step h3 { font:500 20px/24px var(--font) }
  .cta-section { flex-direction:column;min-height:0 }
  .cta-deck { width:100%;padding:48px 24px;margin-bottom:-32px;border-radius:0 0 24px 24px;gap:24px }
  .cta-text { gap:16px }
  .cta-deck h2 { font:500 32px/36px var(--font);letter-spacing:-.03em }
  .cta-deck p { font:400 20px/24px var(--font);letter-spacing:-.04em }
  .cta-actions { flex-wrap:nowrap;width:100% }
  .cta-actions .btn { flex:1 1 0;min-width:0;padding:11px 12px }
  .cta-photo-frame { position:relative;width:100%;height:auto;display:grid;place-items:center;grid-template-columns:minmax(0,1fr);border-radius:0 0 var(--radius-12) var(--radius-12) }
  .cta-photo-frame::before { content:"";display:block;grid-area:1/1;width:100%;padding-top:62.5% }
  .cta-photo-frame > * { grid-area:1/1 }
  .read-next { padding:64px 16px }
  .read-next h2 { font:500 32px/36px var(--font);letter-spacing:-.03em }
  .rn-grid { display:flex;grid-template-columns:none;gap:16px; margin-left:-16px;margin-right:-16px;padding-left:16px; overflow-x:auto;-webkit-overflow-scrolling:touch; scroll-snap-type:x proximity;scroll-padding-left:16px; scrollbar-width:none;-ms-overflow-style:none; }
  .rn-grid::-webkit-scrollbar { display:none }
  .rn-grid::after { content:"";flex:0 0 0px;align-self:stretch }
  .rn-card { flex:0 0 280px;scroll-snap-align:start }
  .compare-section { gap:16px }
  .tbl-section { gap:16px }
  .compare { flex-direction:column;gap:16px }
  .compare__card { padding:16px }
  .compare__label { font:500 20px/24px var(--font) }
  .pullquote__text { font:400 24px/28px var(--font) }
  .callout { border-radius:var(--radius-12) }
  .callout__content { padding:16px }
  .tbl-wrap.is-bleed { display:flex;margin-left:-16px;margin-right:-16px;padding-left:16px;border:0;border-radius:0 }
  .tbl-wrap.is-bleed::after { content:"";flex:0 0 16px;align-self:stretch }
  .tbl-wrap.is-bleed .tbl { flex:0 0 auto;border:1px solid var(--border-divider);border-radius:var(--radius-12) }
  .tbl-wrap.is-bleed .tbl th:last-child,.tbl-wrap.is-bleed .tbl td:last-child { padding-right:24px }
}
.blog-card__meta { margin: 0; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font: 400 14px/18px var(--font); letter-spacing: -0.56px; color: var(--text-muted); }
@media (max-width: 1100px) {
  :root { --grid-gap: 32px; }
}
@media (max-width: 767px) {
  :root { --grid-gap: 24px; }
}
.blog-hero { position: relative; background: url("../assets/pages/hero-pattern.png") left top / 100px 100px repeat, var(--brand-primary); color: var(--surface-white); font-family: var(--font); will-change: transform; }
.blog-hero::after { content: ""; position: absolute; inset: 0; background: #000; opacity: var(--hero-dk, 0); pointer-events: none; }
.blog-hero__inner { max-width: var(--container-w); margin: 0 auto; box-sizing: border-box; padding: 100px var(--page-pad) calc(120px + 48px); margin-bottom: -48px; display: flex; flex-direction: column; align-items: center; gap: 24px; text-align: center; }
.blog-hero__title { margin: 0; }
.blog-hero__sub { margin: 0; font: 400 28px/32px var(--font); letter-spacing: -1.12px; max-width: 1000px; }
.crumbs { align-self: stretch; margin-bottom: 12px; }
.crumbs__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font: 400 14px/18px var(--font); letter-spacing: -0.56px; }
.crumbs__item { display: flex; align-items: center; gap: 8px; color: var(--surface-white); }
.crumbs__item + .crumbs__item::before { content: "/"; color: rgba(255, 255, 255, .4); }
.crumbs__link { position: relative; color: rgba(255, 255, 255, .64); text-decoration: none; transition: color .25s ease; }
.crumbs__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 1px; background: var(--surface-white); transform: scaleX(0); transform-origin: right; transition: transform .45s cubic-bezier(.16, 1, .3, 1); }
.crumbs__link:hover { color: var(--surface-white); }
.crumbs__link:hover::after { transform: scaleX(1); transform-origin: left; }
.crumbs__list { justify-content: center; }
.blog { position: relative; z-index: 1; background: var(--surface-white); border-radius: 48px 48px 0 0; font-family: var(--font); color: var(--text-ink); }
.blog__inner { max-width: var(--container-w); margin: 0 auto; box-sizing: border-box; padding: 100px var(--page-pad) 120px; display: flex; flex-direction: column; align-items: center; gap: 48px; }
.blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); width: 100%; align-items: stretch; }
@media (min-width: 1101px) {
  .blog__grid { --card-min: 360px; grid-template-columns: repeat(auto-fill, minmax(max(var(--card-min), calc((100% - 3 * var(--grid-gap)) / 4)), 1fr)); }
}
.blog-card { position: relative; display: flex; flex-direction: column; box-sizing: border-box; border-radius: var(--radius-16); background: rgba(221, 227, 231, .75); transition: background .25s ease; overflow: hidden; text-decoration: none; color: inherit; }
.blog-card__top { display: flex; flex-direction: column; gap: 16px; box-sizing: border-box; flex: 1 0 auto; width: 100%; padding: 32px; border-radius: var(--radius-16); background: var(--surface-card); transition: background .25s ease; }
.blog-card__meta { margin: 0; font: 400 14px/18px var(--font); letter-spacing: -0.56px; color: var(--text-muted); }
.blog-card__title { margin: 0; font: 500 24px/28px var(--font); letter-spacing: -0.72px; color: var(--brand-primary); }
.blog-card__text { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.blog-card__excerpt { margin: 0; font: 400 16px/20px var(--font); letter-spacing: -0.64px; color: var(--text-muted); }
.blog-card__band { display: flex; align-items: center; gap: 24px; box-sizing: border-box; width: 100%; padding: 12px 32px; transition: background .25s ease; }
.blog-card__tags { display: flex; flex-wrap: nowrap; gap: 8px; flex: 1; min-width: 0; align-items: center; overflow: hidden; }
.blog-card__tags > .blog-card__tag { flex: none; }
.blog-card__tag { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: var(--radius-8); background: var(--surface-card); font: 400 12px/16px var(--font); letter-spacing: -0.48px; color: var(--brand-primary); white-space: nowrap; }
.blog-card__go { display: flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 32px; border-radius: var(--radius-12); background: transparent; color: transparent; transition: background-color .25s ease, color .25s ease; }
@media (hover: hover) {
  .blog-card:hover { background: var(--surface-accent); }
  .blog-card:hover .blog-card__top { background: #e6eaed; }
  .blog-card:hover .blog-card__band { background: #cfd7dc; }
  .blog-card:hover .blog-card__go { background: var(--brand-primary); color: var(--surface-white); }
  .blog-card:hover .blog-card__go:hover { background: var(--brand-accent); color: var(--brand-primary); }
}
.blog-card:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 2px; }
.blog__pagination-wrap { padding-top: 32px; }
.blog-pagination { display: flex; align-items: center; justify-content: center; gap: 24px; padding: 16px; border-radius: var(--radius-16); background: var(--surface-section); box-shadow: 0 8px 24px rgba(8, 42, 28, .1); }
.blog-pagination__arrow { display: flex; align-items: center; justify-content: center; width: 40px; height: 32px; border: 0; cursor: pointer; border-radius: var(--radius-12); background: var(--surface-subtle); color: var(--brand-primary); transition: background-color .2s ease; }
.blog-pagination__arrow:hover:not(:disabled) { background: var(--brand-accent); }
.blog-pagination__arrow:disabled { opacity: .4; cursor: default; }
.blog-pagination__pages { display: flex; align-items: center; gap: 12px; }
.blog-pagination__page { border: 0; background: none; padding: 0; cursor: pointer; min-width: 20px; text-align: center; font: 600 16px/24px var(--font); letter-spacing: -0.64px; color: var(--brand-primary); }
.blog-pagination__page:hover { text-decoration: underline; text-underline-position: from-font; }
.blog-pagination__page.is-current { text-decoration: underline; text-underline-position: from-font; cursor: default; }
.blog-pagination__gap { min-width: 20px; text-align: center; font: 600 16px/24px var(--font); letter-spacing: -0.64px; color: var(--brand-primary); }
@media (max-width: 1100px) {
  .blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .blog-hero__inner { padding: 64px var(--page-pad) calc(64px + 32px); margin-bottom: -32px; gap: 20px; }
  .blog-hero { background-size: 64px 64px, auto; }
  .blog-hero__title { font: 500 40px/44px var(--font); letter-spacing: -1.6px; }
  .blog-hero__sub { font: 400 24px/28px var(--font); letter-spacing: -0.96px; }
  .blog { border-radius: 24px 24px 0 0; }
  .blog__inner { padding: 16px var(--page-pad) 64px; gap: 32px; }
  .blog-card.card-enter { opacity: 0; transform: translateY(28px) scale(.94); }
  .blog-card.card-enter.is-in { opacity: 1; transform: none; transition: opacity .55s ease, transform .7s cubic-bezier(.16, 1, .3, 1); }
  .blog__grid { grid-template-columns: minmax(0, 1fr); }
  .blog-card { border-radius: var(--radius-12); }
  .blog-card__top { padding: 24px; border-radius: var(--radius-12); }
  .blog-card__band { padding: 12px 16px; }
  .blog-card__go { background: var(--brand-primary); color: var(--surface-white); }
  .blog-card__title { font: 500 20px/24px var(--font); letter-spacing: -0.4px; }
  .blog__pagination-wrap { padding-top: 16px; }
}
.sol-inner { padding:100px var(--page-pad) 0;gap:32px }
.sol-stack { display:flex;flex-direction:column;gap:48px;width:100% }
.sol-card { box-sizing:border-box;width:100%; display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px; padding:16px;background:var(--surface-card);border-radius:var(--radius-16); overflow:hidden; }
.sol-card__copy { display:flex;flex-direction:column;align-items:flex-start;gap:32px;padding:32px 0 32px 32px;min-width:0 }
.sol-card--imgleft .sol-card__copy { order:2;padding:32px 32px 32px 0 }
.sol-card--imgleft .sol-card__visual { order:1 }
.sol-card__head { display:flex;flex-direction:column;gap:20px;width:100% }
.sol-card__head h2 { margin:0;font:500 54px/58px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.sol-card__head p { margin:0;font:400 24px/28px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.sol-checks { display:flex;flex-direction:column;gap:12px;width:100% }
.sol-check { display:flex;gap:12px;align-items:center }
.sol-check__badge { flex:0 0 28px;width:28px;height:28px;border-radius:999px;background:var(--brand-accent);display:flex;align-items:center;justify-content:center }
.sol-check__badge svg { display:block;width:14px;height:14px }
.sol-check p { margin:0;font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.sol-systems { display:flex;flex-direction:column;gap:8px;width:100% }
.sol-systems__label { margin:0;font:600 14px/18px var(--font);letter-spacing:-.04em;color:var(--text-muted) }
.sol-tags { display:flex;flex-wrap:wrap;gap:8px;width:100% }
.sol-tag { display:inline-flex;align-items:center;padding:6px 16px;border-radius:var(--radius-8);background:var(--surface-white);font:400 14px/18px var(--font);letter-spacing:-.04em;color:var(--text-ink);white-space:nowrap }
.sol-card__btn { display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-12);background:var(--brand-primary);color:var(--surface-white);font:600 16px/24px var(--font);letter-spacing:-.04em;text-decoration:none;transition:background .25s ease,color .25s ease }
.sol-card__btn:hover { background:var(--brand-accent);color:var(--brand-primary) }
.sol-card__visual { position:relative;border-radius:var(--radius-12);overflow:hidden;min-height:100% }
.sol-card__visual img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s cubic-bezier(.22,.61,.36,1) }
.sol-card:hover .sol-card__visual img { transform:scale(1.04) }
.sol-card__visual img.sol-img--left { object-position:left center }
@media (prefers-reduced-motion:reduce) {
  .sol-card:hover .sol-card__visual img { transform:none }
}
.sol-tech { background:var(--surface-white);font-family:var(--font) }
.sol-tech__inner { max-width:var(--container-w);margin:0 auto;box-sizing:border-box;padding:120px var(--page-pad);display:flex;flex-direction:column;gap:48px }
.sol-tech__title { margin:0;font:500 54px/58px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
.sol-tech__row { display:flex;align-items:stretch;gap:24px }
.sol-tech__card { flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:stretch;border-radius:var(--radius-12);overflow:hidden }
.sol-tech__strip { width:100%;height:40px;flex-shrink:0 }
.sol-tech__strip--accent { background:var(--brand-accent) }
.sol-tech__strip--primary { background:var(--brand-primary) }
.sol-tech__strip--grey { background:var(--surface-accent) }
.sol-tech__body { flex:1 0 auto;box-sizing:border-box;margin-top:-16px;border-radius:var(--radius-12);position:relative;background:var(--surface-card);padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:12px }
.sol-tech__chip { display:flex;align-items:center;justify-content:center;padding:12px;border-radius:var(--radius-full);background:var(--surface-accent);flex-shrink:0 }
.sol-tech__chip svg { display:block;width:40px;height:40px }
.sol-tech__spacer { height:48px;width:100% }
.sol-tech__name { margin:0;font:500 24px/28px var(--font);letter-spacing:-.03em;color:var(--text-ink) }
.sol-tech__rule { width:100%;height:1px;background:var(--surface-accent) }
.sol-tech__desc { margin:0;font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-muted) }
.sol-tech__feats { display:flex;flex-direction:column;gap:8px;padding-top:8px;width:100% }
.sol-tech__feat { display:flex;gap:12px;align-items:flex-start }
.sol-tech__feat::before { content:"";flex:0 0 6px;width:6px;height:6px;margin-top:7px;border-radius:50%;background:var(--text-muted) }
.sol-tech__feat p { margin:0;font:400 16px/20px var(--font);letter-spacing:-.04em;color:var(--text-ink) }
@media (max-width:1100px) {
  .sol-card__head h2 { font-size:42px;line-height:46px }
}
@media (max-width:767px) {
  .sol-inner { padding:16px var(--page-pad) 0;gap:24px }
  .sol-stack { gap:24px }
  .sol-card { display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:var(--radius-12) }
  .sol-card__visual { order:1;width:100%;min-height:0;aspect-ratio:328/205;border-radius:var(--radius-8) }
  .sol-card__copy,.sol-card--imgleft .sol-card__copy { order:2;padding:8px;gap:24px }
  .sol-card__head { gap:16px }
  .sol-card__head h2 { font:500 32px/36px var(--font);letter-spacing:-.03em }
  .sol-card__head p { font:400 20px/24px var(--font);color:var(--text-muted) }
  .sol-systems__label { font-weight:400 }
  .sol-tag { padding:4px 12px;background:var(--surface-white);font:400 12px/16px var(--font);letter-spacing:-.04em }
  .sol-card__btn { width:100%;box-sizing:border-box }
  .sol-tech__inner { padding:64px 0 64px var(--page-pad);gap:32px }
  .sol-tech__title { font:500 32px/36px var(--font);letter-spacing:-.03em }
  .sol-tech__row { overflow-x:auto;overflow-y:hidden;gap:16px;padding:14px var(--page-pad) 14px 0;margin:-14px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-padding-left:var(--page-pad) }
  .sol-tech__row::-webkit-scrollbar { display:none }
  .sol-tech__card { flex:0 0 280px;width:280px;scroll-snap-align:start }
  .sol-card.card-enter { opacity:0;transform:translateY(28px) scale(.94) }
  .sol-card.card-enter.is-in { opacity:1;transform:none;transition:opacity .55s ease,transform .7s cubic-bezier(.16,1,.3,1) }
}
.cta-section { margin-bottom:120px }
.cta-section { position:relative;display:flex;min-height:clamp(520px,32.2vw,720px);background:var(--surface-card);font-family:var(--font);isolation:isolate }
.cta-deck { position:relative;z-index:2;width:50%;box-sizing:border-box;padding:48px var(--page-pad);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:32px;background:var(--brand-primary);color:var(--text-inverse);border-radius:0 32px 32px 0;overflow:hidden;word-break:break-word }
.cta-text { display:flex;flex-direction:column;gap:20px;width:100% }
.cta-deck h2 { margin:0;width:100%;font:500 54px/58px var(--font);letter-spacing:-.04em;color:var(--text-inverse) }
.cta-deck p { margin:0;width:100%;font:400 24px/28px var(--font);letter-spacing:-.04em;color:var(--text-inverse) }
.cta-actions { display:flex;gap:12px;flex-wrap:wrap }
.cta-actions .btn { padding:11px 23px }
.cta-photo-frame { position:absolute;z-index:1;top:0;right:0;bottom:0;width:51.5%;background:var(--surface-accent);border-radius:var(--radius-8);display:flex;align-items:center;justify-content:center;overflow:hidden }
.cta-photo { display:block;width:100%;height:100%;object-fit:cover;object-position:62% 40%;transform:translate3d(0,var(--plx,0%),0) scale(1.26);will-change:transform }
@media (prefers-reduced-motion: reduce) {
  .cta-photo { transform:none }
}
@media (max-width:1439px) {
  .cta-deck h2 { font-size:42px;line-height:46px }
}
.btn-accent { background:var(--brand-accent);color:var(--brand-primary) }
.btn-accent:hover { background:var(--surface-white);border-color:var(--surface-white);color:var(--brand-primary) }
.btn-white { background:var(--surface-white);color:var(--brand-primary) }
.btn-white:hover { background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-primary) }
@media (max-width:767px) {
  .cta-section { flex-direction:column;min-height:0 }
  .cta-deck { width:100%;padding:48px 24px;margin-bottom:-32px;border-radius:0 0 24px 24px;gap:24px }
  .cta-text { gap:16px }
  .cta-deck h2 { font:500 32px/36px var(--font);letter-spacing:-.03em }
  .cta-deck p { font:400 20px/24px var(--font);letter-spacing:-.04em }
  .cta-actions { flex-wrap:nowrap;width:100% }
  .cta-actions .btn { flex:1 1 0;min-width:0;padding:11px 12px }
  .cta-photo-frame { position:relative;width:100%;height:auto;display:grid;place-items:center;grid-template-columns:minmax(0,1fr);border-radius:0 0 var(--radius-12) var(--radius-12) }
  .cta-photo-frame::before { content:"";display:block;grid-area:1/1;width:100%;padding-top:62.5% }
  .cta-photo-frame > * { grid-area:1/1 }
}

/* the ✗ colour of .uc-neg lists */
:root { --uc-negative: #cf3f30; }

/* /solutions/: the capability pages' cards under the industry cards (ours, not in the delivery) */
.sol-caps { width: 100%; display: flex; flex-direction: column; gap: 48px; margin-top: 72px; }
.sol-caps__head { display: flex; flex-direction: column; gap: 16px; max-width: 820px; }
.sol-caps__head .h2 { margin: 0; color: var(--brand-primary); }
.sol-caps__head p { margin: 0; font: 400 20px/28px var(--font); letter-spacing: -0.4px; color: var(--text-muted); }
@media (max-width: 767px) { .sol-caps { gap: 32px; margin-top: 40px; } .sol-caps__head p { font-size: 18px; line-height: 24px; } }

/* a tag the fitter hides (js/inner.js) stays hidden whatever display its class sets */
.blog-card__tag[hidden] { display: none; }
