:root{--paper:#0c0c0c;--panel:#171615;--ink:#f2eee8;--muted:#b9b1a8;--gold:#c9a88c;--line:#393330;--font-display:'Italiana',Georgia,serif;--font-body:'DM Sans',Arial,sans-serif;box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{user-select:none;-webkit-user-drag:none}.gallery-header{min-height:82px;padding:18px clamp(22px,6vw,88px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff17}.gallery-brand{font:25px var(--font-display);letter-spacing:.01em}.gallery-brand small{display:block;text-align:center;margin-top:5px;font:500 10px var(--font-body);letter-spacing:.3em}.return-link{font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:#d0c8be;display:flex;align-items:center;gap:10px}.return-link span{font-size:16px;color:var(--gold);transition:transform .2s}.return-link:hover span{transform:translateX(-3px)}.gallery-intro{max-width:1190px;margin:0 auto;padding:clamp(70px,10vw,132px) 28px 58px;text-align:center}.eyebrow{margin:0 0 25px;color:#dfbd9f;font-size:11px;letter-spacing:.2em;text-transform:uppercase}.gallery-intro h1{font:clamp(58px,8vw,100px)/.96 var(--font-display);font-weight:400;letter-spacing:-.025em;margin:0}.gallery-intro h1 em{font-weight:400;color:#c9a88c}.gallery-lede{max-width:500px;margin:25px auto 0;color:#d0c9c1;font:18px/1.65 Georgia,serif}.gallery-overview{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:32px;color:#d0c9c1;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.gallery-overview strong{color:var(--ink);font-weight:500;margin-right:5px}.overview-divider{height:16px;width:1px;background:#ffffff30}.gallery-content{max-width:1190px;margin:0 auto;padding:0 28px 90px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #ffffff1c}.gallery-toolbar>p{margin:0;color:#f2eee8;font:20px var(--font-display)}.selection-status{display:flex;align-items:center;gap:8px;color:#d0c9c1;font-size:12px;letter-spacing:.09em;text-transform:uppercase}.selection-status svg{width:17px;height:17px;fill:none;stroke:var(--gold);stroke-width:1.5}.selection-status strong{color:var(--gold);font-weight:500}.masonry-grid{columns:3;column-gap:16px}.photo-card{position:relative;display:inline-block;vertical-align:top;width:100%;margin:0 0 16px;break-inside:avoid;background:var(--panel)}.photo-open{display:block;width:100%;padding:0;border:0;background:#211f1c;overflow:hidden}.photo-open img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .3s}.photo-card--wide .photo-open img{aspect-ratio:1.28;object-fit:cover}.photo-card--tall .photo-open img{aspect-ratio:.84;object-fit:cover}.photo-card--mid .photo-open img{aspect-ratio:1.04;object-fit:cover}.photo-card:hover .photo-open img{transform:scale(1.025);filter:brightness(.88)}.photo-card figcaption{padding:14px 15px 16px;color:#f2eee8;font:500 16px/1.45 var(--font-body);letter-spacing:0}.favorite-button{position:absolute;top:12px;right:12px;width:42px;height:42px;display:grid;place-items:center;border:1px solid #ffffff55;border-radius:50%;background:#0c0c0c99;color:#fff;backdrop-filter:blur(8px);transition:background .2s,border-color .2s,color .2s,transform .2s}.favorite-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;transition:fill .2s}.favorite-button:hover{transform:scale(1.06);border-color:var(--gold)}.favorite-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171615}.favorite-button[aria-pressed=true] svg{fill:currentColor}.gallery-note{margin:21px 0 28px;color:#c4bcb3;font-size:13px;line-height:1.65}.contact-link{display:inline-flex;align-items:center;gap:26px;padding:16px 20px;border:1px solid #a58265;color:var(--ink);font-size:11px;letter-spacing:.14em;text-transform:uppercase;transition:background .2s,color .2s}.contact-link:hover{background:var(--gold);color:#171615}.contact-link[aria-disabled=true]{opacity:.48;cursor:default}.contact-link[aria-disabled=true]:hover{background:transparent;color:var(--ink)}.contact-link span{font-size:16px}.gallery-footer{min-height:74px;padding:18px clamp(22px,6vw,88px);border-top:1px solid #ffffff17;display:flex;justify-content:space-between;align-items:center;gap:18px;color:#c4bcb3;font-size:11px;letter-spacing:.06em}.gallery-footer strong{color:var(--gold);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.lightbox{position:fixed;inset:0;width:min(1100px,calc(100% - 36px));max-width:none;max-height:calc(100% - 36px);padding:24px;background:#11100e;border:1px solid #ffffff1c;color:var(--ink);box-shadow:0 30px 100px #0009}.lightbox[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox::backdrop{background:#000e;backdrop-filter:blur(5px)}.lightbox img{max-width:100%;max-height:calc(100vh - 120px);width:auto;height:auto;object-fit:contain}.lightbox p{margin:14px 0 0;color:#e0d8ce;font:20px var(--font-display)}.lightbox-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff55;border-radius:50%;background:#171615;color:#fff;font-size:22px;line-height:1}.gallery-page :focus-visible{outline:2px solid var(--gold);outline-offset:4px}@media(max-width:820px){.masonry-grid{columns:2}.gallery-intro{padding-top:92px}.gallery-content{padding-bottom:72px}}@media(max-width:560px){.gallery-header{min-height:72px;padding:15px 20px}.gallery-brand{font-size:22px}.return-link{font-size:10px;letter-spacing:.08em}.gallery-intro{padding:75px 22px 42px}.gallery-intro h1{font-size:clamp(57px,15vw,78px)}.gallery-lede{font-size:16px}.gallery-overview{gap:12px;font-size:10px;letter-spacing:.07em}.gallery-content{padding:0 18px 58px}.gallery-toolbar{align-items:flex-start;gap:12px}.gallery-toolbar>p{font-size:18px}.selection-status{font-size:10px;gap:6px}.masonry-grid{columns:2;column-gap:10px}.photo-card{margin-bottom:10px}.photo-card figcaption{padding:10px 11px 12px;font-size:14px;line-height:1.4}.favorite-button{top:8px;right:8px;width:38px;height:38px}.favorite-button svg{width:17px;height:17px}.gallery-note{font-size:12px}.contact-link{font-size:10px;gap:12px;padding:15px}.gallery-footer{padding:16px 18px;font-size:10px}.lightbox{padding:14px}.lightbox-close{top:8px;right:8px}}@media(max-width:360px){.masonry-grid{columns:1}.gallery-toolbar{flex-wrap:wrap}.gallery-overview{flex-wrap:wrap}}

.portfolio-gallery .photo-card figcaption{display:flex;flex-direction:column;gap:5px}.portfolio-gallery .photo-title{font:500 16px/1.4 var(--font-body);color:#f2eee8}.portfolio-gallery .photo-category{font-size:11px;color:#c4bcb3;letter-spacing:.08em;text-transform:uppercase}.portfolio-gallery .gallery-toolbar .hint{font:12px var(--font-body);letter-spacing:.04em;color:#c4bcb3}@media(max-width:560px){.portfolio-gallery .photo-title{font-size:14px}.portfolio-gallery .photo-category{font-size:10px}.portfolio-gallery .gallery-toolbar .hint{font-size:10px}}

.portfolio-contact{margin-top:44px;padding:26px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff1c}.portfolio-contact p{margin:0;color:#f2eee8;font:24px var(--font-display)}@media(max-width:560px){.portfolio-contact{align-items:flex-start;flex-direction:column;gap:16px;margin-top:32px;padding-top:20px}.portfolio-contact p{font-size:21px}}
html.lightbox-active,body.lightbox-active{overflow:hidden!important}.lightbox{inset:0;margin:0;padding:24px;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;overflow:hidden;border:0;border-radius:0}.lightbox[open]{display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center}.lightbox img{grid-row:1;max-width:calc(100vw - 180px);max-height:calc(100dvh - 120px);width:auto;height:auto;object-fit:contain}.lightbox-nav{position:fixed;z-index:3;top:50%;transform:translateY(-50%);width:48px;height:48px;display:grid;place-items:center;border:1px solid #ffffff70;border-radius:50%;background:#171615e8;color:#f2eee8;font-size:22px;transition:background .2s,color .2s,border-color .2s}.lightbox-nav:hover{background:var(--gold);color:#171615;border-color:var(--gold)}.lightbox-nav--prev{left:clamp(16px,4vw,56px)}.lightbox-nav--next{right:clamp(16px,4vw,56px)}.lightbox-caption{grid-row:2;width:min(760px,calc(100vw - 40px));display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:12px}.lightbox-caption p{margin:0;color:#f2eee8;font:500 15px/1.4 var(--font-body)}.lightbox-count{flex:none;color:#c9a88c;font:12px var(--font-body);letter-spacing:.08em}.lightbox-close{z-index:4;top:18px;right:18px;width:44px;height:44px;font-size:24px}@media(max-width:560px){.lightbox{padding:18px 10px 20px}.lightbox img{max-width:calc(100vw - 92px);max-height:calc(100dvh - 118px)}.lightbox-nav{width:40px;height:40px;font-size:19px}.lightbox-nav--prev{left:6px}.lightbox-nav--next{right:6px}.lightbox-caption{width:calc(100vw - 36px);gap:12px}.lightbox-caption p{font-size:13px}.lightbox-count{font-size:11px}.lightbox-close{top:10px;right:10px;width:40px;height:40px}}@media(max-height:480px){.lightbox{padding-top:12px;padding-bottom:10px}.lightbox img{max-height:calc(100dvh - 86px)}.lightbox-caption{padding-top:5px}.lightbox-close{top:7px;right:7px;width:36px;height:36px}.lightbox-nav{width:38px;height:38px}}
