    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      background: #fff;
      color: #333;
      font-family: Arial, Helvetica, sans-serif;
    }

    a {
      text-decoration: none;
    }

    /* =====================================
       TOP NAVIGATION
       ===================================== */

    .atlas-topnav {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      min-height: 58px;
      background: white;
      border-bottom: 1px solid var(--wyne-border);
    }

    .atlas-topnav-links {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 32px;
      padding: 15px 20px;
    }

    .atlas-topnav-links a {
      color: var(--wyne-grey);
      font-size: 13px;
      font-weight: 600;
      white-space: nowrap;
    }

    .atlas-topnav-links a:hover {
      color: var(--wyne-green);
    }

    .atlas-topnav-links .active {
      color: var(--wyne-green);
      border-bottom: 3px solid var(--wyne-green);
      padding-bottom: 5px;
    }

    .atlas-mobile-brand,
    .atlas-menu-button,
    .atlas-mobile-links {
      display: none;
    }

    /* =====================================
       PAGE HEADER
       ===================================== */

    .atlas-page-header {
      text-align: center;
      padding: 5px 20px 20px;
    }

    .atlas-subtitle {
      margin: 0;
      color: var(--wyne-grey);
      font-size: 15px;
    }

    /* =====================================
       COUNTRY INTRODUCTION
       ===================================== */

    .country-intro {
      max-width: 900px;
      margin: 35px auto 25px;
      padding: 0 20px;
      text-align: center;
    }

    .country-intro h1 {
    margin: 0 0 12px;
    color: rgb(112,112,112);
    font-size: clamp(28px, 4vw, 38px);
    font-weight: 600;
    letter-spacing: 1px;
    }

    .country-intro h2 {
      margin: 0 0 18px;
      color: #333;
      font-size: clamp(18px, 3vw, 23px);
      font-weight: 500;
    }

    .country-intro p {
      max-width: 720px;
      margin: 0 auto;
      color: var(--wyne-grey);
      font-size: 15px;
      line-height: 1.7;
    }

    .country-divider {
      width: 70px;
      height: 3px;
      margin: 30px auto 0;
      background: var(--wyne-green);
      border: none;
    }

    /* =====================================
       WINE TILES
       ===================================== */

    .wine-grid {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 30px;
      max-width: 1100px;
      margin: 45px auto 65px;
      padding: 0 20px;
    }

    .wine-card {
      position: relative;
      display: block;
      flex: 0 0 300px;
      width: 300px;
      height: 370px;
      overflow: hidden;
      border-radius: 15px;
      background: #fff;
      color: inherit;
      box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
      transition: box-shadow 0.2s;
    }

    .wine-card:hover {
      color: inherit;
      box-shadow: 0 0 14px rgba(0, 0, 0, 0.45);
    }

    .wine-card:focus-visible {
      outline: 3px solid var(--wyne-green);
      outline-offset: 3px;
    }

    .wine-card-image {
      position: absolute;
      top: -18px;
      left: 0;
      width: 100%;
      height: 75%;
      overflow: hidden;
      border-radius: 15px 15px 0 0;
    }

    .wine-card-image iframe {
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 210mm;
      height: 297mm;
      border: 0;
      transform: scale(0.378);
      transform-origin: top left;
      pointer-events: none;
    }

    .wine-card-content {
      position: absolute;
      top: 75%;
      left: 0;
      width: 100%;
      height: 25%;
      padding: 8px 10px;
      background: var(--wyne-cream);
      border-radius: 0 0 15px 15px;
    }

    .wine-card-content h3 {
      margin: 0;
      color: #333;
      font-size: 16px;
      font-weight: 700;
    }

    .wine-card-content p {
      margin: 7px 0 0;
      color: var(--wyne-grey);
      font-size: 12px;
      line-height: 1.4;
    }

    .wine-card-content .explore {
      display: block;
      margin-top: 7px;
      color: var(--wyne-green);
      font-size: 12px;
      font-weight: 700;
    }

    .wine-card[href$="red.html"] .wine-card-content {
      background: #F7EFF1;
    }

    .wine-card[href$="white.html"] .wine-card-content {
      background: #FBF6E8;
    }    

    /* =====================================
       BACK LINK
       ===================================== */

    .atlas-back {
      text-align: center;
      margin-bottom: 55px;
    }

    .atlas-back a {
      color: var(--wyne-green);
      font-size: 14px;
      font-weight: 600;
    }

    .atlas-back a:hover {
      text-decoration: underline;
    }

    /* =====================================
       MOBILE
       ===================================== */

    @media (max-width: 768px) {

      .atlas-topnav {
        min-height: 58px;
      }

      .atlas-topnav-links {
        display: none;
      }

      .atlas-mobile-brand {
        display: block;
        font-size: 17px;
        font-weight: 600;
      }

      .atlas-mobile-brand strong {
        color: var(--wyne-green);
      }

      .atlas-menu-button {
        display: block;
        position: absolute;
        top: 50%;
        right: 15px;
        transform: translateY(-50%);
        border: 0;
        background: transparent;
        color: var(--wyne-green);
        font-size: 25px;
        cursor: pointer;
      }

      .atlas-mobile-links {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        padding: 20px;
        background: white;
        border-bottom: 1px solid var(--wyne-border);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
        z-index: 100;
        flex-direction: column;
        align-items: center;
        gap: 20px;
      }

      .atlas-mobile-links.open {
        display: flex;
      }

      .atlas-mobile-links a {
        color: var(--wyne-grey);
        font-size: 13px;
        font-weight: 600;
      }

      .atlas-mobile-links .active {
        color: var(--wyne-green);
      }

        .atlas-page-header {
        text-align: center;
        padding: 10px 20px 20px;
        }

      .country-intro {
        margin-top: 25px;
      }

      .wine-grid {
        gap: 25px;
        margin-top: 35px;
      }

      .wine-card {
        flex-basis: 300px;
      }
    }


    /* COUNTRY MAP */
    .country-map { max-width: 800px; margin: 12px auto 40px; padding: 0 25px; text-align: center; }
    .country-map img { display: block; width: 100%; height: auto; }
    @media (max-width: 768px) { .country-map { margin: 10px auto 28px; padding: 0 10px; } }

    /* REGION TILES — same proportions as Atlas country tiles */
    .region-grid { display:flex; justify-content:center; flex-wrap:wrap; gap:42px; max-width:1500px; margin:20px auto 85px; padding:0 30px; }
    .region-card { display:block; width:322px; flex:0 0 322px; overflow:hidden; border-radius:15px; background:#fff; color:#172a3d; box-shadow:0 2px 12px rgba(0,0,0,.22); transition:box-shadow .2s,transform .2s; }
    .region-card:hover { color:#172a3d; box-shadow:0 4px 16px rgba(0,0,0,.3); transform:translateY(-2px); }
    .region-card:focus-visible { outline:3px solid var(--wyne-green); outline-offset:3px; }
    .region-card-image { height:161px; background:linear-gradient(140deg,#b8c4a8,#6D7A52); overflow:hidden; }
    .region-card-image img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
    }
    .region-card-content { height:54px; padding:8px 11px; background:#FFFCF5; }
    .region-card-content h2 { margin:0 0 3px; font-size:16px; line-height:19px; font-weight:700; color:#172a3d; }
    .region-card-content p { margin:0; color:#172a3d; font-size:12px; line-height:16px; }
    @media(max-width:768px) { .region-grid { gap:25px; margin-top:20px; padding:0 15px; } .region-card { width:min(322px,100%); flex-basis:min(322px,100%); } }