@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
/* RI Enterprise UI Core v1. Presentation only; no runtime or authority semantics. */
:root{--ri-ui-bg:#071410;--ri-ui-surface:#0c1d17;--ri-ui-surface-hover:#10271f;--ri-ui-border:#1a3440;--ri-ui-text:#eef8f2;--ri-ui-muted:#8ba89a;--ri-ui-blue:#2d7aed;--ri-ui-cyan:#00c4d4;--ri-ui-green:#0dd694;--ri-ui-amber:#e8a020;--ri-ui-red:#e53e3e;--ri-ui-radius:8px;--ri-ui-mono:"Cascadia Code","JetBrains Mono",Consolas,monospace;--ri-ui-sans:Inter,"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--ri-ui-focus:0 0 0 3px rgba(0,196,212,.24);--ri-ui-elevation:inset 0 1px 0 rgba(255,255,255,.025),0 8px 28px rgba(0,0,0,.11)}
:where(a,button,input,textarea,select):focus-visible{outline:1px solid var(--ri-ui-cyan);outline-offset:3px;box-shadow:var(--ri-ui-focus)}::selection{background:rgba(0,196,212,.28);color:var(--ri-ui-text)}
:root{--enterprise-blue:#2d7aed;--enterprise-cyan:#00c4d4;--enterprise-green:#0dd694;--enterprise-amber:#e8a020;--enterprise-border:#1a3440;--enterprise-mono:"Cascadia Code","JetBrains Mono",Consolas,monospace}body{background-image:linear-gradient(rgba(0,196,212,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(0,196,212,.018) 1px,transparent 1px);background-size:28px 28px}.enterprise-statusbar{display:flex;align-items:center;gap:7px;padding:5px max(18px,calc((100vw - 1180px)/2));overflow-x:auto;background:#081710;border-bottom:1px solid var(--enterprise-border);font:650 .58rem var(--enterprise-mono);letter-spacing:.04em;white-space:nowrap}.enterprise-statusbar span{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border:1px solid var(--enterprise-border);border-radius:4px;color:#8ba89a}.enterprise-statusbar .live{color:var(--enterprise-green)}.enterprise-statusbar .bounded{color:var(--enterprise-amber)}.enterprise-statusbar .domain{color:var(--enterprise-cyan)}.enterprise-statusbar i{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.card,.door,.gate,.state,.metric,.case-panel,.surface{box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 8px 28px rgba(0,0,0,.11)}.card:hover,.door:hover{border-color:rgba(0,196,212,.52)}.assistant-toggle,.iris-assistant-fab{background:linear-gradient(145deg,var(--enterprise-cyan),#087f8c)!important;color:#fff!important;box-shadow:0 14px 34px rgba(0,196,212,.2)!important}.assistant-panel,.assistant{border-color:var(--enterprise-border)!important;box-shadow:0 28px 80px rgba(0,0,0,.55)!important}.assistant-head,.assistant>header{background:#07131d!important}.assistant-head strong,.assistant>header strong{color:var(--enterprise-cyan)}.assistant-meta,.meta{font-family:var(--enterprise-mono)!important}.ri-assistant-context{padding:7px 14px;border-bottom:1px solid var(--enterprise-border);background:#081710;color:#789386;font:600 .58rem var(--enterprise-mono)}.ri-assistant-suggestions{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;border-top:1px solid var(--enterprise-border)}.ri-assistant-suggestions button{flex:0 0 auto;border:1px solid var(--enterprise-border);background:transparent;color:#9eb8aa;border-radius:999px;padding:5px 8px;font:600 .55rem var(--enterprise-mono);cursor:pointer}.ri-assistant-suggestions button:hover{color:var(--enterprise-cyan);border-color:var(--enterprise-cyan)}@media(max-width:600px){.enterprise-statusbar{padding-left:13px}.footer-links{flex-wrap:wrap}.assistant-panel,.assistant{height:min(68vh,590px)!important}}

/* Vietnamese typography: use a font with complete, clearly positioned diacritics. */
html[lang='vi'] body,html[lang='vi'] button,html[lang='vi'] input,html[lang='vi'] textarea,[data-lang='vi']{font-family:'Be Vietnam Pro','Segoe UI',Arial,sans-serif!important;font-variant-ligatures:normal;text-rendering:optimizeLegibility}html[lang='vi'] h1,html[lang='vi'] h2,html[lang='vi'] h3,html[lang='vi'] .hero h1,html[lang='vi'] .head h2,[data-lang='vi'] h1,[data-lang='vi'] h2,[data-lang='vi'] h3{font-family:'Playfair Display','Be Vietnam Pro','Segoe UI',Arial,sans-serif!important;font-weight:600!important;letter-spacing:-.025em!important;line-height:1.18!important;font-kerning:normal}

/* v2 visual adoption: IRIS-X Enterprise operational language for Web + Atlas. */
html{background:#eef1f6!important;color-scheme:light}
body{background:#eef1f6!important;background-image:linear-gradient(rgba(45,122,237,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(45,122,237,.025) 1px,transparent 1px)!important;background-size:24px 24px!important;color:#0f1724!important;font-family:var(--ri-ui-mono)!important}
header,.nav{background:rgba(248,249,252,.94)!important;border-color:#c8d0e0!important;backdrop-filter:blur(14px)}
.brand,.logo,.eyebrow,.tag,.status,.enterprise-statusbar,.meta,.kicker{font-family:var(--ri-ui-mono)!important;letter-spacing:.12em!important;text-transform:uppercase}
.brand,.logo,.eyebrow{color:#0099aa!important}
.enterprise-statusbar{background:#e5e9f2!important;border-color:#c8d0e0!important;color:#52627a!important}
.enterprise-statusbar span{background:#f8f9fc!important;border-color:#c8d0e0!important;color:#52627a!important;box-shadow:none!important}
.enterprise-statusbar .live{color:#0aa872!important}.enterprise-statusbar .bounded{color:#a76d08!important}.enterprise-statusbar .domain{color:#007f8e!important}
h1,h2,h3,.hero h1,.head h2{font-family:var(--ri-ui-mono)!important;color:#0f1724!important;letter-spacing:.025em!important;line-height:1.12!important;text-transform:none}
h1,.hero h1{font-weight:600!important}.hero h1 em,.hero h1 strong,h1 em,h1 strong{color:#0099aa!important;font-style:normal!important}
p,li,td,th{color:#3a4a62}
section{border-color:#d5dbe6!important}
.card,.door,.gate,.state,.metric,.case-panel,.surface,.panel,.invite,.quote,.boundary,.chain>div{background:#fff!important;border:1px solid #c8d0e0!important;border-radius:var(--ri-ui-radius)!important;color:#0f1724!important;box-shadow:0 10px 26px rgba(28,43,64,.07)!important}
.card:hover,.door:hover,.btn:hover{border-color:#0099aa!important;transform:none!important}
.btn,button,.lang button{border:1px solid #9ba9bd!important;background:#f8f9fc!important;color:#172235!important;border-radius:6px!important;font-family:var(--ri-ui-mono)!important;box-shadow:none!important}
.btn.primary,.primary,.assistant-toggle,.iris-assistant-fab{background:#00a8b8!important;border-color:#008b99!important;color:#fff!important}
.assistant-panel,.assistant{background:#f8f9fc!important;border-color:#9ba9bd!important;color:#0f1724!important}.assistant-head,.assistant>header{background:#e5e9f2!important}.assistant-head strong,.assistant>header strong{color:#007f8e!important}
footer{background:#e5e9f2!important;border-color:#c8d0e0!important;color:#52627a!important}
@media(max-width:700px){body{font-size:14px}.wrap{width:min(calc(100% - 28px),var(--max))!important}.hero{padding-top:54px!important}.hero h1,h1{font-size:clamp(2rem,10vw,3.05rem)!important;line-height:1.08!important}.card,.door,.gate,.state,.metric,.case-panel,.surface,.panel,.invite,.quote,.boundary{border-radius:8px!important}.enterprise-statusbar{padding:6px 12px!important}.btn,button{min-height:42px}}

/* v3 typography correction: retain the original editorial identity. */
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important}
h1,h2,h3,.hero h1,.head h2{font-family:Georgia,"Times New Roman",serif!important;letter-spacing:-.035em!important;line-height:1.02!important}
p,li,td,th{color:#3a4a62!important}
.hero p,.head p{color:#52627a!important;opacity:1!important}
.btn,button,.lang button{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-weight:700!important;letter-spacing:0!important;text-transform:none}
.brand,.logo,.eyebrow,.tag,.status,.enterprise-statusbar,.meta,.kicker{font-family:var(--ri-ui-mono)!important}
html[lang='vi'] body,html[lang='vi'] button,html[lang='vi'] input,html[lang='vi'] textarea,[data-lang='vi']{font-family:'Be Vietnam Pro','Segoe UI',Arial,sans-serif!important}
html[lang='vi'] h1,html[lang='vi'] h2,html[lang='vi'] h3,html[lang='vi'] .hero h1,html[lang='vi'] .head h2,[data-lang='vi'] h1,[data-lang='vi'] h2,[data-lang='vi'] h3{font-family:'Playfair Display','Be Vietnam Pro','Segoe UI',Arial,sans-serif!important}
@media(max-width:700px){.hero h1,h1{font-size:clamp(2.65rem,12.8vw,4rem)!important;line-height:.98!important}.hero p,.head p{font-size:1rem!important;line-height:1.62!important}}

/* v4 enterprise system: consistent light operational surfaces across Web + Atlas. */
:root{--ri-ui-canvas:#eef1f6;--ri-ui-panel:#fff;--ri-ui-panel-soft:#f8f9fc;--ri-ui-line:#c8d0e0;--ri-ui-line-strong:#9ba9bd;--ri-ui-ink:#0f1724;--ri-ui-copy:#3a4a62;--ri-ui-subtle:#6b7a92}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 80% 4%,rgba(0,153,170,.08),transparent 28%),radial-gradient(circle at 8% 38%,rgba(45,101,208,.05),transparent 24%);z-index:-1}
header,.nav{box-shadow:0 1px 0 rgba(15,23,36,.06),0 8px 24px rgba(28,43,64,.05)!important}
nav a,.nav a{color:#3a4a62!important;font-weight:650}nav a:hover,.nav a:hover{color:#007f8e!important}
.hero{position:relative}.hero:after{content:"ENTERPRISE PUBLIC SURFACE";position:absolute;right:max(20px,calc((100vw - 1180px)/2));top:28px;color:#7b899d;font:600 .58rem var(--ri-ui-mono);letter-spacing:.16em}
section>.wrap{position:relative}section>.wrap:before{content:"";position:absolute;left:0;top:0;width:42px;height:2px;background:#00a8b8}
.section-head,.head{padding-bottom:18px!important;border-bottom:1px solid var(--ri-ui-line)!important;margin-bottom:24px!important}
.grid{align-items:stretch}.grid>.card,.grid>.door,.grid>.gate,.grid>.state,.grid>.surface{height:100%}
.card,.door,.gate,.state,.metric,.case-panel,.surface,.panel,.invite,.quote,.boundary,.chain>div{position:relative;overflow:hidden}
.card:before,.door:before,.gate:before,.state:before,.surface:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(#00a8b8,#2d7aed);opacity:.72}
.card h3,.door h3,.gate h3,.state h3,.surface h3{margin-top:5px!important}
.tag,.status{display:inline-flex!important;align-items:center;gap:6px;padding:4px 7px!important;background:#edf7f8!important;border:1px solid #b7dfe3!important;border-radius:4px!important;color:#007f8e!important;font-size:.62rem!important;font-weight:700!important}
.tag.warn,.status.warn{background:#fff7e8!important;border-color:#ead4a7!important;color:#8c5d08!important}
.boundary{background:#f4f6fa!important;border-left:3px solid #e8a020!important;padding:16px 18px!important}.quote{border-left:3px solid #00a8b8!important}
.chain{gap:1px!important;background:var(--ri-ui-line)!important;border:1px solid var(--ri-ui-line)!important;border-radius:8px!important;overflow:hidden}.chain>div{border:0!important;border-radius:0!important;box-shadow:none!important}
.matrix-wrap{border:1px solid var(--ri-ui-line)!important;border-radius:8px!important;background:#fff!important;box-shadow:0 12px 30px rgba(28,43,64,.07)!important;overflow:auto!important}
table{border-collapse:collapse!important;width:100%}th{background:#e5e9f2!important;color:#27364b!important;font:700 .68rem var(--ri-ui-mono)!important;letter-spacing:.08em;text-transform:uppercase}th,td{border-color:#d5dbe6!important;padding:12px 14px!important}tbody tr:nth-child(even){background:#fafbfc!important}tbody tr:hover{background:#eef8f9!important}
.buttons{gap:9px!important}.btn{padding:11px 16px!important}.btn:not(.primary){background:#fff!important}.btn.primary{box-shadow:0 8px 18px rgba(0,153,170,.18)!important}
.assistant-toggle,.iris-assistant-fab{border-radius:14px!important}.assistant-panel,.assistant{border-radius:10px!important}.assistant-meta,.meta{color:#6b7a92!important}
footer a{color:#007f8e!important}
@media(max-width:700px){.hero:after{display:none}section{padding-top:58px!important;padding-bottom:58px!important}.section-head,.head{padding-bottom:14px!important;margin-bottom:18px!important}.grid{gap:12px!important}.card,.door,.gate,.state,.metric,.case-panel,.surface,.panel,.invite,.quote,.boundary{padding:18px!important}.matrix-wrap{border-radius:6px!important}.buttons{display:grid!important;grid-template-columns:1fr!important}.btn{width:100%!important;justify-content:center!important;text-align:center!important}.enterprise-statusbar span{flex:0 0 auto}}
@media(prefers-color-scheme:dark){html,body{background:#eef1f6!important;color:#0f1724!important;color-scheme:light}header,.nav{background:rgba(248,249,252,.96)!important}.card,.door,.gate,.state,.metric,.case-panel,.surface,.panel,.invite,.quote,.boundary,.chain>div{background:#fff!important;color:#0f1724!important}}

/* v5 readability: moderate hierarchy and eliminate inherited dark surfaces. */
.hero h1{font-size:clamp(3rem,5.1vw,5rem)!important;line-height:1!important}
.section-head h2,.head h2,section h2{font-size:clamp(2rem,3.2vw,3.2rem)!important;line-height:1.08!important}
.card h3,.door h3,.gate h3,.state h3,.surface h3,.story h3{font-size:clamp(1.2rem,1.7vw,1.55rem)!important;line-height:1.18!important}
.story,.mesh,.pathway,.invite,.matrix{background:#fff!important;border-color:var(--ri-ui-line)!important;color:var(--ri-ui-ink)!important}
.story article,.mesh-node,.mesh-node.center,.join-grid>div{background:#fff!important;border-color:var(--ri-ui-line)!important;color:var(--ri-ui-ink)!important}
.story article{border-right-color:var(--ri-ui-line)!important}.story b,.scan b,.gate b{color:#8c5d08!important}
.story h3,.mesh-node b,.invite h2,.invite b{color:var(--ri-ui-ink)!important}
.story p,.mesh-node p,.invite p,.join-grid small,.pathway label,.pathway-result{color:var(--ri-ui-copy)!important;opacity:1!important}
.pathway{background:linear-gradient(145deg,#fff,#f2faf9)!important}
.pathway select,.pathway input,.pathway textarea,.assistant-form input{background:#fff!important;color:var(--ri-ui-ink)!important;border-color:var(--ri-ui-line-strong)!important}
.pathway-result{background:#e9edf4!important}.invite:after{color:rgba(15,23,36,.035)!important}
.mesh{background:radial-gradient(circle at center,rgba(0,168,184,.07),transparent 42%),#fff!important}
.centric-target{background:radial-gradient(circle,rgba(0,168,184,.11) 0 25%,transparent 26% 43%,rgba(45,101,208,.07) 44% 45%,transparent 46%)!important;border-color:#9bcdd2!important;color:var(--ri-ui-ink)!important}
.centric-target span,.centric-list p,.scan p,.gate p,.state p,.dimension span,.benefit p,.case-panel p,.case-list,.circle span,.human-line span,.door p{color:var(--ri-ui-copy)!important;opacity:1!important}
@media(max-width:700px){body{font-size:16px!important}.hero{min-height:auto!important;padding:52px 0 56px!important}.hero h1,h1{font-size:clamp(2.5rem,10.8vw,3.15rem)!important;line-height:1.02!important;margin:16px 0 22px!important}.section-head h2,.head h2,section h2{font-size:clamp(1.8rem,8vw,2.2rem)!important;line-height:1.1!important}.card h3,.door h3,.gate h3,.state h3,.surface h3,.story h3{font-size:1.35rem!important}.hero p,.head p,p,li{font-size:1rem!important;line-height:1.62!important}.eyebrow{font-size:.68rem!important;line-height:1.45!important}.story article{padding:20px!important;border-right:0!important;border-bottom:1px solid var(--ri-ui-line)!important}.story article:last-child{border-bottom:0!important}}

/* v6 mobile type scale: body 16, title 32 (2:1), section 26, card 20. */
@media(max-width:700px){body{font-size:16px!important}.hero h1,h1{font-size:32px!important;line-height:1.08!important;letter-spacing:-.025em!important;margin:14px 0 20px!important}.section-head h2,.head h2,section h2{font-size:26px!important;line-height:1.16!important;letter-spacing:-.025em!important}.card h3,.door h3,.gate h3,.state h3,.surface h3,.story h3,.principle h3,.case-panel h3{font-size:20px!important;line-height:1.25!important;letter-spacing:-.015em!important}.hero p,.lead,.head p{font-size:17px!important;line-height:1.58!important}.card p,.door p,.gate p,.state p,.surface p,.story p,.principle p,.case-panel p,p,li{font-size:16px!important;line-height:1.58!important}.eyebrow,.tag,.status,.kicker{font-size:11px!important;line-height:1.45!important}.hero{padding:44px 0 50px!important}section{padding-top:50px!important;padding-bottom:50px!important}}

/* v7 mobile navigation authority and content density. */
@media(max-width:900px){.navlinks,.links{background:#f8f9fc!important;border-bottom:1px solid #c8d0e0!important;box-shadow:0 18px 36px rgba(28,43,64,.12)!important}.navlinks a,.links a{width:100%!important;padding:11px 8px!important;color:#172235!important;font-size:16px!important;line-height:1.35!important;font-weight:750!important;border-bottom:1px solid #e1e6ee!important}.navlinks a:last-child,.links a:last-child{border-bottom:0!important}.navlinks a:hover,.links a:hover,.navlinks a:focus-visible,.links a:focus-visible{color:#007f8e!important;background:#edf7f8!important}.menu{color:#172235!important;background:#f8f9fc!important;border-color:#9ba9bd!important;font-size:16px!important;font-weight:800!important}}
@media(max-width:700px){.hero p,.lead,.head p{font-size:16px!important;line-height:1.58!important}.card p,.door p,.gate p,.state p,.surface p,.story p,.principle p,.case-panel p,p,li{font-size:15px!important;line-height:1.58!important}}
