:root{--ink:#102a43;--muted:#526d82;--bg:#f6f8fb;--panel:#fff;--line:#d8e1ea;--accent:#087f8c;--blue:#1864ab;--max:1120px}*,*::before,*::after{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:clip}body{margin:0;color:var(--ink);background:var(--bg);font:16px/1.6 Inter,system-ui,sans-serif}a{color:var(--blue);text-underline-offset:.18em}.wrap{width:min(calc(100vw - 40px),var(--max));max-width:calc(100vw - 40px);min-width:0;margin-inline:auto}header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3}.nav{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-weight:800;color:var(--ink);text-decoration:none;white-space:nowrap}nav{display:flex;gap:1rem;flex-wrap:wrap}nav a{text-decoration:none;color:var(--muted);font-size:.92rem}.hero{padding:3.3rem 0 2.6rem;background:linear-gradient(135deg,#f7fbfc,#edf4fb);border-bottom:1px solid var(--line)}.eyebrow{color:var(--accent);font-weight:750;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{max-width:760px;margin:.35rem 0 .7rem;font-size:clamp(2.15rem,4.6vw,4.3rem)}h2{font-size:clamp(1.55rem,2.7vw,2.2rem);margin:.1rem 0 1rem}h3{margin:.1rem 0 .45rem}.lede{max-width:760px;margin:.2rem 0;color:var(--muted);font-size:1.1rem}.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.3rem}.button{padding:.7rem 1rem;border:1px solid var(--blue);border-radius:.4rem;color:#fff;background:var(--blue);font-weight:700;text-decoration:none}.button.alt{background:transparent;color:var(--blue)}section{padding:3.4rem 0}.alt{background:#edf4f8;border-block:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;min-width:0}.card{min-width:0;padding:1.3rem;border:1px solid var(--line);background:var(--panel);border-radius:.6rem}.featured{border-top:4px solid var(--accent)}.tags{display:flex;gap:.35rem;flex-wrap:wrap;margin:.8rem 0}.tag{padding:.16rem .46rem;border:1px solid #b9d3d8;border-radius:999px;color:#075c6d;background:#f3fbfb;font-size:.76rem}.timeline{border-left:2px solid var(--accent);padding-left:1.15rem;max-width:800px}.meta{color:var(--muted)}.content{max-width:900px}.notice{padding:1rem 1.2rem;border-left:4px solid var(--accent);background:#e8f4f5}.project-hero{padding:2.8rem 0 2.2rem;background:#102a43;color:#fff}.project-hero .lede{color:#d7e5ef}.project-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:1.1rem;align-items:start}.side-card{min-width:0;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:.5rem}.architecture{margin:1rem 0;padding:1rem;background:#edf4f8;border:1px solid var(--line);border-radius:.55rem}.flow-main{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:.35rem;align-items:center}.flow-node{min-height:48px;display:grid;place-items:center;padding:.5rem;text-align:center;border-radius:.4rem;background:#fff;border:1px solid #afc5d5;font-size:.82rem;font-weight:750;line-height:1.2}.flow-node.cloud{background:#e7f7f5;border-color:#9ccfc9}.flow-arrow{color:var(--accent);font-size:1.25rem;text-align:center;font-weight:bold;line-height:1.1}.flow-branch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.8rem}.flow-branch>div{padding:.65rem;border-left:3px solid var(--accent);background:#fff}.flow-branch .flow-node{min-height:42px}.dlq{background:#fff3e8!important;border-color:#ebc594!important}.architecture-note{font-size:.9rem;color:var(--muted);margin:.5rem 0}.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0}.feature-list div{min-width:0;padding:.7rem;border-left:3px solid var(--accent);background:#fff}.small{font-size:.9rem}footer{padding:2rem 0;color:var(--muted);border-top:1px solid var(--line);font-size:.9rem}@media(max-width:700px){.wrap{width:calc(100vw - 32px);max-width:calc(100vw - 32px)}.nav{min-height:56px}.brand{font-size:.92rem}nav{gap:.7rem;font-size:.84rem}nav a{font-size:.84rem}nav a:nth-child(2),nav a:nth-child(3),nav a:nth-child(4){display:none}.hero{padding:2.4rem 0 2rem}h1{font-size:clamp(2.05rem,10vw,2.7rem);line-height:1.08}.lede{font-size:1rem}.actions .button{min-height:44px;display:inline-flex;align-items:center}.grid,.project-grid,.feature-list{grid-template-columns:1fr}section{padding:2.5rem 0}.flow-main{grid-template-columns:1fr;gap:.22rem}.flow-main .flow-arrow{transform:rotate(90deg);height:18px}.flow-branch{grid-template-columns:1fr;gap:.45rem}.flow-branch>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.35rem}.flow-branch .flow-arrow{transform:rotate(90deg)}.project-hero{padding:2.2rem 0 1.8rem}.side-card{margin-top:0}}
