:root {
            --black: #090909;
            --ivory: #f4f0e8;
            --muted: #b9b2a8;
            --gold: #c7a76b;
            --line: #51483a;
        }

        * { box-sizing: border-box; }

        html { scroll-behavior: smooth; }

        body {
            margin: 0;
            background: var(--black);
            color: var(--ivory);
            font-family: Georgia, 'Times New Roman', serif;
            line-height: 1.65;
        }

        a { color: inherit; }

        .nav {
            position: sticky;
            top: 0;
            z-index: 5;
            background: rgba(8, 8, 8, .96);
            border-bottom: 1px solid #30291f;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px clamp(18px, 5vw, 70px);
            gap: 20px;
        }

        .brand {
            text-decoration: none;
            font-size: 1.1rem;
            letter-spacing: .16em;
            text-transform: uppercase;
        }

        .brand span { color: var(--gold); }

        .navlinks {
            display: flex;
            gap: 18px;
            flex-wrap: wrap;
            font-size: .82rem;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .navlinks a {
            text-decoration: none;
            color: #ddd;
        }

        .navlinks a:hover { color: var(--gold); }

        section { padding: 75px clamp(22px, 8vw, 120px); }

        .hero {
            min-height: 42vh;
            text-align: center;
            display: grid;
            place-items: center;
            background: radial-gradient(
                    ellipse at top, #29241c, #090909 70%
            );
        }

        .eyebrow, .section-kicker {
            text-transform: uppercase;
            letter-spacing: .28em;
            color: var(--gold);
            font: .7rem Arial, sans-serif;
            text-align: center;
        }

        .section-title {
            text-align: center;
            font-weight: normal;
            font-size: clamp(2rem, 5vw, 3.5rem);
            margin: 10px 0 20px;
        }

        .intro {
            max-width: 760px;
            margin: auto;
            text-align: center;
            color: #d3cdc4;
        }

        .gold {
            color: var(--gold);
            font-style: italic;
        }

        .photos-hero {
            min-height: 34vh;
            display: grid;
            place-items: center;
            text-align: center;
            padding: 68px 22px 58px;
            background: radial-gradient(
                    ellipse at top, #29241c 0%, #090909 72%
            );
            border-bottom: 1px solid rgba(199,167,107,.12);
        }

        .photos-eyebrow, .photos-kicker {
            color: var(--photo-gold, #c7a76b);
            text-transform: uppercase;
            letter-spacing: .28em;
            font: .7rem/1.5 Arial, Helvetica, sans-serif;
            text-align: center;
        }

        .photos-hero h1 {
            margin: 12px 0 16px;
            font-weight: normal;
            font-size: clamp(2.4rem, 6vw, 4.8rem);
            line-height: 1.12;
        }

        .photos-gold {
            color: var(--photo-gold, #c7a76b);
            font-style: italic;
        }

        .photos-intro {
            max-width: 720px;
            margin: 0 auto;
            color: #d3cdc4;
            font-size: .98rem;
        }

        .photos-section {
            padding: 48px 0 72px;
            min-height: 35vh;
        }

        .photos-heading {
            padding: 0 22px;
            margin: 0 auto 30px;
            text-align: center;
        }

        .photos-heading h2 {
            margin: 10px 0 12px;
            font-weight: normal;
            font-size: clamp(1.9rem, 4vw, 3rem);
        }

        .photos-description {
            margin: 0 auto;
            color: var(--photo-muted, #b9b2a8);
            font: .9rem/1.7 Arial, Helvetica, sans-serif;
        }

        .photos-categories {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px;
            width: min(1100px, 100%);
            margin: 34px auto 0;
            padding: 0 22px;
        }

        .photos-album {
            padding: 35px 20px;
            background: linear-gradient(145deg, #201d18, #0b0b0b);
            border: 1px solid #51483a;
            color: #e5cf9a;
            font-family: Georgia, serif;
            font-size: 22px;
            cursor: pointer;
            transition: background .2s, color .2s;
            place-items: center;
            text-align: center;
            text-decoration: none;
        }

        .photos-album:hover, .photos-album:focus-visible {
            background: #b89b5e;
            border-color: #b89b5e;
            color: #111;
        }

        .photos-album small {
            display: block;
            margin-top: 8px;
            color: var(--photo-muted, #b9b2a8);
            font: .72rem Arial, Helvetica, sans-serif;
        }

        .photos-album:hover small,
        .photos-album:focus-visible small {
            color: #292116;
        }

        .photos-back {
            display: inline-block;
            margin: 0 22px 22px;
            color: #e5cf9a;
            text-decoration: none;
            font: .88rem Arial, Helvetica, sans-serif;
        }

        .photos-back:hover { text-decoration: underline; }

        .photos-toolbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 10px 18px;
            max-width: 1800px;
            margin: 0 auto 22px;
            padding: 0 22px;
        }

        .photos-toolbar h2 {
            margin: 0;
            color: #e5cf9a;
            font-weight: normal;
            font-size: clamp(1.35rem, 3vw, 2rem);
        }

        .photos-toolbar p {
            margin: 0;
            color: var(--photo-muted, #b9b2a8);
            font: .82rem Arial, Helvetica, sans-serif;
        }

        .photos-grid {
            --grid-row-height: 8px;
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            grid-auto-rows: var(--grid-row-height);
            grid-auto-flow: dense;
            gap: 8px;
            width: 100%;
            margin: 0 auto;
            padding: 0 8px;
        }

        .photos-grid-item {
            position: relative;
            display: block;
            align-self: start;
            width: 100%;
            min-width: 0;
            margin: 0;
            padding: 0;
            border: 0;
            overflow: hidden;
            background: #15130f;
            cursor: zoom-in;
        }

        .photos-grid-item img {
            display: block;
            width: 100%;
            height: auto;
            margin: 0;
            transition: transform .35s ease, filter .35s ease;
        }

        .photos-grid-item:hover img {
            transform: scale(1.025);
            filter: brightness(1.04);
        }

        .photos-grid-item::after {
            content: "";
            position: absolute;
            inset: 0;
            border: 1px solid rgba(199,167,107,.12);
            pointer-events: none;
        }

        .photos-grid-item:hover::after {
            border-color: rgba(199,167,107,.8);
        }

        .photos-grid-item:focus-visible {
            outline: 2px solid var(--photo-gold, #c7a76b);
            outline-offset: -2px;
            z-index: 1;
        }

        .photos-empty {
            max-width: 760px;
            margin: 0 auto;
            padding: 42px 20px;
            color: var(--photo-muted, #b9b2a8);
            text-align: center;
        }

        .photos-pagination {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            gap: 8px;
            margin: 36px 15px 0;
        }

        .photos-pagination a, .photos-pagination span {
            min-width: 42px;
            min-height: 42px;
            padding: 9px 13px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--photo-line, #51483a);
            background: #111;
            color: #e5cf9a;
            text-decoration: none;
            font: .88rem Arial, Helvetica, sans-serif;
        }

        .photos-pagination a:hover {
            background: #b89b5e;
            border-color: #b89b5e;
            color: #111;
        }

        .photos-pagination .is-active {
            background: #b89b5e;
            border-color: #b89b5e;
            color: #111;
        }

        .photos-pagination .is-disabled {
            opacity: .35;
            pointer-events: none;
        }

        .photos-page-info {
            margin: 14px 12px 0;
            color: var(--photo-muted, #b9b2a8);
            text-align: center;
            font: .8rem Arial, Helvetica, sans-serif;
        }

        .photos-lightbox {
            display: none;
            position: fixed;
            inset: 0;
            z-index: 10000;
            align-items: center;
            justify-content: center;
            padding: 65px 24px 22px;
            background: rgba(0,0,0,.97);
        }

        .photos-lightbox.is-open { display: flex; }

        .photos-lightbox-content {
            width: 100%;
            max-width: 1400px;
            text-align: center;
        }

        .photos-lightbox h2 {
            margin: 0 0 14px;
            color: #e5cf9a;
            font-weight: normal;
            font-size: 1.1rem;
        }

        .photos-lightbox-image {
            display: block;
            width: 100%;
            height: min(72vh, 850px);
            object-fit: contain;
            margin: 0 auto;
        }

        .photos-lightbox-nav {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 14px;
            margin-top: 16px;
        }

        .photos-lightbox-nav button, .photos-lightbox-close {
            border: 1px solid #b89b5e;
            background: transparent;
            color: #e5cf9a;
            padding: 10px 16px;
            cursor: pointer;
            font: 1rem Georgia, serif;
        }

        .photos-lightbox-nav button:hover,
        .photos-lightbox-close:hover {
            background: #b89b5e;
            color: #111;
        }

        .photos-lightbox-nav button:disabled {
            opacity: .35;
            cursor: not-allowed;
        }

        .photos-lightbox-close {
            position: absolute;
            top: 10px;
            right: 16px;
            border: 0;
            padding: 4px 12px;
            font-size: 2.2rem;
        }

        .photos-counter {
            min-width: 80px;
            color: #ccc;
            font: .85rem Arial, Helvetica, sans-serif;
        }

        footer {
            border-top: 1px solid #30291f;
            text-align: center;
            padding: 32px 20px;
            color: #9b9388;
            font-size: .8rem;
            letter-spacing: .08em;
        }

        footer strong {
            color: var(--gold);
            font-weight: normal;
        }

        @media (max-width: 1050px) {
            .photos-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 6px;
            }
        }

        @media (min-width: 1600px) {
            .photos-grid {
                grid-template-columns: repeat(5, minmax(0, 1fr));
            }
        }

        @media (max-width: 650px) {
            .photos-hero { min-height: 0; padding: 54px 20px 46px; }
            .photos-section { padding: 34px 0 48px; }

            .photos-categories {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 10px;
                padding: 0 12px;
            }

            .photos-album {
                min-height: 110px;
                padding: 16px 10px;
                font-size: 1.05rem;
            }

            .photos-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 4px;
                padding: 0 4px;
            }

            .photos-toolbar { padding: 0 12px; }
            .photos-back { margin-left: 12px; }
            .photos-lightbox { padding: 60px 10px 16px; }
            .photos-lightbox-image { height: 62vh; }
            .photos-lightbox-nav { gap: 6px; }

            .photos-lightbox-nav button {
                padding: 10px 8px;
                font-size: .82rem;
            }

            .photos-pagination { gap: 5px; }

            .photos-pagination a, .photos-pagination span {
                min-width: 36px;
                min-height: 38px;
                padding: 7px 9px;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                scroll-behavior: auto !important;
                transition-duration: .01ms !important;
                animation-duration: .01ms !important;
            }
        }

.gallery-page-title{font-size:clamp(2.8rem,7vw,5rem);font-weight:normal}
.gallery-page-intro{text-align:center}
