    :root {
      --primary: #0a2540;
      --accent: #0099ff;
      --text: #222;
      --muted: #666;
      --bg-light: #f9fafb;
      --white: #fff;
      --radius: 14px;
      --max: 1100px;
    }
        /* Your div already has background, border-radius, padding, etc. */
    #map {
      height: 400px; /* Adjust height to fit your layout */
      border-radius: 10px;
    }
    * { box-sizing: border-box; }
    body {
      margin: 0;
      font-family: 'Poppins', sans-serif;
      color: var(--text);
      background: var(--bg-light);
      line-height: 1.7;
    }
    header {
      background: var(--white);
      box-shadow: 0 2px 8px rgba(0,0,0,0.05);
      padding: 18px 24px;
      position: sticky;
      top: 0;
      z-index: 50;
    }
    .header-inner {
      max-width: var(--max);
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .brand {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .brand span {
      font-size: 20px;
      font-weight: 600;
      color: var(--primary);
    }
    nav a {
      text-decoration: none;
      color: var(--text);
      margin-left: 18px;
      font-weight: 500;
      transition: 0.2s;
    }
    nav a:hover {
      color: var(--accent);
    }
    main {
      max-width: var(--max);
      margin: 40px auto;
      display: grid;
      grid-template-columns: 1fr 320px;
      gap: 28px;
      padding: 0 16px;
    }
    .hero {
      background: var(--white);
      border-radius: var(--radius);
      padding: 24px;
      border: 1px solid #eee;
      box-shadow: 0 2px 10px rgba(0,0,0,0.03);
      margin-bottom: 22px;
    }
    .breadcrumbs {
      color: var(--muted);
      font-size: 14px;
      margin-bottom: 6px;
    }
    .hero h1 {
      font-size: 24px;
      margin: 6px 0 10px;
      color: var(--primary);
    }
    .hero .meta {
      font-size: 14px;
      color: var(--muted);
    }
    article {
      background: var(--white);
      border-radius: var(--radius);
      padding: 24px;
      border: 1px solid #eee;
      box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    }
    .post-content h2 {
      color: var(--primary);
      font-size: 18px;
      margin-top: 24px;
    }
    .info-grid {
      display: grid;
      grid-template-columns: repeat(2,1fr);
      gap: 12px;
      margin-top: 12px;
    }
    .info {
      background: var(--bg-light);
      border-radius: 10px;
      padding: 12px;
      border: 1px solid #eee;
    }
    .info strong { display: block; font-weight: 600; }
    aside .card {
      background: var(--white);
      border-radius: var(--radius);
      padding: 18px;
      margin-bottom: 20px;
      border: 1px solid #eee;
      box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    }
    .search input {
      width: 100%;
      padding: 10px;
      border-radius: 8px;
      border: 1px solid #ccc;
      outline: none;
    }
    .list a {
      display: block;
      padding: 8px 0;
      color: var(--muted);
      text-decoration: none;
    }
    .list a:hover { color: var(--accent); }
    footer {
      text-align: center;
      padding: 40px 0;
      color: var(--muted);
      font-size: 14px;
    }
    @media (max-width: 900px) {
      main { grid-template-columns: 1fr; }
    }
