@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');
:root {
   --bg: #0a1119;
   --nav: #0e1923;
   --panel: #122330;
   --panel2: #172d3a;
   --ink: #edf3f6;
   --muted: #a9becd;
   --accent: #4a76a8;
   --accent-light: #bacce1;
   --amber: #e5bc7d;
   --line: #2a3d4a;
   --font: 'Montserrat', sans-serif;
}
* {
   box-sizing: border-box;
}
html {
   scroll-padding-top: 115px;
   scroll-behavior: auto;
}
body {
   margin: 0;
   background: var(--bg);
   color: var(--ink);
   font: 16px/1.8 var(--font);
}
img,
svg {
   max-width: 100%;
}
img {
   display: block;
   height: auto;
}
a {
   color: inherit;
   text-decoration: none;
}
a:hover {
   color: var(--accent-light);
}
button,
input,
select {
   font: inherit;
   color: inherit;
}
button {
   cursor: pointer;
}
button,
input,
select {
   border: 1px solid #3b5568;
   background: #102431;
   border-radius: 5px;
   padding: 10px 13px;
}
input,
select {
   width: 100%;
   min-width: 0;
}
label {
   display: block;
   color: #afc6d5;
   font-size: 13px;
}
summary {
   cursor: pointer;
   list-style: none;
}
summary::-webkit-details-marker {
   display: none;
}
h1,
h2,
h3,
h4,
p {
   margin-top: 0;
}
p {
   color: var(--muted);
   margin-bottom: 18px;
}
h1 {
   font-size: 40px;
   line-height: 1.16;
   letter-spacing: -1.8px;
   margin-bottom: 25px;
   max-width: 1080px;
}
h2 {
   font-size: 25px;
   line-height: 1.3;
   letter-spacing: -0.7px;
}
h3 {
   font-size: 16px;
   line-height: 1.45;
   letter-spacing: -0.25px;
}
h4 {
   font-size: 16px;
   line-height: 1.5;
}
strong {
   color: var(--ink);
}
em {
   color: var(--accent-light);
   font-style: normal;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
   outline: 3px solid var(--amber);
   outline-offset: 4px;
}
a,
button,
summary {
   touch-action: manipulation;
}
[hidden] {
   display: none !important;
}
.wrap {
   max-width: 1440px;
   padding: 0 48px;
   margin: 0 auto;
}
.skip {
   position: absolute;
   top: -90px;
   left: 20px;
   z-index: 200;
   background: var(--accent);
   color: #ffffff;
   padding: 12px;
}
.skip:focus {
   top: 5px;
}
.skip:hover,
.skip:focus {
   color: #ffffff;
}
.masthead {
   border-bottom: 1px solid var(--line);
   background: #0c1720;
}
.masthead .wrap {
   display: flex;
   justify-content: space-between;
   font-size: 11px;
   letter-spacing: 1.7px;
   padding-top: 8px;
   padding-bottom: 8px;
   color: #8ca5b7;
}
.site-header {
   position: sticky;
   top: 0;
   z-index: 60;
   background: #0a141ef5;
   backdrop-filter: blur(15px);
   border-bottom: 1px solid var(--line);
}
.header-inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   height: 83px;
}
.brand {
   display: flex;
   align-items: center;
   gap: 10px;
   flex-shrink: 0;
}
.brand-logo {
   display: block;
   height: 32px;
   width: auto;
}
.site-header nav {
   margin-left: auto;
   display: flex;
   align-items: center;
   gap: 22px;
}
.site-header nav > details > summary {
   font-size: 13px;
   white-space: nowrap;
   font-weight: 700;
   display: inline-flex;
   align-items: center;
   gap: 6px;
}
.site-header nav > details > summary .v10-chevron {
   flex-shrink: 0;
   transition: transform 0.2s ease;
}
.site-header nav > details[open] > summary .v10-chevron {
   transform: rotate(180deg);
}
.header-tools {
   display: flex;
   align-items: center;
   gap: 13px;
   flex-shrink: 0;
}
.lang-switch {
   font-size: 13px;
   font-weight: 700;
   color: var(--accent-light);
}
.search-open {
   background: none;
   border: 0;
   font-size: 25px;
   padding: 0;
}
.consult-button {
   font-size: 13px;
   background: var(--accent);
   color: #ffffff !important;
   padding: 10px 14px;
   font-weight: 700;
   border-radius: 5px;
}
.menu-toggle {
   display: none;
   background: none;
   font-size: 16px;
   padding: 5px 10px;
}
.mega {
   position: fixed;
   top: 83px;
   left: 50%;
   transform: translateX(-50%);
   width: min(1100px, 94vw);
   padding: 27px;
   background: #112330;
   border: 1px solid #365363;
   border-radius: 0 0 12px 12px;
   box-shadow: 0 35px 80px #0008;
}
.mega-title {
   font-size: 11px;
   color: var(--accent-light);
   letter-spacing: 1.7px;
   margin-bottom: 17px;
}
.mega-links {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 0 25px;
}
.mega-links a {
   display: flex;
   align-items: flex-start;
   gap: 13px;
   padding: 18px 0;
   border-top: 1px solid #2b4352;
}
.mega-links strong {
   display: block;
   font-size: 13px;
   line-height: 1.5;
}
.mega-links small {
   display: block;
   font-size: 11px;
   line-height: 1.7;
   color: #99b4c6;
   margin-top: 7px;
}
.semantic-icon {
   width: 24px;
   height: 24px;
   flex-shrink: 0;
   color: var(--accent-light);
}
.eyebrow,
.kicker {
   font-size: 11px;
   letter-spacing: 1.9px;
   color: var(--accent-light);
   font-weight: 700;
   margin-bottom: 17px;
}
.eyebrow.amber {
   color: var(--amber);
}
.hero {
   display: grid;
   grid-template-columns: 0.94fr 1.06fr;
   gap: 50px;
   align-items: center;
   padding: 68px 0 65px;
   min-height: 690px;
}
.hero h1 {
   font-size: 60px;
   line-height: 1.12;
   letter-spacing: -2px;
   margin-bottom: 26px;
}
.hero .lead {
   font-size: 16px;
   max-width: 580px;
   line-height: 1.85;
}
.hero-art {
   position: relative;
}
.hero-art img {
   width: 100%;
   border-radius: 12px;
}
.image-label {
   font-size: 11px;
   color: #8ca9bb;
   margin: 10px 0 0;
}
.actions {
   display: flex;
   align-items: center;
   gap: 12px;
   flex-wrap: wrap;
   margin: 26px 0;
}
.button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 15px;
   background: var(--accent);
   border: 1px solid var(--accent);
   color: #ffffff !important;
   border-radius: 5px;
   font-weight: 700;
   font-size: 13px;
   line-height: 1.6;
   padding: 13px 20px;
}
.button:after {
   content: '↗';
   font-weight: 400;
}
.button.secondary {
   background: transparent;
   color: var(--ink) !important;
   border-color: #4b6272;
}
.button:hover {
   filter: brightness(1.1);
}
.hero-tags {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
   margin-top: 30px;
   font-size: 11px;
   color: #a8bfcd;
}
.hero-tags span {
   border-left: 2px solid #4b6182;
   padding-left: 10px;
}
.section {
   padding: 68px 0;
   border-top: 1px solid var(--line);
}
.section-head {
   display: grid;
   grid-template-columns: 1.12fr 1fr;
   gap: 70px;
   margin-bottom: 32px;
}
.section-head h2 {
   margin: 0;
   max-width: 750px;
}
.section-head p {
   margin: 0;
   font-size: 14px;
   line-height: 1.85;
}
.intro {
   padding: 53px 0 42px;
   border-bottom: 1px solid var(--line);
}
.intro h1 {
   max-width: 1040px;
}
.intro-desc {
   max-width: 900px;
   font-size: 16px;
   line-height: 1.85;
}
.breadcrumb {
   display: flex;
   gap: 8px;
   flex-wrap: wrap;
   font-size: 11px;
   color: #8fa9bb;
   margin-bottom: 28px;
}
.breadcrumb a {
   color: #b3cfdb;
}
.role-nav {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   border-top: 1px solid var(--line);
   border-bottom: 1px solid var(--line);
}
.role-nav a {
   padding: 26px 26px 27px 0;
}
.role-nav a + a {
   border-left: 1px solid var(--line);
   padding-left: 26px;
}
.role-nav strong {
   display: block;
   font-size: 13px;
   color: var(--accent-light);
   letter-spacing: 1px;
   margin-bottom: 9px;
}
.role-nav span {
   font-size: 14px;
   line-height: 1.7;
}
.editorial {
   display: grid;
   grid-template-columns: 0.7fr 1.3fr;
   gap: 85px;
}
.editorial h2 {
   position: sticky;
   top: 120px;
   align-self: start;
}
.prose {
   max-width: 82ch;
   font-size: 16px;
   line-height: 1.9;
}
.prose p:last-child {
   margin-bottom: 0;
}
.large-prose {
   font-size: 25px;
   color: #d5e3ec;
   line-height: 1.7;
   max-width: 900px;
}
.split {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 34px;
}
.split.wide {
   grid-template-columns: 1.3fr 0.7fr;
}
.split.reverse {
   grid-template-columns: 0.7fr 1.3fr;
}
.split > div,
.split > article {
   min-width: 0;
}
.problem-panel {
   padding: 30px 34px;
   background: #14212b;
   border-left: 3px solid #91754e;
   border-radius: 0 8px 8px 0;
}
.outcome-panel {
   padding: 30px 34px;
   background: #1c2547;
   border-left: 3px solid #95afcc;
   border-radius: 0 8px 8px 0;
}
.problem-panel h3,
.outcome-panel h3 {
   font-size: 25px;
}
.number {
   font-family: ui-monospace, monospace;
   color: var(--accent-light);
   font-size: 13px;
   letter-spacing: 1px;
}
.product-pair {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 18px;
}
.product-slab {
   padding: 34px;
   background: #132b36;
   border-radius: 10px;
   position: relative;
   border-top: 2px solid #a0bcd8;
}
.product-slab:nth-child(2) {
   background: #182c3c;
   border-top-color: #84b4d6;
}
.product-slab h3 {
   font-size: 25px;
   margin: 12px 0;
}
.product-slab p {
   max-width: 54ch;
   font-size: 14px;
}
.link-line {
   display: inline-flex;
   align-items: center;
   gap: 14px;
   color: #c5dbee;
   font-size: 13px;
   font-weight: 700;
}
.link-line:after {
   content: '↗';
}
.pill-row {
   display: flex;
   gap: 8px;
   flex-wrap: wrap;
   margin: 20px 0;
}
.pill-row span,
.badge {
   background: #203943;
   color: #bbd8df;
   border-radius: 4px;
   font-size: 11px;
   padding: 4px 9px;
}
.tiles {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 26px;
}
.tile {
   padding: 22px 0 12px;
   border-top: 1px solid #3b5363;
   min-width: 0;
}
.tile p {
   font-size: 14px;
   margin-bottom: 14px;
}
.tile h3 {
   font-size: 16px;
   margin-bottom: 14px;
}
.tile-mark {
   display: block;
   color: var(--accent-light);
   font-size: 11px;
   margin-bottom: 15px;
}
.tiles.metro {
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
}
.metro .tile {
   padding: 28px;
   background: #142633;
   border: 0;
   border-radius: 8px;
}
.metro .tile:first-child {
   grid-column: span 2;
   background: #23334f;
}
.metro .tile:first-child h3 {
   font-size: 25px;
}
.metric-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 28px;
}
.metric {
   border-top: 2px solid var(--amber);
   padding: 22px 0;
}
.metric h3 {
   font-size: 16px;
}
.metric p {
   font-size: 14px;
}
.metric .number {
   color: var(--amber);
}
.decision-list {
   display: grid;
   gap: 0;
}
.decision {
   display: grid;
   grid-template-columns: 50px 0.9fr 1.6fr;
   gap: 25px;
   padding: 27px 0;
   border-top: 1px solid var(--line);
   align-items: start;
}
.decision h3 {
   font-size: 16px;
   margin: 0;
}
.decision p {
   font-size: 14px;
   margin: 0;
}
.route-steps,
.flow {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 0;
   list-style: none;
   padding: 0;
   margin: 25px 0;
}
.route-steps li,
.flow li {
   padding: 0 22px;
   border-left: 1px solid #3c5b69;
   min-width: 0;
}
.route-steps h3,
.flow h3 {
   font-size: 16px;
   margin-top: 13px;
}
.route-steps p,
.flow p {
   font-size: 14px;
}
.trace-strip {
   font:
      13px/1.8 ui-monospace,
      monospace;
   padding: 20px 24px;
   background: #142a35;
   border-radius: 6px;
   color: #c0d3eb;
   overflow-wrap: anywhere;
   margin-bottom: 28px;
}
.journey-tabs {
   display: flex;
   gap: 0;
   border-bottom: 1px solid #3a5666;
   margin: 26px 0 20px;
}
.journey-tabs button {
   border: 0;
   border-bottom: 3px solid transparent;
   background: none;
   border-radius: 0;
   padding: 13px 18px;
   color: #91adbf;
   font-size: 13px;
}
.journey-tabs button[aria-selected='true'] {
   color: #dcebf7;
   border-bottom-color: var(--accent-light);
}
.journey-panel > p {
   font-size: 13px;
   margin: 18px 0 0;
}
.shot {
   display: block;
   width: 100%;
   padding: 0;
   border: 0;
   background: none;
   text-align: left;
   overflow: hidden;
   border-radius: 10px;
}
.shot img {
   width: 100%;
   border: 1px solid #294554;
   border-radius: 10px;
}
.shot span {
   display: block;
   font-size: 11px;
   padding: 10px 0;
   color: #90b0c0;
}
.shot:focus-visible {
   outline-offset: 5px;
}
.spotlight {
   display: grid;
   grid-template-columns: 1.15fr 0.85fr;
   gap: 45px;
   align-items: center;
}
.spotlight h3 {
   font-size: 25px;
}
.spotlight p {
   font-size: 16px;
}
.spotlight .shot {
   box-shadow: 0 20px 65px #0003;
}
.cta-band {
   display: flex;
   justify-content: space-between;
   gap: 40px;
   align-items: center;
   padding: 36px;
   background: #1f304b;
   border-radius: 10px;
   margin: 60px 0;
}
.cta-band h2 {
   margin-bottom: 10px;
   font-size: 25px;
}
.cta-band p {
   margin: 0;
   max-width: 800px;
}
.cta-band .button {
   white-space: nowrap;
}
.in-page {
   display: flex;
   flex-wrap: wrap;
   gap: 8px 22px;
   padding: 18px 0;
   font-size: 11px;
   line-height: 1.8;
   border-bottom: 1px solid var(--line);
   color: #b0c2d5;
}
.notice {
   background: #142630;
   border-left: 2px solid #697d9c;
   border-radius: 0 6px 6px 0;
   padding: 17px 22px;
   margin: 22px 0;
   font-size: 13px;
   color: #b8cfd9;
}
.fine,
.micro {
   font-size: 11px;
   color: #8fa9ba;
}
.table-scroll {
   overflow: auto;
   background: #10212d;
   border: 1px solid #284351;
   border-radius: 7px;
   margin: 20px 0;
   padding: 6px;
}
table {
   border-collapse: collapse;
   width: 100%;
   font-size: 13px;
   line-height: 1.75;
   min-width: 560px;
}
th,
td {
   text-align: left;
   padding: 15px 17px;
   vertical-align: top;
   border-bottom: 1px solid #2a414f;
}
th {
   font-size: 11px;
   color: #b4cfdf;
   letter-spacing: 0.6px;
   background: #19303f;
}
tr:last-child td {
   border-bottom: 0;
}
.table-scroll a {
   color: #bad3e9;
}
.table-scroll code {
   font-size: 11px;
}
code {
   font-family: ui-monospace, monospace;
   font-size: 0.9em;
   color: #d9dfef;
   overflow-wrap: anywhere;
}
pre {
   white-space: pre;
   overflow: auto;
   padding: 22px;
   background: #07121c;
   border: 1px solid #274253;
   border-radius: 7px;
   font-size: 13px;
   line-height: 1.8;
}
pre code {
   font-size: inherit;
   overflow-wrap: normal;
}
.code-wrap {
   position: relative;
}
.copy {
   position: absolute;
   right: 8px;
   top: 8px;
   padding: 5px 10px;
   font-size: 11px;
}
.method {
   display: inline-block;
   font:
      700 11px/1.4 ui-monospace,
      monospace;
   padding: 4px 6px;
   border-radius: 3px;
   background: #2b4560;
   color: #c1dbf0;
}
.method.get {
   background: #244563;
   color: #a6d7fa;
}
.api-layout {
   display: grid;
   grid-template-columns: 315px minmax(0, 1fr);
   gap: 35px;
}
.api-nav {
   position: sticky;
   top: 103px;
   max-height: calc(100vh - 123px);
   overflow: auto;
   align-self: start;
   background: #112431;
   border-radius: 8px;
   padding: 20px;
}
.api-nav h3 {
   font-size: 11px;
   letter-spacing: 1.5px;
   margin: 25px 0 7px;
   color: #bdd0e2;
}
.api-nav > a {
   display: grid;
   grid-template-columns: 42px minmax(0, 1fr);
   gap: 7px;
   padding: 13px 0;
   border-bottom: 1px solid #29424f;
   align-items: start;
}
.api-nav code {
   font-size: 11px;
   background: none;
   white-space: normal;
   overflow-wrap: anywhere;
   line-height: 1.7;
}
.api-nav small {
   grid-column: 2;
   color: #9ab2c3;
   font-size: 11px;
}
.api-nav > p a {
   font-size: 13px;
   color: var(--accent-light);
}
.api-main {
   min-width: 0;
}
.operation {
   padding: 25px 0 35px;
   border-top: 1px solid var(--line);
   scroll-margin-top: 110px;
}
.operation h2 {
   font-size: 25px;
   margin: 18px 0;
}
.operation h3 {
   font-size: 16px;
}
.operation details {
   border-bottom: 1px solid #28414d;
   padding: 12px 0;
}
.operation summary {
   font-size: 13px;
   color: #b3ceda;
}
.operation summary:before {
   content: '＋';
   margin-right: 10px;
   color: var(--accent-light);
}
.op-heading {
   display: flex;
   gap: 12px;
   flex-wrap: wrap;
   align-items: start;
}
.op-heading code {
   font-size: 16px;
   white-space: normal;
}
.operation-context {
   padding: 15px 20px;
   background: #142b35;
   border-left: 2px solid #87a0b8;
   font-size: 13px;
}
.business-tools,
.filters {
   display: grid;
   grid-template-columns: 2fr 1.2fr 1.2fr;
   gap: 17px;
   background: #132b37;
   padding: 22px;
   border-radius: 7px;
   margin: 25px 0;
}
.business-group {
   border-top: 1px solid var(--line);
   margin: 12px 0;
}
.business-group > summary {
   display: flex;
   align-items: center;
   gap: 16px;
   font-size: 16px;
   padding: 22px 0;
}
.business-group > summary small {
   display: block;
   font-size: 11px;
   color: #91abbd;
}
.business-group > summary:after {
   content: '＋';
   margin-left: auto;
   color: var(--accent-light);
}
.business-group[open] > summary:after {
   content: '−';
}
.group-context {
   font-size: 13px;
   color: #9db9c9;
}
.capability {
   padding: 22px 25px;
   background: #10222e;
   border-radius: 7px;
   border-top: 1px solid #2b4554;
   margin: 9px 0;
}
.capability h3 {
   font-size: 16px;
   margin: 8px 0;
}
.capability p {
   font-size: 14px;
   max-width: 100ch;
}
.capability .micro {
   font-size: 11px;
}
.capability > a {
   font-size: 11px;
   color: var(--accent-light);
}
.gallery {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 25px;
}
.screen-detail {
   padding: 45px 0;
   border-top: 1px solid var(--line);
   scroll-margin-top: 110px;
}
.screen-detail h2 {
   font-size: 25px;
}
.screen-detail details {
   padding: 15px 0;
}
.screen-detail summary {
   font-size: 13px;
   color: var(--accent-light);
}
.screen-detail .actions a {
   font-size: 13px;
   color: #bdd5e9;
}
.vendor-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 16px;
}
.vendor-card {
   background: #142936;
   border: 1px solid #294452;
   padding: 25px;
   border-radius: 7px;
   display: flex;
   flex-direction: column;
   min-height: 205px;
}
.vendor-card .vendor-name {
   font-size: 25px;
   font-weight: 700;
   color: #e8f1f6;
   min-height: 65px;
   display: flex;
   align-items: center;
}
.vendor-card p {
   font-size: 13px;
   line-height: 1.8;
   margin: 15px 0 20px;
   flex: 1;
}
.vendor-card .link-line {
   font-size: 11px;
}
.vendor-card .vendor-type {
   font-size: 11px;
   letter-spacing: 1px;
   color: #b1c9e1;
}
.vendor-filter {
   display: flex;
   gap: 10px;
   flex-wrap: wrap;
   margin-bottom: 27px;
}
.vendor-filter button {
   background: transparent;
   border: 1px solid #3c596b;
   font-size: 11px;
   padding: 9px 14px;
}
.vendor-filter button[aria-pressed='true'] {
   background: #2a4051;
   border-color: #92b1cc;
   color: #cfe4f2;
}
.architecture-stack {
   display: grid;
   gap: 12px;
}
.architecture-stack > div,
.architecture-stack > article {
   padding: 22px;
   background: #142b38;
   border-radius: 6px;
}
.control-chips {
   display: flex;
   gap: 12px;
   flex-wrap: wrap;
}
.control-chips a {
   padding: 8px 12px;
   background: #1a343b;
   font-size: 11px;
   border-radius: 4px;
}
.diagram-legend {
   font-size: 11px;
}
.workflow-list {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
}
.workflow-card {
   padding: 24px;
   background: #142936;
   border-radius: 8px;
}
.workflow-card h3 {
   font-size: 16px;
}
.workflow-card p {
   font-size: 13px;
}
.two-col,
.feature-pair {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 25px;
}
.two-col > article {
   padding: 27px;
   background: #122935;
   border-radius: 8px;
}
.two-col h3 {
   font-size: 16px;
}
.showcase {
   display: grid;
   grid-template-columns: 1.3fr 0.7fr;
   gap: 35px;
   align-items: center;
}
.support-rail {
   background: #1f304b;
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 25px;
   padding: 28px;
   margin: 35px 0;
   border-radius: 8px;
}
.support-rail h2 {
   font-size: 25px;
}
.support-rail p {
   margin: 0;
}
.simulator {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 25px;
   padding: 28px;
   background: #142735;
   border-radius: 7px;
}
.simulation-controls > * {
   margin-bottom: 17px;
}
footer {
   border-top: 1px solid #2d4554;
   background: #0c1822;
   padding: 48px 0 25px;
   margin-top: 45px;
}
.footer-grid {
   display: grid;
   grid-template-columns: 1.8fr 1fr 1fr 1fr;
   gap: 35px;
}
.footer-grid h3 {
   font-size: 14px;
   color: #bed3df;
   margin-bottom: 20px;
}
.footer-grid a {
   display: block;
   font-size: 14px;
   color: #9db8c9;
   margin: 10px 0;
}
.footer-grid p {
   font-size: 14px;
   max-width: 390px;
   line-height: 1.9;
}
.footer-grid .brand {
   margin: 0 0 18px;
}
.footer-grid .brand-logo {
   height: 32px;
   width: auto;
}
.footer-bottom {
   display: flex;
   justify-content: space-between;
   font-size: 13px;
   border-top: 1px solid var(--line);
   padding-top: 22px;
   margin-top: 35px;
   color: #839faf;
}
.footer-bottom a {
   color: #a9c5d3;
}
.footer-links {
   display: flex;
   gap: 16px;
   align-items: center;
}
.dialog-top {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
   margin-bottom: 23px;
}
.dialog-top h2 {
   margin: 0;
   font-size: 25px;
}
dialog {
   background: #102330;
   color: #edf4f8;
   border: 1px solid #486473;
   border-radius: 10px;
   max-width: min(1100px, 94vw);
   width: 900px;
   padding: 28px;
   max-height: 92vh;
}
dialog::backdrop {
   background: #000b;
   backdrop-filter: blur(3px);
}
dialog .close {
   font-size: 16px;
   padding: 3px 10px;
}
#search-results {
   max-height: 60vh;
   overflow: auto;
}
#search-results a {
   display: block;
   padding: 18px 0;
   border-top: 1px solid #34505d;
}
#search-results p {
   font-size: 13px;
   margin: 8px 0;
}
#image-dialog {
   width: min(1500px, 96vw);
   max-width: 96vw;
}
.image-scroll {
   overflow: auto;
   max-height: 74vh;
}
.image-scroll img {
   width: 100%;
   max-width: 100%;
}
.image-scroll.zoom img {
   width: 1900px;
   max-width: none;
}
#external-url {
   overflow-wrap: anywhere;
   color: var(--accent-light);
   font-size: 14px;
}
#toast {
   position: fixed;
   bottom: 25px;
   right: 25px;
   background: #c2dbec;
   color: #16273c;
   z-index: 150;
   padding: 13px 20px;
   border-radius: 5px;
   font-size: 13px;
   display: none;
}
@media (min-width: 1181px) {
   header nav details:not([open]) .mega {
      display: none;
   }
}
@media (max-width: 1250px) {
   .site-header nav {
      gap: 14px;
   }
   .header-inner {
      gap: 16px;
   }
   .wrap {
      padding-left: 32px;
      padding-right: 32px;
   }
   .site-header nav > details > summary {
      font-size: 13px;
   }
   .hero {
      gap: 30px;
   }
   .hero h1 {
      font-size: 60px;
   }
   .consult-button {
      padding: 9px 10px;
   }
}
@media (max-width: 1180px) {
   .menu-toggle {
      display: block;
      margin-left: auto;
   }
   .site-header nav {
      display: none;
      position: absolute;
      top: 83px;
      left: 0;
      right: 0;
      background: #102330;
      padding: 18px 28px;
      max-height: calc(100dvh - 83px);
      overflow: auto;
   }
   .site-header.menu-open nav {
      display: block;
   }
   .site-header nav > details > summary {
      font-size: 13px;
      padding: 17px 0;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 6px;
      border-bottom: 1px solid #294351;
   }
   .mega {
      position: static;
      transform: none;
      width: 100%;
      padding: 12px 20px;
      border: 0;
      box-shadow: none;
      border-radius: 0;
      background: none;
   }
   .mega-links {
      grid-template-columns: 1fr 1fr;
      gap: 0 25px;
   }
   .mega-title {
      display: none;
   }
   .mega-links a {
      padding: 16px 0;
   }
   .hero h1 {
      font-size: 60px;
   }
   .editorial {
      gap: 40px;
   }
   .api-layout {
      grid-template-columns: 270px minmax(0, 1fr);
   }
}
@media (max-width: 850px) {
   .hero {
      grid-template-columns: 1fr;
      padding: 45px 0;
      gap: 35px;
      min-height: 0;
   }
   .hero h1 {
      font-size: 40px;
      max-width: 750px;
   }
   .hero .lead {
      max-width: 750px;
   }
   .hero-art {
      max-width: 850px;
   }
   .section-head {
      grid-template-columns: 1fr;
      gap: 15px;
   }
   .section {
      padding: 48px 0;
   }
   .editorial {
      grid-template-columns: 1fr;
      gap: 12px;
   }
   .editorial h2 {
      position: static;
   }
   .split,
   .split.wide,
   .split.reverse,
   .spotlight,
   .showcase {
      grid-template-columns: 1fr;
      gap: 25px;
   }
   .vendor-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
   .tiles,
   .tiles.metro,
   .metric-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
   .metro .tile:first-child {
      grid-column: auto;
   }
   .route-steps,
   .flow {
      grid-template-columns: 1fr 1fr;
      gap: 28px 0;
   }
   .decision {
      grid-template-columns: 35px 1fr;
      gap: 12px 18px;
   }
   .decision p {
      grid-column: 2;
   }
   .cta-band {
      display: block;
      padding: 28px;
   }
   .cta-band .button {
      margin-top: 22px;
   }
   .footer-grid {
      grid-template-columns: 1.5fr 1fr;
      gap: 30px;
   }
   .api-layout {
      display: block;
   }
   .api-nav {
      position: relative;
      top: 0;
      max-height: 420px;
      margin-bottom: 35px;
   }
   .role-nav {
      grid-template-columns: 1fr;
   }
   .role-nav a,
   .role-nav a + a {
      padding: 20px 0;
      border: 0;
      border-top: 1px solid var(--line);
   }
   .role-nav a:first-child {
      border: 0;
   }
   .business-tools {
      grid-template-columns: 1fr 1fr;
   }
   .business-tools label:first-child {
      grid-column: span 2;
   }
   .intro {
      padding: 40px 0 30px;
   }
   .intro-desc {
      font-size: 16px;
   }
}
@media (max-width: 560px) {
   .wrap {
      padding-left: 20px;
      padding-right: 20px;
   }
   .masthead .wrap {
      font-size: 11px;
      padding-top: 7px;
      padding-bottom: 7px;
   }
   .masthead span:last-child {
      display: none;
   }
   .header-inner {
      gap: 12px;
   }
   .site-header nav {
      top: 72px;
      max-height: calc(100dvh - 72px);
      padding: 15px 20px;
   }
   .header-tools {
      gap: 12px;
   }
   .consult-button {
      display: none;
   }
   .menu-toggle {
      padding: 3px 7px;
   }
   .hero h1 {
      font-size: 40px;
      letter-spacing: -1.6px;
   }
   .hero .lead {
      font-size: 16px;
   }
   .hero-tags {
      margin-top: 22px;
   }
   .intro h1 {
      font-size: 40px;
      letter-spacing: -1.2px;
   }
   .intro-desc {
      font-size: 16px;
   }
   .hero {
      padding-top: 35px;
   }
   .section-head h2 {
      font-size: 25px;
   }
   .section-head p {
      font-size: 14px;
   }
   .mega-links {
      grid-template-columns: 1fr;
   }
   .mega-links small {
      font-size: 13px;
   }
   .product-pair,
   .tiles,
   .tiles.metro,
   .metric-grid,
   .gallery,
   .workflow-list,
   .two-col,
   .feature-pair {
      grid-template-columns: 1fr;
   }
   .product-slab {
      padding: 25px;
   }
   .vendor-grid {
      grid-template-columns: 1fr 1fr;
      gap: 10px;
   }
   .vendor-card {
      padding: 17px;
      min-height: 230px;
   }
   .vendor-card .vendor-name {
      font-size: 16px;
      min-height: 62px;
   }
   .vendor-card p {
      font-size: 13px;
   }
   .vendor-card .vendor-type {
      font-size: 11px;
   }
   .vendor-card .link-line {
      font-size: 11px;
   }
   .route-steps,
   .flow {
      grid-template-columns: 1fr;
      gap: 25px;
   }
   .route-steps li,
   .flow li {
      padding: 0 0 0 17px;
   }
   .journey-tabs button {
      padding: 12px 10px;
      font-size: 11px;
   }
   .decision {
      grid-template-columns: 27px 1fr;
      gap: 10px;
   }
   .decision h3 {
      font-size: 16px;
   }
   .business-tools,
   .filters {
      grid-template-columns: 1fr;
      padding: 18px;
   }
   .business-tools label:first-child {
      grid-column: auto;
   }
   .business-group > summary {
      font-size: 16px;
   }
   .business-group > summary small {
      font-size: 11px;
   }
   .capability {
      padding: 18px;
   }
   .capability h3 {
      font-size: 16px;
   }
   .capability p {
      font-size: 13px;
   }
   .in-page {
      font-size: 11px;
      gap: 8px 15px;
   }
   .support-rail {
      display: block;
      padding: 23px;
   }
   .support-rail .button {
      margin-top: 20px;
   }
   .simulator {
      grid-template-columns: 1fr;
      padding: 20px;
   }
   .footer-grid {
      grid-template-columns: 1fr;
   }
   .footer-grid > div:first-child {
      margin-bottom: 10px;
   }
   .footer-bottom {
      display: block;
      line-height: 2.2;
   }
   .op-heading code {
      font-size: 16px;
   }
   .api-nav {
      padding: 18px;
   }
   .operation h2 {
      font-size: 25px;
   }
   .operation-context {
      padding: 13px;
      font-size: 13px;
   }
   .intro .breadcrumb {
      font-size: 11px;
   }
   .trace-strip {
      font-size: 11px;
      padding: 16px;
   }
   .notice {
      font-size: 13px;
   }
   .large-prose {
      font-size: 16px;
   }
   .prose {
      font-size: 16px;
   }
   .problem-panel,
   .outcome-panel {
      padding: 23px;
   }
   .shot span {
      font-size: 11px;
   }
   dialog {
      padding: 20px;
      max-width: 94vw;
   }
   .dialog-top h2 {
      font-size: 25px;
   }
}
@media (prefers-reduced-motion: reduce) {
   * {
      scroll-behavior: auto !important;
      transition: none !important;
      animation: none !important;
   }
}
@media (max-width: 560px) {
   .header-inner {
      gap: 6px;
   }
   .header-tools {
      gap: 0;
   }
   .search-open {
      min-width: 40px;
      min-height: 44px;
   }
   .lang-switch {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 32px;
      min-height: 44px;
   }
   .menu-toggle {
      min-width: 40px;
      min-height: 44px;
      padding: 4px;
   }
   .vendor-card p {
      font-size: 13px;
      line-height: 1.7;
   }
   .vendor-card .link-line {
      font-size: 11px;
   }
   .vendor-card {
      min-height: 265px;
   }
}
.faq details {
   border-bottom: 1px solid var(--line);
   padding: 24px 0;
}
.faq summary {
   font-weight: 700;
   font-size: 16px;
}
.faq summary:after {
   content: '+';
   color: var(--accent-light);
   float: right;
   margin-left: 20px;
}
.faq details[open] summary:after {
   content: '−';
}
.faq details p {
   max-width: 850px;
   margin: 20px 0 0;
}
.intro-desc {
   max-width: 1000px;
}
.access-button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   font-size: 13px;
   font-weight: 700;
   color: #d4e4f2;
   border: 1px solid #7890a9;
   padding: 9px 12px;
   border-radius: 5px;
   white-space: nowrap;
   min-height: 42px;
}
.header-inner {
   gap: 20px;
}
.site-header nav {
   gap: 17px;
}
.header-tools {
   gap: 10px;
}
.site-header nav a[aria-current='page'] {
   color: #e5bc7d;
   font-weight: 700;
}
.site-header nav a[aria-current='page'] strong {
   color: #e5bc7d;
}
.mobile-consult {
   display: none;
}
.hero-v7 {
   padding-top: 55px;
   min-height: 660px;
   grid-template-columns: 1fr 1.05fr;
   gap: 45px;
}
.hero-v7 h1 {
   font-size: 40px;
   line-height: 1.17;
}
.hero-v7 .hero-art {
   box-shadow: 0 30px 80px #0004;
   border: 1px solid #294351;
   border-radius: 14px;
}
.workspace-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
}
.workspace-card {
   background: linear-gradient(140deg, #152b37, #10212d);
   border: 1px solid #2c4655;
   border-radius: 10px;
   padding: 27px;
   display: flex;
   flex-direction: column;
   min-width: 0;
}
.workspace-top {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 22px;
}
.workspace-card h3 {
   font-size: 25px;
   min-height: 65px;
   margin-bottom: 18px;
}
.workspace-card > p {
   font-size: 14px;
   flex: 1;
}
.workspace-links {
   display: flex;
   flex-direction: column;
   gap: 10px;
   margin-top: 16px;
   border-top: 1px solid var(--line);
   padding-top: 17px;
}
.workspace-links a {
   font-size: 13px;
}
.workspace-card .semantic-icon {
   width: 29px;
   height: 29px;
}
.pressure-layout {
   display: grid;
   grid-template-columns: 1.65fr 1fr;
   gap: 65px;
}
.pressure-layout .decision {
   grid-template-columns: 35px 1fr;
   gap: 12px 20px;
}
.pressure-layout .decision p {
   grid-column: 2;
}
.industry-fact {
   padding: 30px;
   background: #1e2d4a;
   border: 1px solid #405e78;
   border-radius: 9px;
   align-self: start;
}
.fact-number {
   display: block;
   font-size: 60px;
   line-height: 1.2;
   color: #c2dcee;
   margin: 28px 0 18px;
   letter-spacing: -1.8px;
}
.industry-fact h3 {
   font-size: 25px;
}
.industry-fact p {
   font-size: 13px;
}
.solution-list > a {
   display: grid;
   grid-template-columns: 45px 1fr 1.2fr 25px;
   gap: 25px;
   border-top: 1px solid var(--line);
   padding: 27px 0;
   align-items: start;
}
.solution-list h3 {
   font-size: 25px;
   margin: 0;
}
.solution-list p {
   font-size: 14px;
   margin: 0;
}
.solution-list > a > span:last-child {
   color: var(--accent-light);
}
.ecosystem-teaser {
   display: grid;
   grid-template-columns: 1.4fr 1fr;
   gap: 60px;
   align-items: center;
   padding: 37px;
   background: #142c37;
   border-radius: 10px;
}
.ecosystem-teaser h3 {
   font-size: 25px;
   margin-top: 20px;
}
.ecosystem-teaser p {
   font-size: 16px;
}
.service-tags {
   display: grid;
   gap: 12px;
}
.service-tags span {
   border: 1px solid #3c5d68;
   border-radius: 5px;
   padding: 13px 16px;
   font-size: 14px;
   color: #c6d6e4;
}
.related-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 17px;
}
.related-grid a {
   padding: 25px;
   border: 1px solid var(--line);
   border-radius: 7px;
   display: flex;
   flex-direction: column;
   gap: 17px;
}
.related-grid strong {
   font-size: 16px;
}
.related-grid a > span:last-child {
   color: var(--accent-light);
}
.ecosystem-case {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 60px;
}
.case-output {
   padding: 26px 30px;
   background: #142b35;
   border-left: 2px solid #97b3cc;
   border-radius: 0 8px 8px 0;
}
.case-output p {
   font-size: 14px;
}
.access-heading {
   display: grid;
   grid-template-columns: 1.3fr 1fr;
   gap: 65px;
   align-items: center;
   padding: 45px 0;
}
.access-heading h2 {
   font-size: 40px;
}
.access-brand {
   padding: 45px 30px;
   border: 1px solid #495f7f;
   background: #1e2e49;
   border-radius: 10px;
}
.access-brand strong {
   display: block;
   color: #d2e6f5;
   font-size: 25px;
   line-height: 1.3;
}
.access-brand span {
   display: block;
   font-size: 13px;
   color: #c2d7d9;
   margin-top: 20px;
}
.access-grid .workspace-card {
   position: relative;
}
.access-grid .workspace-card > .semantic-icon {
   position: absolute;
   right: 25px;
   top: 25px;
}
.service-open {
   background: #28394c;
   border: 1px solid #5d798e;
   text-align: left;
   padding: 11px 13px;
   font-size: 13px;
   color: #d8e9f5;
}
.service-open:hover {
   background: #344c64;
}
.simulation-controls select {
   margin: 7px 0 20px;
}
.simulation-controls .button {
   margin: 5px 0 15px;
}
.simulator #access-result {
   border-left: 1px solid #3b5664;
   padding: 20px 0 20px 30px;
}
.simulator #access-result h3 {
   font-size: 25px;
}
.industry-story {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 65px;
}
.industry-story h3 {
   font-size: 25px;
}
.industry-story > div:nth-child(2) {
   border-left: 2px solid #839eb3;
   padding-left: 30px;
}
.buyer-route {
   display: grid;
   grid-template-columns: 1.4fr 1fr;
   gap: 65px;
}
.buyer-route ol {
   padding-left: 30px;
   border-left: 1px solid var(--line);
   margin: 0;
   list-style-position: inside;
}
.buyer-route li {
   padding: 15px 0;
   color: var(--accent-light);
}
.buyer-route .link-line {
   font-size: 16px;
}
.route-anchor {
   scroll-margin-top: 125px;
}
.dialog-top p {
   margin: 0;
}
.header-tools button,
.lang-switch {
   min-height: 42px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
}
.search-open {
   min-width: 32px;
}
.lang-switch {
   min-width: 23px;
}
.acceptance-list {
   list-style: none;
   margin: 0;
   padding: 0;
   max-width: 1000px;
}
.acceptance-list li {
   padding: 22px 0 22px 33px;
   border-top: 1px solid var(--line);
   font-size: 16px;
   color: #c4d9e5;
   position: relative;
}
.acceptance-list li:before {
   content: '↗';
   position: absolute;
   left: 0;
   color: var(--accent-light);
}
.route-anchor {
   display: block;
   height: 0;
   scroll-margin-top: 130px;
}
@media (max-width: 1250px) {
   .header-inner {
      gap: 13px;
   }
   .site-header nav {
      gap: 13px;
   }
   .header-tools {
      gap: 7px;
   }
   .access-button {
      font-size: 13px;
      padding: 8px 9px;
   }
   .hero-v7 h1 {
      font-size: 40px;
   }
}
@media (max-width: 1180px) {
   .mobile-consult {
      display: flex;
      align-items: center;
      gap: 25px;
      margin-top: 20px;
   }
   .site-header nav {
      margin-left: 0;
   }
   .hero-v7 {
      gap: 30px;
   }
   .workspace-card {
      padding: 23px;
   }
   .workspace-card h3 {
      font-size: 16px;
   }
}
@media (max-width: 900px) {
   .workspace-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
   .pressure-layout {
      grid-template-columns: 1fr;
      gap: 25px;
   }
   .industry-fact {
      max-width: 650px;
   }
   .ecosystem-teaser,
   .ecosystem-case,
   .access-heading,
   .industry-story,
   .buyer-route {
      grid-template-columns: 1fr;
      gap: 27px;
   }
   .related-grid {
      grid-template-columns: 1fr;
   }
   .related-grid a {
      flex-direction: row;
      align-items: center;
      gap: 20px;
   }
   .related-grid a > span:last-child {
      margin-left: auto;
   }
   .hero-v7 {
      grid-template-columns: 1fr;
   }
   .hero-v7 .hero-art {
      max-width: 850px;
   }
   .solution-list > a {
      grid-template-columns: 35px 1fr 22px;
      gap: 15px;
   }
   .solution-list p {
      grid-column: 2;
   }
   .solution-list > a > span:last-child {
      grid-column: 3;
      grid-row: 1;
   }
   .workspace-card h3 {
      min-height: 0;
   }
   .buyer-route ol {
      border-left: 0;
      padding-left: 0;
   }
}
@media (max-width: 560px) {
   .header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0 5px;
      padding-top: 8px;
      padding-bottom: 9px;
   }
   .header-tools {
      display: contents;
   }
   .brand {
      grid-column: 1;
      grid-row: 1;
      max-width: 180px;
   }
   .menu-toggle {
      min-height: 44px;
      min-width: 40px;
      margin: 0;
   }
   .lang-switch {
      grid-column: 3;
      grid-row: 1;
   }
   .search-open {
      grid-column: 2 / 4;
      grid-row: 2;
      min-height: 40px;
   }
   .access-button {
      grid-column: 1;
      grid-row: 2;
      justify-self: start;
      min-height: 40px;
      min-width: 170px;
      font-size: 13px;
      padding: 7px 13px;
   }
   .consult-button {
      display: none;
   }
   .site-header nav {
      top: 109px;
      max-height: calc(100dvh - 109px);
   }
   html {
      scroll-padding-top: 130px;
   }
   .hero-v7 {
      padding: 35px 0 38px;
      gap: 28px;
   }
   .hero-v7 h1 {
      font-size: 40px;
      letter-spacing: -1.5px;
   }
   .workspace-grid {
      grid-template-columns: 1fr;
   }
   .workspace-card {
      padding: 25px;
   }
   .workspace-card h3 {
      font-size: 25px;
   }
   .workspace-card > p {
      font-size: 14px;
   }
   .workspace-links a {
      min-height: 34px;
   }
   .fact-number {
      font-size: 40px;
   }
   .ecosystem-teaser {
      padding: 25px;
   }
   .ecosystem-teaser h3 {
      font-size: 25px;
   }
   .solution-list h3 {
      font-size: 16px;
   }
   .solution-list > a {
      padding: 24px 0;
   }
   .solution-list p {
      font-size: 13px;
   }
   .access-heading {
      padding-top: 35px;
   }
   .access-heading h2 {
      font-size: 25px;
   }
   .access-brand {
      padding: 30px 25px;
   }
   .access-brand strong {
      font-size: 25px;
   }
   .simulator #access-result {
      border-left: 0;
      border-top: 1px solid #3b5664;
      padding: 25px 0 0;
   }
   .industry-story > div:nth-child(2) {
      padding-left: 20px;
   }
   .case-output {
      padding: 23px;
   }
   .mobile-consult {
      display: flex;
      flex-wrap: wrap;
   }
   .hero-v7 .actions .button {
      font-size: 11px;
      padding: 12px 14px;
   }
   .pressure-layout .decision {
      grid-template-columns: 27px 1fr;
      gap: 10px;
   }
   .pressure-layout .decision h3 {
      font-size: 16px;
   }
   .service-open {
      min-height: 44px;
   }
   .intro h1 {
      font-size: 40px;
      letter-spacing: -0.9px;
   }
}

.lang-select {
   position: relative;
   display: inline-block;
}
.lang-select-trigger {
   display: inline-flex;
   align-items: center;
   justify-content: space-between;
   gap: 6px;
   background: transparent;
   border: 1px solid #3b5568;
   border-radius: 5px;
   padding: 6px 10px;
   color: #d4e4f2;
   cursor: pointer;
   width: 100%;
}
.lang-flag {
   width: 20px;
   height: 20px;
   border-radius: 50%;
   flex-shrink: 0;
}
.lang-code {
   font-size: 13px;
   flex: 1;
   text-align: start;
   font-weight: 700;
}
.lang-caret {
   transition: transform 0.2s ease;
}
.lang-select.is-open .lang-caret {
   transform: rotate(180deg);
}
.lang-select-menu {
   position: absolute;
   top: calc(100% + 6px);
   right: 0;
   min-width: 170px;
   width: 100%;
   margin: 0;
   padding: 6px;
   list-style: none;
   background: #102330;
   border: 1px solid #365363;
   border-radius: 8px;
   box-shadow: 0 20px 50px #0008;
   z-index: 80;
}
.lang-select-menu li {
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 8px 16px;
   border-radius: 6px;
   cursor: pointer;
   color: #cfe4f2;
   font-size: 13px;
}
.lang-select-menu li:hover {
   background: #1a3442;
}
.lang-select-menu li.is-active {
   color: #e5bc7d;
   font-weight: 700;
   background: #1a3442;
}

.cookie-consent-root {
   position: sticky;
   bottom: 0;
   width: 100%;
   z-index: 9999;
}
.cookie-banner-spacer {
   width: 100%;
}
.cookie-banner {
   position: static;
   background: #102330;
   border-top: 1px solid #365363;
   padding: 18px 24px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
   pointer-events: auto;
   box-shadow: 0 -12px 40px #0006;
}
.cookie-banner-copy {
   margin: 0;
   color: #cfe4f2;
   font-size: 14px;
}
.cookie-banner-copy strong {
   display: block;
   margin-bottom: 4px;
   color: #edf3f6;
}
.cookie-banner-copy span {
   color: #a9becd;
}
.cookie-banner-actions {
   display: flex;
   flex-direction: row;
   flex-wrap: nowrap;
   gap: 10px;
}
.cookie-btn {
   border: 1px solid #3b5568;
   background: #102431;
   color: #d4e4f2;
   border-radius: 5px;
   padding: 9px 14px;
   font-size: 13px;
   font-weight: 700;
   cursor: pointer;
   white-space: nowrap;
}
.cookie-btn-outline:hover {
   background: #1a3442;
}
.cookie-btn-primary {
   background: var(--accent);
   border-color: var(--accent);
   color: #ffffff;
}
.cookie-fab {
   pointer-events: auto;
   position: fixed;
   left: 20px;
   bottom: 20px;
   width: 48px;
   height: 48px;
   border-radius: 50%;
   border: 1px solid #365363;
   background: #102330;
   color: #d4e4f2;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   z-index: 121;
   box-shadow: 0 12px 30px #0006;
}
.cookie-modal {
   pointer-events: auto;
   position: fixed;
   inset: 0;
   z-index: 130;
   display: flex;
   align-items: center;
   justify-content: center;
}
.cookie-modal[hidden] {
   display: none !important;
}
.cookie-modal-backdrop {
   pointer-events: auto;
   position: absolute;
   inset: 0;
   background: #0008;
}
.cookie-modal-panel {
   pointer-events: auto;
   position: relative;
   width: min(720px, 92vw);
   max-height: 88vh;
   overflow: hidden;
   display: flex;
   flex-direction: column;
   background: #102330;
   border: 1px solid #365363;
   border-radius: 12px;
   padding: 24px;
   box-shadow: 0 30px 80px #0008;
}
.cookie-modal-head {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   margin-bottom: 16px;
   flex-shrink: 0;
}
.cookie-modal-head h2 {
   margin: 0;
   font-size: 20px;
}
.cookie-modal-close {
   background: transparent;
   border: 0;
   color: #a9becd;
   font-size: 20px;
   cursor: pointer;
}
.cookie-modal-body {
   display: grid;
   gap: 16px;
   flex: 1 1 auto;
   min-height: 0;
   overflow-y: auto;
}
.cookie-pref-row {
   display: grid;
   grid-template-columns: 1fr auto;
   gap: 16px;
   align-items: start;
   padding: 14px;
   border: 1px solid #2b4352;
   border-radius: 8px;
   background: #0c1a24;
}
.cookie-pref-row b {
   display: block;
   margin-bottom: 4px;
   color: #edf3f6;
}
.cookie-pref-row p {
   margin: 0;
   font-size: 13px;
   color: #a9becd;
}
.cookie-always {
   color: #e5bc7d;
   font-weight: 700;
   font-size: 12px;
}
.cookie-switch {
   width: 46px;
   height: 26px;
   border-radius: 999px;
   border: 1px solid #3b5568;
   background: #1a3442;
   position: relative;
   cursor: pointer;
   padding: 0;
}
.cookie-switch i {
   position: absolute;
   top: 3px;
   left: 3px;
   width: 18px;
   height: 18px;
   border-radius: 50%;
   background: #a9becd;
   transition:
      transform 0.2s ease,
      background 0.2s ease;
}
.cookie-switch.is-on {
   background: var(--accent);
   border-color: var(--accent);
}
.cookie-switch.is-on i {
   transform: translateX(20px);
   background: #ffffff;
}
.cookie-modal-foot {
   display: flex;
   justify-content: flex-end;
   gap: 10px;
   margin-top: 18px;
   flex-shrink: 0;
}
@media (max-width: 760px) {
   .cookie-banner {
      flex-direction: column;
      align-items: flex-start;
   }
   .cookie-banner-actions {
      width: 100%;
      flex-direction: column;
      flex-wrap: nowrap;
   }
   .cookie-btn {
      width: 100%;
      flex: 1 1 100%;
   }
   .header-tools {
      display: flex;
   }
   .header-tools > :not(.search-open) {
      display: none;
   }
   .mobile-tools {
      display: block;
      margin-top: 12px;
   }
   .mobile-tools .lang-select {
      display: block;
      margin-bottom: 12px;
   }
   .mobile-tools .access-button,
   .mobile-tools .consult-button {
      display: block;
      width: 100%;
      text-align: center;
      margin-bottom: 10px;
   }
   .mobile-tools a {
      display: block;
      width: 100%;
      text-align: center;
      margin-bottom: 10px;
   }
   .cookie-modal-panel {
      width: 92vw;
      max-height: 80vh;
      padding: 12px;
   }
   .cookie-modal-body {
      gap: 12px;
   }
   .cookie-pref-row {
      padding: 10px;
   }
}

@media (max-width: 1300px) {
   .header-inner {
      gap: 12px;
   }
   .site-header nav {
      gap: 8px;
   }
}

@media (min-width: 760px) {
   .mobile-tools {
      display: none;
   }
}

.header-actions {
   display: flex;
   align-items: center;
   gap: 12px;
}
