﻿:root {
    --brand-ink: #17201c; --brand-text-soft: #52615a; --brand-navy: #15221c;
    --brand-surface: #f0f3ef; --brand-border: #dce3dc; --brand-lime: #c2dc30; --brand-dark: #141918;
    --bs-primary-rgb: 74, 99, 21; --bs-dark-rgb: 20, 25, 24;
    --bs-body-color: #17201c; --bs-body-bg: #fafbf8; --bs-link-color: #40591a; --bs-link-hover-color: #26390e;
    --bs-link-color-rgb: 64, 89, 26; --bs-link-hover-color-rgb: 38, 57, 14;
}
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { background: #fafbf8; color: var(--brand-ink); font-family: "Segoe UI", Arial, sans-serif; line-height: 1.7; }
h1, h2, h3, h4 { line-height: 1.15; letter-spacing: -.035em; }
p { max-width: 76ch; }
a { text-underline-offset: .2em; }
a, .btn, .card, .feature-card { transition: color .18s, background .18s, border-color .18s, transform .18s; }
:focus-visible { outline: 3px solid #789b14; outline-offset: 4px; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 2000; padding: .75rem 1rem; background: var(--brand-lime); color: #141918; }
.skip-link:focus { top: 1rem; }
.site-header { position: sticky; top: 0; z-index: 1030; }
.navbar { background: #252525; border-bottom: 1px solid #42463d; }
.navbar .nav-link { color: #dee2db; font-size: .87rem; font-weight: 500; padding: .65rem .7rem !important; }
.navbar .nav-link:hover, .navbar .nav-link[aria-current="page"] { color: var(--brand-lime); }
.navbar-brand { display: inline-flex; padding: 0; }
.navbar-brand img { display: block; height: 56px; width: auto; }
.navbar .btn { padding: .6rem 1rem; font-size: .85rem; }
.btn { border-radius: .35rem; padding: .75rem 1.25rem; font-weight: 650; }
.btn-lg { padding: .95rem 1.5rem; font-size: 1rem; }
.btn-primary { background: var(--brand-lime); color: #17200d; border: 1px solid var(--brand-lime); }
.btn-primary:hover, .btn-primary:focus-visible, .btn-primary:active { background: #d0eb45 !important; border-color: #d0eb45 !important; color: #17200d !important; }
.btn-outline-primary { border-color: #b8c4a8; color: #40591a; }
.btn-outline-primary:hover { background: #40591a; border-color: #40591a; color: white; }
.btn-outline-light { color: #edf0e9; border-color: #667168; }
.btn-outline-light:hover { background: #f4f6ef; color: #17201c; border-color: #f4f6ef; }
.btn-dark { background: #17201c; }
.text-primary { color: #4a6315 !important; }
.text-secondary { color: var(--brand-text-soft) !important; }
.text-info { color: #bed55b !important; }
.bg-body-tertiary { background: #f0f3ed !important; }
.badge { border-radius: .25rem; font-weight: 600; letter-spacing: .04em; padding: .5rem .7rem; }
.text-bg-primary, .text-bg-info { background: #d4e89e !important; color: #263715 !important; }
.text-bg-primary-subtle { background: #ecf3de !important; }
.section-title { color: var(--brand-ink); }
.section-eyebrow, .brand-badge { display: block; font: 600 .73rem/1.5 Consolas, "Courier New", monospace; letter-spacing: .14em; text-transform: uppercase; color: #536733; }
.section-eyebrow { margin-bottom: 1rem; }
.section-space { padding-block: 6rem; }
.section-heading { font-size: clamp(2rem, 3.4vw, 3.25rem); font-weight: 650; }
.hero-shell { position: relative; overflow: hidden; background: #141918; color: #f5f6ef; border-bottom: 1px solid #394137; }
.hero-shell::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 80% 20%, #6c812319, transparent 55%), linear-gradient(#bacda105 1px, transparent 1px), linear-gradient(90deg, #bacda105 1px, transparent 1px); background-size: auto, 72px 72px, 72px 72px; }
.hero-shell > .container { position: relative; }
.hero-shell .section-eyebrow, .hero-shell .brand-badge { color: #c2dc70; }
.hero-shell h1 { font-size: clamp(2.65rem, 4.5vw, 4.6rem); font-weight: 650; letter-spacing: -.055em; line-height: 1.04; }
.hero-shell .hero-accent { color: var(--brand-lime); }
.hero-shell .lead { color: #bdc6bb; font-size: 1.08rem; line-height: 1.8; max-width: 52ch; }
.hero-note { color: #abb5a8; font-size: .8rem; }
.hero-note span { color: #e1e8d8; }
.hero-bottom { border-top: 1px solid #394137; padding-block: 1.25rem; }
.hero-bottom p { margin: 0; color: #b3bdb0; font-size: .79rem; }
.hero-bottom strong { color: #f3f5ed; font-weight: 500; }
.architecture { background: #1b221f; border: 1px solid #48533d; border-radius: .6rem; padding: 1.5rem; box-shadow: 0 24px 80px #0003; position: relative; }
.architecture-bar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; font: .68rem Consolas, monospace; letter-spacing: .08em; color: #b6c4ab; padding-bottom: 1.25rem; border-bottom: 1px solid #354032; }
.architecture-status { display: inline-flex; align-items: center; gap: .4rem; }
.architecture-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--brand-lime); }
.architecture-flow { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; padding: 1.5rem 0; }
.system-node { background: #232d25; border: 1px solid #42523d; border-radius: .35rem; padding: 1.15rem; }
.system-node .node-number { display: block; color: #95a782; font: .67rem Consolas, monospace; margin-bottom: .75rem; }
.system-node strong { display: block; color: #e5ecdc; font-size: .9rem; font-weight: 600; }
.system-node small { color: #aaba9b; font-size: .72rem; }
.system-core { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.4rem; border: 1px solid #8ca341; background: #35412a; border-radius: .35rem; }
.system-core strong { font-size: 1.1rem; color: #e6f5c5; }
.system-core p { font-size: .75rem; color: #beceac; margin: .25rem 0 0; }
.core-symbol { color: var(--brand-lime); font: 2.1rem Consolas, monospace; white-space: nowrap; flex-shrink: 0; }
.architecture-footer { display: flex; flex-wrap: wrap; gap: .5rem; border-top: 1px solid #354032; padding-top: 1rem; }
.architecture-footer span { font: .65rem Consolas, monospace; color: #b7c6aa; border: 1px solid #42503a; padding: .4rem .55rem; border-radius: .2rem; }
.capability-card { background: white; border: 1px solid #dce3d6; border-radius: .5rem; padding: 2rem; height: 100%; display: flex; flex-direction: column; }
.capability-card:hover { border-color: #91a75a; }
.capability-card .capability-number { color: #738559; font: .72rem Consolas, monospace; margin-bottom: 2rem; }
.capability-card h3 { font-size: 1.6rem; font-weight: 650; }
.capability-card p { color: #52615a; font-size: .96rem; }
.capability-card ul { color: #47563f; padding-left: 1.1rem; font-size: .86rem; margin-bottom: 2rem; }
.capability-card a { margin-top: auto; font-weight: 650; font-size: .86rem; }
.dark-section { background: #17201c; color: #eef2e8; }
.dark-section .section-eyebrow { color: #b8cf78; }
.dark-section p { color: #bbc7b5; }
.dark-section h2, .dark-section h3 { color: #f1f5e9; }
.delivery-step { border-top: 1px solid #4c5b43; padding-top: 1.5rem; }
.delivery-step .step-number { color: #c2dc70; font: .78rem Consolas, monospace; display: block; margin-bottom: 1.5rem; }
.delivery-step h3 { font-size: 1.2rem; margin-bottom: 1rem; }
.delivery-step p { font-size: .92rem; }
.location-panel { border: 1px solid #d2dcc7; background: #edf2e6; padding: 2rem; border-radius: .5rem; }
.location-route { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; font: .75rem Consolas, monospace; color: #5a6e3a; }
.location-route::after { content: ""; height: 1px; flex: 1; background: #abbc8e; }
.location-panel h3 { font-size: 1.35rem; }
.location-panel p { font-size: .93rem; color: #52615a; }
.cta-panel { padding: 3.5rem; border: 1px solid #c7d3b7; border-radius: .6rem; background: #eaf0dc; }
.card, .feature-card, .story-card, .info-card { border: 1px solid var(--brand-border); border-radius: .5rem; background: #fff; overflow: hidden; }
.feature-card .card-body, .story-card .card-body, .info-card .card-body { padding: 1.7rem; }
.card.border-0 { border: 1px solid var(--brand-border) !important; }
.shadow-sm, .shadow-lg { box-shadow: 0 8px 28px #18241a08 !important; }
.catalog-group { scroll-margin-top: 7rem; }
.industry-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; border: 1px solid #ccd8bc; border-radius: .35rem; background: #f0f4e8; color: #536b27; font-size: 1.25rem; }
.list-group-item { border-color: var(--brand-border); }
.form-control, .form-select { border-color: #cbd5c4; border-radius: .35rem; padding: .75rem; }
.form-control:focus, .form-select:focus { border-color: #789b14; box-shadow: 0 0 0 .2rem #789b141f; }
.table { --bs-table-bg: transparent; --bs-table-border-color: #d6dfcf; }
main > section:first-child:is(.bg-dark, .bg-black, .bg-primary, .bg-success, .bg-body-tertiary) { background: #17201c !important; color: #f0f5e9 !important; border-bottom: 1px solid #4b5a41; }
main > section:first-child:is(.bg-dark, .bg-black, .bg-primary, .bg-success, .bg-body-tertiary) .lead { color: #c1cdb7 !important; }
main > section:first-child:is(.bg-dark, .bg-black, .bg-primary, .bg-success, .bg-body-tertiary) .badge { background: #32432a !important; border: 1px solid #586a46; color: #d6e7b0 !important; }
main > section:first-child.bg-body-tertiary h1 { color: #f0f5e9; }
.site-footer { background: #171c19 !important; border-top: 1px solid #35402f; margin-top: 0 !important; }
.site-footer { color: #e6ecdd; }
.site-footer .footer-intro { color: #aeba9f; font-size: .9rem; padding-bottom: 2rem; margin-bottom: 2rem; border-bottom: 1px solid #394630; }
.footer-logo { display: block; width: 180px; height: auto; }
.site-footer .footer-label { font: .7rem Consolas, monospace; letter-spacing: .1em; text-transform: uppercase; color: #b8cc98; }
.site-footer a { color: #dce5d1; font-size: .88rem; }
.site-footer .btn-primary { color: #17200d; }
.site-footer .text-white-50 { color: #a9b59c !important; }
.submission-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (min-width: 1400px) { .container { max-width: 1240px; } }
@media (max-width: 991.98px) { .section-space { padding-block: 4rem; } .hero-shell h1 { max-width: 14ch; } .architecture { max-width: 620px; } .navbar-brand img { height: 48px; } }
@media (max-width: 575.98px) { .section-space { padding-block: 3rem; } .hero-shell h1 { font-size: 2.7rem; } .architecture { padding: 1rem; } .system-node { padding: .9rem; } .architecture-bar { font-size: .6rem; } .capability-card { padding: 1.5rem; } .cta-panel { padding: 1.75rem; } .row.g-5 { --bs-gutter-x: 1.5rem; } .hero-bottom .row { row-gap: .7rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
