    :root{
      --bg: #f4f1ea;            /* soft cream */
      --panel: #faf7f2;
      --text: #2f2e28;          /* deep neutral */
      --muted: #6a5f4d;         /* brownish muted */
      --accent: #c87a2a;        /* understated orange */
      --green: #7b8b6b;         /* neutral green */
      --max-width: 1200px;
      --radius: 14px;
      --gap: 18px;
    }

    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
      color:var(--text);
      background:linear-gradient(180deg, var(--bg) 0%, #efebdf 100%);
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      line-height:1.45;
      padding-bottom:40px;
    }

    /* Page container */
    .site{
      max-width:var(--max-width);
      margin:32px auto;
      padding:20px;
    }

    header{
      display:flex;
      gap:20px;
      align-items:center;
      justify-content:space-between;
      padding:12px 4px;
      border-bottom:1px solid rgba(45,40,32,0.06);
    }
    .brand{
      display:flex;
      gap:14px;
      align-items:center;
    }
    .logo {
      width:56px;
      height:56px;
      border-radius:10px;
      overflow:hidden;        /* ensures clean rounded corners */
      display:flex;
      align-items:center;
      justify-content:center;
      box-shadow: 0 6px 18px rgba(45,40,32,0.04);
      background: var(--panel); /* removes gradient background */
    }

    .logo-img {
      width:100%;
      height:100%;
      object-fit:contain;     /* or "cover" if you prefer */
    }

    .title{
      font-family:"Playfair Display", serif;
      font-size:20px;line-height:1;
      color:var(--text);
    }
    .subtitle{
      font-size:12px;color:var(--muted);
    }

    /* Intro */
    .intro{
      display:block;
      margin:28px 0 34px;
      text-align:center;
      padding:28px 18px;
      background:var(--panel);
      border-radius:12px;
      border:1px solid rgba(45,40,32,0.03);
      box-shadow: 0 6px 18px rgba(45,40,32,0.03);
    }
    .intro h1{
      margin:0 0 10px;
      font-family:"Playfair Display";
      font-weight:400;
      font-size:28px;
      color:var(--text);
    }
    .intro p{
      margin:0;
      color:var(--muted);
      max-width:820px;
      margin-left:auto;margin-right:auto;
    }
    .meta{
      margin-top:12px;font-size:13px;color:var(--green);
    }

    /* Gallery grid */
    .gallery{
      display:grid;
      grid-template-columns: repeat(1, 1fr);
      gap:var(--gap);
      margin-top:22px;
    }
    @media(min-width:640px){ .gallery{ grid-template-columns: repeat(2, 1fr); } }
    @media(min-width:980px){ .gallery{ grid-template-columns: repeat(3, 1fr); } }

    .card{
      background:var(--panel);
      border-radius:var(--radius);
      overflow:hidden;
      border:1px solid rgba(45,40,32,0.04);
      box-shadow: 0 14px 30px rgba(45,40,32,0.04);
      transition: transform .22s ease, box-shadow .22s ease;
    }
    .card:hover{ transform: translateY(-6px); box-shadow: 0 22px 46px rgba(45,40,32,0.06); }

    .thumb{
      width:100%;
      height: 48vw;
      max-height:420px;
      object-fit:cover;
      display:block;
      background:#e9e3d7;
    }
    .meta-row{
      padding:12px 14px;
      display:flex;
      align-items:center;
      justify-content:space-between;
    }
    .caption{
      font-size:14px;color:var(--muted);
    }
    .badge{
      font-size:12px;padding:6px 8px;border-radius:999px;
      background:rgba(200,122,42,0.08); color:var(--accent); border:1px solid rgba(200,122,42,0.08);
    }

    /* Lightbox (simple, accessible) */
    .lightbox{
      position:fixed;inset:0;display:none;align-items:center;justify-content:center;
      background: rgba(12,10,8,0.75);z-index:9999;padding:24px;
    }
    .lightbox.open{ display:flex; }
    .lightbox-content{
      max-width:95%;max-height:95%;position:relative;border-radius:10px;overflow:hidden;
      background: #0b0a09;
    }
    .lightbox img{ display:block; max-width:100%; max-height:80vh; margin:0; }
    .lb-caption{ color:#e8e6e0; padding:12px 16px; font-size:14px; background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.25)); position:absolute; left:0; right:0; bottom:0; }

    .lb-close{
      position:absolute; top:12px; right:12px; background:rgba(255,255,255,0.06);
      border:0;color:#fff;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:16px;
    }

    /* Footer */
    footer{
      margin-top:26px;padding:18px 10px;text-align:center;color:var(--muted);font-size:13px;
      border-top:1px solid rgba(45,40,32,0.04);
    }

    /* Utility */
    .muted{ color:var(--muted) }
    a.button{
      display:inline-block;padding:8px 12px;border-radius:10px;border:1px solid rgba(45,40,32,0.04);
      background:transparent;text-decoration:none;color:var(--green);font-weight:600;
    }
    small.note{ display:block;margin-top:8px;color:rgba(45,40,32,0.45); font-size:13px; }

    /* Make images keyboard-focusable */
    .card:focus-within{ outline:3px solid rgba(200,122,42,0.12); }