:root {
  --color-primary: #4285F4;
  --color-primary-dark: #1269CF;
  --color-accent: #EE5D63;
  --color-success: #28A745;
  --color-text: #212529;
  --color-text-muted: #6C757D;
  --color-bg: #FCFCFC;
  --color-surface: #FFFFFF;
  --color-surface-alt: #F8F9FA;
  --color-border: #DEE2E6;
  --color-dark: #1F2127;
  --color-highlight: #FBDB55;
  --font-heading: 'Open Sans', sans-serif;
  --font-body: Helvetica, -apple-system, sans-serif;
  --radius: 12px;
  --shadow: 0 10px 30px rgba(31, 33, 39, 0.08);
  --container: 1200px;
  --space: clamp(1rem, 2vw, 1.5rem);
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.6}
a{color:var(--color-primary);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--color-highlight);outline-offset:3px;border-radius:6px}
.container{max-width:var(--container);margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}
.site-header{background:var(--color-dark);position:sticky;top:0;z-index:1000}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}
.logo img{height:38px;width:auto;display:block}
.nav-toggle{display:none;background:none;border:1px solid #495057;color:#fff;border-radius:8px;padding:.4rem .6rem}
.nav-list{display:flex;gap:.5rem;list-style:none;margin:0;padding:0;flex-wrap:wrap;justify-content:flex-end}
.nav-list a{display:block;color:#fff;padding:.45rem .7rem;border-radius:8px;font-size:.92rem}
.nav-list a[aria-current="page"],.nav-list a:hover{background:#343A40;text-decoration:none}
.btn{display:inline-block;padding:.75rem 1.1rem;border-radius:10px;font-weight:700}
.btn-primary{background:var(--color-primary);color:#fff}.btn-accent{background:var(--color-accent);color:#fff}.btn-ghost{border:1px solid var(--color-border);background:#fff;color:var(--color-text)}
.hero{padding:clamp(3rem,7vw,6rem) 0;background:linear-gradient(135deg,#1F2127,#343A40);color:#fff}
.hero h1{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3.5rem);margin:0 0 .8rem}
.hero p{max-width:720px;color:#E9ECEF}
.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.2rem}
.section{padding:clamp(2rem,5vw,4rem) 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}
.card img{width:100%;height:auto;border-radius:8px}
.site-footer{background:#1F1F1F;color:#CED4DA;padding:2rem 0;margin-top:2rem}
.footer-links{display:flex;flex-wrap:wrap;gap:.8rem;list-style:none;padding:0;margin:0 0 1rem}
.footer-links a{color:#8AB4F8}
@media (max-width:900px){
  .nav-toggle{display:block}
  .nav-list{display:none;flex-direction:column;position:absolute;right:1rem;top:64px;background:#212529;border:1px solid #495057;border-radius:10px;padding:.6rem;max-width:min(94vw,420px)}
  .site-header.open .nav-list{display:flex}
}