:root{color-scheme:dark;--bg:#0b0b0b;--panel:#171717;--line:#303030;--text:#f5f5f5;--muted:#adadad;--accent:#ffbd39}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 Poppins,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.wrap{max-width:1120px;margin:auto;padding:0 28px}.topbar{border-bottom:1px solid var(--line);background:#111}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;padding-bottom:18px}.brand{font-size:1.1rem;font-weight:700}.brand span{color:var(--accent)}.nav{display:flex;flex-wrap:wrap;gap:22px;font-size:.85rem;font-weight:600}.eyebrow{display:block;color:var(--accent);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero{padding:88px 0 74px;border-bottom:1px solid var(--line)}.hero h1{max-width:850px;margin:18px 0 20px;font-size:clamp(2.65rem,6vw,5.2rem);line-height:1.06;letter-spacing:-.045em}.hero p{max-width:690px;color:#c7c7c7;font-size:1.12rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border-radius:30px;border:1px solid #888;font-size:.8rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.button.primary{background:var(--accent);border-color:var(--accent);color:#111}.button.primary:hover{background:#ffd076}.button:hover{border-color:var(--accent)}.facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.facts span{border:1px solid var(--line);border-radius:3px;padding:7px 11px;color:#c8c8c8;font-size:.8rem}.section{padding:70px 0;border-bottom:1px solid var(--line)}.section h2{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.18;margin:0 0 24px;letter-spacing:-.025em}.section-lead{max-width:700px;color:var(--muted);margin:0 0 32px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:26px}.panel h3{font-size:1.06rem;margin:0 0 12px}.panel p{color:var(--muted);margin:0}.panel p+p{margin-top:12px}.panel .eyebrow{margin-bottom:18px}.case-step{color:var(--accent);font-size:.77rem;font-weight:700;letter-spacing:.12em}.tag-list{display:flex;flex-wrap:wrap;gap:9px}.tag-list span{border:1px solid #3a3a3a;background:#191919;padding:7px 11px;border-radius:3px;color:#ddd;font-size:.82rem}.note{border-left:3px solid var(--accent);padding:17px 21px;background:#171717;color:#ccc}.note strong{color:#fff}.project-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{display:flex;flex-direction:column;min-height:290px;background:var(--panel);border:1px solid var(--line);padding:27px;border-radius:4px}.project-card h2{font-size:1.45rem;line-height:1.22;margin:24px 0 14px}.project-card p{color:var(--muted);font-size:.91rem;margin:0 0 25px}.project-card a{color:var(--accent);font-weight:600;margin-top:auto;font-size:.85rem}.project-card a:hover{color:#fff}.project-card .status{color:#ccc;font-size:.74rem}.project-shot{margin:30px 0 0}.project-shot img{display:block;max-width:720px;width:100%;height:auto;image-rendering:pixelated;border:1px solid var(--line)}.project-shot figcaption{color:#999;font-size:.8rem;margin-top:9px}.diagram{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px}.diagram span{padding:18px 14px;text-align:center;background:#171717;border:1px solid var(--line);color:#ddd;font-size:.84rem}.diagram span+span:before{content:'→';position:absolute;transform:translate(-29px,-1px);color:var(--accent)}.foot{padding:35px 0;color:#999;font-size:.83rem}.foot .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.foot a{color:#ddd}@media(max-width:760px){.hero{padding:60px 0}.section{padding:50px 0}.grid,.grid.two,.project-list,.diagram{grid-template-columns:1fr}.diagram span+span:before{display:none}.topbar .wrap{align-items:flex-start;flex-direction:column}.nav{gap:12px}.wrap{padding-left:20px;padding-right:20px}}
