/* =========================================================
   GALLERY PAGE — /assets/css/gallery.css
   ========================================================= */

.gallery-hero{background:var(--cream);padding-top:84px;padding-bottom:88px}
.gallery-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(60px,9vw,150px);align-items:end}
.gallery-hero h1{max-width:820px;margin:28px 0 0;font-family:var(--display);font-size:clamp(58px,6vw,96px);font-weight:600;line-height:1.03;letter-spacing:-.08em}
.gallery-hero h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}
.gallery-hero-copy{padding-bottom:7px}
.gallery-hero-copy>p{max-width:530px;margin-bottom:35px;color:var(--muted);font-size:15px;line-height:1.95}
.gallery-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:#838d96;font-size:8px;font-weight:800;letter-spacing:.16em}
.gallery-hero-meta i{color:var(--red);font-style:normal}

.gallery-featured{padding:0 0 118px;background:var(--cream)}
.gallery-featured-image{position:relative;display:block;width:100%;aspect-ratio:1.86;padding:0;overflow:hidden;border:0;background:var(--navy);color:white}
.gallery-featured-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.gallery-featured-image:hover img{transform:scale(1.018)}
.gallery-image-overlay{position:absolute;right:26px;bottom:25px;display:inline-flex;align-items:center;gap:22px;padding:13px 17px;background:rgba(12,36,62,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:8px;font-weight:800;letter-spacing:.15em;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease}
.gallery-featured-image:hover .gallery-image-overlay{opacity:1;transform:none}
.gallery-image-overlay b{color:#f0b4ac;font-size:16px;font-weight:400}
.gallery-featured-caption{display:grid;grid-template-columns:.45fr 1.55fr;gap:45px;padding-top:27px}
.gallery-featured-caption>span{padding-top:7px;color:var(--red);font-size:9px;font-weight:800;letter-spacing:.15em}
.gallery-featured-caption h2{margin-bottom:8px;font-family:var(--display);font-size:clamp(26px,2.6vw,40px);font-weight:600;letter-spacing:-.05em}
.gallery-featured-caption p{max-width:550px;margin:0;color:var(--muted);font-size:13px;line-height:1.8}

.gallery-browser{background:var(--offwhite)}
.gallery-browser-head,.gallery-details-heading{display:flex;align-items:end;justify-content:space-between;gap:60px}
.gallery-browser-head h2,.gallery-details-heading h2{margin:22px 0 0;font-family:var(--display);font-size:clamp(42px,4.5vw,69px);font-weight:600;line-height:1.15;letter-spacing:-.07em}
.gallery-browser-head h2 em,.gallery-details-heading h2 em{color:var(--red);font-family:var(--serif);font-weight:400;letter-spacing:-.05em}
.gallery-browser-head>p,.gallery-details-heading>p{max-width:390px;margin:0 0 8px;color:var(--muted);font-size:14px;line-height:1.9}
.gallery-filter{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:52px;margin-bottom:34px;border-bottom:1px solid var(--line)}
.gallery-filter button{position:relative;padding:14px 17px 17px;border:0;background:transparent;color:#77828c;font-size:10px;font-weight:800;letter-spacing:.1em}
.gallery-filter button::after{content:"";position:absolute;right:16px;bottom:-1px;left:16px;height:2px;background:var(--red);transform:scaleX(0);transition:transform .2s ease}
.gallery-filter button:hover,.gallery-filter button.is-active{color:var(--navy)}
.gallery-filter button.is-active::after{transform:scaleX(1)}

.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:22px;align-items:start}
.gallery-item{grid-column:span 5}
.gallery-item:nth-child(2),.gallery-item:nth-child(5){grid-column:span 7}
.gallery-item-wide{grid-column:2/span 10}
.gallery-card{position:relative;display:block;width:100%;min-height:100%;padding:0;overflow:hidden;border:0;background:#d7d9d7;color:white;text-align:left}
.gallery-item .gallery-card{aspect-ratio:1.08}
.gallery-item-tall .gallery-card{aspect-ratio:.78}
.gallery-item-wide .gallery-card{aspect-ratio:1.95}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,18,31,.62) 0%,rgba(7,18,31,.13) 45%,transparent 68%);opacity:.72;transition:opacity .28s ease}
.gallery-card:hover img{transform:scale(1.028)}
.gallery-card:hover::after{opacity:.95}
.gallery-card-caption{position:absolute;z-index:2;right:25px;bottom:24px;left:25px;display:flex;flex-direction:column;align-items:flex-start}
.gallery-card-caption>span{margin-bottom:9px;color:#f2bbb7;font-size:8px;font-weight:800;letter-spacing:.14em}
.gallery-card-caption strong{margin-bottom:5px;color:white;font-family:var(--display);font-size:clamp(19px,2vw,29px);font-weight:600;letter-spacing:-.045em}
.gallery-card-caption small{color:rgba(255,255,255,.72);font-size:10px;line-height:1.6}
.gallery-item[hidden]{display:none}

.gallery-statement{padding:30px 0;background:var(--navy);color:white}
.gallery-statement-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}
.gallery-statement p{margin:0;text-align:center;font-size:12px;font-weight:800;letter-spacing:.17em}
.gallery-statement p em{margin-left:6px;color:#f0b4ac;font-family:var(--serif);font-size:17px;font-weight:400;letter-spacing:0}

.gallery-details{background:var(--cream)}
.gallery-detail-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.gallery-detail-card{position:relative;display:block;aspect-ratio:.82;padding:0;overflow:hidden;border:0;background:var(--navy);color:white;text-align:left}
.gallery-detail-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gallery-detail-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,18,31,.66),transparent 57%)}
.gallery-detail-card:hover img{transform:scale(1.03)}
.gallery-detail-card>span{position:absolute;z-index:2;right:24px;bottom:23px;left:24px;display:flex;flex-direction:column;gap:7px}
.gallery-detail-card small{color:#f2b8b4;font-size:8px;font-weight:800;letter-spacing:.13em}
.gallery-detail-card strong{font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.04em}

.gallery-cta{position:relative;padding:105px 0;overflow:hidden;background:var(--red);color:white;text-align:center}
.gallery-cta::before,.gallery-cta::after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.18);transform:rotate(45deg)}
.gallery-cta::before{top:-220px;left:-170px}.gallery-cta::after{right:-190px;bottom:-230px}
.gallery-cta-inner{position:relative;z-index:1}
.gallery-cta h2{margin:25px 0 18px;font-family:var(--display);font-size:clamp(46px,5.7vw,82px);font-weight:600;line-height:1.05;letter-spacing:-.075em}
.gallery-cta h2 em{color:#fff0e8;font-family:var(--serif);font-weight:400;letter-spacing:-.05em}
.gallery-cta p{max-width:520px;margin:0 auto 30px;color:#f8e3e2;font-size:14px;line-height:1.9}

.gallery-lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;background:rgba(7,17,29,.96);color:white}
.gallery-lightbox::backdrop{background:rgba(7,17,29,.96)}
.gallery-lightbox[open]{display:grid;place-items:center}
.gallery-lightbox-content{display:flex;flex-direction:column;justify-content:center;width:min(78vw,1180px);height:100vh;padding:48px 0 35px}
.gallery-lightbox-image{display:flex;justify-content:center;align-items:center;min-height:0;flex:1}
.gallery-lightbox-image img{display:block;width:auto;max-width:100%;height:auto;max-height:78vh;object-fit:contain}
.gallery-lightbox-meta{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:18px}
.gallery-lightbox-meta span{color:#e7adb0;font-size:9px;font-weight:800;letter-spacing:.16em}
.gallery-lightbox-meta h2{margin:0;font-family:var(--display);font-size:18px;font-weight:600;letter-spacing:-.03em}
.gallery-lightbox-close,.gallery-lightbox-nav{position:fixed;z-index:3;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);background:transparent;color:white;transition:background .2s ease,color .2s ease}
.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover{background:white;color:var(--navy)}
.gallery-lightbox-close{top:25px;right:28px;width:44px;height:44px;font-size:26px}
.gallery-lightbox-nav{top:50%;width:47px;height:47px;font-size:19px;transform:translateY(-50%)}
.gallery-lightbox-prev{left:28px}.gallery-lightbox-next{right:28px}

@media(max-width:900px){
  .gallery-hero-grid{grid-template-columns:1fr;gap:30px}
  .gallery-hero-copy{max-width:650px}
  .gallery-featured-caption{grid-template-columns:.35fr 1.65fr}
  .gallery-browser-head,.gallery-details-heading{display:block}
  .gallery-browser-head>p,.gallery-details-heading>p{max-width:560px;margin-top:24px}
  .gallery-item,.gallery-item:nth-child(2),.gallery-item:nth-child(5){grid-column:span 6}
  .gallery-item-wide{grid-column:1/-1}
  .gallery-lightbox-content{width:calc(100vw - 150px)}
}

@media(max-width:620px){
  .gallery-hero{padding-top:58px;padding-bottom:65px}
  .gallery-hero h1{font-size:clamp(47px,12vw,68px)}
  .gallery-hero-copy>p{font-size:14px;line-height:1.85}
  .gallery-hero-meta{gap:8px;font-size:7px;letter-spacing:.11em}
  .gallery-featured{padding-bottom:75px}
  .gallery-featured-image{aspect-ratio:1.1}
  .gallery-image-overlay{right:14px;bottom:14px;opacity:1;transform:none}
  .gallery-featured-caption{grid-template-columns:1fr;gap:10px;padding-top:21px}
  .gallery-filter{gap:0;margin-top:35px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .gallery-filter::-webkit-scrollbar{display:none}
  .gallery-filter button{flex:0 0 auto;padding-right:14px;padding-left:14px;font-size:8px}
  .gallery-grid{display:block}
  .gallery-item,.gallery-item:nth-child(2),.gallery-item:nth-child(5),.gallery-item-wide{margin-bottom:15px}
  .gallery-item .gallery-card,.gallery-item-tall .gallery-card,.gallery-item-wide .gallery-card{aspect-ratio:1.05}
  .gallery-card-caption{right:18px;bottom:18px;left:18px}
  .gallery-statement{padding:20px 0}
  .gallery-statement-inner{gap:12px}
  .gallery-statement p{font-size:8px;line-height:1.75;letter-spacing:.08em}
  .gallery-statement p em{display:block;margin:2px 0 0;font-size:12px}
  .gallery-detail-strip{grid-template-columns:1fr;gap:14px;margin-top:35px}
  .gallery-detail-card{aspect-ratio:1.15}
  .gallery-cta{padding:76px 0}
  .gallery-lightbox-content{width:calc(100vw - 38px);padding:65px 0 88px}
  .gallery-lightbox-image img{max-height:70vh}
  .gallery-lightbox-meta{display:block;padding-top:13px}
  .gallery-lightbox-meta span{display:block;margin-bottom:6px}
  .gallery-lightbox-close{top:15px;right:15px}
  .gallery-lightbox-nav{top:auto;bottom:20px;transform:none}
  .gallery-lightbox-prev{left:18px}.gallery-lightbox-next{right:18px}
}

@media(prefers-reduced-motion:reduce){
  .gallery-card img,.gallery-detail-card img,.gallery-featured-image img,.gallery-image-overlay{transition:none}
  .gallery-card:hover img,.gallery-detail-card:hover img,.gallery-featured-image:hover img{transform:none}
}
