    /* ─── Palette (NBFRA site) ─── */
    :root {
      --forest:   #2C4A2E;   /* deep Algonquin forest green */
      --gold:     #B8860B;   /* warm harvest gold           */
      --gold-lt:  #D4A520;   /* lighter accent gold         */
      --cream:    #F5EFD8;   /* aged birchbark cream        */
      --earth:    #6B4226;   /* warm earth / dark brown     */
      --bark:     #3E2A1A;   /* darkest bark tone           */
      --shadow:   rgba(44, 74, 46, 0.18);
    }

    /* ─── Reset / Base ─── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }


    /* ─── Page wrapper ─── */
    .page {
      /*max-width: 1200px;*/
      margin: 0 auto;
      padding: 2.5rem 1.5rem 3rem;
    }

    /* ─── Header ─── */
    .page-header {
      text-align: center;
      margin-bottom: 2.5rem;
      border-bottom: 2px solid var(--gold);
      padding-bottom: 1.5rem;
    }

    .page-header .eyebrow {
      /*font-family: 'Trebuchet MS', Arial, sans-serif;*/
      font-size: 0.75rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--earth);
      margin-bottom: 0.5rem;
    }

    .page-header h1 {
      font-size: clamp(1.5rem, 4vw, 2.4rem);
      font-weight: normal;
      color: var(--forest);
      letter-spacing: 0.03em;
    }

    .page-header .tagline {
      margin-top: 0.5rem;
      font-size: 0.95rem;
      color: var(--earth);
      font-style: italic;
    }

    /* ─── Section titles ─── */
    .section-label {
      /*ont-family: 'Trebuchet MS', Arial, sans-serif;*/
      font-size: 0.7rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 0.8rem;
    }

    .section-title {
      font-size: clamp(1.2rem, 3vw, 1.7rem);
      font-weight: normal;
      color: var(--forest);
      margin-bottom: 0.35rem;
    }

    .section-price {
      /*font-family: 'Trebuchet MS', Arial, sans-serif;*/
      font-size: 0.9rem;
      color: var(--earth);
      margin-bottom: 1.5rem;
    }

    /* ─── Product sections ─── */
    .product-section {
      margin-bottom: 3.5rem;
    }

    /* ─── Flex gallery ─── */
    .gallery {
      display: flex;
      flex-wrap: wrap;
      gap: 1.25rem;
    }

    /* shirt: equal widths side by side */
    .gallery--shirt .photo-card { flex: 1 1 0; min-width: 0; }

    /* hat: two squares → even split */
    .gallery--hat .photo-card { flex: 1 1 280px; }

    /* ─── Photo cards ─── */
    .photo-card {
      position: relative;
      border-radius: 6px;
      overflow: hidden;

      /* layered shaded border effect */
      outline: 1px solid var(--gold);
      box-shadow:
        0 0 0 4px var(--cream),
        0 0 0 6px var(--forest),
        0 0 0 9px color-mix(in srgb, var(--forest) 30%, transparent),
        0 6px 24px var(--shadow),
        0 2px 6px  rgba(0,0,0,0.12);
    }

    .photo-card img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.25s ease;
      transform-origin: center center;
    }

    /* logo detail image shows full width, no cropping */
    .photo-card--contain img {
      object-fit: contain;
      background: var(--cream);
    }

    /* subtle gold shimmer on hover */
    .photo-card::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(
        135deg,
        rgba(184, 134, 11, 0.08) 0%,
        transparent 60%
      );
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.4s ease;
    }
    .photo-card:hover::after { opacity: 1; }

    /* corner accent marks */
    .photo-card .corner {
      position: absolute;
      width: 16px;
      height: 16px;
      border-color: var(--gold-lt);
      border-style: solid;
      opacity: 0.75;
    }
    .photo-card .corner--tl { top: 7px; left: 7px;  border-width: 2px 0 0 2px; }
    .photo-card .corner--tr { top: 7px; right: 7px; border-width: 2px 2px 0 0; }
    .photo-card .corner--bl { bottom: 7px; left: 7px;  border-width: 0 0 2px 2px; }
    .photo-card .corner--br { bottom: 7px; right: 7px; border-width: 0 2px 2px 0; }

    /* ─── Divider ─── */
    .divider {
      border: none;
      border-top: 1px solid color-mix(in srgb, var(--gold) 40%, transparent);
      margin: 0.5rem 0 3rem;
    }

    /* ─── Footer note ─── */
    .footer-note {
      text-align: center;
      /*font-family: 'Trebuchet MS', Arial, sans-serif;*/
      font-size: 0.8rem;
      color: var(--earth);
      border-top: 1px solid color-mix(in srgb, var(--forest) 25%, transparent);
      padding-top: 1.25rem;
      line-height: 1.6;
    }

    /* ─── Responsive: phone ─── */
    @media (max-width: 600px) {
      .gallery {
        flex-direction: column;
      }
      .gallery--shirt .photo-card:first-child,
      .gallery--shirt .photo-card:last-child,
      .gallery--hat   .photo-card {
        flex: 1 1 auto;
      }
    }