/* Effective R10 projection; all states remain in source order. */
.u1-hub { --u-ink:#1b2435; --u-muted:#5b687c; }

:where(.u1-hub) * { box-sizing: border-box; }

:where(.u1-hub) a { touch-action: manipulation; }

:where(.u1-hub) a { color: rgb(22, 76, 84); text-underline-offset: 4px; }

:where(.u1-hub) a:hover { color: rgb(11, 53, 62); }
@media (prefers-reduced-motion: reduce) {
:where(.u1-hub) * { scroll-behavior: auto !important; animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
}

body:has(.u1-hub) :is(a, button, summary):focus-visible { outline: rgb(37, 94, 228) solid 3px; outline-offset: 4px; }

body:has(.u1-hub) :is(a, button, summary):focus-visible { outline: rgb(37, 94, 228) solid 3px; outline-offset: 4px; }

.u1-hub { font-size: 16px; line-height: 1.75; color: var(--u-ink); margin: 0px; padding: 0px; }

.u1-hub * { box-sizing: border-box; }

.u1-hub a { color: inherit; text-decoration: none; }

.u1-hub :is(h1, h2, h3, p, figure) { margin: 0px; }

:where(.u1-hub) .u1-wrap { width: 91%; max-width: 1312px; margin-inline: auto; }

.u1-hub section[id] { scroll-margin-top: 106px; }

:where(.u1-hub) .u1-eyebrow { font-size: 12px; line-height: 1.6; font-weight: 600; letter-spacing: 0.13em; color: rgb(82, 105, 133); margin-bottom: 18px !important; }

:where(.u1-hub) .u1-hero { position: relative; overflow: hidden; background: radial-gradient(at 90% 50%, rgb(228, 234, 255) 0px, transparent 57%), radial-gradient(at 52% 100%, rgb(235, 241, 255) 0px, transparent 50%), linear-gradient(rgb(252, 253, 255), rgb(246, 249, 255)); border-bottom: 1px solid rgb(233, 237, 246); }

:where(.u1-hub) .u1-hero-grid { min-height: 558px; display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1.15fr); gap: 48px; align-items: center; padding-block: 56px; }

:where(.u1-hub) .u1-hero-copy { position: relative; z-index: 1; }

:where(.u1-hub) .u1-hero h1 { font-size: clamp(36px, 3.6vw, 52px); font-weight: 600; line-height: 1.35; letter-spacing: -0.035em; text-wrap: balance; }

:where(.u1-hub) .u1-hero h1 span { display: block; }

:where(.u1-hub) .u1-hero h1 span:last-child { color: rgb(45, 93, 200); }

:where(.u1-hub) .u1-intro { color: var(--u-muted); max-width: 30em; font-size: 17px; line-height: 1.9; text-wrap: pretty; margin-top: 24px !important; }

.u1-hub .u1-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 54px; padding: 14px 24px; font-size: 16px; line-height: 24px; font-weight: 550; border: 1px solid rgba(255, 255, 255, 0.19); border-radius: 8px; color: rgb(255, 255, 255); background: radial-gradient(at 96% 100%, rgba(141, 189, 255, 0.17), transparent 55%), linear-gradient(108deg, rgb(101, 80, 229), rgb(61, 85, 233) 40%, rgb(24, 95, 220)); box-shadow: rgba(255, 255, 255, 0.2) 0px 1px 2px inset, rgba(77, 89, 229, 0.6) 0px 8px 20px -12px; transition: box-shadow 0.22s, transform 0.18s, background 0.22s; }

:where(.u1-hub) .u1-hero .u1-button { margin-top: 32px; }

.u1-hub svg { display: block; width: 20px; height: 20px; flex: 0 0 20px; }

:where(.u1-hub) .u1-hero-art { position: relative; isolation: isolate; min-width: 0px; align-self: center; }

:where(.u1-hub) .u1-hero-art::before { content: ""; position: absolute; z-index: -1; inset: 14% -8% 8%; border-radius: 50%; background: radial-gradient(rgba(214, 225, 255, 0.61), transparent 67%); filter: blur(8px); }

:where(.u1-hub) .u1-hero-art::after { content: ""; position: absolute; z-index: -1; inset: 61% -4% 5%; border: 1px solid rgba(200, 214, 238, 0.65); border-radius: 50%; transform: rotate(-7deg); }

:where(.u1-hub) .u1-hero-art img { display: block; width: 108%; max-width: none; height: auto; margin-inline-start: -4%; filter: drop-shadow(rgba(69, 91, 140, 0.07) 0px 18px 22px); animation: 0.75s cubic-bezier(0.18, 0.7, 0.3, 1) 0s 1 normal both running u1-arrive; }

:where(.u1-hub) .u1-caption { font-size: 11px; color: rgb(104, 118, 141); line-height: 1.7; letter-spacing: 0.02em; text-align: end; margin-top: 8px !important; }

:where(.u1-hub) .u1-map { padding: 88px 0px 92px; background: rgb(255, 255, 255); }

:where(.u1-hub) .u1-section-head { max-width: 920px; margin-bottom: 36px; }

:where(.u1-hub) .u1-section-head h2 { font-size: clamp(28px, 2.7vw, 38px); line-height: 1.4; letter-spacing: -0.03em; font-weight: 600; text-wrap: balance; }

:where(.u1-hub) .u1-section-head > p:last-child { font-size: 16px; color: var(--u-muted); line-height: 1.85; max-width: 57em; margin-top: 18px; }

:where(.u1-hub) .u1-domain-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 28px; }

:where(.u1-hub) .u1-domain { display: block; min-width: 0px; list-style: none; }

.u1-hub .u1-domain-link { height: 100%; display: flex; flex-direction: column; overflow: hidden; border-radius: 20px; border: 1px solid rgb(226, 232, 241); background: rgb(255, 255, 255); box-shadow: rgba(50, 76, 123, 0.333) 0px 12px 32px -28px; transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s; }

:where(.u1-hub) .u1-domain-image { position: relative; overflow: hidden; aspect-ratio: 1.88 / 1; background: rgb(237, 242, 249); }

:where(.u1-hub) .u1-domain-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 0.55s cubic-bezier(0.2, 0.6, 0.3, 1); }

:where(.u1-hub) .u1-domain-1 .u1-domain-image img { object-position: 50% 38%; }

:where(.u1-hub) .u1-domain-2 .u1-domain-image img { object-position: 50% 35%; }

:where(.u1-hub) .u1-domain-3 .u1-domain-image { background: radial-gradient(at 65% 50%, rgb(238, 229, 255), transparent 65%), linear-gradient(125deg, rgb(244, 246, 255), rgb(232, 239, 255)); }

:where(.u1-hub) .u1-domain-3 .u1-domain-image::before,
:where(.u1-hub) .u1-domain-3 .u1-domain-image::after { content: ""; position: absolute; border: 1px solid rgba(155, 174, 225, 0.17); width: 75%; height: 125%; left: 15%; top: 35%; transform: rotate(-22deg); border-radius: 50%; }

:where(.u1-hub) .u1-domain-3 .u1-domain-image::after { width: 100%; left: 4%; top: 17%; }

:where(.u1-hub) .u1-domain-3 .u1-domain-image img { position: relative; z-index: 1; object-fit: contain; width: 90%; height: 103%; margin-inline-start: 5%; padding: 20px; filter: drop-shadow(rgba(81, 66, 125, 0.11) 0px 16px 15px); }

:where(.u1-hub) .u1-domain-4 .u1-domain-image img { object-position: 50% 47%; }

:where(.u1-hub) .u1-domain-content { padding: 28px 30px 26px; display: flex; flex-direction: column; flex: 1 1 0%; }

:where(.u1-hub) .u1-domain-title { display: flex; align-items: baseline; gap: 15px; margin-bottom: 14px; }

:where(.u1-hub) .u1-number { font-size: 13px; color: rgb(125, 140, 163); font-variant-numeric: tabular-nums; letter-spacing: 0.05em; flex: 0 0 auto; }

:where(.u1-hub) .u1-domain h3 { font-size: 25px; font-weight: 600; line-height: 1.4; letter-spacing: -0.025em; }

:where(.u1-hub) .u1-domain-desc { font-size: 15px; line-height: 1.85; color: var(--u-muted); max-width: 36em; }

:where(.u1-hub) .u1-domain-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: auto; padding-top: 24px; font-size: 14px; line-height: 1.65; font-weight: 550; color: rgb(36, 91, 209); }

:where(.u1-hub) .u1-domain-cta svg { width: 18px; height: 18px; transition: transform 0.22s; }

:where(.u1-hub) .u1-map .u1-caption { margin-top: 18px !important; }

:where(.u1-hub) .u1-system { background: linear-gradient(rgb(244, 247, 252), rgb(248, 250, 255) 72%, rgb(255, 255, 255)); padding: 88px 0px 80px; border-top: 1px solid rgb(231, 237, 245); }

:where(.u1-hub) .u1-system-grid { display: grid; grid-template-columns: minmax(0px, 0.87fr) minmax(0px, 1.13fr); gap: 28px; align-items: stretch; }

:where(.u1-hub) .u1-practice { display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgb(224, 230, 239); border-radius: 20px; background: rgb(255, 255, 255); box-shadow: rgba(51, 79, 134, 0.22) 0px 12px 30px -26px; }

:where(.u1-hub) .u1-practice-image { aspect-ratio: 1.78 / 1; overflow: hidden; }

:where(.u1-hub) .u1-practice-image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 48% 50%; }

:where(.u1-hub) .u1-practice-copy { padding: 26px 30px 28px; display: flex; flex-direction: column; align-items: flex-start; flex: 1 1 0%; }

:where(.u1-hub) .u1-practice-copy .u1-eyebrow { margin-bottom: 12px !important; color: rgb(97, 113, 139); }

:where(.u1-hub) .u1-practice-copy h3 { font-size: 24px; line-height: 1.45; letter-spacing: -0.025em; font-weight: 600; }

.u1-hub .u1-text-link { display: inline-flex; gap: 20px; align-items: center; font-size: 14px; line-height: 1.6; min-height: 44px; color: rgb(36, 91, 209); font-weight: 550; padding-top: 10px; margin-top: auto; }

:where(.u1-hub) .u1-text-link svg { width: 18px; height: 18px; transition: transform 0.22s; }

:where(.u1-hub) .u1-relationship { display: flex; flex-direction: column; justify-content: center; min-width: 0px; padding: 32px; border: 1px solid rgb(224, 231, 243); border-radius: 20px; background: radial-gradient(at 90% 85%, rgba(232, 232, 255, 0.5), transparent 65%), rgb(255, 255, 255); }

:where(.u1-hub) .u1-related-domains { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 10px; position: relative; margin: 0px 0px 54px; }

:where(.u1-hub) .u1-related-domains::after { content: ""; position: absolute; left: 12.5%; right: 12.5%; bottom: -27px; height: 27px; border-width: 0px 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(184, 199, 230) rgb(184, 199, 230); border-image: none; border-radius: 0px 0px 10px 10px; }

:where(.u1-hub) .u1-relation-peer { position: relative; display: flex; align-items: center; flex-direction: column; gap: 10px; font-size: 12px; line-height: 1.6; text-align: center; color: rgb(82, 101, 128); min-width: 0px; padding: 8px 0px; }

:where(.u1-hub) .u1-relation-peer::after { content: ""; position: absolute; bottom: -26px; left: 50%; height: 26px; width: 1px; background: rgb(184, 199, 230); }

:where(.u1-hub) .u1-relation-peer:first-child::after,
:where(.u1-hub) .u1-relation-peer:last-child::after { display: none; }

:where(.u1-hub) .u1-relation-peer svg { width: 25px; height: 25px; color: rgb(86, 127, 206); stroke-width: 1.5; }

:where(.u1-hub) .u1-platform { position: relative; display: flex; flex-direction: column; align-items: center; padding: 28px 24px 24px; border-radius: 16px; border: 1px solid rgb(202, 217, 246); background: radial-gradient(at 100% 100%, rgba(223, 233, 255, 0.565), transparent 60%), linear-gradient(130deg, rgb(247, 250, 255), rgb(239, 243, 255) 52%, rgb(246, 243, 255)); box-shadow: rgba(62, 104, 186, 0.533) 0px 14px 35px -26px; }

:where(.u1-hub) .u1-platform::before { content: ""; position: absolute; top: -28px; height: 28px; width: 1px; background: rgb(138, 169, 222); }

:where(.u1-hub) .u1-platform-name { display: flex; align-items: center; gap: 12px; font-size: 26px; line-height: 1.3; font-weight: 600; letter-spacing: -0.025em; }

:where(.u1-hub) .u1-brain-mark { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; color: rgb(255, 255, 255); background: linear-gradient(135deg, rgb(121, 103, 232), rgb(42, 105, 231)); box-shadow: rgba(255, 255, 255, 0.4) 0px 1px 1px inset, rgba(62, 100, 210, 0.15) 0px 4px 12px; }

:where(.u1-hub) .u1-brain-mark svg { width: 24px; height: 24px; }

:where(.u1-hub) .u1-platform-sub { font-size: 13px; color: rgb(96, 116, 152); margin-top: 10px !important; }

:where(.u1-hub) .u1-peers { width: 100%; display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: 8px; margin-top: 24px; }

/* Long translated labels must remain inside their grid cell with fallback fonts. */
:where(.u1-hub) .u1-peers span { display: flex; align-items: center; justify-content: center; min-width: 0; overflow-wrap: anywhere; hyphens: auto; min-height: 44px; padding: 8px 4px; border: 1px solid rgb(216, 226, 244); border-radius: 7px; background: rgba(255, 255, 255, 0.85); color: rgb(57, 87, 128); font-size: 12px; line-height: 1.45; text-align: center; }

:where(.u1-hub) .u1-relationship .u1-text-link { align-self: center; margin-top: 16px; }

:where(.u1-hub) .u1-trust { color: rgb(101, 113, 138); font-size: 12px; line-height: 1.85; max-width: 86em; margin-top: 22px !important; }

:where(.u1-hub) .u1-bridge { padding: 0px 0px 56px; background: linear-gradient(rgb(255, 255, 255), rgb(245, 247, 251)); }

:where(.u1-hub) .u1-bridge .u1-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; padding-block: 36px; border-top: 1px solid rgb(224, 231, 241); }

:where(.u1-hub) .u1-bridge h2 { font-size: 27px; line-height: 1.5; font-weight: 550; letter-spacing: -0.025em; text-wrap: balance; }

:where(.u1-hub) .u1-bridge p { font-size: 14px; line-height: 1.9; color: var(--u-muted); max-width: 40em; }

body:has(.u1-hub) :is(a, button, summary):focus-visible { outline: rgb(37, 94, 228) solid 3px; outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
.u1-hub .u1-button:hover { background: linear-gradient(108deg, rgb(89, 68, 216), rgb(50, 75, 220) 42%, rgb(17, 88, 209)); transform: translateY(-1px); box-shadow: rgba(255, 255, 255, 0.22) 0px 0px 0px 1px inset, rgba(77, 89, 229, 0.667) 0px 10px 24px -12px; }
}
@media (hover: hover) and (pointer: fine) {
.u1-hub .u1-domain-link:hover { border-color: rgb(184, 205, 239); box-shadow: rgba(53, 95, 160, 0.267) 0px 18px 40px -24px; transform: translateY(-3px); }
}
@media (hover: hover) and (pointer: fine) {
:where(.u1-hub) .u1-domain-link:hover .u1-domain-image img { transform: scale(1.025); }
}
@media (hover: hover) and (pointer: fine) {
:where(.u1-hub) .u1-domain-link:hover .u1-domain-cta svg,
:where(.u1-hub) .u1-text-link:hover svg { transform: translateX(4px); }
}
@media (hover: hover) and (pointer: fine) {
:where(.u1-hub) .u1-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
}

.u1-hub .u1-button:active,
.u1-hub .u1-domain-link:active { transform: none; box-shadow: rgba(22, 39, 123, 0.082) 0px 2px 6px inset; }
@media (max-width: 1100px) {
:where(.u1-hub) .u1-hero-grid { gap: 24px; min-height: 500px; padding-block: 48px; }
}
@media (max-width: 1100px) {
:where(.u1-hub) .u1-hero h1 { font-size: 39px; }
}
@media (max-width: 1100px) {
:where(.u1-hub) .u1-intro { font-size: 16px; }
}
@media (max-width: 1100px) {
:where(.u1-hub) .u1-domain-content { padding: 24px; }
}
@media (max-width: 1100px) {
:where(.u1-hub) .u1-domain h3 { font-size: 23px; }
}
@media (max-width: 1100px) {
:where(.u1-hub) .u1-system-grid { grid-template-columns: 1fr 1fr; gap: 22px; }
}
@media (max-width: 1100px) {
:where(.u1-hub) .u1-relationship { padding: 24px; }
}
@media (max-width: 1100px) {
:where(.u1-hub) .u1-related-domains { gap: 7px; }
}
@media (max-width: 1100px) {
:where(.u1-hub) .u1-platform { padding: 24px 16px; }
}
@media (max-width: 1100px) {
:where(.u1-hub) .u1-peers { gap: 5px; }
}
@media (max-width: 1100px) {
:where(.u1-hub) .u1-peers span { font-size: 11px; }
}
@media (max-width: 1100px) {
:where(.u1-hub) .u1-practice-copy { padding: 24px; }
}
@media (max-width: 1100px) {
:where(.u1-hub) .u1-practice-copy h3 { font-size: 22px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-hero-grid { min-height: 480px; grid-template-columns: 1fr 1fr; gap: 22px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-hero h1 { font-size: 35px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-intro { font-size: 15px; margin-top: 20px !important; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-hero .u1-button { font-size: 14px; gap: 18px; padding-inline: 20px; min-height: 50px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-map,
:where(.u1-hub) .u1-system { padding-block: 64px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-section-head h2 { font-size: 31px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-section-head > p:last-child { font-size: 15px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-domain-grid { gap: 20px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-domain-title { gap: 10px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-domain h3 { font-size: 22px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-domain-desc { font-size: 14px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-domain-content { padding: 22px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-domain-cta { font-size: 13px; padding-top: 20px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-domain-image { aspect-ratio: 1.55 / 1; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-system-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-practice { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-practice-image { height: 100%; aspect-ratio: auto; min-height: 260px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-practice-copy { padding: 28px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-relationship { padding: 32px 50px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-related-domains { gap: 18px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-relation-peer { font-size: 13px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-peers span { font-size: 13px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-platform { padding: 28px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-bridge { padding-bottom: 32px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-bridge .u1-wrap { gap: 28px; }
}
@media (max-width: 900px) {
:where(.u1-hub) .u1-bridge h2 { font-size: 25px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-wrap { width: calc(100% - 40px); }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-hero-grid { display: flex; flex-direction: column; gap: 20px; padding: 38px 0px 24px; min-height: 0px; align-items: stretch; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-eyebrow { font-size: 11px; margin-bottom: 16px !important; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-hero h1 { font-size: 34px; line-height: 1.4; letter-spacing: -0.04em; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-intro { font-size: 15px; line-height: 1.8; max-width: 28em; margin-top: 18px !important; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-hero .u1-button { min-height: 48px; font-size: 14px; padding: 11px 20px; margin-top: 24px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-hero-art { align-self: stretch; max-width: 440px; width: 100%; margin: auto; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-hero-art img { width: 104%; margin-inline-start: -2%; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-caption { font-size: 10px; margin-top: 5px !important; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-map,
:where(.u1-hub) .u1-system { padding: 48px 0px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-section-head { margin-bottom: 26px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-section-head h2 { font-size: 27px; line-height: 1.5; letter-spacing: -0.03em; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-section-head > p:last-child { font-size: 14px; line-height: 1.85; margin-top: 14px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-domain-grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 600px) {
.u1-hub .u1-domain-link { border-radius: 16px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-domain-image { aspect-ratio: 1.6 / 1; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-domain-content { padding: 22px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-domain-title { gap: 10px; margin-bottom: 12px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-domain h3 { font-size: 22px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-domain-desc { font-size: 14px; line-height: 1.85; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-number { font-size: 12px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-domain-cta { font-size: 13px; min-height: 44px; padding-top: 18px; gap: 10px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-domain-3 .u1-domain-image img { padding: 10px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-system-grid { gap: 22px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-practice { display: flex; border-radius: 16px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-practice-image { aspect-ratio: 1.6 / 1; min-height: 0px; height: auto; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-practice-copy { padding: 24px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-practice-copy h3 { font-size: 22px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-practice-copy .u1-text-link { margin-top: 12px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-relationship { border-radius: 16px; padding: 28px 18px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-related-domains { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 14px 20px; margin-bottom: 42px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-related-domains::after { left: 25%; right: 25%; bottom: -20px; height: 20px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-relation-peer { font-size: 12px; padding: 0px 6px; gap: 8px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-relation-peer::after { display: none; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-relation-peer svg { width: 24px; height: 24px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-platform::before { height: 22px; top: -22px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-platform { padding: 24px 14px 18px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-platform-name { font-size: 24px; gap: 10px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-platform-sub { font-size: 12px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-peers { grid-template-columns: repeat(6, minmax(0px, 1fr)); gap: 7px; margin-top: 20px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-peers span { grid-column: span 2; font-size: 12px; min-height: 42px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-peers span:nth-child(4) { grid-column: 2 / span 2; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-peers span:nth-child(5) { grid-column: 4 / span 2; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-relationship .u1-text-link { font-size: 13px; margin-top: 14px; padding-top: 6px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-trust { font-size: 11px; margin-top: 18px !important; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-bridge { padding-bottom: 18px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-bridge .u1-wrap { grid-template-columns: 1fr; gap: 14px; padding-block: 26px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-bridge h2 { font-size: 23px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-bridge p { font-size: 13px; }
}
@media (max-width: 360px) {
:where(.u1-hub) .u1-hero h1 { font-size: 30px; }
}
@media (max-width: 360px) {
:where(.u1-hub) .u1-section-head h2 { font-size: 25px; }
}
@media (max-width: 360px) {
:where(.u1-hub) .u1-domain-content { padding: 20px 18px; }
}
@media (max-width: 360px) {
:where(.u1-hub) .u1-domain h3 { font-size: 20px; }
}
@media (max-width: 360px) {
:where(.u1-hub) .u1-domain-title { gap: 8px; }
}
@media (max-width: 360px) {
:where(.u1-hub) .u1-relationship { padding: 26px 14px; }
}
@media (max-width: 360px) {
:where(.u1-hub) .u1-platform-name { font-size: 22px; }
}
@media (max-width: 360px) {
:where(.u1-hub) .u1-platform { padding-inline: 10px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-phrase { display: block; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-related-domains { padding: 16px 10px; border: 1px solid rgb(226, 232, 243); background: rgb(248, 250, 255); border-radius: 12px; }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-related-domains::after { left: 50%; right: auto; bottom: -43px; height: 42px; width: 1px; border: 0px; border-radius: 0px; background: rgb(184, 199, 230); }
}
@media (max-width: 600px) {
:where(.u1-hub) .u1-platform::before { display: none; }
}
@media (prefers-reduced-motion: reduce) {
.u1-hub * { animation: auto ease 0s 1 normal none running none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (prefers-reduced-motion: reduce) {
.u1-hub .u1-domain-link:hover,
.u1-hub .u1-button:hover,
.u1-hub .u1-domain-link:hover img { transform: none; }
}

:where(.u1-hub) .u1-divider { display: none; }

:where(.u1-hub) .u1-practice-description { font-size: 14px; line-height: 1.85; color: rgb(91, 104, 124); margin-top: 12px !important; }
@keyframes u1-arrive { 
  0% { opacity: 0.7; transform: translateY(12px); }
  100% { opacity: 1; transform: none; }
}

* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
/* German compounds need language-aware breaks before the overflow fallback. */
html[lang="de"] {
  hyphens: auto;
}
body {
  margin: 0;
  background: var(--color-surface);
  color: var(--color-ink);
  font-family: var(--font-hans);
  font-size: 16px;
  line-height: 1.65;
}
body[data-script="arabic"],
body[data-script="arabic"] main {
  font-family: var(--font-arabic);
}
body[data-script="japanese"],
body[data-script="japanese"] main {
  font-family: var(--font-japanese);
}
body[data-script="korean"],
body[data-script="korean"] main {
  font-family: var(--font-korean);
  word-break: keep-all;
  overflow-wrap: anywhere;
}
a {
  color: #255ee4;
  text-underline-offset: 4px;
}
a:hover {
  color: #1749b7;
}
button,
input,
textarea,
summary {
  font: inherit;
}
button,
summary {
  cursor: pointer;
}
button,
a,
summary {
  touch-action: manipulation;
}
:focus-visible {
  outline: 3px solid var(--color-action);
  outline-offset: 4px;
}
button:disabled {
  cursor: not-allowed;
}
img {
  max-width: 100%;
  height: auto;
}
button {
  color: inherit;
}
.skip-link {
  position: fixed;
  inset-block-start: -90px;
  inset-inline-start: 16px;
  z-index: 100;
  padding: 12px 20px;
  background: white;
  color: #1b2b44;
}
.skip-link:focus {
  inset-block-start: 12px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-size: 20px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #1d2944;
  text-decoration: none;
  white-space: nowrap;
}
.r2-brand-mark {
  width: 33px;
  height: 32px;
  flex: 0 0 33px;
  letter-spacing: 0;
  display: inline-grid;
  place-items: center;
  background:
    radial-gradient(ellipse at 100% 0, #83adff70, transparent 70%),
    linear-gradient(145deg, #467cf0, #245ddd);
  border-radius: 9px;
  color: white;
  line-height: 1;
  font-size: 24px;
  font-weight: 650;
}
.l1-header {
  position: sticky;
  inset-block-start: 0;
  z-index: 30;
}
.l1-head-inner {
  display: flex;
  align-items: center;
}
.l1-tools {
  display: flex;
  align-items: center;
}
.l1-nav {
  display: flex;
  align-items: center;
}
.l1-product-menu,
.l1-locale {
  position: relative;
}
.l1-product-menu > summary,
.l1-locale > summary {
  list-style: none;
}
.l1-product-menu > summary::-webkit-details-marker,
.l1-locale > summary::-webkit-details-marker {
  display: none;
}
.l1-mega,
.l1-locale-panel {
  position: absolute;
  z-index: 50;
}
.menu-toggle {
  display: none;
}
.l1-locale-panel a {
  display: flex;
  justify-content: space-between;
}
.l1-nav .primary-cta {
  background: linear-gradient(108deg, #6550e5, #185fdc);
  color: #fff;
}
.ui-icon {
  fill: currentColor !important;
  stroke: none !important;
  vertical-align: middle;
  flex-shrink: 0;
}
.ui-button {
  touch-action: manipulation;
}
.c1-qr-window > img {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  inset: auto !important;
  object-fit: contain;
}
.c1-dialog:not([open]) {
  display: none;
}
.c1-dialog {
  margin: auto;
}
.c1-dialog::backdrop {
  background: rgba(18, 31, 49, 0.55);
}
.y1-young .y1-hero-badge {
  object-fit: contain;
}
.y1-young [data-expression-output],
.y2-keepsake p {
  overflow-wrap: anywhere;
}
.anchor-alias {
  scroll-margin-top: 100px;
}
.pl1-policy [tabindex="-1"] {
  scroll-margin-top: 100px;
}
[dir="rtl"] .y2-editor,
[dir="rtl"] .y2-preview,
[dir="rtl"] .pl1-policy {
  text-align: start;
}
[dir="rtl"] .y1-button .ui-icon,
[dir="rtl"] .y1-text-link .ui-icon {
  transform: scaleX(-1);
}
@media (max-width: 1100px) {
  .menu-toggle {
    display: flex;
  }
  .l1-nav:not(.open) {
    display: none;
  }
  .l1-nav.open {
    display: flex;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
@media print {
  .s7-header,
  .r3-footer,
  .skip-link,
  .pl1-sidebar,
  .pl1-policies,
  .pl1-crumb,
  .pl1-end {
    display: none !important;
  }
  .pl1-policy {
    padding: 0 !important;
  }
  .pl1-policy section {
    break-inside: avoid;
  }
}
.review-index,
.review-not-found,
.foundation-sample {
  max-width: 960px;
  margin: 48px auto;
  padding: 24px;
  font-size: 18px;
  line-height: 1.8;
}
.review-index li {
  margin-block: 18px;
}
.foundation-sample h1 {
  font-size: clamp(30px, 5vw, 48px);
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.foundation-sample input {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  border: 1px solid #7a8aa1;
  border-radius: 8px;
  padding: 10px;
  margin-block: 12px;
}
.foundation-sample button {
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #9ba7b8;
  border-radius: 8px;
  background: #fff;
  margin-inline-end: 8px;
  color: #1b2b44;
}
.foundation-sample button[aria-selected="true"] {
  background: #255ee4;
  color: #fff;
}
.foundation-sample .ui-tabs {
  margin-block: 24px;
}
.foundation-sample [role="tablist"] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.foundation-sample [role="tabpanel"] {
  padding: 20px;
  border: 1px solid #dfe6f0;
  border-radius: 8px;
  margin-block: 10px;
}
.foundation-sample summary {
  min-height: 44px;
}
.foundation-sample progress {
  width: 100%;
  margin-block: 20px;
}
.review-notice {
  font-size: 14px;
  color: #59697f;
  border-bottom: 1px solid #dfe6f0;
  padding-block-end: 16px;
}
.foundation-sample .c1-dialog {
  max-width: min(90vw, 550px);
  padding: 28px;
}
.sample-motion {
  margin-block: 32px;
}

/* Semantic inline layout formerly supplied by prototype-only body selectors. */
.l1-product-menu > summary,
.l1-locale > summary {
  display: flex;
  align-items: center;
}
/* WCAG text contrast fixes; geometry and hierarchy remain R10. */
.pl1-toc-title,
.pl1-policy .pl1-number {
  color: #60718a;
}
.y2-keepsake-foot {
  color: #657189;
}

.y2-chat > span {
  color: #596c8c;
}
.brand,
.r3-foot-logo {
  font-family: var(--font-hans);
}
/* Preserve the sealed mobile wordmark proportions. */
@media (max-width: 600px) {
  .r2-brand-mark {
    width: 29px !important;
    height: 29px !important;
    font-size: 18px !important;
  }
}

/* R10 shared navigation: the homepage now participates in the active-route state. */
body .s7-header .l1-nav > a:not(.primary-cta)[aria-current="page"] {
  background: transparent !important;
  color: #315ed1 !important;
}
body .s7-header .l1-nav > a:not(.primary-cta)[aria-current="page"]::after {
  content: "";
  position: absolute;
  inset-inline: 13px;
  bottom: 2px;
  height: 2px;
  background: linear-gradient(90deg, #7166e6, #3d7be6);
  border-radius: 2px;
}
@media (max-width: 1100px) {
  body .s7-header .l1-nav > a:not(.primary-cta)[aria-current="page"] {
    background: #f0f4ff !important;
  }
  body .s7-header .l1-nav > a:not(.primary-cta)[aria-current="page"]::after {
    display: none;
  }
}
/* R34 transient press feedback is independent from persistent selection. */
:where(main) button:not(:disabled):active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 4px #1b2b4424;
}
:where(.b1-brain, .s1-spatial) :is(.b1-button, .s1-button):active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 4px #1b2b4424;
}

/* Ten-language local previews: keep every option reachable in short viewports. */
body .s7-header .l1-locale-panel {
  width: max-content;
  background: #fff;
  max-height: calc(100dvh - 110px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.l1-locale-panel bdi {
  overflow-wrap: anywhere;
}

body .s7-header .l1-locale-panel a {
  text-decoration: none;
}
/* Keep the brand lockup and literal identifiers in their original direction. */
.brand,
.r3-foot-logo {
  direction: ltr;
  unicode-bidi: isolate;
}
[dir="rtl"] .c1-path-arrow .ui-icon {
  transform: scaleX(-1);
}

/* Grid must not stretch a Latin brand lockup across its RTL column. */
#site-footer.r3-footer .r3-foot-logo {
  width: max-content;
  white-space: nowrap;
  overflow-wrap: normal;
}
/* Keep the mark and wordmark intact when a browser enlarges text. */
#site-footer.r3-footer .r3-foot-logo > span {
  flex-shrink: 0;
}

/* Accessibility and direction support shared by the three E6 consumers only. */
:where(.u1-hub,.ch1-child,.k1-clock) [hidden] { display: none !important; }
:where(.u1-hub,.ch1-child,.k1-clock) :focus-visible { outline: 3px solid var(--focus-ring, #4169e1); outline-offset: 4px; }
:where(.ch1-child,.k1-clock) button:disabled { cursor: not-allowed; }
:where(.ch1-child,.k1-clock) .u-paused [data-example-output],
:where(.ch1-child,.k1-clock) .u-ended [data-example-output] { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  :where(.u1-hub,.ch1-child,.k1-clock) *,
  :where(.u1-hub,.ch1-child,.k1-clock) *::before,
  :where(.u1-hub,.ch1-child,.k1-clock) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* R10 layout is retained; small sequence labels need readable contrast (R10/R34). */
.u1-hub .u1-number { color: #596d89; }
.ch1-child .ch1-step,
.ch1-child .ch1-form-copy > small,
.k1-clock .k1-principle-strip > div > span,
.k1-clock .k1-tab-copy small,
.k1-clock .k1-step-number,
.k1-clock .k1-scope-note,
.k1-clock .k1-role-tabs button > small,
.k1-clock .k1-family-title > div > span,
.k1-clock .k1-family > div > p:not(.k1-family-words),
.k1-clock .k1-growth-example > p,
.k1-clock .k1-observe dd,
.k1-clock .k1-boundaries ul { color: #586b87; }
/* Logical alignment is ready for reviewed RTL content; no extra locale is published. */
[dir="rtl"] :is(.ch1-child,.k1-clock) button,
[dir="rtl"] .k1-clock .k1-phone { text-align: start; }
[dir="rtl"] .k1-clock .k1-demo { border-left: 0; border-inline-start: 1px solid #dfe7f4; }
[dir="rtl"] .k1-clock .k1-growth-example { padding-left: 0; padding-inline-start: 26px; border-left: 0; border-inline-start: 3px solid #8ea9e5; }
[dir="rtl"] .k1-clock .k1-boundaries ul { padding-left: 0; padding-inline-start: 18px; }
[dir="rtl"] :is(.u1-button,.u1-text-link,.ch1-button,.ch1-text-link,.k1-button,.k1-text-link) > .ui-icon { transform: scaleX(-1); }
@media(max-width:700px) {
  [dir="rtl"] .k1-clock .k1-demo { border-inline-start: 0; }
  [dir="rtl"] .k1-clock .k1-growth-example { padding-inline-start: 21px; }
}
/* The accepted pages inherit this stack from R10 body; preserve it within these consumers. */
.u1-hub, .ch1-child, .k1-clock {
  font-family: system-ui, -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
.k1-clock .k1-step-tabs button[aria-selected="true"] .k1-step-number { color: #365fac; }
.ch1-child .ch1-actions button[data-u-mode="stop"],
.k1-clock .k1-actions button[data-u-mode="stop"] { color: #586b87; }
.k1-clock .k1-small { color: #586b87; }

/* E9: flow arrows follow the reading direction; product pixels are unchanged. */
[dir="rtl"] .u1-hub .u1-domain-cta > .ui-icon { transform: scaleX(-1); }
@media (hover: hover) and (pointer: fine) {
  [dir="rtl"] .u1-hub .u1-domain-link:hover .u1-domain-cta > .ui-icon,
  [dir="rtl"] .u1-hub .u1-text-link:hover > .ui-icon { transform: translateX(-4px) scaleX(-1); }
}
.u1-hub .u1-number { direction: ltr; unicode-bidi: isolate; }

@media (hover: hover) and (pointer: fine) {
  [dir="rtl"] .ch1-child .ch1-text-link:hover > .ui-icon { transform: translateX(-4px) scaleX(-1); }
}
.ch1-child .ch1-step { direction: ltr; unicode-bidi: isolate; }

@media (hover: hover) and (pointer: fine) {
  [dir="rtl"] .k1-clock .k1-text-link:hover > .ui-icon { transform: translateX(-4px) scaleX(-1); }
}
.k1-clock .k1-step-number,
.k1-clock .k1-principle-strip > div > span { direction: ltr; unicode-bidi: isolate; }
[dir="rtl"] .k1-clock .k1-real-life > .ui-icon { transform: scaleX(-1); }
