 .sec-eye { font-size:.72rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--red); margin-bottom:8px; }
  .sec-h { font-family:'Playfair Display',serif; font-size:2rem; color:var(--dark); margin-bottom:8px; }
  .sec-sub { color:rgba(0,0,0,.5); font-size:.85rem; }
  .btn-r { background:var(--red); color:#fff; padding:12px 28px; border-radius:4px; text-decoration:none; font-size:.8rem; font-weight:700; transition:.3s; }
 
  .gallery-sec { background:var(--off); padding:70px 5%; }
  .gallery-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:32px; }
 
  /* ── DESKTOP GRID ── */
  .gallery-grid {
    display: grid;
    /* Col 0 = tall feature | Cols 1-3 = small 2x3 grid */
    grid-template-columns: 1.2fr repeat(3, 1fr);
    grid-template-rows: 220px 220px;
    gap: 12px;
  }
 
  /* First item: tall feature column, spans both rows */
  .gallery-item:first-child {
    grid-column: 1;
    grid-row: 1 / span 2;  /* full 440px height */
  }
 
  /* Items 2–7 sit in cols 2-4, rows 1-2 automatically */
 
  .gallery-item {
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    min-height: 0;
    min-width: 0;
    /* USE aspect-ratio as fallback for small boxes */
  }
 
  /* Small boxes: use aspect-ratio so image fills naturally */
  .gallery-item:not(:first-child) {
    aspect-ratio: unset; /* grid rows control height on desktop */
  }
 
  /* The key fix: image fills its container absolutely */
  .gallery-item img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center; /* center — shows full face/subject */
    display: block;
    transition: transform .4s;
  }
 
  .gallery-item:hover img { transform: scale(1.06); }
 
  .gi-overlay {
    position: absolute; inset: 0;
    background: rgba(139,26,26,.48);
    opacity: 0; transition: opacity .3s;
    display: flex; align-items: center; justify-content: center;
    z-index: 1;
  }
  .gi-overlay i { color:#fff; font-size:1.4rem; }
  .gallery-item:hover .gi-overlay { opacity:1; }
 
  /* ── MOBILE ── */
  @media (max-width: 640px) {
    .gallery-head { flex-direction: column; align-items: flex-start; gap: 16px; }
 
    .gallery-grid {
      /* 2-col grid, all items same height, no span */
      grid-template-columns: 1fr 1fr;
      grid-template-rows: none; /* auto height */
      gap: 10px;
    }
 
    /* Remove tall-span on mobile — all cards equal */
    .gallery-item:first-child {
      grid-column: unset;
      grid-row: unset;
    }
 
    /* Use aspect-ratio to drive height on mobile */
    .gallery-item {
      aspect-ratio: 4 / 3;
      position: relative; /* needed for absolute img */
    }
  }
 
  /* ── BUTTON ── */
  .gallery-more-btn { display:flex; justify-content:center; margin-top:36px; }
  .btn-outline-red {
    display:inline-flex; align-items:center; gap:10px;
    border:1.5px solid var(--red); color:var(--red); background:transparent;
    padding:12px 36px; font-size:.78rem; font-weight:700;
    letter-spacing:2.5px; text-transform:uppercase; text-decoration:none;
    border-radius:4px; transition:background .25s,color .25s;
  }
  .btn-outline-red:hover { background:var(--red); color:#fff; }
 
  /* ── LIGHTBOX ── */
