/* Data Sovereignty advisory: scoped styles, shared JVT type/colour tokens. */
.sovereignty-hero { padding: 90px 0 85px; }
.sovereignty-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 50px; align-items: center; }
.sovereignty-eyebrow { font-size: 14px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; margin-bottom: 24px; }
.sovereignty-hero h1 { font-size: clamp(46px, 5.6vw, 88px); line-height: 1.08; }
.sovereignty-hero .ribbon { margin-left: -12px; padding: 8px 12px; }
.sovereignty-lead { font-size: clamp(23px, 2.3vw, 35px); font-weight: 800; line-height: 1.2; margin-top: 26px; }
.sovereignty-hero p:not(.sovereignty-eyebrow):not(.sovereignty-lead) { margin-top: 24px; max-width: 55ch; }
.sovereignty-hero .button { font-size: 15px; padding: 20px 24px; min-height: 64px; }
.sovereignty-text-link { display: block; width: fit-content; margin-top: 20px; text-underline-offset: 5px; font-weight: 700; font-size: 15px; }
.sovereignty-visual { margin: 0; }
.sovereignty-visual img { width: 100%; height: auto; }
.sovereignty-visual figcaption { text-align: center; font-size: 13px; font-weight: 700; margin-top: 12px; }
.sovereignty-content .band { padding-block: 95px; }
.sovereignty-content h2 { font-size: clamp(31px, 3.4vw, 53px); max-width: 23ch; }
.sovereignty-content h3 { font-size: 23px; }
.sovereignty-content h2 + p { margin-top: 26px; }
.sovereignty-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 75px; }
.sovereignty-grid { display: grid; gap: 32px; margin-top: 48px; }
.sovereignty-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sovereignty-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sovereignty-grid article { border-top: 3px solid currentColor; padding-top: 24px; }
.sovereignty-grid article p { font-size: 16px; margin-top: 20px; line-height: 1.6; }
.sovereignty-dark { background: #000; color: white; --surface: #000; }
.sovereignty-dark .sovereignty-eyebrow, .sovereignty-step-number { color: var(--yellow); }
.sovereignty-steps { list-style: none; padding: 0; margin: 52px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px 65px; }
.sovereignty-steps li { display: flex; gap: 25px; border-top: 1px solid #686868; padding-top: 28px; }
.sovereignty-step-number { font-size: 40px; font-weight: 800; line-height: 1; }
.sovereignty-steps p { font-size: 16px; line-height: 1.6; margin-top: 18px; }
.sovereignty-content .circuit-list { margin-top: 0; }
.sovereignty-context { margin-top: 60px; padding-top: 35px; border-top: 2px solid #000; }
.sovereignty-context p { margin-top: 22px; }
.sovereignty-related { display: flex; flex-wrap: wrap; gap: 18px 30px; margin-top: 25px; font-size: 16px; font-weight: 700; text-underline-offset: 5px; }
.nav-submenu a[href="/data-sovereignty-ai-architecture"], .nav-submenu a[href="/en/data-sovereignty-ai-architecture"] { max-width: 270px; }
@media (max-width: 1100px) {
 .sovereignty-hero { padding-block: 65px; }
 .sovereignty-hero-grid { gap: 24px; }
 .sovereignty-two { gap: 40px; }
 .sovereignty-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .sovereignty-three { gap: 24px; }
}
@media (max-width: 760px) {
 .sovereignty-hero { padding: 45px 0 55px; }
 .sovereignty-hero-grid, .sovereignty-two, .sovereignty-three, .sovereignty-four, .sovereignty-steps { grid-template-columns: minmax(0, 1fr); }
 .sovereignty-hero h1 { font-size: clamp(35px, 10.5vw, 62px); }
 .sovereignty-eyebrow { font-size: 12px; margin-bottom: 20px; }
 .sovereignty-hero .button { font-size: 13px; width: 100%; }
 .sovereignty-visual { width: min(100%, 440px); margin: 10px auto 0; }
 .sovereignty-visual figcaption { font-size: 12px; }
 .sovereignty-content .band { padding-block: 60px; }
 .sovereignty-content h2 { font-size: 31px; }
 .sovereignty-content h3 { font-size: 21px; }
 .sovereignty-two { gap: 30px; }
 .sovereignty-grid { margin-top: 35px; gap: 30px; }
 .sovereignty-steps { gap: 32px; margin-top: 35px; }
 .sovereignty-step-number { font-size: 33px; }
 .sovereignty-steps li { gap: 18px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
