@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#152336;--muted:#647185;--cream:#f7f7f3;--line:#dfe4e7;--accent:#c5ef75;--dark:#101b29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration-color:currentColor}button,a{transition:.2s}a:focus-visible{outline:3px solid #73a32e;outline-offset:4px}.wrap{max-width:1190px;margin:auto;padding-left:36px;padding-right:36px}.skip{position:absolute;left:-999px}.skip:focus{left:20px;top:10px;z-index:10;background:white;padding:12px}.topbar{height:95px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:18px}.brand-mark{font:800 26px Manrope,Arial,sans-serif;letter-spacing:-2px}.dot{color:#8fb63e}.brand-caption{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-left:1px solid var(--line);padding-left:18px}.topbar nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}.topbar nav a:hover,.project-links a:hover,.inline-links a:hover{color:#648a24}.nav-contact{border-bottom:1px solid var(--ink);padding-bottom:5px}.hero{padding-top:105px}.eyebrow,.kicker,.side-label{font-size:11px;font-weight:800;letter-spacing:.17em}.eyebrow{display:flex;align-items:center;gap:11px;color:#516c2f}.pulse{width:8px;height:8px;background:#9cca4e;border-radius:50%;box-shadow:0 0 0 4px #e5efcf}.hero-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:70px;align-items:end;margin-top:24px}.hero h1{font:800 clamp(52px,6.4vw,91px)/1.06 Manrope,Arial,sans-serif;letter-spacing:-.07em;margin:0;max-width:820px}.hero h1 em,h2 em{font-style:normal;color:#8cab49}.intro{max-width:610px;font-size:19px;line-height:1.8;color:#536174;margin:29px 0 30px}.actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:16px 22px;font-weight:700;font-size:13px;border:1px solid var(--ink)}.btn:hover{transform:translateY(-2px)}.primary{background:var(--ink);color:white}.secondary{background:transparent}.hero-aside{border-top:2px solid var(--ink);padding-top:22px;margin-bottom:12px}.side-label{color:#6a7787;margin-bottom:19px}.capability{display:flex;gap:17px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);color:#84909b;font-size:12px}.capability span{color:var(--ink);font-weight:600;font-size:14px}.side-footer{font-size:12px;color:var(--muted);line-height:1.8;margin-top:20px}.hero-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:100px;padding-top:22px;padding-bottom:25px;color:var(--muted);font-size:12px}.section{padding:108px 0}.work{background:#fff}.section-top{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:45px}.kicker{color:#64862e;margin-bottom:19px}.section h2,.contact h2{font:800 clamp(34px,4vw,56px)/1.16 Manrope,Arial,sans-serif;letter-spacing:-.055em;margin:0}.section-top>p{max-width:355px;color:var(--muted);font-size:15px;line-height:1.8;margin:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.project{border:1px solid var(--line);background:#fff;overflow:hidden;display:flex;flex-direction:column}.project.featured{grid-column:1/-1}.project-top{display:flex;align-items:center;justify-content:space-between;padding:19px 24px;border-bottom:1px solid var(--line)}.number{font-size:13px;color:#84909a;font-weight:700}.pill{font-size:10px;letter-spacing:.1em;font-weight:800;color:#637080}.project-body{display:grid;grid-template-columns:1fr 1fr}.project-art{min-height:350px}.art-localazy{background:linear-gradient(145deg,#203750,#142435);display:grid;place-items:center;padding:32px}.code-window{width:100%;max-width:420px;background:#101d2c;color:#e1ebf1;border:1px solid #506176;border-radius:9px;box-shadow:0 20px 35px #09121d88;overflow:hidden}.window-top{height:38px;background:#23364a;display:flex;gap:6px;align-items:center;padding:0 14px;color:#9bb1c4;font-size:11px}.window-top i{height:8px;width:8px;border-radius:50%;background:#667e92}.window-top span{margin-left:auto}.code-window pre{padding:24px;font:13px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;margin:0}.code-muted{color:#728da4}.code-pink{color:#ef9cb3}.code-yellow{color:#e7c98d}.code-blue{color:#85baff}.code-green{color:#a9e778}.project-copy{padding:30px 31px 29px;display:flex;flex-direction:column;flex:1}.featured .project-copy{justify-content:center;padding:45px}.project h3{font:800 24px/1.32 Manrope,Arial,sans-serif;letter-spacing:-.035em;margin:0 0 15px}.featured h3{font-size:30px}.project p{color:#647185;font-size:14px;line-height:1.85;margin:0 0 23px}.tags,.skill-list{display:flex;flex-wrap:wrap;gap:7px}.tags span,.skill-list span{padding:7px 10px;background:#f0f3f3;color:#526171;font-size:11px;font-weight:700}.project-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:auto;padding-top:25px}.project-links a,.inline-links a{font-size:13px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:5px}.mini-art{height:170px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;overflow:hidden}.art-react{background:#e8f1ee}.art-strapi{background:#eeebf8}.art-docs{background:#e8edf1}.glyph{font:700 clamp(24px,4vw,43px) ui-monospace,Consolas,monospace;letter-spacing:-.08em;color:#2f6b6b}.mini-caption{font-size:10px;letter-spacing:.2em;color:#667988;font-weight:800}.diagram{font:700 clamp(15px,2.3vw,25px) Manrope,Arial,sans-serif;letter-spacing:-.05em;color:#4d4c80}.diagram b{color:#9489d7;padding:0 8px}.terminal{width:75%;max-width:340px;background:#152638;border-radius:7px;display:flex;flex-direction:column;gap:11px;padding:20px 25px;font:12px ui-monospace,Consolas,monospace;color:#a9bbce}.terminal .ok{color:#bde47f}.more-work{margin-top:32px;padding:30px 0 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:40px;align-items:center}.more-work h3{font:800 19px Manrope,Arial,sans-serif;letter-spacing:-.03em;margin:0 0 9px}.more-work p{max-width:690px;color:var(--muted);line-height:1.8;font-size:14px;margin:0}.more-work>a{font-size:13px;font-weight:800;white-space:nowrap;border-bottom:1px solid;padding-bottom:6px}.approach{background:#f1f3ee}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.method{padding:28px 23px 30px;background:#fff;border-top:3px solid #aac66e}.method>span{font-size:10px;font-weight:800;color:#7e9b47;letter-spacing:.1em}.method h3{font:800 18px/1.4 Manrope,Arial,sans-serif;letter-spacing:-.03em;margin:25px 0 13px}.method p{font-size:13px;line-height:1.85;color:var(--muted);margin:0}.community{background:#fff}.community-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:center}.community p,.about p{font-size:16px;line-height:1.9;color:#58677a}.inline-links{display:flex;flex-wrap:wrap;gap:23px;margin-top:30px}.quote-panel{background:#18283a;color:#fff;padding:45px;min-height:325px;display:flex;flex-direction:column;justify-content:space-between}.quote-mark{font:800 90px Georgia,serif;color:#b5d66e;line-height:.8}.quote-panel p{font:600 25px/1.45 Manrope,Arial,sans-serif;letter-spacing:-.035em;color:#fff;margin:0}.quote-footer{color:#9fb0bd;font-size:10px;letter-spacing:.14em;font-weight:800}.about{background:#f5f6f2}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about p:first-child{margin-top:0}.skill-list{margin-top:25px}.contact{background:#101b29;color:#fff;padding:80px 0}.contact-grid{display:flex;justify-content:space-between;align-items:end;gap:50px}.contact h2{font-size:clamp(32px,4vw,52px)}.contact .kicker{color:#b7db77}.contact p{color:#a8b6c3;line-height:1.8;margin:20px 0 0}.contact-actions{display:flex;flex-direction:column;gap:12px;min-width:245px}.light{background:#c5ef75;border-color:#c5ef75;color:#152336}.outline-light{border-color:#526170;color:#fff}.footer{background:#101b29;color:#9daab7}.footer-row{border-top:1px solid #344252;display:flex;justify-content:space-between;gap:20px;padding-top:26px;padding-bottom:30px;font-size:12px}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:45px}.hero-aside{max-width:550px}.hero-foot{margin-top:60px}.method-grid{grid-template-columns:1fr 1fr}.community-grid{gap:45px}.topbar nav{gap:17px}.brand-caption{display:none}}@media(max-width:650px){.wrap{padding-left:21px;padding-right:21px}.topbar{height:76px}.topbar nav{gap:16px}.topbar nav a:not(.nav-contact){display:none}.hero{padding-top:75px}.hero h1{font-size:clamp(42px,11vw,62px)}.intro{font-size:16px}.hero-foot{margin-top:65px}.hero-foot span:last-child{display:none}.section{padding:75px 0}.section-top{display:block}.section-top>p{margin-top:22px}.project-grid,.project-body,.community-grid,.about-grid{grid-template-columns:1fr}.project.featured{grid-column:auto}.project-art{min-height:250px}.featured .project-copy,.project-copy{padding:27px}.featured h3{font-size:24px}.method-grid{grid-template-columns:1fr}.more-work{display:block}.more-work>a{display:inline-block;margin-top:20px}.quote-panel{min-height:280px;padding:30px}.contact-grid{display:block}.contact-actions{margin-top:35px}.footer-row{flex-wrap:wrap}.footer-row span:nth-child(2){display:none}}

/* Documentation section */
.docs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}.doc-card{border:1px solid rgba(135,159,167,.28);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:12px}.doc-card h3{font-size:1.25rem;margin:0}.doc-card p{line-height:1.7;flex:1;margin:0}.doc-card a{font-weight:700;text-decoration:underline;text-underline-offset:5px}.doc-index{font-size:.75rem;letter-spacing:.13em;opacity:.7}.project-copy .challenge,.project-copy .contribution{line-height:1.65}.project-copy .contribution{margin-top:9px}@media(max-width:800px){.docs-grid{grid-template-columns:1fr}}

/* Direct contact without publishing a plain-text address in the HTML */
button.btn { font: inherit; cursor: pointer; border: 0; }
.email-status { display:block; font-size: .82rem; opacity:.8; margin-top:.5rem; }
