<style>
    :root {
      --amber: #C07D2A;
      --dark-amber: #8B5A10;
      --cream: #FAF5EB;
      --dark: #1A1208;
      --mid: #3D2B0A;
      --text: #2A1F0A;
      --light-amber: #F3E0B5;
      --accent: #E8A020;
    }

    /* HERO */
    .hero {
      background: linear-gradient(160deg, var(--dark) 0%, var(--mid) 60%, #5C3A10 100%);
      color: var(--cream);
      padding: 70px 40px 60px;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at center, rgba(192,125,42,0.18) 0%, transparent 70%);
      pointer-events: none;
    }
    .hero-label {
      font-family: 'Lora', serif;
      font-size: 11px;
      letter-spacing: 4px;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 18px;
    }
    .hero h1 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2.2rem, 5vw, 3.8rem);
      font-weight: 700;
      line-height: 1.15;
      margin-bottom: 16px;
      color: #fff;
    }
    .hero h1 em {
      font-style: italic;
      color: var(--accent);
    }
    .hero-sub {
      font-size: 1.05rem;
      color: #D4B882;
      max-width: 600px;
      margin: 0 auto 28px;
      font-style: italic;
    }
    .hero-meta {
      font-size: 12px;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: rgba(255,255,255,0.45);
    }

    /* ARTICLE BODY */
    .article-wrap {
      max-width: 780px;
      margin: 0 auto;
      padding: 50px 30px 80px;
    }

    /* LEAD */
    .lead {
      font-size: 1.18rem;
      color: var(--mid);
      font-style: italic;
      border-left: 4px solid var(--amber);
      padding-left: 22px;
      margin-bottom: 40px;
      line-height: 1.75;
    }

    /* PULL QUOTE */
    .pull-quote {
      background: var(--dark);
      color: var(--cream);
      border-left: 6px solid var(--amber);
      padding: 28px 32px;
      margin: 40px 0;
      border-radius: 0 6px 6px 0;
      position: relative;
    }
    .pull-quote::before {
      content: '\201C';
      font-family: 'Playfair Display', serif;
      font-size: 6rem;
      color: var(--amber);
      opacity: 0.3;
      position: absolute;
      top: -10px;
      left: 12px;
      line-height: 1;
    }
    .pull-quote p {
      font-family: 'Playfair Display', serif;
      font-size: 1.2rem;
      font-style: italic;
      line-height: 1.6;
      margin-bottom: 10px;
      padding-left: 20px;
    }
    .pull-quote cite {
      font-size: 0.8rem;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--accent);
      padding-left: 20px;
    }

    /* INFO BOX */
    .infobox {
      background: var(--light-amber);
      border: 1px solid #DDB96B;
      border-radius: 8px;
      padding: 26px 30px;
      margin: 36px 0;
    }
    .infobox h3 {
      font-family: 'Playfair Display', serif;
      font-size: 1.1rem;
      color: var(--dark-amber);
      margin-bottom: 14px;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .infobox h3 span { font-size: 1.3rem; }
    .infobox ul {
      list-style: none;
      padding: 0;
    }
    .infobox ul li {
      padding: 6px 0 6px 20px;
      position: relative;
      border-bottom: 1px solid rgba(192,125,42,0.2);
      font-size: 0.95rem;
    }
    .infobox ul li:last-child { border-bottom: none; }
    .infobox ul li::before {
      content: '?';
      position: absolute;
      left: 0;
      color: var(--amber);
      font-size: 0.8rem;
    }
    .infobox ul li strong {
      color: var(--mid);
    }

    /* WARNING BOX */
    .warningbox {
      background: #2A1A1A;
      border-left: 5px solid #8B2020;
      border-radius: 0 8px 8px 0;
      padding: 24px 28px;
      margin: 36px 0;
      color: #E8D0D0;
    }
    .warningbox h3 {
      font-family: 'Playfair Display', serif;
      font-size: 1.05rem;
      color: #CC4444;
      margin-bottom: 10px;
    }
    .warningbox p { font-size: 0.95rem; margin-bottom: 10px; color: #D4B8B8; }
    .warningbox p:last-child { margin-bottom: 0; }

    /* TASTING NOTES */
    .tasting-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 16px;
      margin: 30px 0;
    }
    .tasting-card {
      background: #fff;
      border: 1px solid #E0C88A;
      border-radius: 8px;
      padding: 20px 18px;
      text-align: center;
    }
    .tasting-card .emoji { font-size: 2rem; margin-bottom: 8px; display: block; }
    .tasting-card h4 {
      font-family: 'Playfair Display', serif;
      font-size: 1rem;
      color: var(--dark-amber);
      margin-bottom: 6px;
    }
    .tasting-card p { font-size: 0.88rem; color: #5A4020; margin: 0; }

    /* DIVIDER */
    .divider {
      text-align: center;
      margin: 44px 0;
      color: var(--amber);
      font-size: 1.4rem;
      letter-spacing: 16px;
      opacity: 0.6;
    }

    /* HIGHLIGHT TEXT */
    .highlight {
      background: linear-gradient(to right, var(--light-amber), transparent);
      border-left: 3px solid var(--amber);
      padding: 14px 20px;
      margin: 24px 0;
      font-size: 0.96rem;
      font-style: italic;
      color: var(--mid);
      border-radius: 0 4px 4px 0;
    }

    /* FOOTER */
    .article-footer {
      text-align: center;
      margin-top: 60px;
      padding-top: 30px;
      border-top: 1px solid var(--light-amber);
      font-size: 0.82rem;
      color: #9A7A4A;
      font-style: italic;
    }

    @media (max-width: 600px) {
      .hero { padding: 50px 20px 40px; }
      .article-wrap { padding: 30px 18px 60px; }
      .tasting-grid { grid-template-columns: 1fr 1fr; }
    }
  </style>
