:root{--bg:#ffffff;--bg-soft:#f5f8f5;--surface:#ffffff;--surface-2:#f0f5f0;--text:#16191a;--text-muted:#5f6b60;--border:#e3e9e3;--primary:#0d4000;--primary-2:#14b8a6;--primary-hover:#0a3300;--primary-soft:#e7f3e3;--on-primary:#ffffff;--shadow-sm:0 1px 2px rgba(15, 30, 15, 0.06);--shadow-md:0 8px 24px -8px rgba(15, 30, 15, 0.16);--shadow-lg:0 20px 45px -20px rgba(15, 30, 15, 0.28);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--max-width:720px;--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#0a0d0a;--bg-soft:#0e120e;--surface:#121712;--surface-2:#171e17;--text:#dcf5dc;--text-muted:#82a382;--border:#202b20;--primary:#33ff66;--primary-2:#2dd4bf;--primary-hover:#5cff85;--primary-soft:#16321f;--on-primary:#06210f;--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.4);--shadow-md:0 8px 24px -8px rgba(0, 0, 0, 0.55);--shadow-lg:0 20px 45px -20px rgba(0, 0, 0, 0.65);}
}
:root[data-theme="dark"]{--bg:#0a0d0a;--bg-soft:#0e120e;--surface:#121712;--surface-2:#171e17;--text:#dcf5dc;--text-muted:#82a382;--border:#202b20;--primary:#33ff66;--primary-2:#2dd4bf;--primary-hover:#5cff85;--primary-soft:#16321f;--on-primary:#06210f;--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.4);--shadow-md:0 8px 24px -8px rgba(0, 0, 0, 0.55);--shadow-lg:0 20px 45px -20px rgba(0, 0, 0, 0.65);}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:var(--primary);}
.wrap{max-width:var(--max-width);margin:0 auto;padding:0 1.25rem;}
/* ---------- header ---------- */
.page-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
.page-header .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:0.7rem;padding-bottom:0.7rem;}
.header-controls{display:flex;align-items:center;gap:0.5rem;}
.page-header .back-link,.page-header .brand-lockup{display:inline-flex;align-items:center;gap:0.55rem;color:var(--text);text-decoration:none;font-size:0.88rem;font-weight:600;transition:opacity 0.15s ease;}
.page-header .back-link:hover,.page-header .brand-lockup:hover{opacity:0.75;}
.page-header .back-link img,.page-header .brand-lockup img{display:block;width:28px;height:28px;border-radius:8px;}
.brand-mark{background:#f3f3f3;border-radius:8px;}
/* ---------- theme switch — segmented pill ---------- */
.theme-switch{display:flex;align-items:center;gap:0;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:0.2rem;font-size:0.76rem;}
.theme-switch .sep{display:none;}
.theme-switch button{background:none;border:none;padding:0.3rem 0.65rem;margin:0;border-radius:999px;color:var(--text-muted);font:inherit;font-weight:600;cursor:pointer;outline:none;transition:background 0.15s ease, color 0.15s ease;}
.theme-switch button:hover{color:var(--text);}
.theme-switch button.active{color:var(--on-primary);background:var(--primary);}
.theme-switch button:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
/* ---------- language switch — a native <details> dropdown, no JS ---------- */
.lang-switch{position:relative;font-size:0.76rem;}
.lang-switch summary{display:flex;align-items:center;gap:0.3rem;list-style:none;cursor:pointer;padding:0.3rem 0.65rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-weight:600;transition:background 0.15s ease, color 0.15s ease;}
.lang-switch summary::-webkit-details-marker{display:none;}
.lang-switch summary::marker{content:"";}
.lang-switch summary:hover{color:var(--text);}
.lang-switch summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.lang-switch .chevron{width:12px;height:12px;transition:transform 0.15s ease;}
.lang-switch[open] .chevron{transform:rotate(180deg);}
.lang-switch ul{list-style:none;margin:0.35rem 0 0;padding:0.35rem;position:absolute;top:100%;inset-inline-end:0;min-width:8rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:50;}
.lang-switch ul a{display:block;padding:0.4rem 0.6rem;border-radius:6px;color:var(--text);text-decoration:none;font-weight:600;font-size:0.85rem;}
.lang-switch ul a:hover{background:var(--surface-2);}
.lang-switch ul a.active{color:var(--primary);}
/* ---------- hero ---------- */
.hero{position:relative;padding:3.5rem 0 2.5rem;text-align:center;overflow:hidden;}
.hero::before{content:"";position:absolute;top:-140px;left:50%;transform:translateX(-50%);width:640px;height:380px;background:radial-gradient(closest-side, color-mix(in srgb, var(--primary) 24%, transparent), transparent 70%),radial-gradient(closest-side at 70% 40%, color-mix(in srgb, var(--primary-2) 20%, transparent), transparent 70%);filter:blur(10px);pointer-events:none;z-index:-1;}
.hero .logo{display:block;margin:0 auto 1.1rem;}
.hero h1{margin:0 0 0.6rem;font-size:clamp(1.7rem, 4vw, 2.4rem);font-weight:800;letter-spacing:-0.02em;background:linear-gradient(100deg, var(--text) 30%, var(--primary) 70%, var(--primary-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero .tagline{margin:0 auto;max-width:480px;color:var(--text-muted);font-size:1.02rem;}
.hero .tagline::before{content:none;}
/* ---------- sections ---------- */
.tools,.team,.legal{padding:2.2rem 0;border-top:1px solid var(--border);}
.tools h2,.team h2,.legal h2{margin:0 0 0.3rem;font-size:1.3rem;font-weight:800;letter-spacing:-0.01em;text-align:center;}
.legal h2{text-align:start;font-size:1.15rem;}
.tools h2::before,.team h2::before,.legal h2::before{content:none;}
.section-note{color:var(--text-muted);margin:0 0 1.3rem;font-size:0.95rem;text-align:center;}
/* ---------- pills ---------- */
.pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:0.55rem;}
.pills li{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:0.4rem 0.85rem;font-size:0.84rem;font-weight:600;color:var(--text-muted);box-shadow:var(--shadow-sm);}
.pills a{color:var(--text);text-decoration:none;transition:color 0.15s ease;}
.pills a:hover{color:var(--primary);}
/* ---------- team / member card ---------- */
.team .wrap{text-align:center;}
.member{display:inline-flex;align-items:center;gap:0.85rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0.9rem 1.2rem;text-align:start;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;}
.member:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary);}
.member img{border-radius:50%;flex-shrink:0;border:1px solid var(--border);}
.member div{display:flex;flex-direction:column;gap:0.15rem;}
.member strong{font-size:0.98rem;}
.member span{color:var(--text-muted);font-size:0.85rem;}
/* ---------- project grid ---------- */
.project-grid{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:0.9rem;text-align:start;}
.project-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem 1.2rem;box-shadow:var(--shadow-sm);transition:transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;}
.project-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-md) var(--radius-md) 0 0;background:linear-gradient(90deg, var(--primary), var(--primary-2));opacity:0.85;}
.project-card:hover{transform:translateY(-3px);border-color:var(--primary);box-shadow:var(--shadow-md);}
.project-tag{display:inline-block;margin-bottom:0.5rem;padding:0.15rem 0.5rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:0.68rem;font-weight:700;letter-spacing:0.02em;text-transform:uppercase;}
.project-card a{display:flex;align-items:center;gap:0.3rem;color:var(--text);font-weight:700;font-size:0.95rem;text-decoration:none;}
.project-card a .arrow{opacity:0;transform:translateX(-4px);transition:opacity 0.15s ease, transform 0.15s ease;}
.project-card:hover a .arrow{opacity:1;transform:translateX(0);}
html[dir="rtl"] .project-card a .arrow{transform:translateX(4px);}
html[dir="rtl"] .project-card:hover a .arrow{transform:translateX(0);}
.project-card a:hover{color:var(--primary);}
.project-card p{margin:0.45rem 0 0;color:var(--text-muted);font-size:0.85rem;}
/* ---------- legal / prose sections ---------- */
.translation-notice{background:var(--primary-soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.translation-notice .wrap{padding:0.9rem 1.25rem;text-align:center;font-size:0.85rem;color:var(--text);}
.translation-notice p{margin:0 0 0.35rem;}
.translation-notice a{color:var(--primary);font-weight:600;}
.legal p{margin:0 0 0.9rem;font-size:0.96rem;color:var(--text);}
.legal p:last-child{margin-bottom:0;}
.legal code{font-size:0.85em;font-family:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:0.05rem 0.35rem;}
.legal a{color:var(--primary);}
.legal a:hover{color:var(--primary-hover);}
.legal .updated{color:var(--text-muted);font-size:0.82rem;}
/* ---------- footer ---------- */
.site-footer{padding:2rem 0 2.5rem;text-align:center;color:var(--text-muted);font-size:0.85rem;border-top:1px solid var(--border);margin-top:1rem;}
.site-footer a{color:var(--text-muted);text-decoration:none;}
.site-footer a:hover{color:var(--primary);}
.site-footer .sep{opacity:0.5;}
