* { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body { margin: 0; background: var(--color-bg); color: var(--color-text); font-family: var(--font-sans); }
button, a { font: inherit; }
button:focus-visible, a:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 2px; }
.app-shell { min-height: 100vh; display: grid; grid-template: var(--header-height) 1fr / var(--nav-width) 1fr; }
.app-header { grid-column: 1 / -1; position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: var(--space-4); padding: 0 var(--space-6); color: #fff; background: rgba(17,26,46,.96); border-bottom: 1px solid rgba(255,255,255,.09); backdrop-filter: blur(14px); }
.brand { display: flex; align-items: center; gap: var(--space-3); min-width: calc(var(--nav-width) - var(--space-6)); text-decoration: none; color: inherit; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(135deg, var(--color-brand-500), var(--color-accent-400)); box-shadow: 0 8px 22px rgba(20,115,230,.3); font-weight: 800; }
.brand-copy strong { display:block; letter-spacing:.04em; }.brand-copy span { display:block; color:#9daccc; font-size:var(--font-size-xs); margin-top:2px; }
.header-spacer { flex: 1; }.header-action { appearance:none; border:1px solid rgba(255,255,255,.28); border-radius:var(--radius-pill); background:transparent; color:#fff; padding:.65rem 1rem; cursor:pointer; }
.header-action:hover { background:rgba(255,255,255,.09); }.menu-button { display:none; border:0; background:transparent; color:#fff; padding:.5rem; border-radius:var(--radius-sm); cursor:pointer; }
.side-nav { position: sticky; top: var(--header-height); height: calc(100vh - var(--header-height)); overflow:auto; padding: var(--space-5) var(--space-4); background: var(--color-nav); color:var(--color-nav-text); }
.nav-tree, .nav-tree ul { list-style:none; margin:0; padding:0; }.nav-tree ul { margin-left:1.05rem; padding-left:.55rem; border-left:1px solid rgba(255,255,255,.12); }
.nav-row { display:flex; align-items:center; gap:.35rem; min-height:43px; margin:2px 0; border-radius:var(--radius-sm); }
.nav-row:hover { background:var(--color-nav-hover); }.nav-row.active { color:#fff; background:linear-gradient(90deg, rgba(20,115,230,.32), rgba(20,115,230,.08)); box-shadow:inset 3px 0 var(--color-accent-400); }
.nav-link { flex:1; min-width:0; display:flex; align-items:center; gap:.7rem; padding:.65rem .7rem; color:inherit; text-decoration:none; font-size:var(--font-size-sm); }
.nav-link span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.nav-icon { width:18px; height:18px; flex:0 0 18px; }
.nav-toggle { appearance:none; width:30px; height:30px; display:grid; place-items:center; border:0; border-radius:var(--radius-sm); color:inherit; background:transparent; cursor:pointer; transition:transform var(--transition-fast); }.nav-toggle[aria-expanded="false"] { transform:rotate(-90deg); }
.nav-children[hidden] { display:none; }.main-content { min-width:0; overflow:hidden; }
.content-page { width:min(100% - 2rem, var(--content-max)); margin:0 auto; padding:var(--space-10) 0 var(--space-12); }
.breadcrumb { color:var(--color-text-muted); font-size:var(--font-size-sm); margin-bottom:var(--space-6); }.breadcrumb span { color:var(--color-text); font-weight:650; }
.hero { position:relative; isolation:isolate; overflow:hidden; min-height:420px; display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:var(--space-8); padding:clamp(2rem,5vw,5rem); border-radius:var(--radius-lg); color:#fff; background:linear-gradient(135deg,#0e1a35 0%,#12386c 55%,#087d82 100%); box-shadow:var(--shadow-md); }
.hero::before { content:""; position:absolute; z-index:-1; width:460px; height:460px; right:-130px; top:-160px; border-radius:50%; border:80px solid rgba(255,255,255,.055); }
.hero-kicker { display:inline-flex; align-items:center; gap:.5rem; margin-bottom:var(--space-5); color:#bafff2; font-size:var(--font-size-sm); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.hero h1 { max-width:770px; margin:0 0 var(--space-5); font-size:var(--font-size-2xl); line-height:var(--line-tight); letter-spacing:-.045em; }.hero p { max-width:680px; margin:0 0 var(--space-8); color:#d8e7ff; font-size:var(--font-size-lg); line-height:1.6; }
.cta-row { display:flex; flex-wrap:wrap; gap:var(--space-3); }.button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.8rem 1.1rem; border-radius:var(--radius-sm); text-decoration:none; font-weight:720; }.button-primary { color:#0f2541; background:#fff; }.button-secondary { color:#fff; border:1px solid rgba(255,255,255,.33); background:rgba(255,255,255,.08); }
.hero-orbit { justify-self:center; width:min(260px,100%); aspect-ratio:1; position:relative; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:50%; }.hero-orbit::before,.hero-orbit::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.13); border-radius:50%; }.hero-orbit::before { inset:17%; }.hero-orbit::after { inset:34%; background:rgba(255,255,255,.09); }.orbit-core { z-index:1; width:70px; height:70px; display:grid; place-items:center; border-radius:20px; background:linear-gradient(135deg,#fff,#bafff2); color:#0b4163; font-size:1.5rem; font-weight:900; transform:rotate(-7deg); }
.section-heading { margin:var(--space-10) 0 var(--space-5); }.section-heading h2 { margin:0 0 .45rem; font-size:var(--font-size-xl); }.section-heading p { margin:0; color:var(--color-text-muted); }
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-5); }.feature-card { padding:var(--space-6); border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-surface); box-shadow:var(--shadow-sm); transition:transform var(--transition-fast),box-shadow var(--transition-fast); }.feature-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }.feature-icon { width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--color-brand-50);color:var(--color-brand-600);margin-bottom:var(--space-5); }.feature-card h3{margin:0 0 .5rem}.feature-card p{margin:0;color:var(--color-text-muted);line-height:1.55}
.article { max-width:850px; margin:0 auto; padding:clamp(1.5rem,5vw,4rem); border:1px solid var(--color-border); border-radius:var(--radius-lg); background:var(--color-surface); box-shadow:var(--shadow-sm); }.article-label { color:var(--color-brand-600); font-size:var(--font-size-sm); font-weight:750; text-transform:uppercase; letter-spacing:.08em; }.article h1 { margin:.6rem 0 1.25rem; font-size:clamp(2.1rem,4vw,3.65rem); letter-spacing:-.04em; }.article-body { color:#39445b; font-size:var(--font-size-lg); line-height:var(--line-normal); white-space:pre-line; }
.contact-card { display:grid; grid-template-columns:.8fr 1.2fr; gap:var(--space-8); }.contact-form { display:grid; gap:var(--space-4); }.field { display:grid; gap:.4rem; }.field label {font-size:var(--font-size-sm);font-weight:700}.field input,.field textarea { width:100%; border:1px solid var(--color-border); border-radius:var(--radius-sm); padding:.8rem; font:inherit; background:var(--color-surface-subtle); }.field textarea{min-height:130px;resize:vertical}.submit { border:0; border-radius:var(--radius-sm); padding:.85rem 1rem; color:#fff; background:var(--color-brand-600); font-weight:750; cursor:pointer; }
.error-state { max-width:680px; margin:4rem auto; padding:2rem; border:1px solid #efb5b5; border-radius:var(--radius-md); background:#fff6f6; }.scrim{position:fixed;inset:var(--header-height) 0 0;background:rgba(5,12,26,.58);z-index:19}
@media(max-width:900px){.card-grid{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr}.hero-orbit{display:none}.contact-card{grid-template-columns:1fr}}
@media(max-width:720px){.app-shell{display:block;padding-top:var(--header-height)}.app-header{position:fixed;left:0;right:0;height:var(--header-height);padding:0 var(--space-4)}.brand{min-width:0}.brand-copy span{display:none}.menu-button{display:grid;place-items:center}.side-nav{position:fixed;z-index:20;left:0;top:var(--header-height);width:min(86vw,var(--nav-width));transform:translateX(-105%);transition:transform var(--transition-fast);box-shadow:var(--shadow-md)}.side-nav.open{transform:translateX(0)}.content-page{padding-top:var(--space-6)}.hero{min-height:0;padding:var(--space-8) var(--space-6)}.card-grid{grid-template-columns:1fr}.header-action[data-optional="true"]{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}