
:root{--ivory:#f7f3ed;--paper:#f1e8dc;--charcoal:#252421;--terracotta:#a55e49;--olive:#66705b;--line:rgba(37,36,33,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:Manrope,Arial,sans-serif}button,a{font:inherit}.gallery-hero{padding:80px 0 46px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 82% 15%,rgba(165,94,73,.12),transparent 25%),var(--ivory)}.gallery-hero .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.55fr);gap:70px;align-items:end}.gallery-hero h1{max-width:830px;margin:.2em 0 .22em;font:600 clamp(3.4rem,7.2vw,7.8rem)/.82 'Cormorant Garamond',serif;letter-spacing:-.035em}.gallery-hero .lead{max-width:620px;color:#625b54;font-size:.92rem;line-height:1.8}.gallery-meta{padding-left:26px;border-left:1px solid var(--line);color:#70685f;font-size:.72rem;line-height:1.75}.gallery-meta strong{display:block;margin-bottom:8px;color:var(--charcoal);font:600 1.55rem/1.1 'Cormorant Garamond',serif}.gallery-stage{padding:48px 0 76px}.gallery-intro{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:25px}.gallery-intro p{max-width:650px;margin:0;color:#6a625a;font-size:.78rem;line-height:1.7}.gallery-count{font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;color:#796f65}.gallery-masonry{columns:4 240px;column-gap:9px}.gallery-card{position:relative;display:block;width:100%;margin:0 0 9px;padding:0;overflow:hidden;border:0;background:#ded7cf;cursor:zoom-in;break-inside:avoid}.gallery-card img{display:block;width:100%;height:auto;transition:transform 420ms ease,filter 420ms ease}.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.018);filter:brightness(.92)}.gallery-card::after{content:'+';position:absolute;right:10px;bottom:10px;display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(25,24,22,.38);color:#fff;opacity:0;transition:opacity 180ms ease}.gallery-card:hover::after,.gallery-card:focus-visible::after{opacity:1}.gallery-note{display:flex;justify-content:space-between;gap:28px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);color:#746b62;font-size:.66rem;line-height:1.7}.gallery-note a{color:var(--charcoal);font-weight:700}.gallery-lightbox{width:min(1180px,calc(100vw - 34px));max-width:none;padding:0;overflow:visible;border:0;background:transparent;color:white}.gallery-lightbox::backdrop{background:rgba(13,12,11,.94);backdrop-filter:blur(7px)}.gallery-lightbox figure{display:grid;justify-items:center;margin:0}.gallery-lightbox figure img{max-width:100%;max-height:84vh;object-fit:contain;box-shadow:0 25px 80px rgba(0,0,0,.45)}.gallery-lightbox figcaption{margin-top:10px;font-size:.75rem}.gallery-lightbox .lightbox__counter{margin-top:4px;color:rgba(255,255,255,.7);font-size:.64rem}.gallery-lightbox .lightbox__close,.gallery-lightbox .lightbox__nav{position:absolute;z-index:2;display:grid;width:46px;height:46px;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(20,19,17,.62);color:white;cursor:pointer}.gallery-lightbox .lightbox__close{top:-57px;right:0;font-size:1.4rem}.gallery-lightbox .lightbox__nav{top:50%;transform:translateY(-50%);font-size:1.2rem}.gallery-lightbox .lightbox__nav--prev{left:-63px}.gallery-lightbox .lightbox__nav--next{right:-63px}@media(max-width:760px){.gallery-hero{padding:58px 0 34px}.gallery-hero .wrap{grid-template-columns:1fr;gap:26px}.gallery-hero h1{font-size:clamp(3.6rem,18vw,5.5rem)}.gallery-meta{padding:17px 0 0;border-left:0;border-top:1px solid var(--line)}.gallery-stage{padding-top:30px}.gallery-intro{align-items:flex-start;flex-direction:column;gap:8px}.gallery-masonry{columns:2 135px;column-gap:5px}.gallery-card{margin-bottom:5px}.gallery-note{flex-direction:column}.gallery-lightbox{width:100vw}.gallery-lightbox .lightbox__close{top:12px;right:12px}.gallery-lightbox .lightbox__nav{top:auto;bottom:18px}.gallery-lightbox .lightbox__nav--prev{left:16px}.gallery-lightbox .lightbox__nav--next{right:16px}.gallery-lightbox figure img{max-height:78vh}.gallery-card::after{display:none}}


/* Responsive safety */
html,body{max-width:100%;overflow-x:clip}.gallery-hero .wrap,.gallery-intro,.gallery-note,.gallery-masonry{min-width:0}@media(max-width:760px){.gallery-hero h1{max-width:100%;font-size:clamp(3rem,16vw,4.8rem);overflow-wrap:normal}.gallery-hero .lead,.gallery-meta{max-width:100%;overflow-wrap:break-word}.gallery-lightbox{max-width:100vw;overflow:hidden}.gallery-lightbox figure{max-width:100vw}.gallery-lightbox figure img{max-width:100vw}}
