:root {
  --navy: #171a3b;
  --navy-2: #202550;
  --paper: #f3f4f8;
  --white: #fbfbfd;
  --indigo: #4f46e5;
  --cyan: #0891b2;
  --text: #252947;
  --muted: #7b819d;
  --line: #dfe2ef;
  --mono: 'SFMono-Regular', Consolas, monospace;
  --sans: 'Inter', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--paper); font: 16px/1.65 var(--sans); }
a { color: inherit; text-decoration: none; }
.app-layout { min-height: 100vh; display: grid; grid-template-columns: 245px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 36px 28px; background: var(--navy); color: var(--white); }
.side-brand { display: flex; align-items: center; gap: 11px; }.side-brand strong, .side-brand small { display: block; line-height: 1.2; }.side-brand strong { font-size: 16px; }.side-brand small { margin-top: 5px; color: #8e96ba; font: 10px var(--mono); letter-spacing: .08em; }
.brand-orbit { position: relative; display: block; width: 31px; height: 31px; border: 1px solid var(--cyan); border-radius: 50%; }.brand-orbit::before { content: ''; position: absolute; inset: 6px; border: 1px solid var(--indigo); border-radius: 50%; }.brand-orbit i { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); }.brand-orbit i:first-child { top: 3px; right: 1px; }.brand-orbit i:last-child { bottom: 4px; left: 1px; background: var(--indigo); }
.side-caption { margin-top: 92px; color: #6f78a4; font: 10px/1.6 var(--mono); letter-spacing: .11em; }
.sidebar nav { display: grid; gap: 13px; margin-top: 35px; }.sidebar nav a { display: flex; align-items: baseline; gap: 13px; padding: 8px 0; color: #b3b9d1; font: 13px var(--mono); }.sidebar nav a span { color: #636b97; font-size: 10px; }.sidebar nav a:hover, .sidebar nav a.is-active { color: #fff; }.sidebar nav a.is-active span { color: var(--cyan); }
.side-bottom { display: grid; grid-template-columns: 10px 1fr; gap: 9px 7px; align-items: center; margin-top: auto; color: #91a0bd; font: 10px var(--mono); }.side-bottom small { grid-column: 2; color: #5e6790; }.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #70e1be; box-shadow: 0 0 0 4px rgba(112, 225, 190, .12); }
.main-panel { min-width: 0; padding: 0 5vw; }.utility-bar { min-height: 73px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); color: var(--muted); font: 11px var(--mono); letter-spacing: .04em; }
.hero { min-height: 710px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .65fr); gap: 8vw; align-items: center; padding: 92px 0 120px; }.eyebrow, .section-number, .small-label { margin: 0; color: var(--indigo); font: 11px var(--mono); letter-spacing: .08em; }.signal { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--cyan); }.hero h1 { max-width: 760px; margin: 26px 0 30px; color: var(--navy); font-size: clamp(3.5rem, 6.8vw, 7rem); line-height: .93; letter-spacing: -.09em; font-weight: 700; }.hero-intro { max-width: 550px; color: #606887; font-size: 18px; }.hero-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }.hero-tags span { padding: 7px 10px; border: 1px solid #cbd0e6; color: #5b6284; font: 11px var(--mono); }
.hero-aside { align-self: stretch; display: flex; flex-direction: column; justify-content: center; }.coordinate { color: var(--muted); font: 10px var(--mono); }.orbit-map { position: relative; width: min(28vw, 330px); aspect-ratio: 1; margin: 35px auto; border: 1px solid #cfd4e9; border-radius: 50%; }.orbit { position: absolute; inset: 11%; border: 1px solid #ccd3e8; border-radius: 50%; transform: rotate(27deg) scaleY(.58); }.orbit-two { inset: 20%; transform: rotate(-38deg) scaleY(.74); border-color: #bdc5e3; }.core { position: absolute; inset: 39%; display: grid; place-items: center; border-radius: 50%; background: var(--indigo); color: white; font: 600 16px var(--mono); box-shadow: 0 0 0 9px rgba(79, 70, 229, .1), 0 0 0 18px rgba(8, 145, 178, .06); }.point { position: absolute; width: 9px; height: 9px; border: 2px solid var(--paper); border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 3px var(--cyan); }.point-a { top: 15%; right: 16%; }.point-b { bottom: 21%; left: 13%; background: var(--indigo); box-shadow: 0 0 0 3px var(--indigo); }.point-c { top: 51%; right: 4%; width: 6px; height: 6px; background: #9eaccd; box-shadow: 0 0 0 2px #9eaccd; }.aside-caption { display: flex; justify-content: space-between; padding-top: 18px; border-top: 1px solid var(--line); font: 11px var(--mono); }.aside-caption span { color: var(--muted); }.aside-caption strong { color: var(--navy); font-weight: 500; }
.section { padding: 112px 0; border-top: 1px solid var(--line); }.section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .5fr); column-gap: 8vw; }.section-number { grid-column: 1 / -1; }.section h2 { max-width: 720px; margin: 22px 0 0; color: var(--navy); font-size: clamp(2.7rem, 5vw, 5.3rem); line-height: .98; letter-spacing: -.08em; }.section-description { grid-column: 2; grid-row: 2; margin: 28px 0 0; color: var(--muted); font-size: 14px; }
.workbench-shell { margin-top: 65px; border: 1px solid #cdd2e4; background: var(--white); box-shadow: 14px 14px 0 #e3e6f1; }.workbench-toolbar { display: flex; justify-content: space-between; padding: 15px 20px; border-bottom: 1px solid #cdd2e4; color: var(--muted); font: 10px var(--mono); }.toolbar-id { color: var(--indigo); }.workbench-body { display: grid; grid-template-columns: 190px 1fr; min-height: 350px; }.workbench-sidebar { padding: 25px 21px; border-right: 1px solid #e0e3ee; background: #f7f8fc; }.flow-item { display: flex; gap: 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid #e4e6ef; color: #8b92aa; font-size: 13px; }.flow-item b { color: #a8aec1; font: 10px var(--mono); }.flow-item.active { color: var(--navy); }.flow-item.active b { color: var(--cyan); }.small-label { display: block; color: #a3a9bf; font-size: 10px; }.lower { margin-top: 54px; }.workbench-sidebar p { margin-top: 13px; color: #9299ae; font: 11px/1.7 var(--mono); }.conversation { padding: 25px clamp(22px, 4vw, 54px); }.conversation-top { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 19px; border-bottom: 1px solid #e0e3ee; color: #737b9a; font: 11px var(--mono); }.ai-label { color: var(--indigo); }.message { max-width: 680px; margin-top: 25px; }.message-role { color: #8a91ac; font: 10px var(--mono); }.message p { margin: 8px 0 0; color: var(--text); font-size: 15px; }.user-message { margin-left: auto; text-align: right; }.assistant-message { padding: 20px 22px; border-left: 3px solid var(--cyan); background: #f3f6fb; }.message-foot { display: flex; justify-content: space-between; gap: 20px; margin-top: 20px; color: var(--indigo); font: 10px var(--mono); }
.foundation-grid { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(280px, 1fr); gap: 10vw; margin-top: 65px; }.layer-stack { border-top: 1px solid #cdd2e4; }.layer-stack div { display: grid; grid-template-columns: 40px 1fr auto; align-items: baseline; gap: 14px; padding: 17px 0; border-bottom: 1px solid #cdd2e4; }.layer-stack span, .layer-stack em { color: var(--indigo); font: 10px var(--mono); }.layer-stack strong { color: var(--navy); font: 600 18px var(--mono); }.layer-stack em { color: var(--muted); font-style: normal; }.foundation-copy p { color: #606887; font-size: 16px; }.foundation-copy p + p { margin-top: 23px; }.spec-row { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-bottom: 1px solid #cdd2e4; font: 11px var(--mono); }.spec-row:first-of-type { margin-top: 42px; }.spec-row span { color: var(--muted); }.spec-row strong { color: var(--navy); font-weight: 500; }
.notice-section { display: flex; gap: 18px; padding: 31px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.notice-mark { width: 24px; height: 24px; flex: none; display: grid; place-items: center; border-radius: 50%; background: #ffe5af; color: #9b6814; font-weight: 700; }.notice-section strong { color: var(--navy); font-size: 14px; }.notice-section p { max-width: 780px; margin: 6px 0 0; color: var(--muted); font-size: 13px; }.site-footer { display: flex; justify-content: space-between; gap: 20px; padding: 34px 0 48px; color: var(--muted); font: 11px var(--mono); }.site-footer strong { display: block; margin-bottom: 5px; color: var(--navy); font-family: var(--sans); font-size: 14px; }.site-footer a { color: var(--indigo); }.site-footer a:hover { text-decoration: underline; }.site-footer > span:last-child { color: var(--indigo); }
@media (max-width: 900px) { .app-layout { display: block; }.sidebar { position: relative; height: auto; padding: 20px 5vw; }.side-caption { display: none; }.sidebar nav { display: flex; gap: 22px; margin-top: 22px; }.side-bottom { position: absolute; right: 5vw; bottom: 21px; margin: 0; }.side-bottom small { display: none; }.main-panel { padding: 0 5vw; }.hero { grid-template-columns: 1fr; gap: 55px; }.hero-aside { max-width: 430px; }.orbit-map { width: min(62vw, 330px); }.section-heading { display: block; }.section-description { margin-top: 22px; }.foundation-grid { grid-template-columns: 1fr; gap: 50px; } }
@media (max-width: 600px) { .utility-bar { font-size: 9px; }.utility-bar span:last-child { text-align: right; }.sidebar nav { justify-content: space-between; gap: 8px; }.sidebar nav a { font-size: 11px; }.hero { min-height: 0; padding: 72px 0 90px; }.hero h1 { font-size: clamp(3.4rem, 15vw, 5.4rem); }.hero-intro { font-size: 16px; }.section { padding: 78px 0; }.section h2 { font-size: clamp(2.5rem, 13vw, 4.3rem); }.workbench-shell { box-shadow: 7px 7px 0 #e3e6f1; }.workbench-body { grid-template-columns: 1fr; }.workbench-sidebar { display: none; }.conversation { padding: 21px 18px; }.conversation-top { font-size: 9px; }.message p { font-size: 14px; }.message-foot { display: block; }.message-foot span { display: block; margin-top: 8px; }.layer-stack div { grid-template-columns: 30px 1fr; }.layer-stack em { grid-column: 2; margin-top: -10px; }.site-footer { display: block; }.site-footer > span:last-child { display: block; margin-top: 24px; } }

/* Consulting website refinements */
.hero h1 { line-height: 1.12; letter-spacing: -.055em; font-size: clamp(3rem, 5.6vw, 6rem); }
.section h2 { line-height: 1.16; letter-spacing: -.045em; }
.primary-link { display: inline-flex; align-items: center; gap: 32px; margin-top: 18px; padding: 12px 20px; background: var(--indigo); color: white; font-size: 14px; }
.primary-link:hover { background: var(--navy); }
.text-link { display: inline-block; margin-top: 16px; color: var(--indigo); font-size: 13px; }
.user-message { margin-left: 0; text-align: left; }
.message { margin-bottom: 25px; }
a:focus-visible { outline: 3px solid var(--cyan); outline-offset: 5px; }
@media (max-width: 900px) { .side-bottom { top: 27px; bottom: auto; } }
@media (max-width: 600px) { .side-bottom { display: none; } .hero h1 { font-size: clamp(2.8rem, 11vw, 4rem); } .utility-bar { gap: 16px; } .utility-bar span:last-child { max-width: 130px; } .site-footer .filing-link { display: inline-block; margin-top: 15px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
