:root{--bg:#0b0d12;--fg:#e5e7eb;--muted:#9aa0a6;--primary:#8ab4f8;--surface:#111827;--border:#212636;--radius:16px;--gap:16px}
:root[data-theme=light]{--bg:#ffffff;--fg:#111827;--muted:#6b7280;--primary:#1a73e8;--surface:#f6f7fb;--border:#e5e7eb}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:var(--bg);color:var(--fg);line-height:1.6}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(6px);background:color-mix(in srgb, var(--bg), transparent 20%);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-weight:800;color:var(--fg);text-decoration:none;letter-spacing:.5px}
.nav-links{display:flex;gap:12px;list-style:none;padding:0;margin:0}
.nav-links a{display:inline-block;padding:6px 10px;border-radius:12px;color:var(--fg);text-decoration:none}
.nav-links a[aria-selected=true],.nav-links a:hover{background:var(--surface);border:1px solid var(--border)}
#theme-toggle{background:transparent;border:1px solid var(--border);border-radius:12px;padding:6px 10px;cursor:pointer}
.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
h1,h2,h3{line-height:1.2}h1{font-size:40px}h2{font-size:28px}h3{font-size:20px}
.view{padding:28px 0}
.hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:center;padding:40px 0}
.hero-img{width:100%;border-radius:16px;border:1px solid var(--border);object-fit:cover}
.subtitle{margin-top:-6px;color:var(--muted)}
.cta{display:flex;gap:12px;margin-top:16px}
.button{display:inline-block;padding:10px 14px;border-radius:12px;background:var(--primary);color:white;text-decoration:none;border:1px solid transparent}
.button.ghost{background:transparent;border:1px solid var(--border);color:var(--fg)}
.site-footer{border-top:1px solid var(--border);padding:24px 0;text-align:center;margin-top:20px}
.quick-stats{display:grid;grid-template-columns: repeat(3, 1fr);gap:16px}
.stat{display:flex;flex-direction:column;align-items:center;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:16px}
.stat span{font-size:28px;font-weight:700}
.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
input[type=search],input,select,textarea{background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:12px;padding:10px 12px}
.grid{display:grid;grid-template-columns: repeat(3, minmax(0,1fr));gap:16px}
.grid.two{grid-template-columns: repeat(2, minmax(0,1fr))}
.card{border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--surface);display:flex;flex-direction:column;gap:10px}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;border:1px solid var(--border)}
.card .tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{border:1px solid var(--border);border-radius:999px;padding:4px 8px;font-size:12px;color:var(--muted)}
.timeline{list-style:none;padding:0;margin:0;border-left:2px solid var(--border)}
.timeline li{position:relative;margin:0 0 16px 16px;padding-left:16px}
.timeline li::before{content:"";position:absolute;left:-10px;top:6px;width:12px;height:12px;border-radius:999px;background:var(--primary)}
details.accord{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--surface)}
.contact{display:flex;flex-direction:column;gap:8px;list-style:none;padding:0}
.toast{position:fixed;bottom:20px;right:20px;background:var(--surface);border:1px solid var(--border);padding:10px 12px;border-radius:10px}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.row{display:flex;gap:8px}
dialog{border:none;padding:0;background:transparent}
.modal-body{max-width:800px;background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:16px}
.modal-body .close{float:right;background:transparent;border:1px solid var(--border);border-radius:10px;padding:6px 10px;cursor:pointer}
@media (max-width:900px){.hero{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}}
@media (max-width:620px){.grid{grid-template-columns:1fr}}