  :root {
    --bg:#F3EDE0;
    --surface:#FAF6EC;
    --surface2:#EFE8D8;
    --border:#DAD1BD;
    --text:#22332C;
    --dim:#4F5E57;
    --green:#2E6E46;
  }
  *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
  html, body { background:var(--bg); color:var(--text); font-family:'IBM Plex Sans','Segoe UI','Helvetica Neue',Arial,sans-serif; font-size:16px; min-height:100vh; overflow-y:auto; }

  /* ── PAGE HEADER ── */
  .site-header {
    background:#E5F2EA;
    padding:32px 24px 26px;
    text-align:center;
  }
  .site-header h1 {
    font-family:'Jost','Century Gothic','Futura','Trebuchet MS',sans-serif;
    font-size:clamp(1.4rem, 4.5vw, 2.8rem);
    font-weight:600;
    color:#22332C;
    line-height:1.15;
    letter-spacing:-.3px;
  }
  .diary-line {
    font-family:'IBM Plex Sans','Segoe UI','Helvetica Neue',Arial,sans-serif;
    font-style:italic;
    font-size:clamp(1rem, 2.5vw, 1.25rem);
    color:#2E6E46;
    margin-top:7px;
  }
  .sub-tagline {
    font-size:clamp(0.78rem, 1.8vw, 0.9rem);
    color:#2E6E46;
    margin-top:5px;
  }
  .header-stats {
    display:flex;
    justify-content:center;
    gap:36px;
    flex-wrap:wrap;
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid rgba(165,214,167,0.3);
  }
  .hstat { text-align:center; }
  .hstat-num { font-family:'Jost','Century Gothic','Futura','Trebuchet MS',sans-serif; font-size:2rem; font-weight:600; color:#8A6200; line-height:1; }
  .hstat-label { font-size:0.70rem; color:#2E6E46; text-transform:uppercase; letter-spacing:1.2px; margin-top:5px; }

  /* ── PROMO STRIP ── */
  .promo-strip {
    background:var(--surface);
    border-top:3px solid #3E8E5A;
    border-bottom:2px solid var(--border);
  }
  .promo-inner {
    max-width:1100px;
    margin:0 auto;
    padding:18px 24px;
    display:flex;
    gap:16px;
    flex-wrap:wrap;
  }
  .promo-card {
    background:var(--bg);
    border:2px solid #3E8E5A;
    border-radius:8px;
    padding:20px 22px;
    flex:1;
    min-width:260px;
    display:flex;
    flex-direction:column;
    gap:8px;
    box-shadow:0 2px 8px rgba(10,61,10,0.15);
  }
  .promo-card-title {
    font-family:'Jost','Century Gothic','Futura','Trebuchet MS',sans-serif;
    font-size:1.05rem;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#2E6E46;
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
  }
  .promo-card-text { font-size:1rem; color:#22332C; line-height:1.6; font-weight:500; }
  .promo-link {
    display:inline-flex;
    align-items:center;
    gap:4px;
    font-family:'Jost','Century Gothic','Futura','Trebuchet MS',sans-serif;
    font-size:1.05rem;
    font-weight:700;
    color:#2E6E46;
    text-decoration:none;
    border-bottom:2px solid #3E8E5A;
    width:fit-content;
  }
  .promo-link:hover { color:#2E6E46; }
  .email-btn {
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:4px;
    background:#E5F2EA;
    color:#22332C;
    font-family:'Jost','Century Gothic','Futura','Trebuchet MS',sans-serif;
    font-size:0.75rem;
    font-weight:600;
    padding:7px 14px;
    border-radius:5px;
    text-decoration:none;
    width:fit-content;
    transition:background .15s;
  }
  .email-btn:hover { background:#E5F2EA; }
  .launch-tag {
    display:inline-block;
    background:#FBF0D4;
    color:#4F5E57;
    font-family:'Jost','Century Gothic','Futura','Trebuchet MS',sans-serif;
    font-size:0.65rem;
    font-weight:700;
    padding:2px 8px;
    border-radius:20px;
    letter-spacing:.4px;
  }

  /* ── MAIN ── */
  main { max-width:1300px; margin:0 auto; padding:36px 20px 70px; }

  .section-label {
    font-family:'Jost','Century Gothic','Futura','Trebuchet MS',sans-serif;
    font-size:0.74rem;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#2E6E46;
    margin:44px 0 18px;
    padding-bottom:8px;
    border-bottom:2px solid #3E8E5A;
  }
  .section-label:first-child { margin-top:0; }

  /* ── GUIDE GRID ── */
  .guide-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(270px, 1fr)); gap:20px; }
  .guide-grid.full-width { grid-template-columns:1fr; }
  .gc-wrap { display:flex; flex-direction:column; border-radius:10px; overflow:hidden; box-shadow:0 2px 10px rgba(24,14,0,.10); transition:box-shadow .2s, transform .15s; }
  .gc-wrap:hover { box-shadow:0 7px 22px rgba(24,14,0,.18); transform:translateY(-2px); }
  a.gc { display:flex; flex-direction:column; text-decoration:none; color:var(--text); flex:1; }
  .gc-header { padding:18px 18px 13px; display:flex; align-items:center; gap:13px; }
  .gc-emoji { font-size:2.4rem; line-height:1; flex-shrink:0; }
  .gc-title { font-family:'Jost','Century Gothic','Futura','Trebuchet MS',sans-serif; font-size:1.05rem; font-weight:600; line-height:1.25; }
  .gc-sub { font-size:0.78rem; color:var(--dim); margin-top:3px; }
  .gc-body { padding:6px 18px 18px; flex:1; }
  .gc-count { font-family:'Jost','Century Gothic','Futura','Trebuchet MS',sans-serif; font-size:2.2rem; font-weight:600; line-height:1.1; }
  .gc-count span { font-size:.80rem; font-weight:400; font-family:'IBM Plex Sans','Segoe UI','Helvetica Neue',Arial,sans-serif; color:var(--dim); margin-left:5px; }
  .gc-desc { font-size:.85rem; color:var(--dim); margin-top:8px; line-height:1.6; }
  a.gc-tl-bar { display:block; padding:10px 18px; font-size:.80rem; font-weight:500; color:#2E6E46; text-decoration:none; border-top:1px solid rgba(27,94,32,.2); background:rgba(27,94,32,.07); transition:background .2s, color .2s; }
  a.gc-tl-bar:hover { background:#8CC4A0; color:#22332C; }

  /* ── CARD THEMES ── */
  .theme-seafood  a.gc { background:#FAF6EC; } .theme-seafood  .gc-header { background:#E5F2EA; }
  .theme-burgers  a.gc { background:#FAF6EC; } .theme-burgers  .gc-header { background:#FBF0D4; }
  .theme-pizza    a.gc { background:#F3EDE0; } .theme-pizza    .gc-header { background:#FBE9E6; }
  .theme-italian  a.gc { background:#F3EDE0; } .theme-italian  .gc-header { background:#F1E8F4; }
  .theme-bbq      a.gc { background:#FAF6EC; } .theme-bbq      .gc-header { background:#FBE9E6; }
  .theme-rider    a.gc { background:#FAF6EC; } .theme-rider    .gc-header { background:#E5F2EA; }

  /* ── COMING SOON ── */
  .cs-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(185px, 1fr)); gap:14px; }
  .cs-card { background:var(--surface); border-radius:10px; padding:16px 15px 14px; border:1px solid var(--border); }
  .cs-emoji { font-size:1.8rem; }
  .cs-title { font-family:'Jost','Century Gothic','Futura','Trebuchet MS',sans-serif; font-size:.84rem; font-weight:600; margin-top:9px; color:var(--text); line-height:1.3; }
  .cs-city { font-size:.74rem; color:var(--dim); margin-top:4px; }
  .cs-badge { display:inline-block; margin-top:8px; font-size:.66rem; background:#E5F2EA; color:#22332C; padding:2px 10px; border-radius:20px; font-family:'Jost','Century Gothic','Futura','Trebuchet MS',sans-serif; letter-spacing:.5px; }

  /* ── FOOTER ── */
  footer { text-align:center; padding:28px 20px; font-size:.75rem; color:var(--dim); opacity:.65; border-top:1px solid var(--border); font-family:'Jost','Century Gothic','Futura','Trebuchet MS',sans-serif; }

  @media (max-width: 640px) {
    .guide-grid { grid-template-columns:1fr; }
    .cs-grid { grid-template-columns:repeat(2, 1fr); }
    .header-stats { gap:20px; }
    .hstat-num { font-size:1.5rem; }
    .promo-inner { flex-direction:column; }
  }
