:root { --ink:#102326; --muted:#667477; --paper:#f5f7f2; --line:#dbe3dd; --green:#b7e4c7; --deep:#123b3b; --orange:#ec6b3d; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Manrope,system-ui,sans-serif; line-height:1.5; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1120px,calc(100% - 48px)); margin:0 auto; }
.page-glow { width:680px; height:680px; position:absolute; z-index:-1; top:-360px; right:-180px; border-radius:50%; background:radial-gradient(circle,#d9f2df 0,rgba(217,242,223,0) 68%); }
.site-header { display:flex; align-items:center; justify-content:space-between; padding-top:28px; }
.brand { display:flex; align-items:center; gap:10px; font-size:16px; font-weight:800; letter-spacing:.17em; }
.brand-mark { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; color:var(--deep); background:var(--green); font-size:15px; letter-spacing:0; }
.nav { display:flex; align-items:center; gap:28px; color:#526266; font-size:13px; font-weight:600; }
.nav-button { padding:10px 15px; border:1px solid #c6d4cc; border-radius:7px; color:var(--ink); background:rgba(255,255,255,.5); }
.hero { padding:140px 0 118px; }
.eyebrow { color:var(--orange); font:500 11px/1.2 'DM Mono',monospace; letter-spacing:.13em; text-transform:uppercase; }
.pulse { display:inline-block; width:7px; height:7px; margin:0 8px 1px 0; border-radius:50%; background:var(--orange); box-shadow:0 0 0 5px rgba(236,107,61,.12); }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:820px; margin:26px 0 25px; font-size:clamp(48px,7.3vw,88px); line-height:1.02; letter-spacing:-.065em; font-weight:700; }
h1 em { color:#557064; font-style:normal; }
.hero-copy { max-width:560px; color:#5b6a6d; font-size:18px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:25px; margin-top:34px; }
.button { display:inline-flex; align-items:center; gap:25px; border-radius:7px; padding:15px 18px; font-size:13px; font-weight:700; transition:transform .2s,box-shadow .2s; }
.button:hover,.approve-button:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(15,49,49,.12); }
.button-primary { color:#fff; background:var(--deep); }
.button-light { color:var(--deep); background:var(--green); }
.text-link { color:var(--deep); font-size:13px; font-weight:700; border-bottom:1px solid #a7bdb0; padding-bottom:4px; }
.hero-note { display:flex; align-items:center; gap:15px; margin-top:77px; color:#8a9896; font:400 10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }
.note-rule { width:42px; height:1px; background:#c9d6ce; }
.signal-band { color:#d5e4dd; background:var(--deep); }
.signal-grid { display:grid; grid-template-columns:1fr 2fr 40px; align-items:center; gap:40px; padding:35px 0; }
.signal-label { color:var(--green); font:500 11px 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; }
.signal-copy { max-width:580px; font-size:18px; font-weight:500; line-height:1.45; }
.signal-arrow { color:var(--green); font-size:26px; }
.section { padding:130px 0; }
.section-heading { max-width:550px; }
.section-heading h2 { margin:20px 0 20px; font-size:clamp(35px,4.8vw,55px); line-height:1.07; letter-spacing:-.055em; }
.section-heading h2 span { color:#758681; }
.section-heading p { max-width:470px; color:var(--muted); font-size:15px; line-height:1.75; }
.thread-card { max-width:850px; margin:60px 0 0 auto; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 22px 55px rgba(42,72,60,.09); overflow:hidden; }
.thread-topline,.thread-footer { display:flex; align-items:center; justify-content:space-between; padding:18px 25px; color:#536265; font:500 11px 'DM Mono',monospace; }
.thread-topline { border-bottom:1px solid #edf1ed; }
.status-dot { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:#70c891; }
.muted,.thread-date { color:#a0acab; }
.thread-body { display:flex; gap:25px; padding:38px 40px 35px; }
.question-mark { display:grid; flex:0 0 42px; place-items:center; width:42px; height:42px; border-radius:12px; color:var(--deep); background:#e8f5eb; font-size:22px; font-weight:800; }
.thread-content { flex:1; }
.thread-label,.answer-label,.source-label { color:#9aa7a3; font:500 10px 'DM Mono',monospace; letter-spacing:.12em; text-transform:uppercase; }
.thread-content h3 { margin:8px 0 25px; font-size:22px; letter-spacing:-.035em; }
.answer-box { padding:18px 20px; border-left:3px solid var(--green); background:#f5f9f4; }
.answer-box p { margin:8px 0 0; color:#536467; font-size:14px; line-height:1.7; }
.answer-box a { color:#217a67; border-bottom:1px solid #a8d5bb; }
.sources { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:22px; }
.source-chip { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border:1px solid #e1e8e2; border-radius:5px; color:#687675; font-size:10px; }
.source-icon,.node-icon { display:grid; place-items:center; width:17px; height:17px; border-radius:4px; color:#fff; font:700 9px Manrope,sans-serif; }
.paperless { background:#5ca987; }.forgejo { background:#e08053; }.vikunja { background:#687ac1; }
.thread-footer { border-top:1px solid #edf1ed; color:#87938f; }
.lock-icon { color:#599273; font-size:17px; vertical-align:-2px; }
.approve-button { border:0; border-radius:5px; padding:9px 12px; color:#275f4e; background:#e2f3e6; font:700 11px Manrope,sans-serif; cursor:pointer; transition:transform .2s,box-shadow .2s; }
.section-dark { color:#e5f1e9; background:#163f3f; }
.split-section { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; }
.section-dark .section-heading p { color:#a7c0b6; }.section-dark .eyebrow { color:var(--green); }.section-dark .section-heading h2 span { color:#96b5a8; }
.systems-map { position:relative; min-height:400px; padding:30px; border:1px solid rgba(183,228,199,.18); border-radius:12px; background:rgba(7,42,41,.25); }
.system-node { position:absolute; display:flex; align-items:center; gap:10px; padding:12px 15px; border:1px solid rgba(183,228,199,.22); border-radius:8px; background:rgba(233,247,235,.07); }
.system-node strong,.gdds-node strong { display:block; font-size:12px; font-weight:700; }.system-node small,.gdds-node small { display:block; margin-top:2px; color:#8eafa2; font:400 9px 'DM Mono',monospace; }
.node-paperless { top:35px; left:25px; }.node-forgejo { top:35px; right:20px; }.node-vikunja { bottom:40px; left:25px; }.node-openclaw { right:20px; bottom:40px; }
.node-paperless .node-icon { background:#5ca987; }.node-forgejo .node-icon { background:#e08053; }.node-vikunja .node-icon { background:#687ac1; }.node-openclaw .node-icon { color:var(--deep); background:var(--green); }
.gdds-node { position:absolute; top:50%; left:50%; display:flex; flex-direction:column; align-items:center; transform:translate(-50%,-50%); text-align:center; }.gdds-ring { display:grid; place-items:center; width:66px; height:66px; margin-bottom:12px; border:1px solid var(--green); border-radius:21px; color:var(--deep); background:var(--green); font-size:30px; font-weight:800; box-shadow:0 0 0 9px rgba(183,228,199,.1); }
.map-lines i { position:absolute; display:block; width:80px; height:1px; background:rgba(183,228,199,.32); transform-origin:left center; }.map-lines i:nth-child(1){top:109px;left:145px;transform:rotate(27deg)}.map-lines i:nth-child(2){top:109px;right:145px;transform:rotate(153deg)}.map-lines i:nth-child(3){bottom:108px;left:145px;transform:rotate(-27deg)}
.centered { max-width:680px; margin:0 auto; text-align:center; }.centered p { margin:0 auto; }.principles { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:65px; }.principle { padding:25px 24px 28px; border-top:1px solid #becdc3; }.principle-number { color:var(--orange); font:500 11px 'DM Mono',monospace; }.principle h3 { margin:25px 0 12px; font-size:17px; letter-spacing:-.02em; }.principle p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.pilot-section { color:#e5f1e9; background:#e86c40; }.pilot-inner { display:grid; grid-template-columns:70px 1fr auto; align-items:center; gap:38px; padding:70px 0; }.pilot-mark { display:grid; place-items:center; width:58px; height:58px; border:1px solid rgba(255,255,255,.5); border-radius:18px; color:#fff; font-size:27px; font-weight:800; }.pilot-section .eyebrow { color:#ffe2c9; }.pilot-section h2 { margin:16px 0 8px; color:#fff; font-size:32px; letter-spacing:-.04em; }.pilot-section p { max-width:500px; margin:0; color:#ffe1d0; font-size:14px; line-height:1.7; }.site-footer { display:flex; align-items:center; gap:35px; padding:35px 0 42px; }.footer-copy { color:#8b9995; font-size:11px; }.footer-links { display:flex; gap:20px; margin-left:auto; color:#768480; font:400 10px 'DM Mono',monospace; }.footer-links a { color:var(--deep); }
.toast { position:fixed; bottom:24px; left:50%; z-index:10; padding:13px 18px; border-radius:6px; color:#fff; background:var(--deep); font-size:12px; opacity:0; pointer-events:none; transform:translate(-50%,15px); transition:.25s; }.toast.show { opacity:1; transform:translate(-50%,0); }
@media (max-width:760px) { .shell{width:min(100% - 32px,600px)}.nav a:not(.nav-button){display:none}.hero{padding:100px 0 85px}.hero-note{flex-wrap:wrap;margin-top:52px}.signal-grid{grid-template-columns:1fr 28px;gap:15px}.signal-label{grid-column:1/-1}.signal-copy{font-size:16px}.section{padding:85px 0}.thread-card{margin-top:40px}.thread-body{padding:28px 22px;gap:15px}.thread-topline,.thread-footer{padding:15px 18px}.thread-footer{align-items:flex-start;gap:15px;flex-direction:column}.split-section{grid-template-columns:1fr;gap:45px}.systems-map{min-height:360px}.principles{grid-template-columns:1fr;gap:5px;margin-top:40px}.pilot-inner{grid-template-columns:1fr;gap:22px;padding:55px 0}.pilot-mark{width:46px;height:46px}.site-footer{align-items:flex-start;flex-direction:column;gap:18px}.footer-links{margin:0;flex-wrap:wrap}.source-label{width:100%} }
