.container { width: min(calc(100% - 2.5rem), var(--container)); margin-inline: auto; }
.content-narrow { width: min(calc(100% - 2.5rem), var(--reading)); margin-inline: auto; }
.section { padding-block: var(--space-6); position: relative; }
.section--soft { background: var(--surface-soft); }
.section--warm { background: var(--surface-warm); }
.section--dark { background: var(--navy); color: #dbe8ee; }
.section--dark h2, .section--dark h3, .section--dark strong { color: #fff; }
.section-heading { max-width: 49rem; margin-bottom: var(--space-4); }
.section-heading--center { text-align: center; margin-inline: auto; }
.section-heading p { color: var(--muted); font-size: var(--step-0); }
.section--dark .section-heading p { color: #b8cbd5; }
.two-column { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr); gap: var(--space-5); align-items: center; }
.two-column--top { align-items: start; }
.three-column { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.four-column { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-2); }
.site-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(184,201,208,.65); box-shadow: 0 5px 18px rgba(12,29,43,.04); backdrop-filter: blur(12px); }
.header-context { background: var(--navy-deep); color: #d5e3e9; font-size: var(--step--1); }
.header-context__inner { min-height: 2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.header-context a { color: #fff; text-decoration: none; }
.header-main { min-height: var(--header-height); display: flex; align-items: center; gap: 1.15rem; }
.site-brand { flex: 0 0 auto; }
.site-brand img { width: 15rem; }
.primary-nav { margin-left: auto; }
.primary-nav__list, .submenu { list-style: none; padding: 0; margin: 0; }
.primary-nav__list { display: flex; align-items: center; gap: .05rem; }
.primary-nav__item { position: relative; }
.primary-nav__item > a, .primary-nav__trigger { display: inline-flex; align-items: center; gap: .25rem; min-height: 2.75rem; padding: .55rem .62rem; border: 0; background: transparent; color: var(--ink-strong); font-size: .92rem; font-weight: 680; text-decoration: none; white-space: nowrap; cursor: pointer; }
.primary-nav__item > a:hover, .primary-nav__trigger:hover, .primary-nav__item > a[aria-current="page"] { color: var(--primary-dark); background: var(--primary-soft); border-radius: .45rem; }
.submenu { position: absolute; left: 0; top: calc(100% + .4rem); width: 18.5rem; padding: .5rem; background: #fff; border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-md); opacity: 0; visibility: hidden; transform: translateY(-.35rem); transition: .18s ease; }
.has-submenu:hover .submenu, .has-submenu:focus-within .submenu, .has-submenu.is-open .submenu { opacity: 1; visibility: visible; transform: translateY(0); }
.submenu a { display: block; padding: .68rem .75rem; border-radius: .45rem; color: var(--ink); font-size: .94rem; text-decoration: none; }
.submenu a:hover, .submenu a[aria-current="page"] { background: var(--surface-soft); color: var(--primary-dark); }
.header-cta { flex: 0 0 auto; }
.nav-toggle { display: none; width: 3rem; height: 3rem; padding: .7rem; border: 1px solid var(--border); border-radius: .55rem; background: #fff; cursor: pointer; }
.nav-toggle span { display: block; height: 2px; margin: .29rem 0; background: var(--ink-strong); transition: .2s ease; }
.breadcrumbs { padding-top: 1.15rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; padding: 0; margin: 0; color: var(--muted); font-size: var(--step--1); }
.breadcrumbs li:not(:last-child)::after { content: '/'; margin-left: .4rem; color: var(--border-strong); }
.breadcrumbs a { color: var(--muted); text-decoration: none; }
.page-hero { padding-block: clamp(3.6rem, 7vw, 6.7rem); overflow: hidden; border-bottom: 1px solid var(--border); background: linear-gradient(120deg, #f7fafb 0%, #edf4f5 56%, #f9f4ea 100%); }
.page-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .65fr); gap: var(--space-5); align-items: end; }
.page-hero h1 { font-size: var(--step-4); max-width: 19ch; }
.page-hero__lead { max-width: 48rem; color: var(--muted); font-size: var(--step-1); }
.page-hero__aside { padding: var(--space-3); border-left: 4px solid var(--accent); background: rgba(255,255,255,.68); }
.page-hero__aside p:last-child { margin-bottom: 0; }
.article-shell { display: grid; grid-template-columns: minmax(0, 1fr) 18rem; gap: var(--space-5); align-items: start; }
.article-body { min-width: 0; }
.article-sidebar { position: sticky; top: 8.5rem; }
.site-footer { background: var(--navy-deep); color: #c3d3dc; }
.footer-lead { display: grid; grid-template-columns: minmax(0, 1.55fr) repeat(2, minmax(11rem, .65fr)); gap: var(--space-5); padding-block: var(--space-5); }
.footer-identity img { width: 17rem; margin-bottom: 1.25rem; }
.footer-identity p { max-width: 40rem; }
.footer-owner { color: #fff; }
.footer-owner a { color: #fff; }
.footer-links h2 { color: #fff; font-size: 1rem; letter-spacing: .04em; text-transform: uppercase; }
.footer-links ul { list-style: none; padding: 0; margin: 0; }
.footer-links li + li { margin-top: .5rem; }
.footer-links a { color: #c3d3dc; text-decoration: none; }
.footer-links a:hover { color: #fff; }
.footer-ecosystem { padding-block: var(--space-4); background: #0e2538; border-block: 1px solid rgba(255,255,255,.08); }
.ecosystem-heading { display: flex; justify-content: space-between; align-items: end; gap: var(--space-3); margin-bottom: var(--space-3); }
.ecosystem-heading p { max-width: 42rem; margin: 0; color: #aebfca; }
.ecosystem-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.12); }
.ecosystem-item { position: relative; display: grid; gap: .35rem; padding: 1.35rem; color: #b8cbd5; background: #0e2538; text-decoration: none; }
.ecosystem-item strong { color: #fff; font-size: 1.08rem; }
.ecosystem-item .icon { position: absolute; right: 1rem; top: 1.15rem; }
.ecosystem-item:hover { color: #fff; background: #14334b; }
.footer-legal { padding-block: 1.25rem; font-size: var(--step--1); }
.footer-legal__inner { display: flex; justify-content: space-between; gap: 1.5rem; }
.footer-legal__inner p { margin: 0; }
.footer-legal nav { display: flex; flex-wrap: wrap; gap: .85rem; }
.footer-legal a { color: #c3d3dc; }
.footer-disclaimer { padding-top: 1rem; margin-top: 1rem; border-top: 1px solid rgba(255,255,255,.09); }
.footer-disclaimer p { margin: 0; color: #9fb2be; }
.ecosystem-heading h2 { max-width: 18ch; margin: .35rem 0 0; color: #fff; font-size: clamp(1.55rem,2.5vw,2.5rem); }

/* International language navigation */
.language-nav { display:flex; align-items:center; gap:.28rem; flex:0 0 auto; padding-inline:.15rem; color:var(--muted); font-size:.73rem; font-weight:760; letter-spacing:.06em; }
.language-nav a, .language-nav span { color:inherit; text-decoration:none; }
.language-nav a:hover { color:var(--primary-dark); }
.language-nav .is-current { color:var(--ink-strong); }
