@import url('https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;600;700&display=swap');
*{box-sizing:border-box}body{margin:0;background:#f5f6f3;color:#25392f;font:14px 'Google Sans',Arial,sans-serif}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #88a16e;outline-offset:3px}.cards{max-width:1920px;margin:0 auto;padding:24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.card{min-width:0;overflow:hidden;border:1px solid #e0e5dc;border-radius:10px;background:white}.preview{display:block;width:100%;aspect-ratio:1.7;background:#e9ede4;overflow:hidden}.preview img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .25s}.preview:hover img{transform:scale(1.025)}.fallback{height:100%;display:grid;align-content:center;justify-items:center;gap:10px;color:#7e8e71;background:#ebefe5}.fallback strong{font-size:20px}.fallback small{font-size:12px}.card-body{padding:17px}.title-row{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;margin-bottom:15px}h2{font-size:18px;font-weight:600;letter-spacing:-.4px;margin:0;line-height:1.25}.badge{white-space:nowrap;font-size:9px;line-height:1.5;color:#718b53;background:#eef3e6;padding:4px 6px;border-radius:4px}.badge.development{background:#fbf3e4;color:#a1834b}.badge.service{background:#eef2f6;color:#7891a3}dl{display:grid;gap:10px;margin:0}dt{font-size:10px;color:#929d89;margin-bottom:3px}dd{font-size:12px;line-height:1.5;margin:0;overflow-wrap:anywhere}dd a:hover{text-decoration:underline}.path{display:flex;align-items:flex-start;gap:8px;background:#f7f8f4;border:1px solid #e9ede2;border-radius:5px;padding:9px}code{font:10px/1.7 'Google Sans',Arial,sans-serif;overflow-wrap:anywhere;flex:1;min-width:0}.copy{background:none;border:0;color:#7e906d;padding:0;font-size:17px}.actions{display:flex;gap:8px;margin-top:17px}.button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;border:1px solid #e0e7d7;padding:10px 5px;border-radius:6px;font-size:11px;font-weight:500;color:#728563}.button:hover{background:#f1f5eb}.primary{background:#244b36;border-color:#244b36;color:#fff}.primary:hover{background:#355d44}.note{font-size:10px;line-height:1.5;color:#9ca491;margin:11px 0 0}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);background:#244b36;color:white;padding:12px 20px;border-radius:7px;opacity:0;pointer-events:none;transition:.2s;font-size:12px}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1100px){.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:20px}.title-row{display:block}.badge{display:inline-block;margin-top:8px}}@media(max-width:800px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:16px}}@media(max-width:500px){.cards{grid-template-columns:1fr;padding:14px;gap:16px}.title-row{display:flex}.badge{margin-top:0}h2{font-size:20px}.card-body{padding:18px}}

/* Page frame */
.site-header{display:flex;align-items:center;justify-content:center;min-height:88px;background:#fff;border-bottom:1px solid #e0e5dc;padding:20px 24px}
.site-header h1{margin:0;font-size:58px;line-height:1.2;font-weight:600;letter-spacing:-1.8px;color:var(--brand-green);border-color:#000000}
.cards{max-width:1600px;width:calc(100% - 128px);padding:36px 0 52px}
.site-footer{display:flex;align-items:center;justify-content:center;min-height:160px;padding:40px 24px;background:#fff;border-top:1px solid #e0e5dc}
.site-footer img{display:block;width:88px;height:auto;filter:brightness(0)}
@media(max-width:1100px){.cards{width:calc(100% - 80px);padding:28px 0 40px}}
@media(max-width:800px){.cards{width:calc(100% - 48px);padding:24px 0 36px}}
@media(max-width:500px){.site-header{min-height:76px}.site-header h1{font-size:42px;letter-spacing:-1.3px}.cards{width:calc(100% - 36px);padding:22px 0 32px}.site-footer{min-height:136px}}
:root{--brand-green:#2DE087;--brand-green-hover:#25c477;--brand-ink:#101a14}
.button{border-color:var(--brand-green);color:var(--brand-ink)}
.button:hover{background:#e7fcf1;border-color:var(--brand-green-hover)}
.button.primary{background:var(--brand-green);border-color:var(--brand-green);color:var(--brand-ink)}
.button.primary:hover{background:var(--brand-green-hover);border-color:var(--brand-green-hover)}
a:focus-visible,button:focus-visible{outline-color:var(--brand-green)}
.badge.official{background:var(--brand-green);color:var(--brand-ink)}

.site-header{flex-direction:column;gap:6px;padding-top:24px;padding-bottom:24px;text-align:center}
.site-subtitle{margin:0;font-size:14px;line-height:1.5;color:#25392f}
@media(max-width:500px){.site-header h1{font-size:clamp(28px,8.5vw,42px);letter-spacing:-1.3px}.site-subtitle{font-size:12px}}
.site-footer{display:block}
.footer-inner{width:calc(100% - 80px);max-width:1600px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;min-height:80px}
.footer-contact{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;justify-content:flex-start}
.footer-social{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px 24px}
.footer-contact a,.footer-social a{font-size:13px;line-height:1.6;color:#101a14}
.footer-contact a:hover,.footer-social a:hover{text-decoration:underline;text-decoration-color:var(--brand-green);text-underline-offset:4px}
@media(max-width:800px){.footer-inner{width:100%;grid-template-columns:1fr;justify-items:center;gap:24px}.footer-contact,.footer-social{justify-content:center}.footer-inner>img{grid-row:1}.footer-contact a,.footer-social a{font-size:12px}}