/* Shared public experience, excluded from ROOT Control. */
.site-body { --radius-control:14px; --radius-media:22px; --radius-panel:26px; --ease-out:cubic-bezier(.2,.75,.25,1); color:#465363; }
.site-body h1,.site-body h2,.site-body h3 { text-wrap:balance; }
.site-body p { text-wrap:pretty; }
.site-header { background:#fffffff2; backdrop-filter:blur(16px); transition:box-shadow .3s; }
.site-header.is-scrolled { box-shadow:0 8px 30px #143f660a; }
.site-body .header-inner { direction:inherit; }
.page-progress { position:absolute; bottom:-1px; inset-inline:0; height:3px; background:#ed881e; transform:scaleX(0); transform-origin:right; pointer-events:none; }
[dir="ltr"] .page-progress { transform-origin:left; }
.site-body .button,.site-body .home-button,.site-body .header-contact,.site-body .contact-form-submit,.site-body .career-apply-button { border-radius:var(--radius-control); }
.site-body .header-contact { padding:9px 17px; background:#123f66; border:1px solid #123f66; color:#fff; }
.site-body .button,.site-body .home-button,.site-body .header-contact { transition:transform .25s var(--ease-out),background .25s,box-shadow .25s; }
.site-body .button:hover,.site-body .home-button:hover { transform:translateY(-3px); box-shadow:0 10px 25px #123f661a; }
.site-body .button svg,.text-link svg,.home-text-link svg { transition:transform .3s var(--ease-out); }
.site-body a:hover>svg { transform:translate(-3px,-3px); }
.site-body input:not([type="checkbox"]):not([type="radio"]),.site-body select,.site-body textarea { border-radius:12px; }
.site-body .nav-more-menu,.site-body .mobile-nav { border-radius:0 0 20px 20px; }
.site-body .solution-card,.site-body .article-card,.site-body .career-card { border-radius:var(--radius-panel); overflow:hidden; }
.site-body .solution-card>a { border-radius:inherit; border-top:0; }
.site-body .solution-card { position:relative; border:1px solid #e3ebf1; box-shadow:none; transition:transform .35s var(--ease-out),box-shadow .35s,border-color .35s; }
.site-body .solution-card:hover { transform:translateY(-7px); border-color:#b9d0e1; box-shadow:0 18px 42px #123f6610; }
.site-body .solution-card .card-icon { width:60px; height:60px; border-radius:18px; background:#edf4fa; }
.site-body .solution-card:nth-child(3n+2) .card-icon { color:#b85c0b; background:#fff0df; }
.site-body .solution-action { padding-top:18px; }
.site-body .solution-action i { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:#f0f5f9; transition:transform .3s,background .3s; }
.site-body .solution-card:hover .solution-action i { background:#ffdfbb; transform:rotate(-40deg); }
.site-body .detail-icon,.site-body .detail-icon.has-cover>img.detail-cover-preview,.site-body .media-panel img,.site-body .media-panel video,.site-body .about-card img { border-radius:var(--radius-media); }
.site-body .detail-icon { min-height:310px; position:relative; overflow:hidden; background:#edf4fa; }
.site-body .detail-icon>svg { width:110px; height:110px; stroke-width:1.2; transition:transform .5s var(--ease-out); }
.site-body .detail-icon:hover>svg { transform:rotate(-8deg) scale(1.08); }
.site-body .detail-layout { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
.detail-content,.article-prose { min-width:0; }
.site-body .detail-content h2,.site-body .article-prose h2 { scroll-margin-top:120px; }
.site-body .links-panel { border-radius:18px; padding:22px; background:#f3f7fa; }
.page-services .solutions-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.page-services .solution-card { background:#f6f9fb; }
.page-services .solution-card:nth-child(4n+2),.page-services .solution-card:nth-child(4n+3) { background:#fff6ed; }
.page-services .solution-card>a { display:grid; grid-template-columns:1fr; padding:32px; }
.page-services .solution-visual { flex-direction:row; align-items:center; }
.page-services .solution-copy h3 { font-size:22px; }
.page-products .solutions-list { counter-reset:systems; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.page-products .solution-card { background:#f6f9fb; }
.page-products .solution-card:nth-child(4n+2),.page-products .solution-card:nth-child(4n+3) { background:#fff6ed; }
.page-products .solution-visual { flex-direction:row; align-items:center; padding-inline-end:28px; }
.page-products .solution-copy h3 { font-size:22px; }
.page-products .solution-card { counter-increment:systems; }
.page-products .solution-card::after { content:counter(systems,decimal-leading-zero); position:absolute; top:28px; inset-inline-end:28px; font:600 14px Arial,sans-serif; color:#8b9eae; pointer-events:none; }
.page-products .solution-card>a { padding:32px; }
.page-products .solution-card,.page-services .solution-card { min-width:0; }
.page-products .solution-copy,.page-services .solution-copy { min-width:0; }
.page-products .solution-copy h3,.page-services .solution-copy h3 { font-size:20px; line-height:1.75; overflow-wrap:anywhere; }
.page-products .solution-card>a,.page-services .solution-card>a { padding:28px; }
.page-breadcrumbs { width:min(var(--width,1280px),calc(100% - 96px)); margin:24px auto -18px; display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:12px; color:#6d7f8d; }
.page-breadcrumbs a:hover { color:#b85c0b; }
.page-breadcrumbs span:last-child { color:#123f66; }
.original-home .home-signal-bar { background:transparent; padding-top:12px; gap:12px; }
.original-home .home-signal-bar>div { background:#123f66; border:0; border-radius:20px; padding:26px; transition:transform .3s var(--ease-out); }
.original-home .home-signal-bar>div:hover { transform:translateY(-6px); }
.service-accordion { border:0; display:grid; gap:12px; }
.service-accordion details { border:1px solid #e3eaf0; border-radius:22px; background:#f8fafc; transition:background .3s,box-shadow .3s; overflow:clip; }
.service-accordion details[open] { background:#eef4f9; border-color:#d6e3ee; box-shadow:0 12px 30px #123f6608; }
.service-accordion summary { padding:24px; }
.service-detail { padding:0 24px 24px; }
[dir="ltr"] .service-detail { padding-inline:24px; }
.service-summary-icon { border-radius:14px; background:#fff; width:48px; height:48px; }
.original-home .comparison-board,.original-home .home-contact-form { border-radius:24px; }
.original-home .home-feature>span { border-radius:16px; }
.original-home .process-step>i { border-radius:14px; }
.original-home .faq-list { display:grid; gap:12px; }
.original-home .faq-item { border:1px solid #e0e8ef; background:#f7fafc; border-radius:18px; }
.original-home .home-consultation-cta { border-radius:24px; }
.original-home .home-partner-track a { border-radius:18px; }
.site-body .work-tile,.site-body .work-tile img,.site-body .single-work-media img,.site-body .work-dialog-media img { border-radius:18px; }
.site-body .work-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.site-body .work-tile { transition:transform .35s var(--ease-out),box-shadow .35s; }
.site-body .work-tile:hover { transform:translateY(-5px); box-shadow:0 20px 35px #123f661a; }
.site-body .work-tile.work-scroll-tile { transform:translate3d(0,var(--work-shift,0px),0) rotate(var(--work-angle,0deg)) scale(var(--work-scale,1)); opacity:var(--work-opacity,1); transition:box-shadow .3s; }
.site-body .work-tile.work-scroll-tile:hover { box-shadow:0 20px 35px #123f6620; }
.site-body .work-categories a { border-radius:30px; }
.profile-download { display:inline-flex; align-items:center; gap:12px; color:#123f66; padding:12px 18px; border:1px solid #d4e1ec; border-radius:14px; background:#fff; font-size:13px; font-weight:700; transition:background .2s,transform .2s; }
.profile-download:hover { background:#fff1e1; transform:translateY(-2px); }
.profile-download>svg { color:#c46a16; width:21px; }
.profile-download>span { display:flex; align-items:center; gap:16px; }
.profile-download small { font:11px Arial,sans-serif; color:#8392a0; }
.work-entry-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.site-body .articles-hero,.site-body .article-detail-hero { position:relative; padding-block:56px 42px; border-bottom:1px solid #dce7ef; }
.site-body .articles-hero-copy>span,.site-body .article-detail-hero nav>span { color:#a8520a; }
.site-body .articles-hero h1 { font-size:52px; max-width:850px; margin-block:14px 20px; }
.site-body .articles-hero-meta { margin-top:28px; }
.article-tools { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; margin-block:0 30px; }
.article-search { display:flex; align-items:center; gap:12px; border:1px solid #dce6ee; padding-inline:16px; border-radius:14px; flex:1 1 260px; max-width:380px; background:#f7fafc; }
.article-search svg { width:20px; height:20px; color:#6d7f8d; }
.article-search input { width:100%; min-width:0; padding-block:12px; border:0; background:transparent; color:#123f66; outline-offset:0; }
.article-filters { display:flex; flex-wrap:wrap; gap:8px; }
.article-filters button { min-height:44px; padding:8px 17px; background:#f0f5f9; color:#536b7e; border:1px solid transparent; border-radius:24px; font-size:13px; }
.article-filters button[aria-pressed="true"] { color:#fff; background:#123f66; }
.article-results-status { color:#627787; font-size:12px; }
.site-body .articles-grid { gap:26px; }
.site-body .article-card { border:1px solid #e0e8ef; background:#fff; transition:transform .35s var(--ease-out),box-shadow .35s; }
.site-body .article-card:hover { transform:translateY(-6px); box-shadow:0 16px 38px #123f6610; }
.site-body .article-card-visual { display:block; border-radius:0; background:#edf4fa; min-height:0; height:auto; aspect-ratio:3/2; overflow:hidden; }
.site-body .article-card-visual img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease-out); }
.site-body .article-card:hover .article-card-visual img { transform:scale(1.035); }
.site-body .article-card-visual>span { border-radius:22px; width:84px; height:84px; background:#ffffffb8; }
.site-body .article-card-visual>span svg { width:42px; height:42px; }
.site-body .article-card:nth-child(3n+2) .article-card-visual { background:#fff0df; }
.site-body .article-card-copy { padding:22px; }
.site-body .article-card-copy h2 { font-size:20px; line-height:1.8; overflow-wrap:anywhere; }
.site-body .article-card-copy footer { border-color:#e2eaf1; }
.site-body .article-detail-hero h1 { max-width:1000px; font-size:44px; margin-block:24px; }
.site-body .article-detail-cover img { display:block; width:100%; height:auto; border-radius:24px; }
.site-body .article-reading-layout { grid-template-columns:minmax(200px,.75fr) minmax(0,2.25fr); gap:60px; padding-top:42px; align-items:start; }
.site-body .article-reading-aside { position:sticky; top:116px; padding:22px; background:#f0f5f9; border-radius:22px; display:grid; gap:20px; }
.site-body .article-reading-aside>strong { font-size:18px; }
.article-toc { display:grid; gap:8px; border-top:1px solid #d8e3ed; padding-top:18px; max-height:44vh; overflow-y:auto; }
.article-toc>strong { font-size:13px; color:#123f66; margin-bottom:6px; }
.article-toc a { display:block; font-size:12px; line-height:1.8; padding:7px 10px; border-radius:9px; border-inline-start:2px solid transparent; color:#667b8d; }
.article-toc a[aria-current="location"] { border-color:#ed881e; background:#fff; color:#123f66; }
.article-prose p { line-height:2.2; color:#4c6070; }
.article-prose h2 { font-size:26px; margin-block:34px 18px; }
.related-reading { width:min(var(--width,1280px),calc(100% - 96px)); margin:0 auto 65px; border-top:1px solid #dce6ee; padding-top:36px; }
.related-reading>h2 { font-size:26px; margin-bottom:24px; }
.related-reading-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.related-reading-list a { display:flex; gap:16px; align-items:start; padding:24px; background:#f3f7fa; border-radius:18px; transition:transform .25s,background .25s; }
.related-reading-list a:hover { background:#eaf2f8; transform:translateY(-4px); }
.related-reading-list strong { font-size:17px; line-height:1.8; }
.related-reading-list svg { width:22px; margin-top:5px; color:#b66013; }
.site-body .agency-footer { background:#123f66; color:#d4e1eb; border:0; border-radius:34px 34px 0 0; margin-top:28px; }
.site-body .agency-footer p,.site-body .agency-footer nav,.site-body .agency-footer a { color:#d4e1eb; }
.site-body .agency-footer a:hover { color:#ffc17d; }
.site-body .footer-brand .footer-root img { background:transparent; border-radius:0; padding:0; filter:brightness(0) invert(1); }
.site-body .agency-footer-bottom { border-color:#ffffff25; }
.site-body .footer-socials a { border-color:#ffffff30; color:#fff; width:44px; height:44px; }
.site-body .footer-socials a:hover { background:#ed881e; color:#123f66; }
.public-arrive { animation:public-arrive .65s var(--ease-out) both; animation-delay:var(--public-delay,0ms); }
@keyframes public-arrive { from { opacity:.2; transform:translateY(26px); } to { opacity:1; transform:none; } }
@media (min-width:641px) and (max-width:1050px) {
  .page-products .solutions-list,.page-services .solutions-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:920px) {
  .site-body .work-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  .page-breadcrumbs,.related-reading { width:calc(100% - 48px); }
  .site-body .article-reading-layout { grid-template-columns:1fr; gap:30px; }
  .site-body .article-reading-aside { position:static; }
  .article-toc { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:none; }
  .article-toc>strong { grid-column:1/-1; }
  .related-reading-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .site-body .detail-layout,.page-services .solutions-list,.page-products .solutions-list { grid-template-columns:1fr; }
  .site-body .work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .page-breadcrumbs,.related-reading { width:calc(100% - 36px); }
  .site-body .articles-hero h1,.site-body .article-detail-hero h1 { font-size:30px; }
  .site-body .articles-hero,.site-body .article-detail-hero { padding-block:34px 28px; }
  .site-body .article-prose h2 { font-size:23px; }
  .site-body .article-card-copy { padding:22px; }
  .article-search { max-width:none; }
  .article-filters { gap:7px; }
  .article-filters button { padding-inline:12px; font-size:12px; }
  .related-reading-list { grid-template-columns:1fr; }
  .original-home .home-signal-bar { width:calc(100% - 36px); margin-inline:auto; gap:10px; }
  .original-home .home-signal-bar>div { padding:20px 16px; border-radius:18px; }
  .service-accordion summary { padding:20px 16px; }
  .service-accordion h3 { font-size:18px; }
  .site-body .detail-icon { min-height:230px; }
  .site-body .solution-card>a { padding:26px; }
  .site-body .work-tile,.site-body .work-tile img { border-radius:13px; }
  .site-body .agency-footer { border-radius:26px 26px 0 0; }
}
html[data-theme="dark"] .site-body:not(.original-home) { color:#d3e0eb; }
html[data-theme="dark"] .site-header { background:#20384cf2; }
html[data-theme="dark"] .site-body:not(.original-home) h1,html[data-theme="dark"] .site-body:not(.original-home) h2,html[data-theme="dark"] .site-body:not(.original-home) h3 { color:#dfebf4; }
html[data-theme="dark"] .site-body:not(.original-home) .article-card,html[data-theme="dark"] .site-body:not(.original-home) .solution-card,html[data-theme="dark"] .site-body:not(.original-home) .article-reading-aside,html[data-theme="dark"] .site-body:not(.original-home) .links-panel,html[data-theme="dark"] .site-body:not(.original-home) .related-reading-list a,html[data-theme="dark"] .site-body:not(.original-home) .article-search { background:#28465c; border-color:#3c596f; }
html[data-theme="dark"] .article-prose p,html[data-theme="dark"] .article-search input { color:#c7d8e6; }
@media (prefers-reduced-motion:reduce) {
  .public-arrive { animation:none; }
  .site-body *,.site-body *::before,.site-body *::after { animation-duration:0s!important; animation-iteration-count:1!important; transition-duration:0s!important; scroll-behavior:auto!important; }
}
