    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      font-family: 'Segoe UI', Roboto, system-ui, -apple-system, sans-serif;
    }

    body {
      background: linear-gradient(180deg,#f0f8ff 0%, #e8f4fb 100%);
      color: #153243; /* soft navy for readable text */
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      transition: background-color 180ms ease, color 180ms ease;
    }

    /* navigation */
    .navbar {
      background-color: #e6f6ff;
      padding: 0.9rem 1.6rem;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      box-shadow: 0 6px 18px rgba(19,50,67,0.04);
      border-bottom: 1px solid rgba(19,50,67,0.06);
      position: sticky;
      top: 0;
      z-index: 100;
    }

    .logo a {
      font-size: 1.9rem;
      font-weight: 700;
      color: #083047;
      text-decoration: none;
      letter-spacing: 0.6px;
    }
    .logo a i {
      margin-right: 8px;
      color: #2978b5;
    }

    .menu-list {
      display: flex;
      flex-wrap: wrap;
      list-style: none;
      gap: 0.5rem;
      align-items: center;
    }

    .menu-list li a {
      display: inline-block;
      padding: 0.5rem 0.9rem;
      font-weight: 600;
      color: #0b2b3a;
      text-decoration: none;
      border-radius: 8px;
      transition: 140ms ease;
      font-size: 1.02rem;
    }

    .menu-list li a:hover {
      background-color: rgba(41,120,181,0.08);
      color: #052231;
      transform: translateY(-1px);
    }

    /* special style for Menu link (store) */
    .menu-list li a.store-link-nav {
      background-color: #cfeefd;
      color: #042f3d !important;
      font-weight: 700;
      box-shadow: 0 6px 12px rgba(19,50,67,0.04);
      padding-right: 1rem;
      padding-left: 1rem;
      border-radius: 10px;
    }

    .menu-list li a.store-link-nav i {
      margin-left: 6px;
    }

    /* container */
    .container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 2rem 1.5rem 3rem;
    }

    /* hero */
    .hero {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 2rem;
      margin: 2rem 0 3rem 0;
      background: linear-gradient(180deg,#f7feff,#eef9ff);
      border-radius: 18px;
      padding: 1.8rem 2rem;
      box-shadow: 0 10px 30px rgba(19,50,67,0.04);
      border: 1px solid rgba(19,50,67,0.03);
    }

    .hero-text {
      flex: 1 1 260px;
    }

    .hero-text h1 {
      font-size: 2.6rem;
      color: #042f45;
      line-height: 1.06;
      text-shadow: none;
      font-weight: 700;
    }

    .hero-text p {
      font-size: 1rem;
      margin: 0.5rem 0 0.35rem;
      color: #1f3d49;
      opacity: 0.95;
    }

    .hero-img {
      flex: 1 1 260px;
      text-align: center;
    }

    .hero-img img {
      max-width: 100%;
      width: 320px;
      border-radius: 12px;
      box-shadow: 0 8px 20px rgba(19,50,67,0.04);
      border: 1px solid rgba(19,50,67,0.03);
      filter: brightness(1) saturate(1.04);
    }

    /* image style */
    .food-img {
      border-radius: 12px;
      box-shadow: 0 6px 14px rgba(19,50,67,0.03);
      max-width: 100%;
      height: auto;
      object-fit: cover;
      width: 100%;
      border: 1px solid rgba(19,50,67,0.02);
      filter: none;
    }

    /* sections */
    .section-title {
      font-size: 1.8rem;
      color: #072b3b;
      margin: 1.8rem 0 0.9rem;
      border-left: 6px solid #bfe7ff;
      padding-left: 0.9rem;
      font-weight: 700;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 2rem;
      align-items: start;
    }

    .card {
      background: #ffffff;
      border-radius: 12px;
      padding: 1.4rem 1.3rem;
      box-shadow: 0 10px 30px rgba(19,50,67,0.03);
      border: 1px solid rgba(19,50,67,0.02);
    }

    .card img {
      width: 100%;
      height: 200px;
      object-fit: cover;
      border-radius: 10px;
      margin-bottom: 0.9rem;
      border: 1px solid rgba(19,50,67,0.02);
      box-shadow: 0 8px 18px rgba(19,50,67,0.03);
    }

    .card h3 {
      font-size: 1.3rem;
      color: #072b3b;
      margin-bottom: 0.4rem;
    }

    /* compatibility for store layout */
    .comp-card {
      background: #ffffff;
      border-radius: 12px;
      padding: 1rem;
      box-shadow: 0 8px 18px rgba(19,50,67,0.03);
      border: 1px solid rgba(19,50,67,0.02);
    }

    /* about */
    .about-block {
      background: #f6fdff;
      border-radius: 12px;
      padding: 1.4rem 1.6rem;
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      border: 1px solid rgba(19,50,67,0.02);
      box-shadow: 0 8px 20px rgba(19,50,67,0.02);
    }

    .about-text {
      flex: 2 1 280px;
    }

    .about-text h2 {
      color: #042f45;
      font-size: 1.4rem;
    }

    .about-text p {
      font-size: 0.98rem;
      color: #16323b;
    }

    .about-img {
      flex: 1 1 200px;
    }

    .about-img img {
      width: 100%;
      border-radius: 8px;
      border: 1px solid rgba(19,50,67,0.02);
    }

    /* store section */
    .store-section {
      background: #f0fbff;
      border-radius: 12px;
      padding: 1.4rem;
      margin: 1.2rem 0;
      border: 1px dashed rgba(19,50,67,0.02);
    }

    /* textlink */
    .text-link {
      color: #0b2b3a;
      font-weight: 700;
      text-decoration: none;
      background-color: rgba(11,43,58,0.03);
      padding: 0.08rem 0.28rem;
      border-radius: 6px;
      transition: 140ms ease;
    }

    .text-link:hover {
      background-color: rgba(11,43,58,0.06);
      color: #041a23;
    }

    /* footer */
    .footer {
      background: #eaf8ff;
      color: #083047;
      padding: 1.4rem;
      text-align: center;
      border-radius: 0 0 8px 8px;
      margin-top: 2rem;
      border-top: 1px solid rgba(19,50,67,0.02);
    }

    .footer a {
      color: #0b3b50;
      text-decoration: none;
    }

    .footer a:hover {
      text-decoration: underline;
    }

    @media (max-width: 700px) {
      .navbar {
        flex-direction: column;
        gap: 0.8rem;
      }
      .menu-list {
        justify-content: center;
      }
    }
    /* Table of Contents styles */
    .toc {
      background: #ffffff;
      border-radius: 8px;
      padding: 0.7rem;
      margin-top: 0.8rem;
      border: 1px solid rgba(19,50,67,0.02);
      box-shadow: 0 6px 14px rgba(19,50,67,0.02);
    }
    .toc ol {
      padding-left: 1.1rem;
      margin: 0;
      line-height: 1.6;
    }
    .toc li a {
      color: #083047;
      text-decoration: none;
      font-weight: 700;
    }
    .toc li a:hover {
      text-decoration: underline;
      color: #042f45;
    }

    /* Article section headings */
    .article-section {
      margin-top: 1rem;
      padding: 0.7rem 0;
      border-bottom: 1px dashed rgba(19,50,67,0.02);
    }
    .article-section h3 {
      font-size: 1.15rem;
      color: #042f45;
      margin-bottom: 0.45rem;
    }
    .article-section p {
      font-size: 0.98rem;
      color: #16323b;
      line-height: 1.7;
    }

    @media (max-width: 700px) {
      .toc { padding: 0.8rem; }
      .article-section h3 { font-size: 1.3rem; }
    }

/* Cookie consent banner */
    .cookie-consent {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  background: #f6fdff;
  border: 1px solid rgba(19,50,67,0.02);
  box-shadow: 0 8px 24px rgba(19,50,67,0.02);
  padding: 0.8rem 0.9rem;
  border-radius: 8px;
  display: none;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.cookie-consent p { flex: 1; font-size: 0.95rem; color: #16323b; margin: 0; }
.cookie-actions { display: flex; gap: 0.5rem; }
.cookie-actions button { padding: 0.42rem 0.76rem; border-radius: 8px; border: none; cursor: pointer; font-weight: 700; }
.cookie-actions #cookie-accept { background: #2978b5; color: #fff; }
.cookie-actions #cookie-deny { background: #f2f7fa; color: #0b2b3a; }

@media (max-width: 520px) {
  .cookie-consent { flex-direction: column; align-items: stretch; }
  .cookie-actions { justify-content: flex-end; }
}