/* Publishing-only, scoped to public subpage content. Home/header/footer stay intact. */
.publishing-main{--pub-bg:#fff;--pub-soft:#f5f5f2;--pub-ink:#111111;--pub-muted:#686d76;--pub-line:#d9dde3;--pub-accent:#155fc7;--pub-error:#b42318;background:var(--pub-bg)!important;color:var(--pub-ink)!important;font-size:16px;line-height:1.75;padding-top:var(--site-header-height,80px)!important}
html[data-theme="dark"] .publishing-main{--pub-bg:#070b12;--pub-soft:#0d1520;--pub-ink:#f8fafc;--pub-muted:#a9b8c9;--pub-line:#334155;--pub-accent:#8bb4e8;--pub-error:#ffb4b4}
html body.public-site #public-main.publishing-main .public-design-container{max-width:1216px!important;padding-left:32px!important;padding-right:32px!important;margin-inline:auto}
html body.public-site #public-main.publishing-main .public-design-hero{padding:72px max(32px,calc((100vw - 1152px)/2)) 56px!important;min-height:0!important;background:var(--pub-soft)!important;border-bottom:1px solid var(--pub-line)!important;text-align:left!important}
html body.public-site #public-main.publishing-main .public-design-hero::before,html body.public-site #public-main.publishing-main .public-design-hero::after{display:none!important}
html body.public-site #public-main.publishing-main .public-design-hero h1{font-size:48px!important;line-height:1.3!important;letter-spacing:-.025em!important;font-weight:750!important;color:var(--pub-ink)!important;margin:0!important;white-space:normal!important}
html body.public-site #public-main.publishing-main .public-design-hero p{max-width:780px!important;font-size:18px!important;line-height:1.7!important;color:var(--pub-muted)!important;margin:18px 0 0!important}
html body.public-site #public-main.publishing-main .public-design-hero .pub-hero-note{font-size:15px!important;margin-top:12px!important}
html body.public-site #public-main.publishing-main .public-design-section{padding-block:72px!important;background:var(--pub-bg)!important;color:var(--pub-ink)!important}
html body.public-site #public-main.publishing-main :is(h2,h3,h4,dt,strong){color:var(--pub-ink)}
html body.public-site #public-main.publishing-main h2{font-size:32px!important;line-height:1.4!important;letter-spacing:-.02em!important;font-weight:700}
html body.public-site #public-main.publishing-main h3{font-size:22px;line-height:1.5;letter-spacing:-.01em}
html body.public-site #public-main.publishing-main :is(p,dd,li,td){overflow-wrap:anywhere}
html body.public-site #public-main.publishing-main :is(p,dd,td,li){color:var(--pub-muted)}
html body.public-site #public-main.publishing-main :is(section,article,[id]){scroll-margin-top:calc(var(--site-header-height,80px) + 24px)}
.publishing-main :is(a,button,input,textarea,select,summary):focus-visible{outline:2px solid var(--pub-accent)!important;outline-offset:4px}
.publishing-main [hidden]{display:none!important}
html body.public-site #public-main.publishing-main .pub-jump-nav{padding-block:24px;display:flex;gap:24px;align-items:baseline;border-bottom:1px solid var(--pub-line)}
.pub-jump-nav>span{font-size:14px;font-weight:600;white-space:nowrap;color:var(--pub-muted)}
.pub-jump-nav>div{display:flex;flex-wrap:wrap;gap:0 24px}
.pub-jump-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--pub-accent);font-size:15px;font-weight:600;text-underline-offset:5px}
.pub-jump-nav a:hover{text-decoration:underline}
html body.public-site #public-main.publishing-main .service-product-group--foundation{background:var(--pub-soft)!important}
html body.public-site #public-main.publishing-main .service-product-group>div>h2{padding-bottom:24px!important;border-bottom:1px solid var(--pub-line);margin-bottom:48px!important}
html body.public-site #public-main.publishing-main .service-products__items{gap:80px!important}
html body.public-site #public-main.publishing-main .service-product__role{font-size:24px!important;line-height:1.5!important;font-weight:600!important;color:var(--pub-ink)!important;margin:0 0 24px!important}
html body.public-site #public-main.publishing-main .service-product__description{font-size:16px!important;line-height:1.8!important}
html body.public-site #public-main.publishing-main .service-product__status{padding:16px 0!important;margin:0 0 24px!important;border-top:1px solid var(--pub-line);border-bottom:1px solid var(--pub-line);background:none!important;display:block!important}
.service-product__status dt{font-size:14px!important;font-weight:600!important;margin-bottom:6px}
.service-product__status dd{margin:0!important}
html body.public-site #public-main.publishing-main .service-product__status dd span{font-size:16px!important;color:var(--pub-ink)!important;background:none!important;padding:0!important;border:0!important}
.service-product__status time{display:block;font-size:14px!important;color:var(--pub-muted)!important;margin-top:4px}
html body.public-site #public-main.publishing-main figcaption{font-size:14px!important;line-height:1.6!important;color:var(--pub-muted)!important;margin-top:10px!important}
.publishing-main .service-product__detail-title,.publishing-main .service-product__facts dt{font-size:14px;font-weight:600;margin-bottom:8px;color:var(--pub-ink)!important}
html body.public-site #public-main.publishing-main .service-product__details ul{display:block!important;padding-left:18px!important;list-style:disc!important}
html body.public-site #public-main.publishing-main .service-product__details li{font-size:16px!important;padding:4px 0!important;background:none!important;border:0!important;display:list-item!important}
html body.public-site #public-main.publishing-main .service-products__items--text{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px!important}
html body.public-site #public-main.publishing-main .service-products__items--text article{padding:24px 0 0!important;border:0!important;border-top:2px solid var(--pub-line)!important;background:none!important;box-shadow:none!important;border-radius:0!important}
html body.public-site #public-main.publishing-main .service-products__items--text h3{font-size:28px!important;margin:0 0 16px}
html body.public-site #public-main.publishing-main .service-products__items--text .service-product__role{font-size:20px!important}
.pub-preview-note{font-size:14px!important;line-height:1.6!important;padding:12px 16px;background:var(--pub-soft);border-left:3px solid var(--pub-accent);color:var(--pub-muted)!important;margin:16px 0 24px!important}
.pub-reset{display:block;min-height:44px;margin:12px auto 0;padding:8px 16px;color:var(--pub-accent);text-decoration:underline;text-underline-offset:4px}
.pub-form-status:empty{display:none}
.pub-form-status{padding:20px;border:1px solid var(--pub-line);background:var(--pub-soft);font-size:16px!important}
@media(max-width:1023px){html body.public-site #public-main.publishing-main .public-design-hero{padding:56px 24px 40px!important}html body.public-site #public-main.publishing-main .public-design-container{padding-inline:24px!important}html body.public-site #public-main.publishing-main .public-design-hero h1{font-size:40px!important}html body.public-site #public-main.publishing-main .product-showcase{grid-template-columns:1fr;gap:28px}html body.public-site #public-main.publishing-main .product-showcase__copy{order:0}html body.public-site #public-main.publishing-main .product-showcase__media{order:1}html body.public-site #public-main.publishing-main .service-product__lower{order:2}html body.public-site #public-main.publishing-main .service-products__items--text{grid-template-columns:1fr}html body.public-site #public-main.publishing-main .public-design-section{padding-block:56px!important}}
@media(max-width:767px){html body.public-site #public-main.publishing-main .public-design-container{padding-inline:20px!important}html body.public-site #public-main.publishing-main .public-design-hero{padding:40px 20px 32px!important}html body.public-site #public-main.publishing-main .public-design-hero h1{font-size:36px!important}html body.public-site #public-main.publishing-main .public-design-hero p{font-size:16px!important}html body.public-site #public-main.publishing-main .public-design-section{padding-block:48px!important}html body.public-site #public-main.publishing-main h2{font-size:28px!important}html body.public-site #public-main.publishing-main .product-showcase__copy h3{font-size:32px!important}html body.public-site #public-main.publishing-main .service-product__role{font-size:20px!important}html body.public-site #public-main.publishing-main .service-product__lower{grid-template-columns:1fr;gap:24px}.pub-jump-nav{flex-direction:column;gap:4px!important}.pub-jump-nav>div{gap:0 20px}.pub-jump-nav a{font-size:14px}.publishing-main .service-products__items{gap:48px!important}}
@media(prefers-reduced-motion:reduce){.publishing-main *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Company: a readable sequence, different expressions for facts/history/people. */
html body.public-site #public-main.publishing-main .company-profile-section{border-bottom:1px solid var(--pub-line)}
html body.public-site #public-main.publishing-main .section-intro{margin-bottom:32px!important}
html body.public-site #public-main.publishing-main .section-intro p{font-size:16px!important;color:var(--pub-muted)!important;margin-top:12px!important}
html body.public-site #public-main.publishing-main .company-profile-introduction{grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:64px}
html body.public-site #public-main.publishing-main .company-profile-copy>p:first-child{font-size:22px!important;line-height:1.65!important;color:var(--pub-ink)!important;margin-top:0}
html body.public-site #public-main.publishing-main :is(.company-profile-facts dt,.company-profile-table thead th){color:var(--pub-muted)!important;font-size:14px!important}
html body.public-site #public-main.publishing-main :is(.company-profile-facts dd,.company-profile-table td){font-size:16px!important;color:var(--pub-ink)!important}
html body.public-site #public-main.publishing-main .company-profile-table{font-size:16px!important;border-color:var(--pub-line)!important}
html body.public-site #public-main.publishing-main .company-profile-table :is(th,td){border-color:var(--pub-line)!important;background:none!important}
html body.public-site #public-main.publishing-main .company-profile-organizations{list-style:none;padding:0;display:grid!important;grid-template-columns:1fr!important;gap:0!important}
html body.public-site #public-main.publishing-main .company-profile-organizations li{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(0,1.2fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--pub-line);background:none;border-radius:0}
html body.public-site #public-main.publishing-main .company-profile-organizations li h3{font-size:18px!important;margin:0!important}
html body.public-site #public-main.publishing-main .company-profile-organizations li p{margin:0!important;font-size:16px!important}
.publishing-main .pub-history{margin-top:32px;padding:0;list-style:none;border-top:1px solid var(--pub-line)}
.publishing-main .pub-history li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:24px;padding:26px 0;border-bottom:1px solid var(--pub-line)}
.publishing-main .pub-history time{font-size:26px;font-weight:700;color:var(--pub-accent)}
html body.public-site #public-main.publishing-main .pub-history h3{font-size:20px!important;margin:0 0 8px!important}
.publishing-main .pub-history p{font-size:16px!important;margin:0!important;max-width:80ch}
.publishing-main .pub-basis{font-size:14px!important;margin-top:24px;color:var(--pub-muted)}
.pub-text-link{display:inline-flex;gap:12px;align-items:center;min-height:44px;color:var(--pub-accent)!important;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:5px;margin-top:16px}
/* Business: original three categories, documents and images in a steady grid. */
.publishing-main .business-group-heading{padding-top:48px}
html body.public-site #public-main.publishing-main .business-domain{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
html body.public-site #public-main.publishing-main .business-domain__content{order:0!important;min-width:0}
html body.public-site #public-main.publishing-main .business-domain__visual{order:1!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;align-self:start}
html body.public-site #public-main.publishing-main .business-domain__visual img{width:100%;height:auto!important;object-fit:contain!important;border-radius:4px}
html body.public-site #public-main.publishing-main .business-domain__heading [lang="en"]{color:var(--pub-muted)!important;font-size:32px!important;background:none!important;padding:0!important}
html body.public-site #public-main.publishing-main .domain-feature-list{display:block!important;margin-top:32px!important;list-style:none;padding:0!important}
html body.public-site #public-main.publishing-main .domain-feature-list li{border:0!important;border-top:1px solid var(--pub-line)!important;padding:18px 0!important;background:none!important;box-shadow:none!important;display:block!important}
.domain-feature-list li strong{font-size:16px!important;display:block;margin-bottom:6px}
.domain-feature-list li span{font-size:16px!important;line-height:1.75!important}
html body.public-site #public-main.publishing-main .public-support-band{background:var(--pub-soft)!important;border-top:1px solid var(--pub-line)}
/* Portfolio: logos remain unmodified. Expanded references read as a table/list. */
html body.public-site #public-main.publishing-main .portfolio-case-record,.pub-record-columns{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.9fr) minmax(0,1.05fr)!important;gap:24px!important}
html body.public-site #public-main.publishing-main .portfolio-case-record{background:none!important;border:0!important;border-top:1px solid var(--pub-line)!important;padding:24px 12px!important}
.pub-record-columns{padding:20px 12px 14px;font-size:14px;color:var(--pub-muted)}
html body.public-site #public-main.publishing-main .portfolio-case-record__label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
html body.public-site #public-main.publishing-main :is(.portfolio-case-record__customer,.portfolio-case-record__project){font-size:16px!important;line-height:1.75!important;color:var(--pub-ink)!important;margin:0!important;font-weight:500!important}
html body.public-site #public-main.publishing-main .portfolio-case-record__technologies li{background:var(--pub-soft)!important;border:1px solid var(--pub-line)!important;color:var(--pub-muted)!important;border-radius:4px!important;box-shadow:none!important;font-size:14px!important;padding:4px 8px!important}
html body.public-site #public-main.publishing-main .portfolio-case-heading{gap:24px;margin-bottom:32px}
/* Forms and support pages: write first, support details second. */
html body.public-site #public-main.publishing-main .support-hero{padding-block:44px 28px!important}
html body.public-site #public-main.publishing-main .support-hero h1{font-size:40px!important}
html body.public-site #public-main.publishing-main .support-layout{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important;gap:64px!important;align-items:start}
html body.public-site #public-main.publishing-main .support-form-panel{order:0!important}
html body.public-site #public-main.publishing-main .support-details{order:1!important;padding:0!important;border:0!important}
html body.public-site #public-main.publishing-main .support-details>h2,html body.public-site #public-main.publishing-main [data-contact-form]>h2{font-size:24px!important;margin-top:0!important}
html body.public-site #public-main.publishing-main :is(.support-details h3,.support-headquarters h2){font-size:18px!important}
html body.public-site #public-main.publishing-main .support-details p{font-size:14px!important;color:var(--pub-muted)!important}
html body.public-site #public-main.publishing-main .support-details a{overflow-wrap:anywhere}
html body.public-site #public-main.publishing-main .support-email-channels{display:grid;gap:16px;margin:16px 0 0;min-width:0}
html body.public-site #public-main.publishing-main .support-email-channels>div{min-width:0}
html body.public-site #public-main.publishing-main .support-email-channels>div+div{border-top:1px solid var(--pub-line);padding-top:16px}
html body.public-site #public-main.publishing-main .support-email-channels dt{color:var(--pub-muted);font-size:14px;font-weight:500;line-height:1.6}
html body.public-site #public-main.publishing-main .support-email-channels dd{margin:4px 0 0}
html body.public-site #public-main.publishing-main .support-email-channels a{display:inline-block;max-width:100%;color:var(--pub-ink);font-size:16px;line-height:1.7;text-decoration:underline;text-underline-offset:4px}
html body.public-site #public-main.publishing-main .support-email-channels a:hover{color:var(--pub-accent)}
html body.public-site #public-main.publishing-main .support-email-channels a:focus-visible{outline:2px solid var(--pub-accent);outline-offset:4px}
html body.public-site #public-main.publishing-main .support-details__list>div{background:none!important;box-shadow:none!important;border:0!important;padding:0 0 24px!important}
html body.public-site #public-main.publishing-main .support-headquarters{border-top:1px solid var(--pub-line)!important;padding-top:28px!important;margin-top:12px!important;background:none!important}
html body.public-site #public-main.publishing-main :is(.public-design-content,.support-continuous-section){margin-top:40px!important;margin-bottom:64px!important}
html body.public-site #public-main.publishing-main [data-contact-form] :is(input:not([type="checkbox"]),select,textarea){width:100%;min-height:52px;border:1px solid var(--pub-line)!important;border-radius:6px!important;background:var(--pub-bg)!important;color:var(--pub-ink)!important;padding:12px 16px!important;font-size:16px!important;line-height:1.6!important;box-shadow:none!important}
html body.public-site #public-main.publishing-main [data-contact-form] textarea{min-height:176px}
html body.public-site #public-main.publishing-main [data-contact-form] [aria-invalid="true"]{border-color:var(--pub-error)!important}
html body.public-site #public-main.publishing-main [data-contact-error]{color:var(--pub-error)!important;font-size:14px!important;line-height:1.6!important}
html body.public-site #public-main.publishing-main [data-contact-field]~[id$="help"]{font-size:14px!important;line-height:1.6!important}
html body.public-site #public-main.publishing-main [data-contact-submit]{background:var(--pub-accent)!important;color:#fff!important;min-height:52px;border-radius:6px!important;font-size:16px!important}
html[data-theme="dark"] body.public-site #public-main.publishing-main [data-contact-submit]{color:#070b12!important}
.pub-support-navigation a[aria-current="page"]{border-bottom:2px solid var(--pub-accent)!important;color:var(--pub-accent)!important;font-weight:700}
.pub-empty-action{text-align:center;font-size:16px;margin-top:8px}
.pub-empty-action p{font-size:16px!important;margin-inline:auto!important}
html body.public-site #public-main.publishing-main .public-detail{max-width:800px!important;margin-inline:auto!important}
html body.public-site #public-main.publishing-main .public-design-article{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important}
html body.public-site #public-main.publishing-main .public-article-meta{padding:0 0 24px!important;border-bottom:1px solid var(--pub-line)!important}
html body.public-site #public-main.publishing-main .public-article-body{padding:32px 0!important}
html body.public-site #public-main.publishing-main .public-article-actions{padding:24px 0 0!important;border-top:1px solid var(--pub-line)!important;background:none!important;box-shadow:none!important}
html body.public-site #public-main.publishing-main .recruit-benefits__intro{text-align:left!important;max-width:none!important}
html body.public-site #public-main.publishing-main .recruit-benefits__list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px!important;margin-top:40px}
html body.public-site #public-main.publishing-main .recruit-benefit{padding:24px 0!important;background:none!important;border:0!important;border-top:1px solid var(--pub-line)!important;border-radius:0!important;box-shadow:none!important;grid-column:auto!important}
html body.public-site #public-main.publishing-main .recruit-benefit>span[aria-hidden]{display:none}
html body.public-site #public-main.publishing-main .recruit-benefit h3{margin:0 0 12px!important;font-size:20px!important}
html body.public-site #public-main.publishing-main .recruit-benefit p{font-size:16px!important}
/* Reading pages and real recruiting content. */
html body.public-site #public-main.publishing-main.public-design-reading{max-width:864px!important;padding:calc(var(--site-header-height,80px) + 48px) 32px 64px!important}
html body.public-site #public-main.publishing-main.public-design-directory{padding-top:calc(var(--site-header-height,80px) + 48px)!important;padding-bottom:64px!important}
html body.public-site #public-main.publishing-main.public-design-reading h1,html body.public-site #public-main.publishing-main.public-design-directory h1{font-size:40px!important;line-height:1.4!important;color:var(--pub-ink)!important}
html body.public-site #public-main.publishing-main.public-design-reading h2{font-size:24px!important;line-height:1.5!important}
html body.public-site #public-main.publishing-main.public-design-reading :is(p,li,dd){font-size:16px!important;line-height:1.8!important}
html body.public-site #public-main.publishing-main.public-design-reading .public-policy-body dl{grid-template-columns:1fr!important;gap:20px}
html body.public-site #public-main.publishing-main .public-sitemap-group{background:none!important;border-color:var(--pub-line)!important;border-radius:0!important}
html body.public-site #public-main.publishing-main .public-sitemap-group li a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1023px){html body.public-site #public-main.publishing-main .support-layout,html body.public-site #public-main.publishing-main .business-domain,html body.public-site #public-main.publishing-main .company-profile-introduction{grid-template-columns:1fr!important;gap:40px!important}html body.public-site #public-main.publishing-main .support-details{margin-top:8px;border-top:1px solid var(--pub-line)!important;padding-top:32px!important}}
@media(max-width:767px){html body.public-site #public-main.publishing-main .support-hero{padding-block:32px 24px!important}html body.public-site #public-main.publishing-main .support-hero h1{font-size:32px!important}.pub-business-nav a{min-height:52px;font-size:15px}.pub-record-columns{display:none!important}html body.public-site #public-main.publishing-main .portfolio-case-record{grid-template-columns:1fr!important;gap:14px!important;padding:24px 0!important}html body.public-site #public-main.publishing-main .portfolio-case-record__label{position:static;width:auto;height:auto;clip:auto;display:block;color:var(--pub-muted);font-size:14px!important;margin-bottom:4px}.publishing-main .pub-history li{grid-template-columns:1fr;gap:6px}.publishing-main .pub-history time{font-size:24px}html body.public-site #public-main.publishing-main .company-profile-organizations li{grid-template-columns:1fr;gap:8px}html body.public-site #public-main.publishing-main .portfolio-case-group__summary{padding:22px 0!important;gap:12px!important;min-height:84px}html body.public-site #public-main.publishing-main .portfolio-case-group__label{font-size:18px!important}html body.public-site #public-main.publishing-main .portfolio-case-group__count{font-size:12px!important}html body.public-site #public-main.publishing-main .company-profile-copy>p:first-child{font-size:20px!important}html body.public-site #public-main.publishing-main.public-design-reading{padding-inline:20px!important}html body.public-site #public-main.publishing-main.public-design-reading h1,html body.public-site #public-main.publishing-main.public-design-directory h1{font-size:32px!important}}
@media(min-width:768px) and (max-width:1023px){html body.public-site #public-main.publishing-main .recruit-benefits__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){html body.public-site #public-main.publishing-main .recruit-benefits__list{grid-template-columns:1fr}}
/* Scroll-first additions. These rules never select the homepage, header or footer. */
#public-main.scroll-reading { --reading-anchor-gap:calc(var(--site-header-height,80px) + 24px); }
#public-main.scroll-reading [id] { scroll-margin-top:var(--reading-anchor-gap); }
#public-main .pub-jump-nav a { border-bottom:2px solid transparent; }
#public-main .pub-jump-nav a[aria-current="location"] { border-color:var(--pub-accent);font-weight:750;color:var(--pub-accent); }
#public-main .pub-jump-nav>div { min-width:0; }
#public-main .scroll-company-body { min-width:0; }
html body.public-site #public-main.publishing-main .scroll-company-section .company-profile-facts-layout { grid-template-columns:1fr; }
#public-main .scroll-company-section .company-profile-management { margin-top:32px; }
#public-main .scroll-domain { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"intro visual" "detail visual";gap:16px 48px;align-items:start; }
#public-main .scroll-domain-intro { grid-area:intro;min-width:0; }
#public-main .scroll-domain-visual { grid-area:visual;margin:0; }
#public-main .scroll-domain-visual img { width:100%;height:auto;border-radius:4px; }
#public-main .scroll-domain-detail { grid-area:detail;min-width:0; }
#public-main .scroll-domain-detail .domain-feature-list { margin-top:0!important; }
#public-main .scroll-operations>header { max-width:760px; }
#public-main .scroll-story { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start;margin-top:40px; }
#public-main .scroll-map { margin:0;max-width:560px;width:100%;align-self:start; }
#public-main .scroll-map-nodes { list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px; }
#public-main .scroll-map-nodes li { display:grid;align-content:start;gap:10px;padding:20px 16px;border:1px solid var(--pub-line);border-radius:6px;background:var(--pub-bg); }
#public-main .scroll-map svg { display:block;width:40px;height:20px; }
#public-main .scroll-map path { fill:none;stroke:var(--pub-line);stroke-width:2; }
#public-main .scroll-map circle { fill:var(--pub-muted); }
#public-main .scroll-map-title { font-size:20px;font-weight:700;line-height:1.5; }
#public-main .scroll-map-label { font-size:16px;line-height:1.6; }
#public-main .scroll-map [data-current] { border-color:var(--pub-accent);box-shadow:inset 0 0 0 1px var(--pub-accent);background:var(--pub-soft); }
#public-main .scroll-map [data-current] circle { fill:var(--pub-accent); }
#public-main .scroll-map [data-current] path { stroke:var(--pub-accent); }
#public-main .scroll-steps { list-style:none;padding:0;margin:0; }
#public-main .scroll-steps li { border-top:1px solid var(--pub-line);padding:24px 0 32px; }
#public-main .scroll-steps h3 { font-size:22px;margin:0 0 12px; }
#public-main .scroll-steps p { font-size:16px;margin:0; }
#public-main [data-scroll-step][data-current] h3 { color:var(--pub-accent); }
#public-main .scroll-operations-image { margin:40px 0 24px;max-width:720px; }
#public-main .scroll-operations-image img { width:100%;height:auto; }
#public-main .scroll-operations>.content-action { display:inline-flex;min-height:44px;align-items:center;margin-top:8px;padding:12px 24px;color:var(--pub-accent);border:1px solid var(--pub-accent);border-radius:6px; }
#public-main .scroll-case-group { margin-top:40px;border-top:2px solid var(--pub-line); }
#public-main .scroll-category-heading { display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:baseline;gap:20px;padding:28px 12px;background:var(--pub-soft); }
#public-main .scroll-category-title { font-size:22px;line-height:1.5;margin:0; }
#public-main .portfolio-case-group__order,#public-main .portfolio-case-group__count { font-size:14px;color:var(--pub-muted); }
#public-main .scroll-category-nav { margin-bottom:32px; }
#public-main .scroll-case-panel { height:auto;overflow:visible;opacity:1; }
#public-main details.scroll-case-group { margin-top:16px; }
#public-main summary.scroll-category-heading { list-style:none;cursor:pointer;grid-template-columns:36px minmax(0,1fr) auto 24px;min-height:84px; }
#public-main summary.scroll-category-heading::-webkit-details-marker { display:none; }
#public-main .scroll-category-arrow { font-size:24px;line-height:1;text-align:center;transition:transform 220ms ease; }
#public-main details[open] .scroll-category-arrow { transform:rotate(45deg); }
#public-main .scroll-partner-count { margin:12px 0;font-size:18px; }
#public-main .scroll-product { border-top:1px solid var(--pub-line);padding:40px 0;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"intro media" "detail media";gap:24px 40px;align-items:start; }
html body.public-site #public-main.publishing-main .scroll-product { border-radius:0;box-shadow:none;background:none; }
html body.public-site #public-main.publishing-main .scroll-product-intro h3 { font-size:36px!important;font-weight:700;line-height:1.3;margin:0 0 12px; }
html body.public-site #public-main.publishing-main .scroll-product .service-product__status { border-radius:0;box-shadow:none; }
#public-main .scroll-product-intro { grid-area:intro;min-width:0; }
#public-main .scroll-product-intro h3 { font-size:36px;line-height:1.3;margin:0 0 12px; }
#public-main .scroll-product-intro .service-product__role { font-size:20px!important; }
#public-main .scroll-product-media { grid-area:media;margin:0;min-width:0; }
#public-main .scroll-product-media img { display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border:1px solid var(--pub-line);border-radius:4px;background:#fff; }
#public-main .scroll-product-detail { grid-area:detail;display:grid;gap:24px;min-width:0; }
#public-main .scroll-product-detail dl { margin:0; }
#public-main .scroll-product-detail dd { margin:0;font-size:16px; }
#public-main .scroll-products-story>h2 { grid-column:1/-1; }
#public-main .scroll-products-story>.scroll-map { margin:0 0 32px; }
#public-main .scroll-compare { width:100%;border-collapse:collapse;font-size:16px;line-height:1.7;table-layout:fixed; }
#public-main .scroll-compare th,#public-main .scroll-compare td { padding:20px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--pub-line);overflow-wrap:anywhere; }
#public-main .scroll-compare thead th { background:var(--pub-soft);font-size:14px;font-weight:700; }
#public-main .scroll-compare th:first-child { width:17%; }
#public-main .scroll-compare a { color:var(--pub-accent);display:inline-flex;align-items:center;min-height:44px;text-underline-offset:5px; }
#public-main .scroll-compare a:hover { text-decoration:underline; }
#public-main .scroll-support-panel { padding-top:40px;padding-bottom:64px; }
#public-main .scroll-support-panel[hidden] { display:none!important; }
#public-main [data-support-tabs] { scroll-margin-top:var(--reading-anchor-gap); }
html body.public-site #public-main.publishing-main [data-support-tabs] nav { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid var(--pub-line); }
#public-main [data-support-tabs] a { min-height:56px;display:flex;align-items:center;justify-content:center;padding:8px 12px;border-bottom:2px solid transparent;font-size:16px;font-weight:600;color:var(--pub-muted); }
#public-main [data-support-tabs] a[aria-selected="true"],#public-main [data-support-tabs] a:hover { color:var(--pub-accent);border-color:var(--pub-accent);background:var(--pub-soft); }
#public-main .scroll-notice-title { display:block;white-space:normal;overflow:visible;line-height:1.7; }
#public-main [data-contact-form] .text-red-500 { color:var(--pub-error); }
@media(min-width:1200px) and (min-height:800px) {
  #public-main .scroll-company-section { display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,3fr);gap:56px;align-items:start; }
  #public-main .scroll-company-section>.section-intro { position:sticky;top:var(--reading-anchor-gap); }
  #public-main .scroll-company-section>.section-intro h2 { font-size:26px!important; }
  #public-main .scroll-story>.scroll-map { position:sticky;top:var(--reading-anchor-gap); }
  #public-main .scroll-products-story { display:grid;grid-template-columns:minmax(400px,1fr) minmax(0,1.6fr);gap:32px 40px;align-items:start; }
  #public-main .scroll-products-story>.scroll-map { position:sticky;top:var(--reading-anchor-gap); }
  #public-main .scroll-products-story .scroll-map svg { max-height:min(400px,50vh); }
  #public-main .scroll-products-story .scroll-product { grid-template-columns:1fr;grid-template-areas:"intro" "media" "detail"; }
  #public-main .scroll-products-story .scroll-product-detail { grid-template-columns:1fr 1fr;gap:32px; }
}
@media(max-width:1023px) {
  #public-main .scroll-domain { grid-template-columns:1fr;grid-template-areas:"intro" "visual" "detail";gap:24px; }
  #public-main .scroll-product { grid-template-columns:1fr;grid-template-areas:"intro" "media" "detail";gap:24px; }
  #public-main .scroll-story { grid-template-columns:1fr;gap:32px; }
  #public-main .scroll-company-section { display:block; }
}
@media(max-width:767px) {
  #public-main .scroll-map-nodes { grid-template-columns:1fr;gap:10px; }
  #public-main .scroll-map-nodes li { grid-template-columns:40px minmax(0,1fr);gap:4px 12px;padding:16px; }
  #public-main .scroll-map svg { grid-row:1/3;margin-top:6px; }
  #public-main .scroll-map-title { font-size:18px; }
  html body.public-site #public-main.publishing-main .scroll-product-intro h3 { font-size:30px!important; }
  #public-main .scroll-category-heading { grid-template-columns:24px minmax(0,1fr);gap:8px 12px;padding:20px 12px; }
  #public-main summary.scroll-category-heading { grid-template-columns:24px minmax(0,1fr) 24px;min-height:72px; }
  #public-main summary.scroll-category-heading .scroll-category-arrow { grid-column:3;grid-row:1/3;align-self:center; }
  #public-main .scroll-category-title { font-size:20px; }
  #public-main .portfolio-case-group__count { grid-column:2;font-size:14px; }
  #public-main .scroll-compare,#public-main .scroll-compare tbody { display:block; }
  #public-main .scroll-compare thead { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
  #public-main .scroll-compare tr { display:block;padding:20px 0;border-bottom:1px solid var(--pub-line); }
  #public-main .scroll-compare th,#public-main .scroll-compare td { display:block;width:auto;padding:6px 0;border:0; }
  #public-main .scroll-compare td::before { content:attr(data-label);display:block;color:var(--pub-ink);font-size:14px;font-weight:600;margin-bottom:4px; }
  #public-main .scroll-compare th:first-child { width:auto;font-size:22px; }
  #public-main .scroll-support-panel { padding-top:32px; }
  #public-main [data-support-tabs] a { font-size:15px;min-height:52px; }
}
@media(prefers-reduced-motion:reduce) { #public-main.scroll-reading { scroll-behavior:auto; } }

/* Four approved Business areas. Main menu and shared footer are unchanged. */
#public-main .scroll-business-nav>div { width:100%;justify-content:space-between;gap:8px 28px; }
#public-main .scroll-business-nav a { font-size:16px;overflow-wrap:anywhere; }
html body.public-site #public-main.publishing-main .scroll-business-section { border-bottom:1px solid var(--pub-line); }
html body.public-site #public-main.publishing-main .scroll-business-heading { margin-bottom:48px!important;max-width:880px; }
#public-main .scroll-business-number { display:block;font-size:14px;letter-spacing:.08em;color:var(--pub-accent);margin-bottom:12px; }
#public-main .scroll-business-heading h2 { overflow-wrap:anywhere;margin:0 0 20px; }
html body.public-site #public-main.publishing-main .scroll-business-row h3,
html body.public-site #public-main.publishing-main .scroll-business-scope h3,
html body.public-site #public-main.publishing-main .scroll-business-operation-bottom h3 { font-size:24px;line-height:1.5;margin:0 0 16px;font-weight:700; }
#public-main .scroll-business-row { padding:36px 0 48px;border-top:1px solid var(--pub-line); }
#public-main .scroll-business-row .scroll-domain-intro p { margin:0; }
#public-main .scroll-business-row .scroll-domain-visual { padding-top:0; }
#public-main .scroll-business-list { padding:0;margin:0; }
#public-main .scroll-business-list>div { border-top:1px solid var(--pub-line);padding:18px 0; }
#public-main .scroll-business-list dt { font-size:16px;font-weight:700;line-height:1.6;margin-bottom:8px; }
#public-main .scroll-business-list dd { font-size:16px;line-height:1.8;margin:0; }
#public-main .scroll-business-scope { padding-top:24px; }
#public-main .scroll-business-scope>p { max-width:880px; }
#public-main .scroll-business-scope-list>div { display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,3fr);gap:24px; }
#public-main .scroll-business-note { margin-top:24px;font-size:15px;line-height:1.8; }
#public-main .scroll-business-link { display:inline-flex;align-items:center;gap:16px;min-height:48px;color:var(--pub-accent);text-decoration:underline;text-underline-offset:5px;padding:8px 0; }
#public-main .scroll-business-products a { display:inline-flex;align-items:center;min-height:44px;color:var(--pub-accent);text-underline-offset:4px; }
#public-main .scroll-business-products a:hover { text-decoration:underline; }
#public-main .scroll-product-phase { display:block;font-size:14px;line-height:1.6;margin-top:6px; }
html body.public-site #public-main.publishing-main .scroll-business-operations { background:var(--pub-soft)!important; }
#public-main .scroll-business-operation-bottom { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;margin-top:48px;padding-top:40px;border-top:1px solid var(--pub-line); }
#public-main .scroll-business-operation-bottom .scroll-domain-visual { margin:0; }
@media(max-width:767px) {
  #public-main .scroll-business-nav>div { display:grid;grid-template-columns:1fr 1fr;gap:4px 16px; }
  #public-main .scroll-business-nav a { font-size:14px; }
  #public-main .scroll-business-scope-list>div { grid-template-columns:1fr;gap:0; }
  #public-main .scroll-business-operation-bottom { grid-template-columns:1fr;gap:28px; }
  html body.public-site #public-main.publishing-main .scroll-business-heading { margin-bottom:32px!important; }
  html body.public-site #public-main.publishing-main .scroll-business-row h3,
  html body.public-site #public-main.publishing-main .scroll-business-scope h3 { font-size:22px; }
}

#public-main .scroll-service-category { border-bottom:1px solid var(--pub-line); }
#public-main .service-map-section>.public-design-container,
#public-main .scroll-ai-service>.public-design-container,
#public-main .service-ai-product { position:relative; }
#public-main .scroll-compat-anchor { display:block;position:absolute;width:0;height:0;pointer-events:none; }
#public-main .service-solution-map { margin:2rem 0 0;color:var(--pub-body); }
#public-main .service-solution-map-root { text-align:center;color:var(--pub-ink); }
#public-main .service-solution-map-root strong { display:inline-block;border:1px solid var(--pub-accent);border-radius:4px;padding:.75rem 1.5rem; }
#public-main .service-solution-map-branches { display:block;width:100%;height:2rem;overflow:visible; }
#public-main .service-solution-map-branches path { fill:none;stroke:var(--pub-accent);stroke-width:1;vector-effect:non-scaling-stroke; }
#public-main .service-solution-map-groups { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem; }
#public-main .service-solution-map-group { min-width:0;border-top:2px solid var(--pub-accent); }
#public-main .service-solution-map-group h3 { margin:0;padding:1rem 0;color:var(--pub-ink); }
#public-main .service-solution-map-group ul { list-style:none;margin:0;padding:0; }
#public-main .service-solution-map-group li { border-top:1px solid var(--pub-line); }
#public-main .service-solution-map-group a { display:flex;align-items:flex-start;gap:1rem;min-height:44px;padding:1rem 0;color:var(--pub-body);text-decoration:none; }
#public-main .service-solution-map-group a:hover strong { color:var(--pub-accent);text-decoration:underline;text-underline-offset:.25em; }
#public-main .service-solution-map-group a:focus-visible,
#public-main .service-screen a:focus-visible { outline:2px solid var(--pub-accent);outline-offset:4px; }
#public-main .service-solution-map-group a>span { min-width:0;display:grid;gap:.25rem;overflow-wrap:anywhere; }
#public-main .service-solution-map-group strong { color:var(--pub-ink); }
#public-main .service-solution-map-group svg { flex:none;display:block;width:2rem;height:2rem;color:var(--pub-accent); }
#public-main .service-solution-map figcaption { margin-top:1rem;color:var(--pub-muted); }
#public-main .service-platform-product { display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"intro media" "tasks media";gap:1.5rem 2.5rem;align-items:start;border-top:1px solid var(--pub-line);padding:2.5rem 0;color:var(--pub-body); }
#public-main .service-platform-product-intro { grid-area:intro;min-width:0; }
#public-main .service-platform-product-intro h3,
#public-main .service-ai-product-intro h3 { margin:0 0 .75rem;color:var(--pub-ink); }
#public-main .service-platform-product-intro p,
#public-main .service-ai-product-intro p { margin:0 0 1rem; }
#public-main .service-platform-product .service-product__role,
#public-main .service-ai-product .scroll-solution-role { color:var(--pub-ink);font-weight:600; }
#public-main .service-platform-product-tasks { grid-area:tasks;min-width:0; }
#public-main .service-platform-product-tasks h4 { margin:0 0 .75rem;color:var(--pub-ink); }
#public-main .service-platform-product-tasks ul { padding-left:1.25rem;margin:0; }
#public-main .service-platform-product-tasks li+li { margin-top:.5rem; }
#public-main .service-platform-product-screen { grid-area:media; }
#public-main .service-ai-product { border-top:1px solid var(--pub-line);padding:2.5rem 0;color:var(--pub-body); }
#public-main .service-ai-product-intro { max-width:52rem;margin-bottom:1.75rem; }
#public-main .service-screen-gallery { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;align-items:start; }
#public-main .service-screen--primary { grid-column:1/-1; }
#public-main .service-screen { min-width:0;margin:0; }
#public-main .service-screen img { display:block;width:100%;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border:1px solid var(--pub-line);border-radius:4px; }
#public-main .service-screen figcaption { display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem;margin-top:.5rem;color:var(--pub-muted); }
#public-main .service-screen a { display:inline-flex;align-items:center;min-height:44px;color:var(--pub-accent);text-decoration:underline;text-underline-offset:.25em; }
#public-main .service-ams-diagram { margin:0;color:var(--pub-body); }
#public-main .service-ams-diagram ol { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:2rem; }
#public-main .service-ams-diagram li { position:relative;display:flex;flex-direction:column;gap:.75rem;align-items:flex-start;min-width:0;border-top:2px solid var(--pub-accent);padding:1.5rem 0; }
#public-main .service-ams-diagram li+li::before { content:"";position:absolute;left:-1.5rem;top:2.25rem;width:1rem;border-top:1px solid var(--pub-accent); }
#public-main .service-ams-diagram svg { display:block;width:2rem;height:2rem;color:var(--pub-accent); }
#public-main .service-ams-diagram strong { color:var(--pub-ink); }
#public-main .service-ams-diagram figcaption { margin-top:1rem;color:var(--pub-muted); }
#public-main .service-support-section .scroll-business-link { min-height:44px;display:inline-flex;align-items:center;gap:.5rem;color:var(--pub-accent); }
@media(max-width:767px) {
  #public-main .service-solution-map-branches { display:none; }
  #public-main .service-solution-map-root { text-align:left;margin-bottom:1.5rem; }
  #public-main .service-solution-map-groups,
  #public-main .service-screen-gallery,
  #public-main .service-ams-diagram ol { grid-template-columns:minmax(0,1fr);gap:1.5rem; }
  #public-main .service-platform-product { grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "media" "tasks";gap:1.25rem; }
  #public-main .service-screen--primary { grid-column:auto; }
  #public-main .service-ams-diagram li+li::before { display:none; }
}

/* Existing-data visuals only. No home, shared chrome or global typography. */
#public-main.customer-page .customer-icon { display:block;flex:0 0 auto;width:24px;height:24px;color:var(--pub-accent); }
#public-main.customer-page .customer-icon-heading { display:flex;align-items:baseline;gap:12px;min-width:0; }
#public-main.customer-page .customer-icon-heading>.customer-icon { align-self:flex-start;margin-top:.18em; }
#public-main.customer-page .customer-heading-label { min-width:0;overflow-wrap:anywhere; }
#public-main.customer-page .customer-visual-hero { display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);grid-template-areas:"title art" "copy art";column-gap:48px;align-content:center;align-items:center; }
#public-main.customer-page .customer-visual-hero>h1 { grid-area:title;align-self:end; }
#public-main.customer-page .customer-visual-hero>.public-page-hero__summary { grid-area:copy;align-self:start; }
#public-main.customer-page .customer-hero-art { grid-area:art;margin:0;min-width:0; }
#public-main.customer-page .customer-hero-art img { display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px; }
#public-main.customer-page .customer-timeline { display:block;list-style:none;padding:0 0 0 20px;margin:0;border-left:1px solid var(--pub-line); }
#public-main.customer-page .customer-timeline>li { position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;padding:0 0 32px 12px;margin:0;border:0;background:none; }
#public-main.customer-page .customer-timeline>li:last-child { padding-bottom:0; }
#public-main.customer-page .customer-timeline>li::before { content:"";position:absolute;left:-25px;top:10px;width:9px;height:9px;border:2px solid var(--pub-accent);background:var(--pub-bg);border-radius:50%; }
#public-main.customer-page .customer-timeline time { display:block;color:var(--pub-accent); }
#public-main.customer-page .customer-timeline h3 { margin-top:0; }
#public-main.customer-page .customer-org-chart { min-width:0; }
#public-main.customer-page .customer-org-lead { display:flex;align-items:center;justify-content:center;gap:12px;position:relative;width:fit-content;max-width:100%;margin:0 auto 28px;padding:16px 24px;border:1px solid var(--pub-line);border-radius:4px;background:var(--pub-soft); }
#public-main.customer-page .customer-org-lead::after { content:"";position:absolute;left:50%;top:100%;height:29px;border-left:1px solid var(--pub-line); }
#public-main.customer-page .customer-org-units { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding:0;margin:0;list-style:none;border-top:1px solid var(--pub-line); }
#public-main.customer-page .customer-org-units>li { min-width:0;padding:24px 0;border-bottom:1px solid var(--pub-line);background:none;border-radius:0; }
#public-main.customer-page .customer-org-units>li h3 { margin-top:0; }
#public-main.customer-page .customer-org-units>li p { margin-bottom:0; }
#public-main.customer-page .customer-benefit-icon { width:32px;height:32px;margin-bottom:20px; }
#public-main.customer-page .customer-benefit { min-width:0; }
#public-main.customer-page .customer-empty>.customer-icon { display:block;margin:0 auto 16px;width:32px;height:32px;color:var(--pub-muted); }
#public-main.customer-page .customer-sitemap-branch { min-width:0; }
#public-main.customer-page .customer-sitemap-links { padding:0 0 0 18px;margin-left:11px;border-left:1px solid var(--pub-line);list-style:none; }
#public-main.customer-page .customer-sitemap-links>li { position:relative;padding-left:12px; }
#public-main.customer-page .customer-sitemap-links>li::before { content:"";position:absolute;top:22px;left:-19px;width:20px;border-top:1px solid var(--pub-line); }
#public-main.customer-page .customer-sitemap-links a { display:inline-flex;align-items:center;min-height:44px; }
@media(max-width:767px) {
  #public-main.customer-page .customer-visual-hero { grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "copy" "art";row-gap:0; }
  #public-main.customer-page .customer-hero-art { margin-top:24px;max-width:480px; }
  #public-main.customer-page .customer-org-units { grid-template-columns:minmax(0,1fr); }
  #public-main.customer-page .customer-timeline>li { grid-template-columns:minmax(0,1fr);gap:8px; }
  #public-main.customer-page .customer-icon-heading { gap:10px; }
  #public-main.customer-page .customer-icon-heading>.customer-icon { width:20px;height:20px; }
}

/* Customer-facing reading hierarchy. The existing homepage is scoped out. */
html body.public-site #public-main.publishing-main,
html body.public-site.page-home .home-fabric {
  --pub-ink:#111111;--pub-body:#334155;--pub-muted:#5b6472;--pub-accent:#155fc7;
  --pub-bg:#ffffff;--pub-soft:#f5f5f2;--pub-line:#d9dde3;
  color:var(--pub-body);font-size:17px;line-height:1.75;
}
html[data-theme="dark"] body.public-site #public-main.publishing-main,
html[data-theme="dark"] body.public-site.page-home .home-fabric {
  --pub-ink:#f8fafc;--pub-body:#d5dde8;--pub-muted:#a9b8c9;--pub-accent:#8bb4e8;
  --pub-bg:#070b12;--pub-soft:#0d1520;--pub-line:#334155;
}
html body.public-site #public-main.publishing-main :is(p,dd,td,li) {color:var(--pub-body);font-size:17px;line-height:1.75;font-weight:400;}
html body.public-site #public-main.publishing-main :is(h1,h2,h3,h4,dt,strong) {color:var(--pub-ink);}
html body.public-site #public-main.publishing-main :is(.public-design-hero h1),
html body.public-site #public-main.publishing-main:is(.public-design-reading,.public-design-directory) h1 {font-size:48px!important;font-weight:750!important;line-height:1.3!important;}
html body.public-site #public-main.publishing-main :is(.public-design-hero p,.section-intro p) {color:var(--pub-body)!important;font-size:18px!important;line-height:1.75!important;font-weight:400;}
html body.public-site #public-main.publishing-main h2 {font-size:32px!important;line-height:1.35!important;font-weight:700;}
html body.public-site #public-main.publishing-main :is(.support-details>h2,[data-contact-form]>h2) {font-size:32px!important;}
html body.public-site #public-main.publishing-main h3 {font-weight:700;line-height:1.4;}
html body.public-site #public-main.publishing-main :is(.scroll-product-intro h3,.scroll-ai-heading h3) {font-size:36px!important;font-weight:700!important;color:var(--pub-accent)!important;line-height:1.3!important;}
html body.public-site #public-main.publishing-main :is(.service-platform-product-intro p:not(.service-product__role),.service-ai-product-intro p:not(.scroll-solution-role)) {font-size:17px!important;line-height:1.75!important;}
html body.public-site #public-main.publishing-main .service-ai-product {border-radius:0;box-shadow:none;}
html body.public-site #public-main.publishing-main :is(.service-product__role,.scroll-solution-role) {font-size:20px!important;line-height:1.6!important;font-weight:600!important;color:var(--pub-ink)!important;}
html body.public-site #public-main.publishing-main :is(.service-product__description,.scroll-product-detail dd,.scroll-company-body p,.domain-feature-list li span,.scroll-steps p) {font-size:17px!important;line-height:1.75!important;color:var(--pub-body)!important;}
html body.public-site #public-main.publishing-main :is(figcaption,.public-article-meta,.pub-basis,.scroll-business-note,.scroll-solution-scope,.portfolio-case-group__count,.portfolio-case-group__order,.company-profile-facts dt,.company-profile-table thead th,.support-details p,[id$="-help"]) {color:var(--pub-muted)!important;font-size:14px!important;font-weight:400!important;line-height:1.7!important;}
html body.public-site #public-main.publishing-main :is(.pub-jump-nav a,.pub-support-navigation a,form label,.domain-feature-list strong,.scroll-product-detail dt) {font-size:16px!important;font-weight:600!important;}
html body.public-site #public-main.publishing-main .pub-jump-nav a[aria-current],
html body.public-site #public-main.publishing-main [data-support-tabs] a[aria-selected="true"] {font-weight:700!important;}
html body.public-site #public-main.publishing-main a:hover {text-decoration:underline;text-underline-offset:5px;}
html body.public-site #public-main.publishing-main a:focus-visible {text-decoration:underline;text-underline-offset:5px;}
html body.public-site #public-main.publishing-main .portfolio-case-record__customer {color:var(--pub-ink)!important;font-weight:600!important;}
html body.public-site #public-main.publishing-main .portfolio-case-record__project {color:var(--pub-body)!important;font-weight:400!important;}
html body.public-site #public-main.publishing-main .portfolio-case-record__technologies li {color:var(--pub-body)!important;font-weight:500!important;}
html body.public-site #public-main.publishing-main summary.scroll-category-heading {grid-template-areas:none;grid-template-columns:36px minmax(0,1fr) auto 24px;gap:16px;align-items:center;}
html body.public-site #public-main.publishing-main summary.scroll-category-heading>* {grid-area:auto!important;}
html body.public-site #public-main.publishing-main summary.scroll-category-heading .portfolio-case-group__order {grid-column:1!important;grid-row:1!important;}
html body.public-site #public-main.publishing-main summary.scroll-category-heading .scroll-category-title {grid-column:2!important;grid-row:1!important;}
html body.public-site #public-main.publishing-main summary.scroll-category-heading .portfolio-case-group__count {grid-column:3!important;grid-row:1!important;}
html body.public-site #public-main.publishing-main summary.scroll-category-heading .scroll-category-arrow {grid-column:4!important;grid-row:1!important;}
html body.public-site #public-main.publishing-main summary.scroll-category-heading .scroll-category-title {min-width:0;margin:0;font-size:22px;}
html body.public-site #public-main.publishing-main :is(.pub-history time,.scroll-partner-count) {color:var(--pub-accent)!important;font-weight:700!important;}
html body.public-site #public-main.publishing-main .support-hero {padding-bottom:40px!important;}
html body.public-site #public-main.publishing-main [data-contact-submit] {color:#fff!important;background:#155fc7!important;font-weight:600!important;}
html[data-theme="dark"] body.public-site #public-main.publishing-main [data-contact-submit] {color:#070b12!important;background:#8bb4e8!important;}
html body.public-site #public-main.publishing-main [data-contact-error] {color:var(--pub-error)!important;}
html body.public-site #public-main.publishing-main :is([data-contact-form] input,[data-contact-form] textarea,[data-contact-form] select) {font-weight:400!important;color:var(--pub-ink)!important;}
html body.public-site #public-main.publishing-main :is(.pub-jump-nav,.pub-support-navigation) {overflow-wrap:anywhere;}
/* A compact, static concept diagram in the one approved homepage section. */
html body.public-site.page-home .home-future {min-height:0;padding-bottom:80px;}
.home-fabric {max-width:1152px;margin:40px auto 0;text-align:center;}
.home-fabric__intro {max-width:770px;margin:0 auto 38px;}
.home-fabric__intro h3 {font-size:30px;line-height:1.3;color:var(--pub-accent);font-weight:700;margin:0 0 16px;}
.home-fabric__intro p {font-size:18px;line-height:1.8;color:var(--pub-body);margin:0;}
html body.public-site.page-home .home-fabric .home-fabric__intro h3 {font-size:30px!important;line-height:1.3!important;color:var(--pub-accent)!important;font-weight:700!important;}
html body.public-site.page-home .home-fabric .home-fabric__intro p {font-size:18px!important;line-height:1.75!important;color:var(--pub-body)!important;font-weight:400!important;}
.home-fabric__map {margin:0;}
.home-fabric__center {display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;color:var(--pub-ink);}
.home-fabric__center>span:first-of-type {font-size:24px;font-weight:700;}
.home-fabric__center>span:last-of-type {font-size:16px;color:var(--pub-muted);}
.home-fabric svg {fill:none;stroke:var(--pub-accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.home-fabric__center svg {width:48px;height:48px;}
.home-fabric__roles {list-style:none;padding:32px 0 0;margin:20px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;border-top:1px solid var(--pub-line);position:relative;}
.home-fabric__roles::before {content:"";position:absolute;top:-20px;left:50%;height:20px;border-left:1px solid var(--pub-line);}
.home-fabric__roles li {display:grid;justify-items:center;align-content:start;gap:12px;min-width:0;}
.home-fabric__roles svg {width:32px;height:32px;}
.home-fabric__roles strong {font-size:18px;font-weight:600;color:var(--pub-ink);}
.home-fabric__roles span {font-size:15px;color:var(--pub-body);}
.home-fabric__map figcaption {font-size:14px;color:var(--pub-muted);margin-top:28px;}
.home-fabric__uses {list-style:none;padding:20px 0 0;margin:28px 0 0;border-top:1px solid var(--pub-line);display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px;color:var(--pub-accent);font-size:16px;font-weight:600;}
@media(max-width:1023px) {html body.public-site #public-main.publishing-main .public-design-hero h1,html body.public-site #public-main.publishing-main:is(.public-design-reading,.public-design-directory) h1 {font-size:40px!important;}}
@media(max-width:767px) {
  html body.public-site #public-main.publishing-main {font-size:16px;}
  html body.public-site #public-main.publishing-main .public-design-hero h1,
  html body.public-site #public-main.publishing-main:is(.public-design-reading,.public-design-directory) h1 {font-size:36px!important;}
  html body.public-site #public-main.publishing-main h2 {font-size:28px!important;}
  html body.public-site #public-main.publishing-main :is(.support-details>h2,[data-contact-form]>h2) {font-size:28px!important;}
  html body.public-site #public-main.publishing-main summary.scroll-category-heading {grid-template-columns:24px minmax(0,1fr) 24px;gap:8px 12px;min-height:84px;}
  html body.public-site #public-main.publishing-main summary.scroll-category-heading .scroll-category-title {font-size:18px;line-height:1.5;}
  html body.public-site #public-main.publishing-main summary.scroll-category-heading .portfolio-case-group__count {grid-column:2!important;grid-row:2!important;}
  html body.public-site #public-main.publishing-main summary.scroll-category-heading .scroll-category-arrow {grid-column:3!important;grid-row:1 / 3!important;}
  html body.public-site #public-main.publishing-main :is(.scroll-product-intro h3,.scroll-ai-heading h3) {font-size:30px!important;}
  html body.public-site #public-main.publishing-main :is(p,dd,td,li) {font-size:16px;}
  html body.public-site #public-main.publishing-main :is(.service-platform-product-intro p:not(.service-product__role),.service-ai-product-intro p:not(.scroll-solution-role)) {font-size:16px!important;}
  html body.public-site #public-main.publishing-main :is(.service-product__role,.scroll-solution-role) {font-size:18px!important;}
  html body.public-site #public-main.publishing-main :is(.public-design-hero p,.section-intro p,.service-product__description,.scroll-product-detail dd,.scroll-company-body p,.domain-feature-list li span,.scroll-steps p) {font-size:16px!important;}
  html body.public-site.page-home .home-future {padding-bottom:48px;}
  .home-fabric {margin-top:28px;text-align:left;}
  .home-fabric__intro h3 {font-size:25px;}.home-fabric__intro p {font-size:16px;}
  html body.public-site.page-home .home-fabric .home-fabric__intro h3 {font-size:25px!important;}
  html body.public-site.page-home .home-fabric .home-fabric__intro p {font-size:16px!important;}
  .home-fabric__center {justify-content:flex-start;gap:12px;}.home-fabric__center>span:last-of-type {width:100%;}
  .home-fabric__roles {grid-template-columns:1fr;gap:24px;padding-top:24px;}
  .home-fabric__roles::before {display:none;}
  .home-fabric__roles li {grid-template-columns:32px minmax(0,1fr);justify-items:start;gap:4px 16px;}
  .home-fabric__roles svg {grid-row:1/3;}.home-fabric__roles strong {font-size:17px;}
  .home-fabric__uses {justify-content:flex-start;gap:12px 20px;font-size:15px;}
}
.public-site.public-design-page:not(.page-home) #public-main.publishing-main .public-support-band h2 {
  max-width: 24ch;
}
.public-site.public-design-page:not(.page-home) #public-main.publishing-main .support-return-links nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  padding-block: 12px;
}
.public-site.public-design-page:not(.page-home) #public-main.publishing-main .support-return-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--pub-accent);
  font-size: 16px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Support detail pages share the landing navigation, without tab-panel JavaScript. */
html body.public-site.public-design-page:not(.page-home) #public-main.publishing-main .support-return-links.support-detail-tabs nav {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-block:0;border-bottom:1px solid var(--pub-line);
}
html body.public-site.public-design-page:not(.page-home) #public-main.publishing-main .support-return-links.support-detail-tabs a {
  display:flex;align-items:center;justify-content:center;min-height:56px;padding:8px 12px;
  border-bottom:2px solid transparent;text-decoration:none;color:var(--pub-muted);
}
html body.public-site.public-design-page:not(.page-home) #public-main.publishing-main .support-return-links.support-detail-tabs a[aria-current="page"],
html body.public-site.public-design-page:not(.page-home) #public-main.publishing-main .support-return-links.support-detail-tabs a:hover {
  color:var(--pub-accent);border-bottom-color:var(--pub-accent);background:var(--pub-soft);
}
html body.public-site #public-main.publishing-main .public-article-meta .support-article-title {
  margin:0 0 20px;font-size:clamp(24px,3vw,36px);line-height:1.45;
  color:var(--pub-ink);word-break:keep-all;overflow-wrap:anywhere;
}
html body.public-site #public-main.publishing-main .support-article-summary {
  margin:24px 0 0;color:var(--pub-body);line-height:1.75;overflow-wrap:anywhere;
}
