/* Jinhub's shared professional theme. Component layouts are independent of motion. */
.site-theme {
    --ink: #182c3a; --ink-soft: #53636e; --surface: #f5f6f4; --line: #dce2e3;
    --primary-color: #183b50; --secondary-color: #166c70; --light-bg: #f5f6f4; --dark-text: #182c3a;
    --bs-body-color: #182c3a; --bs-body-bg: #fff; --bs-secondary-color: #53636e; --bs-border-color: #dce2e3;
    color-scheme: light; color: var(--ink); background: #fff;
    font: 16px/1.7 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.site-theme ::selection { background: #d6e8e8; color: #183b50; }
.site-theme .container { width: min(100% - 64px, 1160px); }
.site-theme h1, .site-theme h2, .site-theme h3, .site-theme h4 { color: var(--ink); font-family: inherit; letter-spacing: -.025em; text-wrap: balance; }
.site-theme h1 { font-weight: 600; }
.site-theme h2 { font-size: clamp(1.75rem, 3vw, 2.6rem); line-height: 1.2; font-weight: 600; }
.site-theme h3 { line-height: 1.35; }
.site-theme h2 em, .site-theme h1 em { font: inherit; color: inherit; }
.site-theme p { color: var(--ink-soft); }
.site-theme a:not([class]) { color: #155c67; text-underline-offset: 4px; }
.site-theme a:focus-visible, .site-theme button:focus-visible { outline: 2px solid #166c70; outline-offset: 4px; }
.site-theme .section-kicker { font: 600 .72rem/1.5 inherit; font-family: inherit; font-size: .72rem; font-weight: 600; line-height: 1.5; letter-spacing: .09em; text-transform: uppercase; color: #166c70; margin-bottom: 20px; }
.site-theme .text-muted, .site-theme .text-secondary { color: #53636e !important; }
.site-theme .text-primary { color: #183b50 !important; }
.site-theme .text-success { color: #256449 !important; }.site-theme .text-warning { color: #8b611d !important; }.site-theme .text-info { color: #166c70 !important; }.site-theme .text-danger { color: #a93834 !important; }
.site-theme .lead { color: #455c69; font-size: 1.125rem; line-height: 1.8; }
.site-theme .site-nav, .site-theme .site-nav.is-scrolled { min-height: 88px; background: #fffffff7 !important; box-shadow: none !important; border-bottom: 1px solid #e4e8e8; backdrop-filter: blur(12px); }
.site-theme .site-nav.is-scrolled { min-height: 74px; box-shadow: 0 4px 16px #183b5008 !important; }
.site-theme .navbar::after { display: none; }
.site-theme .brand-lockup > span { color: #183b50; }.site-theme .brand-lockup strong { font-size: 1.1rem; font-weight: 650; }.site-theme .brand-lockup small { color: #667781; font-size: .58rem; letter-spacing: .13em; }
.site-theme .brand-lockup .navbar-logo { height: 35px !important; }
.site-theme .site-nav .nav-link { color: #425966 !important; font-size: .87rem; font-weight: 500; border-radius: 0; background: transparent; }
.site-theme .site-nav .nav-link.active, .site-theme .site-nav .nav-link:hover, .site-theme .site-nav .nav-link.show { color: #123c50 !important; background: transparent; }
.site-theme .nav-link::after { background: #166c70; height: 2px; bottom: 0; }
.site-theme .navbar-toggler { color: #183b50; border: 1px solid #c9d3d8; border-radius: 4px; padding: 8px; }
.site-theme .navbar-toggler-icon { filter: brightness(0) saturate(100%); opacity: .7; }
.site-theme .navbar-brand:hover .navbar-logo { transform: none; filter: none; }
.site-theme .service-menu { border: 1px solid #dce3e7; background: #fff; border-radius: 8px; box-shadow: 0 16px 40px #183b5015; }
.site-theme .service-menu-intro { background: #eef3f4; border-radius: 4px; color: #183b50; }
.site-theme .service-menu-intro > span, .site-theme .service-menu-intro a { color: #166c70; }
.site-theme .service-menu-intro > strong { font-size: 1.1rem; font-weight: 600; }
.site-theme .service-menu-links > a { color: #183b50; border-radius: 4px; }
.site-theme .service-menu-links > a:hover { background: #f3f6f7; transform: none; }
.site-theme .service-menu-links > a > i:first-child { background: #eef3f4; color: #166c70; border-radius: 4px; }
.site-theme .service-menu-links small { color: #5e707c; }
.site-theme .btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 46px; border-radius: 4px; padding: 11px 21px; font-size: .86rem; font-weight: 600; line-height: 1.5; box-shadow: none; transition: background .2s, border-color .2s, transform .2s; white-space: normal; }
.site-theme .btn-primary, .site-theme .btn-light { background: #183b50; color: #fff; border: 1px solid #183b50; }
.site-theme .btn-primary:hover, .site-theme .btn-light:hover { background: #24546a; border-color: #24546a; color: #fff; box-shadow: none; transform: translateY(-2px); }
.site-theme .btn-outline-primary, .site-theme .btn-outline-light { border: 1px solid #a8b8c2; color: #183b50; background: transparent; }
.site-theme .btn-outline-primary:hover, .site-theme .btn-outline-light:hover { background: #edf3f5; color: #183b50; border-color: #183b50; }
.site-theme .btn-success { color: #fff; background: #26634b; border-color: #26634b; }
.site-theme .btn > span { margin-left: 12px; }
.site-theme .text-link { display: inline-flex; align-items: center; gap: 25px; color: #183b50; font-size: .88rem; font-weight: 600; padding: 8px 0; border-bottom: 1px solid #a6b7c0; text-decoration: none; }
.text-link span { transition: transform .2s; }.site-theme .text-link:hover { color: #166c70; border-color: #166c70; }.text-link:hover span { transform: translateX(4px); }
.site-theme .card, .site-theme .card.bg-light { color: var(--ink); background: #fff; border: 1px solid #dce3e6; border-radius: 6px; box-shadow: none; }
.site-theme .card:hover { transform: none; border-color: #a1b6c1; box-shadow: 0 6px 18px #183b5006; }
.site-theme .card.bg-primary, .site-theme .card.bg-success { color: #183b50 !important; background: #edf3f4 !important; }
.site-theme .interactive-card::before { display: none; }
.site-theme .section-space { padding-top: 62px !important; padding-bottom: 62px !important; }
.site-theme .hero-section { color: var(--ink); background: #f5f6f4; }
.site-theme .interior-hero { position: relative; padding: 68px 0 60px; min-height: 0; border-bottom: 1px solid #dce3e3; background: #f5f6f4; }
.site-theme .interior-hero::before, .site-theme .interior-hero::after { display: none; }
.site-theme .interior-hero-grid { display: block; transform: none; }
.site-theme .interior-hero h1 { max-width: 860px; font-size: clamp(2.2rem, 4.4vw, 3.6rem); line-height: 1.14; margin-bottom: 20px; text-shadow: none; font-weight: 600 !important; }
.site-theme .interior-hero .lead { max-width: 710px; font-size: 1.05rem; margin-bottom: 25px; }
.site-theme .home-hero { padding: 88px 0 80px; background: #f5f6f4; }
.welcome-layout { display: grid; grid-template-columns: 1.25fr 1fr; gap: 80px; align-items: center; }
.site-theme .hero-content { min-width: 0; }
.site-theme .home-hero h1 { font-size: clamp(2.6rem, 4.2vw, 3.7rem); line-height: 1.12; margin: 0 0 26px; letter-spacing: -.035em; }
.welcome-description { max-width: 540px; font-size: 1.05rem; line-height: 1.85; margin-bottom: 30px; }
.site-theme .hero-actions { display: flex; justify-content: flex-start; gap: 28px; align-items: center; flex-wrap: wrap; }
.site-theme .hero-actions .btn { border-radius: 4px; padding: 12px 22px; }
.hero-context { font-size: .75rem; margin: 35px 0 0; color: #637883 !important; }
.service-directory { background: #183b50; color: #fff; padding: 28px 30px 18px; border-radius: 3px; }
.directory-heading { display: flex; align-items: center; justify-content: space-between; font-size: .75rem; padding-bottom: 18px; border-bottom: 1px solid #ffffff2d; color: #becfd8; }
.service-directory > a { display: grid; grid-template-columns: 23px 1fr 20px; gap: 12px; padding: 22px 0; color: #fff; text-decoration: none; border-bottom: 1px solid #ffffff2d; }
.directory-index { color: #a7bfc9; font-size: .65rem; padding-top: 2px; }
.service-directory small { display: block; color: #b4cbd6; font-size: .68rem; margin-bottom: 3px; }
.service-directory strong { display: block; font-size: 1.12rem; line-height: 1.4; font-weight: 550; }
.service-directory a > span > span { display: block; font-size: .73rem; color: #c4d6de; margin-top: 4px; }
.directory-arrow { align-self: center; color: #d7e8ea; transition: transform .2s; }
.service-directory a:hover .directory-arrow { transform: translate(3px, -3px); }
.service-directory a:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.service-directory > p { margin: 18px 0 0; color: #b4cbd6; font-size: .67rem; }
.site-theme .service-explorer { padding: 72px 0; background: #fff; }
.site-theme .service-explorer::before { display: none; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 36px; }
.section-heading > p { max-width: 340px; font-size: .9rem; line-height: 1.8; margin-bottom: 0; }
.site-theme .service-heading { max-width: none; text-align: left; }
.site-theme .service-stage { display: block; min-height: 0; background: #fff; border: 1px solid #d7e1e5; border-radius: 5px; box-shadow: none; overflow: hidden; }
.site-theme .service-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 0; background: #f6f8f8; border: 0; border-bottom: 1px solid #d7e1e5; }
.site-theme .service-tab { display: flex; min-height: 74px; gap: 14px; padding: 17px 23px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; box-shadow: none; color: #546b77; background: transparent; transform: none; font-size: .85rem; }
.site-theme .service-tab.is-active { color: #183b50; background: #fff; border-bottom-color: #166c70; transform: none; box-shadow: none; }
.site-theme .service-tab > i { margin-left: auto; }
.site-theme .service-tab:focus-visible { outline-offset: -5px; }
.site-theme .service-panels { background: #fff; }
.site-theme .service-panel { position: relative; inset: auto; display: grid; grid-template-columns: 1.25fr 1fr; gap: 65px; padding: 42px; color: var(--ink); background: #fff; }
.site-theme .service-panel[hidden] { display: none; }.site-theme .service-panel::after { display: none; }
.site-theme .service-copy h3 { color: #183b50; font-size: 2rem; line-height: 1.2; letter-spacing: -.025em; margin-bottom: 18px; }
.site-theme .service-copy > p:not(.section-kicker) { color: #526775; font-size: .93rem; line-height: 1.8; }
.service-copy .btn { margin-top: 14px; }
.service-capabilities { align-self: center; padding-left: 35px; border-left: 1px solid #dce3e6; }
.capabilities-heading { display: block; margin-bottom: 18px; font-size: .72rem; color: #536c79; }
.service-capabilities > div { display: grid; grid-template-columns: 22px 1fr 15px; gap: 12px; padding: 17px 0; border-bottom: 1px solid #e3e9eb; }
.service-capabilities > div > span { color: #81919a; font-size: .66rem; }.service-capabilities strong { font-size: .87rem; font-weight: 550; }.service-capabilities i { color: #166c70; font-size: .75rem; align-self: center; }
.service-capabilities > p { margin: 22px 0 0; font-size: .7rem; }
.availability-dot { display: inline-block; width: 6px; height: 6px; background: #357757; border-radius: 50%; margin-right: 7px; }
.principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }.principle-grid article { border-top: 1px solid #a9bbc4; padding-top: 24px; }.principle-grid article > span { font-size: .7rem; color: #708590; }.principle-grid h3 { font-size: 1.25rem; margin: 18px 0 12px; }.principle-grid p { font-size: .92rem; line-height: 1.8; }
.company-section { background: #f3f6f6; padding: 74px 0; border-block: 1px solid #e0e7e8; }
.editorial-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 85px; }
.editorial-copy { font-size: .97rem; line-height: 1.9; }.editorial-copy .lead { color: #2c4b5c; font-size: 1.2rem; }
.purpose-note { display: flex; gap: 20px; margin-top: 25px; padding-top: 25px; border-top: 1px solid #d8e0e3; }.purpose-note > i { color: #166c70; font-size: 23px; margin-top: 6px; }.purpose-note strong { display: block; color: #183b50; }
.focus-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.site-theme .focus-card { padding: 25px; }.card-index { color: #637b89; font-size: .68rem; }.focus-card > i { color: #166c70; font-size: 24px; margin: 30px 0 22px; }.site-theme .focus-card h3 { font-size: 1.15rem; line-height: 1.4; }.focus-card p { font-size: .86rem; margin-bottom: 0; }
.milestone-list article { display: grid; grid-template-columns: 25px 1fr 18px; gap: 20px; align-items: center; padding: 23px 0; border-bottom: 1px solid #d9e2e5; }.milestone-list article:first-child { padding-top: 0; }.milestone-list span { font-size: .7rem; color: #7b8f99; }.milestone-list h3 { margin: 0; font-size: 1.03rem; font-weight: 500; line-height: 1.6; }.milestone-list i { color: #166c70; font-size: .8rem; }
.spotlight-panel { display: grid; grid-template-columns: 1.2fr 1fr; gap: 65px; padding: 45px; background: #edf3f5; border: 1px solid #d6e1e5; border-radius: 5px; }.spotlight-panel p { line-height: 1.8; margin: 22px 0; }.platform-summary { padding: 25px 0 25px 35px; border-left: 1px solid #bacdd6; align-self: center; }.platform-summary > span { color: #183b50; font-size: 1.05rem; font-weight: 600; }.platform-summary ul { margin: 20px 0 0; padding: 0; list-style: none; }.platform-summary li { padding: 12px 0; border-bottom: 1px solid #ccd9df; color: #526b78; font-size: .9rem; }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }.values-grid .card { padding: 30px; }.values-grid i { color: #166c70; font-size: 24px; margin-bottom: 25px; }.values-grid h3 { font-size: 1.3rem; }.values-grid p { font-size: .9rem; margin: 0; }
.site-theme .roadmap-track::before { display: none; }.site-theme .roadmap-track article { background: #fff; border: 1px solid #dbe3e7; border-radius: 5px; box-shadow: none; min-height: 0; padding: 30px; }.site-theme .roadmap-track article:hover { transform: translateY(-3px); }.site-theme .roadmap-track article > span { color: #166c70; }.site-theme .roadmap-track article > i { color: #166c70; background: #edf4f4; border-color: #d8e5e5; border-radius: 5px; width: 44px; height: 44px; margin: 22px 0; box-shadow: none; }.site-theme .roadmap-track p { color: #536b78; }
.invitation-panel { padding: 36px 40px; border-top: 1px solid #b9cbd3; background: #f4f6f6; border-radius: 0; }.invitation-panel:has(>div) { display: flex; align-items: center; justify-content: space-between; gap: 35px; }.invitation-panel .section-kicker { margin-bottom: 12px; }.invitation-panel h2 { font-size: 1.9rem; margin-bottom: 20px; }.invitation-panel p { font-size: .92rem; }.invitation-panel .text-link { margin-left: 20px; }.invitation-panel:has(>div) .btn { flex-shrink: 0; }.invitation-panel > div > p:last-child { margin-bottom: 0; }
.contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }.site-theme .contact-route { padding: 34px; }.contact-route .route-icon { color: #166c70; font-size: 25px; margin: 25px 0 20px; }.site-theme .contact-route h2 { font-size: 1.65rem; }.contact-route > p { font-size: .92rem; }.contact-address { display: flex; justify-content: space-between; gap: 16px; margin: 30px 0; color: #183b50; font-size: clamp(1rem, 1.6vw, 1.3rem); text-decoration: none; overflow-wrap: anywhere; }.contact-address:hover { color: #166c70; text-decoration: underline; }.contact-route-bottom { border-top: 1px solid #dce4e7; padding-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #637987; font-size: .7rem; }.copy-address { color: #166c70; border: 0; background: none; padding: 6px 0; white-space: nowrap; }.copy-address i { margin-left: 8px; }.contact-note { font-size: .85rem; max-width: 720px; margin: 26px auto 0; text-align: center; }
.site-theme .process-card { padding: 65px 28px 28px !important; min-height: 0; }.site-theme .process-card > span { color: #6e8592; }.site-theme .process-card > i { background: #edf4f4; color: #166c70; width: 42px; height: 42px; border-radius: 4px; margin-bottom: 20px; }.site-theme .process-card h3 { font-size: 1.25rem; }.site-theme .process-card p { color: #546b78; }
.site-theme .resource-tools { max-width: none; background: #f3f6f6; border: 1px solid #dce4e6; border-radius: 5px; padding: 26px; box-shadow: none; margin-bottom: 34px; }.site-theme .resource-tools > label { color: #314e5d; font-size: .74rem; letter-spacing: .03em; }.site-theme .resource-tools > label i { color: #166c70; }.site-theme .resource-tools input { color: #183b50; background: #fff; border: 1px solid #bdcdd4; border-radius: 4px; min-height: 52px; }.site-theme .resource-tools input:focus { border-color: #166c70; box-shadow: 0 0 0 3px #166c7014; }.site-theme .resource-tools kbd { color: #5c7685; background: #edf2f4; border-color: #d5dfe4; }.site-theme .resource-tools > p { color: #5e7583; }.site-theme .resource-tools > p span { color: #166c70; }
.site-theme .library-card { position: relative; }.library-category { display: flex; gap: 12px; padding: 23px 26px 0; color: #617c89; font-size: .7rem; }.library-category i { font-size: 17px; color: #166c70; }.site-theme .library-card .card-body { display: flex; flex-direction: column; padding: 22px 26px 26px; }.library-card .section-kicker { display: none; }.site-theme .library-card h2 { font-size: 1.2rem; line-height: 1.4; margin-bottom: 14px; }.library-card p { font-size: .88rem; line-height: 1.8; margin-bottom: 25px; }.library-card .text-link { margin-top: auto; justify-content: space-between; }.library-card .resource-card-index, .library-card .resource-card-arrow { display: none; }.site-theme .resource-empty i { color: #166c70; background: #edf3f4; }.site-theme .resource-empty p { color: #5d7280; }
.site-theme .reading-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 55px; margin: 0 auto; }.site-theme .reading-layout:has(.reading-sidebar[hidden]) { grid-template-columns: minmax(0, 800px); justify-content: center; }.reading-sidebar { position: sticky; top: 108px; align-self: start; padding: 8px 0; }.reading-sidebar nav { display: flex; flex-direction: column; gap: 4px; max-height: 60vh; overflow-y: auto; scrollbar-width: thin; }.site-theme .reading-sidebar nav a { padding: 8px 12px; border-left: 2px solid #dce4e7; color: #536d7a; font-size: .76rem; text-decoration: none; line-height: 1.5; }.site-theme .reading-sidebar nav a[aria-current="location"], .site-theme .reading-sidebar nav a:hover { color: #155f65; background: #edf4f4; border-color: #166c70; }.site-theme .reading-back { display: block; margin-top: 25px; color: #183b50; font-size: .75rem; text-decoration: none; }.reading-article { min-width: 0; }.site-theme .reading-article > .card { border: 0; background: #fff; box-shadow: none; }.site-theme .reading-article > .card > .card-body { padding: 0 0 0 30px !important; }.site-theme .reading-article .card-body h2 { font-size: 1.45rem; line-height: 1.4; scroll-margin-top: 110px; }.reading-article p, .reading-article li { color: #425d6a; font-size: .98rem; line-height: 1.9; }.site-theme .legal-motion-card .card-body > .mb-5 { padding-left: 0; border: 0; }.site-theme .legal-motion-card .card-body > .mb-5::before { display: none; }.site-theme .reading-article .card:hover { transform: none; box-shadow: none; }
.not-found-number { display: block; font-size: 5rem; font-weight: 600; line-height: 1.2; color: #8ea3ad; margin-bottom: 20px; }
.site-theme .contribution-card > .card-body { padding: 32px; }.site-theme .contribution-card .card-title { font-size: 1.4rem; }.site-theme .contribution-card .h4 { font-size: 1.15rem; }.site-theme .payment-section { padding: 22px; background: #f1f5f5; border: 1px solid #c9d9df; border-radius: 4px; }.site-theme .security-info { padding-top: 25px; border-top: 1px solid #dae3e7; }
.site-theme .form-control, .site-theme .form-select { color: #183b50; background-color: #fff; border: 1px solid #afc3cd; border-radius: 4px; padding: 12px 14px; }.site-theme .form-control:focus, .site-theme .form-select:focus { border-color: #166c70; box-shadow: 0 0 0 3px #166c7014; }.site-theme .form-control::placeholder { color: #718690; }.site-theme .alert { border-radius: 4px; }.site-theme .alert-success { color: #235a3f; background: #eaf4ee; border: 1px solid #bfd9c9; }.site-theme .alert-error, .site-theme .alert-danger { color: #913b34; background: #fcf0ee; border: 1px solid #e3bbb6; }
.site-theme .footer { margin: 0; padding: 52px 0 25px; color: #dce6eb; background: #163244; border: 0; }.site-theme .footer::before { display: none; }.site-theme .footer-top { padding-bottom: 32px; border-color: #ffffff24; }.site-theme .footer-brand h2 { font-size: 1.1rem; color: #fff; }.site-theme .footer-brand p { max-width: 540px; color: #bfd0d9; font-size: .82rem; }.site-theme .footer-cta { color: #fff; font-size: .8rem; border: 1px solid #7894a4; border-radius: 4px; padding: 12px 18px; background: none; }.site-theme .footer-cta:hover { background: #ffffff0c; transform: none; }.site-theme .footer-grid { gap: 40px; padding: 36px 0; }.site-theme .footer-grid > div > span { color: #fff; font-size: .7rem; letter-spacing: .07em; }.site-theme .footer-grid a, .site-theme .footer-grid small, .site-theme .footer-grid p { color: #bfd0d9; font-size: .8rem; }.site-theme .footer-grid a:hover { color: #fff; transform: translateX(3px); }.site-theme .footer-bottom { display: flex; flex-wrap: wrap; gap: 20px; border-color: #ffffff24; }.site-theme .footer-bottom > p { margin-right: auto; color: #b7cbd6; font-size: .67rem; }.site-theme .footer-bottom a { color: #c9d9e2; font-size: .68rem; }.site-theme .footer-bottom .motion-toggle { position: static; background: transparent; color: #cedde5; border: 1px solid #6d8b9d; border-radius: 4px; padding: 6px 10px; font-size: .65rem; }.site-theme .back-to-top { color: #fff; background: transparent; border: 1px solid #6d8b9d; border-radius: 4px; flex-shrink: 0; }.site-theme .site-progress span, .site-theme .reading-progress { background: #166c70; box-shadow: none; height: 2px; }
.site-toast { position: fixed; z-index: 1200; bottom: 24px; left: 50%; transform: translateX(-50%); max-width: calc(100% - 30px); padding: 12px 20px; border-radius: 4px; background: #183b50; color: #fff; box-shadow: 0 5px 20px #183b5020; font-size: .85rem; }
.site-theme [id] { scroll-margin-top: 100px; }
/* Short, one-time entrances and tactile feedback instead of continuous decoration. */
@keyframes professional-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes panel-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.site-theme .service-panel.is-entering { animation: panel-enter .3s ease-out both; }
.site-theme .app-reveal-pending, .site-theme .motion-pending { opacity: 0; transform: translateY(16px); }
.site-theme .app-reveal-visible { animation: professional-enter .55s var(--app-delay, 0ms) ease-out both; }
.site-theme .motion-visible { animation: professional-enter .55s var(--reveal-delay, 0ms) ease-out both; }
.site-theme .app-reveal-pending:focus-within, .site-theme .motion-pending:focus-within { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
    .motion-ready:not(.motion-paused) .hero-content > *, .motion-ready:not(.motion-paused) .interior-hero-grid > div > * { animation: professional-enter .6s ease-out both; animation-delay: var(--welcome-delay, 0ms); }
    .motion-ready:not(.motion-paused) .service-directory { animation: professional-enter .65s .2s ease-out both; }
}
.motion-paused .site-theme .app-reveal-pending, .motion-paused .site-theme .app-reveal-visible, .motion-paused .site-theme .motion-pending, .motion-paused .site-theme .motion-visible { opacity: 1; transform: none; animation: none; }
.effects-background *, .effects-background *::before, .effects-background *::after { animation-play-state: paused !important; }
@media (max-width: 1100px) { .welcome-layout { gap: 40px; }.editorial-grid { gap: 45px; }.focus-grid { grid-template-columns: repeat(2, 1fr); }.site-theme .service-panel { gap: 35px; padding: 32px; }.site-theme .service-tab { padding-inline: 17px; }.site-theme .reading-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 30px; } }
@media (max-width: 767px) {
    .site-theme .container { width: min(100% - 36px, 560px); }.site-theme .site-nav, .site-theme .site-nav.is-scrolled { min-height: 72px; }.site-theme .brand-lockup .navbar-logo { height: 31px !important; }.site-theme .home-hero { padding: 48px 0; }.welcome-layout { grid-template-columns: 1fr; gap: 36px; }.site-theme .home-hero h1 { font-size: clamp(2.1rem, 8.5vw, 3rem); }.welcome-description { font-size: .97rem; }.site-theme .hero-actions { gap: 20px; }.hero-context { margin-top: 24px; font-size: .68rem; }.service-directory { padding: 23px 25px 18px; }.service-directory > a { padding: 18px 0; }.service-directory strong { font-size: 1.03rem; }.site-theme .interior-hero { padding: 45px 0 35px; }.site-theme .interior-hero h1 { font-size: clamp(2rem, 8vw, 2.8rem); }.site-theme .interior-hero .lead { font-size: .98rem; }.site-theme .section-space, .site-theme .service-explorer { padding-block: 38px !important; }.section-heading { display: block; margin-bottom: 28px; }.section-heading > p { margin-top: 16px; }.site-theme .service-tabs { grid-template-columns: 1fr; }.site-theme .service-tab { min-height: 55px; border-bottom: 1px solid #d7e1e5; border-left: 3px solid transparent; }.site-theme .service-tab.is-active { border-left-color: #166c70; border-bottom-color: #d7e1e5; }.site-theme .service-panel { grid-template-columns: 1fr; gap: 30px; padding: 25px; }.site-theme .service-copy h3 { font-size: 1.6rem; }.service-capabilities { padding: 22px 0 0; border-left: 0; border-top: 1px solid #d7e1e5; }.principle-grid, .editorial-grid, .values-grid, .contact-grid, .spotlight-panel { grid-template-columns: 1fr; gap: 28px; }.company-section { padding: 45px 0; }.principle-grid { gap: 25px; }.principle-grid h3 { margin-top: 12px; }.site-theme .focus-card { padding: 22px; }.spotlight-panel { padding: 26px; }.platform-summary { padding: 25px 0 0; border-left: 0; border-top: 1px solid #bdcfd7; }.invitation-panel { padding: 28px; }.invitation-panel:has(>div) { display: block; }.invitation-panel:has(>div) .btn { margin-top: 22px; }.invitation-panel .text-link { margin: 16px 0 0; display: flex; width: fit-content; }.invitation-panel h2 { font-size: 1.6rem; }.site-theme .contact-route { padding: 26px; }.contact-route-bottom { flex-wrap: wrap; }.site-theme .reading-layout { display: block; }.reading-sidebar { position: static; background: #f3f6f6; border: 1px solid #dce5e7; padding: 20px; margin-bottom: 32px; }.reading-sidebar nav { max-height: 180px; }.site-theme .reading-article > .card > .card-body { padding: 0 !important; }.site-theme .resource-tools { padding: 22px; }.site-theme .resource-tools input { font-size: .9rem; padding-left: 12px; }.site-theme .footer-top { display: block; }.site-theme .footer-cta { margin-top: 18px; }.site-theme .footer-grid { grid-template-columns: 1fr 1fr; gap: 26px; }.site-theme .footer-bottom { gap: 15px; }.site-theme .footer-bottom > p { flex-basis: 100%; }.site-theme .footer-bottom > div { gap: 15px; }.site-theme .service-menu { max-width: 100%; }.site-theme .card-body { overflow-wrap: anywhere; }.site-theme .contribution-card > .card-body { padding: 25px; }
}
@media (max-width: 380px) { .focus-grid { grid-template-columns: 1fr; }.site-theme .btn { padding-inline: 16px; }.site-theme .footer-grid { gap: 24px 14px; } }
@media (prefers-reduced-motion: reduce) { .site-theme .app-reveal-visible, .site-theme .service-panel.is-entering { animation: none; }.site-theme .app-reveal-pending, .site-theme .motion-pending { opacity: 1; transform: none; } }

/* Service pages and product walkthroughs. */
.hero-aside { align-self: end; border-left: 1px solid #b7c8cf; padding-left: 28px; }.hero-aside > span { color: #52707e; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }.hero-aside p { color: #314f5e; margin: 12px 0 0; font-size: .9rem; line-height: 1.8; }.hero-aside .text-link { color: #155c67; margin-top: 16px; }
.service-catalog { border-top: 1px solid #bdcbd1; }.catalog-service { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 55px; align-items: center; padding: 54px 0; border-bottom: 1px solid #dbe3e6; }.catalog-visual { position: relative; display: block; overflow: hidden; border: 1px solid #cedadd; border-radius: 5px; background: #eaf0f1; }.catalog-visual img { display: block; width: 100%; height: auto; transition: transform .45s ease; }.catalog-visual span { position: absolute; right: 14px; bottom: 14px; padding: 9px 13px; color: #fff; background: #183b50ec; border-radius: 3px; font-size: .7rem; }.catalog-visual i { margin-left: 8px; }.catalog-visual:hover img { transform: scale(1.018); }.catalog-copy h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); }.catalog-copy h2 a { color: #183b50; text-decoration: none; }.catalog-copy > p:not(.section-kicker) { font-size: .95rem; line-height: 1.8; }.catalog-copy ul { list-style: none; padding: 12px 0 4px; }.catalog-copy li { padding: 8px 0; color: #425d69; font-size: .84rem; }.catalog-copy li i { width: 24px; color: #166c70; font-size: .68rem; }
.service-detail-intro { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(220px, .5fr); gap: 70px; align-items: end; }.eyebrow-back { display: inline-flex; gap: 9px; align-items: center; margin-bottom: 36px; color: #476674; font-size: .74rem; text-decoration: none; }.service-detail-intro .hero-actions { margin-top: 30px; }.service-detail-intro .text-link { color: #155c67; }.service-status { padding-left: 30px; border-left: 1px solid #b7c8cf; }.service-status > span { color: #52707e; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }.service-status p { margin: 18px 0 0; color: #183b50; font-size: 1.2rem; }.service-status .availability-dot { background: #3f8a67; }
.demo-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 30px; }.demo-heading > div:last-child { text-align: right; }.demo-heading small { display: block; margin-top: 9px; color: #667d88; font-size: .68rem; }.demo-toggle { border: 1px solid #adbec6; border-radius: 4px; padding: 9px 13px; color: #284c5d; background: #fff; font-size: .72rem; }.demo-toggle i { width: 18px; }.product-demo { overflow: hidden; margin: 0; border: 1px solid #ccd8dd; border-radius: 6px; background: #edf2f3; box-shadow: 0 15px 40px #183b5010; }.product-demo img { display: block; width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: cover; }.product-demo figcaption { padding: 12px 18px; color: #647985; background: #fff; border-top: 1px solid #dbe3e6; font-size: .67rem; }
.feature-detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }.feature-detail-grid article { position: relative; padding: 30px; background: #fff; border: 1px solid #d6e0e3; border-radius: 5px; }.feature-detail-grid article > i { color: #166c70; font-size: 24px; }.feature-detail-grid article > span { position: absolute; top: 31px; right: 30px; color: #889ba4; font-size: .68rem; }.feature-detail-grid h3 { margin: 38px 0 14px; font-size: 1.2rem; }.feature-detail-grid p { margin: 0; font-size: .87rem; line-height: 1.8; }
.workflow-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid #b9c9d0; }.workflow-list li { display: grid; grid-template-columns: 80px 1fr; gap: 20px; padding: 28px 0; border-bottom: 1px solid #dce4e7; }.workflow-list li > span { color: #166c70; font-size: .72rem; }.workflow-list h3 { font-size: 1.12rem; margin: 0 0 7px; }.workflow-list p { margin: 0; font-size: .9rem; }
.service-audience { padding: 65px 0; color: #fff; background: #183b50; }.audience-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 75px; }.service-audience h2 { color: #fff; }.service-audience .section-kicker { color: #9fcfd0; }.service-audience ul { list-style: none; margin: 0; padding: 0; }.service-audience li { display: flex; gap: 16px; padding: 16px 0; color: #deeaee; border-bottom: 1px solid #ffffff21; font-size: .9rem; }.service-audience li i { color: #8dc3b2; margin-top: 6px; font-size: .7rem; }.detail-cta { display: flex; align-items: center; gap: 24px; }.related-services { display: grid; grid-template-columns: 140px repeat(2, 1fr); gap: 22px; margin-top: 42px; padding-top: 30px; border-top: 1px solid #d4dfe2; }.related-services > p { margin-top: 14px; }.related-services a { display: grid; grid-template-columns: 1fr auto; padding: 17px 19px; color: #183b50; border: 1px solid #d5e0e3; border-radius: 4px; text-decoration: none; }.related-services a span { grid-column: 1 / -1; color: #6a818c; font-size: .66rem; }.related-services a strong { margin-top: 5px; font-size: .86rem; }.related-services a i { align-self: end; color: #166c70; }
.faq-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 70px; }.faq-layout > aside { position: sticky; top: 110px; align-self: start; }.faq-layout aside nav { display: flex; flex-direction: column; }.faq-layout aside a { padding: 10px 0; color: #4e6875; font-size: .8rem; text-decoration: none; border-bottom: 1px solid #e0e6e8; }.faq-layout aside a:hover { color: #166c70; }.faq-group { margin-bottom: 65px; }.faq-group h2 { margin-bottom: 24px; }.faq-group details { border-top: 1px solid #d4dfe3; }.faq-group details:last-child { border-bottom: 1px solid #d4dfe3; }.faq-group summary { display: flex; justify-content: space-between; gap: 24px; padding: 20px 4px; color: #183b50; cursor: pointer; font-weight: 550; list-style: none; }.faq-group summary::-webkit-details-marker { display: none; }.faq-group summary i { color: #166c70; font-size: .75rem; margin-top: 7px; transition: transform .2s; }.faq-group details[open] summary i { transform: rotate(45deg); }.faq-group details p { max-width: 730px; padding: 0 4px 20px; margin: 0; font-size: .9rem; line-height: 1.85; }
@media (max-width: 1100px) { .catalog-service { gap: 35px; }.feature-detail-grid { gap: 16px; }.faq-layout { gap: 40px; } }
@media (max-width: 767px) { .hero-aside { padding: 24px 0 0; border-left: 0; border-top: 1px solid #7895a4; }.catalog-service { grid-template-columns: 1fr; gap: 25px; padding: 38px 0; }.catalog-copy { order: -1; }.service-detail-intro { grid-template-columns: 1fr; gap: 36px; }.service-status { padding: 20px 0 0; border-left: 0; border-top: 1px solid #7895a4; }.demo-heading { display: block; }.demo-heading > div:last-child { margin-top: 20px; text-align: left; }.feature-detail-grid { grid-template-columns: 1fr; }.audience-grid { grid-template-columns: 1fr; gap: 25px; }.workflow-list li { grid-template-columns: 42px 1fr; }.detail-cta { display: block; }.detail-cta .text-link { margin-top: 18px; }.related-services { grid-template-columns: 1fr; }.faq-layout { display: block; }.faq-layout > aside { position: static; margin-bottom: 45px; }.faq-layout aside nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; } }
@media (max-width: 420px) { .faq-layout aside nav { grid-template-columns: 1fr; }.catalog-visual span { display: none; } }
