/* Additions to the shared Institute style for this site. Logical properties only (RTL-ready, I-08). */
.answer-box{background:#ffffff14;border-inline-start:4px solid var(--lime);padding:14px 18px;border-radius:6px;max-width:860px;margin-block:8px 18px;line-height:1.8}
.page-heading .answer-box strong{color:var(--lime)}
.go-bubble{display:flex;gap:14px;align-items:flex-start;background:var(--pale);border:1px solid var(--line);border-radius:8px;padding:16px;margin-block:20px 28px}
.go-bubble svg{flex:0 0 52px;width:52px;height:52px}
.go-bubble p{margin:0}.go-bubble strong{display:block;color:var(--blue);font-size:.86rem;letter-spacing:.04em}
.hero .go-bubble{background:#ffffff10;border-color:#ffffff30}.hero .go-bubble p{color:#e8f0f6}.hero .go-bubble strong{color:var(--lime)}
.toc{border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin-block-end:32px;background:#fff}
.toc p{font-weight:700;margin-block-end:6px}.toc ol{margin:0;padding-inline-start:22px}.toc li{padding-block:4px}
.toc a{display:inline-block;min-height:32px}
.lesson{margin-block-end:52px}.lesson h2{padding-block-start:8px;border-block-start:2px solid var(--ink)}
.lead{font-size:1.08rem;font-weight:600}
.steps{counter-reset:s;list-style:none;padding:0}.steps li{counter-increment:s;position:relative;padding:12px 14px 12px 52px;border:1px solid var(--line);border-radius:8px;margin-block-end:10px;background:#fff}
.steps li::before{content:counter(s);position:absolute;inset-inline-start:12px;inset-block-start:12px;width:28px;height:28px;border-radius:50%;background:var(--night);color:var(--lime);display:grid;place-items:center;font-weight:700;font-size:.9rem}
.clean-list li{margin-block-end:8px}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin-block:18px}
.info-card{border:1px solid var(--line);border-radius:8px;padding:18px;background:#fff}.info-card h3{margin-block-end:4px}
.info-card .tag{color:var(--blue);font-size:.85rem;font-weight:700;margin-block-end:8px}
.diagram svg{display:block;width:100%;height:auto}
.diagram figcaption{color:var(--muted);font-size:.9rem;margin-block-start:8px}
.diagram .mobile-flow{display:none}
@media(max-width:760px){.diagram:not(.chart) svg{display:none}.diagram .mobile-flow{display:block}.hero-map svg{display:block}}
.stack-list li{margin-block-end:10px}
.data-table{margin-block-start:10px}.data-table summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--blue)}
.video{margin-block:22px}
.video-facade{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#0b2135,#1261a0);border-radius:8px;display:grid;place-items:center;color:#fff;text-align:center;padding:16px;overflow:hidden}
.video-facade iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-play{min-height:56px;min-width:56px;padding:12px 22px;border-radius:999px;border:0;background:var(--lime);color:var(--night);font-weight:700;display:inline-flex;gap:10px;align-items:center}
.video-facade p{margin:12px 0 0;font-size:.95rem;opacity:.9}
.video figcaption{color:var(--muted);font-size:.9rem;margin-block-start:8px}
.faq details{border-block-end:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:700;padding-block:14px;min-height:44px}
.faq details p{margin-block:0 16px}
.next-block{margin-block-start:40px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-block-end:28px}.chips a{border:1px solid var(--line);border-radius:999px;padding:8px 14px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;background:#fff}
.badge.lime{background:var(--lime);color:var(--night)}.badge.soft{background:var(--pale);color:var(--blue)}
.narrow{max-width:900px}
.footer-h{font-weight:700;margin-block-end:8px}
.footer-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
th[scope=row]{text-align:start;font-weight:600}
.article{min-width:0}
.hero h1 strong{color:var(--lime)}
h1,h2{word-break:auto-phrase}
/* Language menu (7 languages; endonyms, no flags — common-infra I-01/I-03) */
.lang-menu{position:relative}.lang-menu summary{list-style:none;display:flex;align-items:center;gap:6px;min-height:44px;min-width:44px;padding-inline:8px;cursor:pointer;font-size:13px;font-weight:650;white-space:nowrap}.lang-menu summary::-webkit-details-marker{display:none}.lang-menu .lang-list{position:absolute;inset-inline-end:0;inset-block-start:100%;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 20px #0b213520;padding:6px;display:grid;min-width:160px;z-index:30}.lang-menu .lang-list a{display:flex;align-items:center;min-height:44px;padding-inline:12px;font-size:14px;text-decoration:none;color:var(--ink)}.lang-menu .lang-list a[aria-current=true]{font-weight:750;color:var(--blue)}
/* Diagrams keep their drawn left-to-right geometry in RTL pages; text inside still shapes correctly */
[dir=rtl] .diagram svg,[dir=rtl] .hero-map svg{direction:ltr}
@media(max-width:360px){.lang-menu summary{padding-inline:4px;font-size:12px}}
/* 15+ languages: keep the menu reachable inside the sticky header */
.lang-menu .lang-list{grid-template-columns:1fr 1fr;min-width:300px;max-height:min(70vh,560px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:360px){.lang-menu .lang-list{min-width:260px}}
@media(max-width:760px){.lang-menu{position:static}.lang-menu .lang-list{inset-inline:12px;inset-block-start:100%;min-width:0}}
.fact{min-width:0}.fact p,.fact span{hyphens:auto;overflow-wrap:anywhere}
h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
