/* gallery.html only — an editorial photo collection in Eagle ivory, forest and gold. */
body.page-gallery { --gallery-header-space:88px; --gallery-space:clamp(50px,5.5vw,76px); background:#fffdf8; color:#173b32; }
body.page-gallery main { overflow:clip; }
body.page-gallery main :is(h1,h2,h3,p,figure) { margin:0; }
body.page-gallery main .site-shell-wide { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
body.page-gallery main .section-pad { padding-block:var(--gallery-space); }
body.page-gallery main h2 { font:500 clamp(32px,3.3vw,48px)/1.12 var(--font-serif); letter-spacing:-.035em; }
body.page-gallery main .eyebrow { margin-bottom:14px; color:#82632f; font:600 11px/1.6 var(--font-sans); letter-spacing:.17em; text-transform:uppercase; }
body.page-gallery main .muted { color:#526150; font-size:14px; line-height:1.85; }
body.page-gallery .skip-link { position:fixed; top:-100px; left:16px; z-index:2000; padding:12px 18px; background:#173b32; color:#fffdf8; }
body.page-gallery .skip-link:focus { top:12px; }
body.page-gallery .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body.page-gallery :is(main,dialog) :is(a,button):focus-visible { outline:3px solid #9c793d; outline-offset:4px; box-shadow:none; }
body.page-gallery #gallery { scroll-margin-top:calc(var(--gallery-header-space) + 18px); }
body.page-gallery :is(.hero-pill,.gallery-text-link) { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; font:600 13px/1.6 var(--font-sans); text-decoration:none; cursor:pointer; }
body.page-gallery .hero-pill { padding:12px 19px; border:1px solid #b5bda9; border-radius:5px; color:#173b32; background:transparent; box-shadow:none; }
body.page-gallery .hero-pill:hover { background:#eef1e7; border-color:#8d9e84; }
body.page-gallery .hero-pill.primary { background:#173b32; border-color:#173b32; color:#fffdf8; }
body.page-gallery .hero-pill.primary:hover { background:#285446; border-color:#285446; }
body.page-gallery .gallery-text-link { padding:7px 0; color:#173b32; font-weight:500; text-decoration:underline; text-decoration-color:#b79a62; text-underline-offset:6px; }
body.page-gallery .gallery-text-link:hover { color:#82632f; }

/* The full-width photograph and cream veil continue the Home / About hero style. */
body.page-gallery .gallery-hero { position:relative; padding:0; border:0; overflow:hidden; background:#f7f3e8; }
body.page-gallery .gallery-hero-shell { position:relative; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:40px; width:100%; min-height:calc(100vh - var(--gallery-header-space)); min-height:calc(100svh - var(--gallery-header-space)); padding:32px clamp(24px,5vw,80px); isolation:isolate; }
body.page-gallery .gallery-hero-copy { position:relative; z-index:2; max-width:590px; min-width:0; padding:8px 0; }
body.page-gallery .gallery-breadcrumb { display:flex; gap:11px; align-items:center; margin-bottom:25px; color:#6e7566; font-size:11px; }
body.page-gallery .gallery-breadcrumb a { color:inherit; }
body.page-gallery .gallery-breadcrumb a:hover { text-decoration:underline; }
body.page-gallery .gallery-kicker { display:flex; gap:12px; align-items:center; margin-bottom:21px; color:#82632f; font:600 11px/1.6 var(--font-sans); letter-spacing:.13em; text-transform:uppercase; }
body.page-gallery .gallery-kicker > span { width:24px; height:1px; flex:none; background:#b69a63; }
body.page-gallery .gallery-hero h1 { max-width:620px; color:#173b32; font:600 clamp(43px,4.4vw,67px)/1.05 var(--font-serif); letter-spacing:-.045em; text-wrap:balance; }
body.page-gallery .gallery-hero h1 em { display:block; color:#896930; font-weight:500; }
body.page-gallery .gallery-hero .subtitle { max-width:475px; margin-top:20px; color:#526150; font-size:14px; line-height:1.8; }
body.page-gallery .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 23px; margin-top:25px; }
body.page-gallery .gallery-hero .hero-pill.primary { gap:22px; padding:14px 21px; border-radius:999px; border-color:#c4a56a; background:#c4a56a; color:#193b30; }
body.page-gallery .gallery-hero .hero-pill.primary:hover { border-color:#d8be86; background:#d8be86; }
body.page-gallery .hero-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; max-width:490px; margin-top:27px; padding-top:21px; border-top:1px solid #d8cfbb; }
body.page-gallery .hero-facts strong { display:block; color:#173b32; font:500 28px/1.15 var(--font-serif); }
body.page-gallery .hero-facts span { display:block; max-width:100px; margin-top:7px; color:#65715d; font-size:11px; line-height:1.65; }
body.page-gallery .gallery-hero-visual { position:absolute; inset:0; z-index:0; width:100%; height:100%; overflow:hidden; }
body.page-gallery .gallery-hero-visual img { width:100%; height:100%; object-fit:cover; object-position:65% center; }
body.page-gallery .gallery-hero-visual::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#f7f3e8 0%,#f7f3e8f5 28%,#f7f3e8d6 43%,#f7f3e81f 70%,#10281d0a); }
body.page-gallery .gallery-photo-label { position:absolute; z-index:2; top:25px; right:clamp(24px,5vw,80px); display:flex; gap:7px; align-items:center; padding:8px 12px; border:1px solid #ffffff55; border-radius:999px; background:#173b328c; color:#fff9ed; font-size:10px; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(8px); }
body.page-gallery .gallery-hero-visual figcaption { position:absolute; z-index:2; right:clamp(24px,5vw,80px); bottom:40px; width:33%; padding:23px; border-left:1px solid #d4b779; border-radius:0 12px 12px 0; color:#fff9ed; background:linear-gradient(90deg,#142c22d9,#142c2269); }
body.page-gallery .gallery-hero-visual figcaption h2 { color:#fff9ed; font:500 clamp(24px,2.5vw,36px)/1.12 var(--font-serif); }
body.page-gallery .gallery-hero-visual figcaption em { color:#e5cd95; }
body.page-gallery .gallery-hero-visual figcaption p { max-width:440px; margin-top:13px; color:#f0eadd; font-size:12px; line-height:1.8; }
body.page-gallery .gallery-hero-visual figcaption a { display:inline-flex; gap:12px; align-items:center; min-height:44px; margin-top:5px; color:#fff9ed; font-size:12px; text-decoration:underline; text-underline-offset:6px; }

/* A quiet existing introduction, without the old floating card or shadow. */
body.page-gallery .gallery-intro { padding-block:30px; background:#f0ede3; border-bottom:1px solid #e0d9c8; }
body.page-gallery .intro-shell { display:grid; grid-template-columns:1.3fr .7fr; align-items:center; gap:60px; }
body.page-gallery .intro-shell .eyebrow { margin-bottom:9px; }
body.page-gallery .intro-shell h2 { font-size:28px; }
body.page-gallery .intro-shell p:last-child { max-width:660px; margin-top:12px; color:#596650; font-size:13px; line-height:1.8; }
body.page-gallery .intro-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding-left:27px; border-left:1px solid #c7b68e; }
body.page-gallery .intro-facts span { color:#526150; font-size:11px; line-height:1.6; }
body.page-gallery .intro-facts i { display:block; margin-bottom:9px; color:#94733b; font-size:21px; }
body.page-gallery #gallery .section-title { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:28px; }
body.page-gallery #gallery .section-title .muted { max-width:680px; margin-top:18px; }
body.page-gallery .collection-note { display:flex; gap:9px; align-items:center; flex:none; padding-bottom:5px; color:#7b735f; font:italic 14px/1.7 var(--font-serif); }
body.page-gallery .collection-note i { color:#94733b; font-size:16px; }

/* Flat filter tabs blend into the paper. Counts come from the actual collection. */
body.page-gallery .gallery-toolbar { display:none; margin-bottom:28px; border-block:1px solid #dcd3be; }
body.page-gallery.has-gallery-js .gallery-toolbar { display:block; }
body.page-gallery .gallery-toolbar-panel { display:flex; justify-content:space-between; align-items:center; gap:22px; }
body.page-gallery .gallery-result { display:flex; align-items:baseline; gap:7px; flex:none; order:2; color:#68715f; }
body.page-gallery .gallery-result span { color:#173b32; font:500 24px/1 var(--font-serif); }
body.page-gallery .gallery-result small { font-size:11px; }
body.page-gallery .filter-shell { display:flex; flex-wrap:wrap; gap:5px 22px; align-items:center; min-width:0; }
body.page-gallery .filter-chip { display:inline-flex; align-items:center; gap:7px; min-height:56px; padding:12px 0; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; box-shadow:none; color:#62705a; font:500 12px/1.6 var(--font-sans); cursor:pointer; }
body.page-gallery .filter-chip i { color:#8d784e; font-size:14px; }
body.page-gallery .filter-chip .filter-count { color:#8a8c79; font-size:10px; }
body.page-gallery .filter-chip:hover { color:#173b32; border-bottom-color:#d1be94; }
body.page-gallery .filter-chip[aria-selected=true] { color:#173b32; border-bottom-color:#9c793d; font-weight:600; }
body.page-gallery .filter-chip[aria-selected=true] .filter-count { color:#82632f; }

/* Photographs remain clear: separate caption areas, no white wash or hover lift. */
body.page-gallery .gallery-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:30px 25px; }
body.page-gallery .g-card { display:block; grid-column:span 4; min-width:0; border:0; color:#173b32; background:transparent; text-decoration:none; cursor:pointer; }
body.page-gallery .g-card.featured,body.page-gallery .g-card.wide { grid-column:span 8; }
body.page-gallery .g-card[hidden],body.page-gallery .g-card.is-hidden { display:none; }
body.page-gallery .g-media { position:relative; height:240px; overflow:hidden; background:#e9e7dc; border-radius:10px 38px 10px 10px; isolation:isolate; }
body.page-gallery .g-card.featured .g-media,body.page-gallery .g-card:nth-child(2) .g-media { height:320px; }
body.page-gallery .g-card.wide .g-media,body.page-gallery .g-card:nth-child(7) .g-media { height:280px; }
body.page-gallery .g-card.featured .g-media { border-top-right-radius:65px; }
body.page-gallery .g-media picture { display:block; width:100%; height:100%; }
body.page-gallery .g-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 45%; filter:none; }
body.page-gallery .g-card:nth-child(2) .g-media img { object-position:55% 40%; }
body.page-gallery .g-card:nth-child(4) .g-media img { object-position:48% center; }
body.page-gallery .g-card:nth-child(10) .g-media img { object-position:65% center; }
body.page-gallery .g-frame-index { position:absolute; z-index:1; top:15px; left:15px; padding:5px 8px; border:1px solid #ffffff55; border-radius:4px; background:#173b32c9; color:#fff9ed; font-size:10px; letter-spacing:.08em; pointer-events:none; }
body.page-gallery .g-content { position:relative; padding:17px 44px 0 0; }
body.page-gallery .g-badge { display:flex; gap:6px; align-items:center; margin-bottom:7px; color:#82632f; font:500 10px/1.7 var(--font-sans); letter-spacing:.12em; text-transform:uppercase; }
body.page-gallery .g-badge i { font-size:13px; }
body.page-gallery .g-title { color:#173b32; font:500 24px/1.17 var(--font-serif); letter-spacing:-.02em; }
body.page-gallery .g-copy { max-width:620px; margin-top:8px; color:#5a6854; font-size:13px; line-height:1.8; }
body.page-gallery .g-action { position:absolute; top:24px; right:0; display:flex; align-items:center; justify-content:center; width:32px; height:32px; border:1px solid #c8b68c; border-radius:50%; color:#82632f; font-size:0; transition:background .2s ease,color .2s ease; }
body.page-gallery .g-action i { font-size:14px; }
body.page-gallery .g-card:hover .g-action { background:#173b32; border-color:#173b32; color:#fffdf8; }
body.page-gallery .empty-state { display:none; padding:25px 0; color:#526150; font-size:14px; }
body.page-gallery .empty-state.is-visible { display:block; }
body.page-gallery .gallery-cta { display:grid; grid-template-columns:1fr auto; align-items:center; gap:35px; margin-top:55px; padding:30px 32px; border:1px solid #d2dac7; border-radius:35px 10px 10px 10px; background:#e9eddf; box-shadow:none; }
body.page-gallery .gallery-cta h2 { font-size:32px; }
body.page-gallery .gallery-cta p:last-child { max-width:690px; margin-top:13px; color:#526150; font-size:13px; line-height:1.8; }
body.page-gallery .gallery-cta .cta-actions { display:flex; flex-wrap:wrap; gap:9px; }

/* Native dialog isolates keyboard focus. The image is always shown uncropped. */
body.page-gallery .lightbox { width:min(1180px,calc(100vw - 40px)); max-width:none; max-height:calc(100dvh - 40px); padding:0; border:1px solid #d5c7a7; border-radius:14px; background:#fffdf8; color:#173b32; box-shadow:0 18px 70px #10271f40; overflow:auto; }
body.page-gallery .lightbox:not([open]) { display:none; }
body.page-gallery .lightbox::backdrop { background:#10271fb5; backdrop-filter:blur(7px); }
body.page-gallery .lb-inner { position:relative; }
body.page-gallery .lb-close { position:absolute; z-index:3; top:14px; right:14px; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #ffffff66; border-radius:50%; color:#fffdf8; background:#173b32db; cursor:pointer; }
body.page-gallery .lb-close:hover { background:#2b5446; }
body.page-gallery .lb-media-wrap { position:relative; display:grid; place-items:center; min-height:180px; height:clamp(220px,63dvh,700px); background:#eceadf; overflow:hidden; touch-action:pan-y; }
body.page-gallery .lb-media { position:absolute; inset:0; display:block; width:100%; height:100%; min-width:0; min-height:0; max-height:none; object-fit:contain; }
body.page-gallery .lb-media.is-loading { opacity:.25; }
body.page-gallery .lb-media-wrap.is-loading::after { content:'Loading photograph…'; position:absolute; color:#526150; font-size:13px; }
body.page-gallery .lb-error { max-width:300px; padding:20px; color:#526150; font-size:14px; text-align:center; }
body.page-gallery .lb-cap { display:grid; grid-template-columns:1fr auto; gap:12px 25px; align-items:center; padding:21px 25px 12px; }
body.page-gallery .lb-caption-text { min-width:0; }
body.page-gallery .lb-caption-text strong { display:block; color:#173b32; font:500 27px/1.2 var(--font-serif); }
body.page-gallery #lbDescription { max-width:720px; margin:9px 0 0; color:#5a6854; font-size:13px; line-height:1.7; }
body.page-gallery .lb-caption-text > span { display:flex; align-items:center; gap:9px; margin-top:10px; color:#82632f; font-size:11px; }
body.page-gallery .lb-actions { display:flex; gap:7px; }
body.page-gallery .lb-btn { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #c8b68c; border-radius:50%; color:#173b32; background:transparent; cursor:pointer; font-size:15px; }
body.page-gallery .lb-btn:hover { background:#e9eddf; }
body.page-gallery .lb-btn:disabled { opacity:.35; cursor:default; }
body.page-gallery .lb-status { grid-column:1/-1; min-height:16px; color:#82632f; font-size:11px; line-height:1.6; }
body.page-gallery noscript p { padding-inline:20px; font-size:13px; }

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  body.page-gallery .g-media img { transition:transform .6s ease; }
  body.page-gallery .g-card:hover .g-media img { transform:scale(1.025); }
}
@media (max-width:1100px) {
  body.page-gallery main .site-shell-wide { width:calc(100% - 48px); }
  body.page-gallery .intro-shell { gap:30px; }
  body.page-gallery .filter-shell { gap:5px 15px; }
  body.page-gallery .collection-note { display:none; }
  body.page-gallery .gallery-hero-visual figcaption { width:35%; }
  body.page-gallery .gallery-cta { grid-template-columns:1fr; gap:20px; }
}
@media (max-width:1080px) { body.page-gallery { --gallery-header-space:76px; } }
@media (max-width:900px) {
  body.page-gallery .gallery-hero-shell { display:block; min-height:calc(100svh - var(--gallery-header-space)); padding:30px 24px 300px; }
  body.page-gallery .gallery-hero-copy { max-width:590px; }
  body.page-gallery .gallery-hero h1 { font-size:clamp(39px,5.7vw,56px); }
  body.page-gallery .gallery-hero-visual img { object-position:62% bottom; }
  body.page-gallery .gallery-hero-visual::after { background:linear-gradient(180deg,#f7f3e8 0%,#f7f3e8 33%,#f7f3e8dc 51%,#f7f3e80a 76%,#10271d1c); }
  body.page-gallery .gallery-photo-label { top:auto; bottom:240px; right:24px; }
  body.page-gallery .gallery-hero-visual figcaption { width:calc(100% - 48px); right:24px; bottom:22px; padding:17px 20px; }
  body.page-gallery .gallery-hero-visual figcaption h2 { font-size:26px; }
  body.page-gallery .gallery-hero-visual figcaption p { max-width:530px; }
  body.page-gallery .intro-shell { grid-template-columns:1fr; gap:24px; }
  body.page-gallery .intro-facts { padding:0; border:0; max-width:460px; }
  body.page-gallery .intro-facts i { display:inline-block; margin:0 8px 0 0; vertical-align:middle; font-size:18px; }
  body.page-gallery .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:27px 20px; }
  body.page-gallery .g-card,body.page-gallery .g-card.featured,body.page-gallery .g-card.wide { grid-column:span 1; }
  body.page-gallery .g-card .g-media,body.page-gallery .g-card.featured .g-media,body.page-gallery .g-card:nth-child(2) .g-media,body.page-gallery .g-card.wide .g-media,body.page-gallery .g-card:nth-child(7) .g-media { height:240px; border-top-right-radius:38px; }
  body.page-gallery .gallery-toolbar-panel { gap:12px; }
  body.page-gallery .filter-shell { gap:5px 17px; }
  body.page-gallery .gallery-result { display:none; }
  body.page-gallery .filter-chip { min-height:48px; }
  body.page-gallery .g-title { font-size:23px; }
}
@media (max-width:600px) {
  body.page-gallery { --gallery-space:46px; }
  body.page-gallery main .site-shell-wide { width:calc(100% - 36px); }
  body.page-gallery .gallery-hero-shell { padding:24px 20px 235px; }
  body.page-gallery .gallery-breadcrumb { margin-bottom:18px; }
  body.page-gallery .gallery-kicker { margin-bottom:16px; font-size:10px; }
  body.page-gallery .gallery-hero h1 { font-size:clamp(36px,9.3vw,45px); }
  body.page-gallery .gallery-hero .subtitle { margin-top:16px; font-size:13px; line-height:1.8; }
  body.page-gallery .hero-actions { gap:6px 15px; margin-top:18px; }
  body.page-gallery .gallery-hero .hero-pill.primary { min-height:44px; padding:12px 17px; gap:14px; font-size:12px; }
  body.page-gallery .gallery-text-link { font-size:11px; }
  body.page-gallery .hero-facts { gap:8px; margin-top:18px; padding-top:16px; }
  body.page-gallery .hero-facts strong { font-size:23px; }
  body.page-gallery .hero-facts span { font-size:10px; line-height:1.5; }
  body.page-gallery .gallery-hero-visual img { object-position:65% bottom; }
  body.page-gallery .gallery-hero-visual::after { background:linear-gradient(180deg,#f7f3e8 0%,#f7f3e8 40%,#f7f3e8dd 59%,#f7f3e805 80%,#10271d25); }
  body.page-gallery .gallery-photo-label { right:20px; bottom:185px; font-size:7px; padding:6px 9px; }
  body.page-gallery .gallery-hero-visual figcaption { right:20px; bottom:20px; width:calc(100% - 40px); padding:14px 16px; }
  body.page-gallery .gallery-hero-visual figcaption h2 { font-size:24px; }
  body.page-gallery .gallery-hero-visual figcaption p { display:none; }
  body.page-gallery .gallery-hero-visual figcaption a { min-height:36px; font-size:11px; }
  body.page-gallery .gallery-intro { padding-block:25px; }
  body.page-gallery .intro-shell h2 { font-size:26px; }
  body.page-gallery .intro-shell p:last-child { font-size:12px; }
  body.page-gallery .intro-facts { gap:10px; }
  body.page-gallery .intro-facts span { font-size:10px; }
  body.page-gallery .intro-facts i { display:block; margin-bottom:6px; }
  body.page-gallery #gallery .section-title { margin-bottom:23px; }
  body.page-gallery #gallery .section-title .muted { margin-top:15px; font-size:13px; }
  body.page-gallery .gallery-toolbar { margin-bottom:23px; }
  body.page-gallery .filter-shell { flex-wrap:wrap; gap:0 18px; }
  body.page-gallery .filter-chip { min-height:44px; padding:10px 0; font-size:11px; }
  body.page-gallery .filter-chip i { display:none; }
  body.page-gallery .gallery-grid { grid-template-columns:1fr; gap:27px; }
  body.page-gallery .g-card .g-media,body.page-gallery .g-card.featured .g-media,body.page-gallery .g-card:nth-child(2) .g-media,body.page-gallery .g-card.wide .g-media,body.page-gallery .g-card:nth-child(7) .g-media { height:auto; aspect-ratio:3/2; border-top-right-radius:36px; }
  body.page-gallery .g-card:nth-child(4) .g-media,body.page-gallery .g-card:nth-child(10) .g-media { aspect-ratio:8/5; }
  body.page-gallery .g-content { padding-top:14px; }
  body.page-gallery .g-title { font-size:23px; }
  body.page-gallery .g-copy { font-size:12px; line-height:1.8; }
  body.page-gallery .g-action { top:22px; }
  body.page-gallery .gallery-cta { margin-top:35px; padding:25px 21px; }
  body.page-gallery .gallery-cta h2 { font-size:28px; }
  body.page-gallery .gallery-cta p:last-child { font-size:12px; }
  body.page-gallery .gallery-cta .hero-pill { min-height:44px; padding:11px 14px; font-size:12px; }
  body.page-gallery .lightbox { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:10px; }
  body.page-gallery .lb-media-wrap { height:48dvh; min-height:180px; }
  body.page-gallery .lb-close { top:10px; right:10px; }
  body.page-gallery .lb-cap { grid-template-columns:1fr; gap:12px; padding:17px 18px 12px; }
  body.page-gallery .lb-caption-text strong { font-size:24px; }
  body.page-gallery #lbDescription { font-size:12px; }
  body.page-gallery .lb-actions { justify-content:space-between; gap:10px; max-width:260px; }
}
@media (prefers-reduced-motion:reduce) { body.page-gallery { scroll-behavior:auto; } body.page-gallery * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Filtered collections use even tiles rather than leaving gaps from featured spans. */
@media (min-width:901px) {
  body.page-gallery[data-gallery-filter]:not([data-gallery-filter=all]) .g-card { grid-column:span 4; }
  body.page-gallery[data-gallery-filter]:not([data-gallery-filter=all]) .g-card .g-media { height:240px; border-top-right-radius:38px; }
}
body.page-gallery .lb-media[hidden],body.page-gallery .lb-error[hidden] { display:none; }

body.page-gallery .lightbox.show:not([open]) { display:block; position:fixed; inset:20px 0; z-index:1100; margin:auto; }


/* Refined collection: legible captions, paper-like tabs and purposeful photo browsing. */
body.page-gallery .gallery-hero h1 { font-weight:500; }
body.page-gallery .gallery-hero .subtitle { max-width:480px; }
body.page-gallery .hero-facts span { color:#526150; }
body.page-gallery .gallery-photo-label { font-size:10px; letter-spacing:.1em; }
body.page-gallery .gallery-toolbar { position:sticky; top:var(--gallery-sticky-top,88px); z-index:5; background:#fffdf8f5; backdrop-filter:blur(12px); }
body.page-gallery .filter-chip { font-size:12px; }
body.page-gallery .filter-chip .filter-count { font-size:10px; }
body.page-gallery .g-content { padding:17px 46px 18px 0; border-bottom:1px solid #ded8c8; }
body.page-gallery .g-badge { color:#795b29; }
body.page-gallery .g-title { text-wrap:balance; }
body.page-gallery .g-copy { color:#526150; }
body.page-gallery .g-action { width:36px; height:36px; }
body.page-gallery .g-card:focus-visible .g-action { background:#173b32; color:#fffdf8; }
body.page-gallery .lightbox { width:min(1120px,calc(100vw - 40px)); }
body.page-gallery .lb-media-wrap { height:clamp(180px,54dvh,620px); background:#e9e7dc; }
body.page-gallery .lb-step { position:absolute; z-index:2; top:calc(50% - 22px); border-color:#ffffff80; color:#fffdf8; background:#173b32d9; box-shadow:0 2px 12px #10271f1a; }
body.page-gallery .lb-step:hover { background:#2b5446; }
body.page-gallery .lb-step:disabled { display:none; }
body.page-gallery .lb-step-left { left:14px; }
body.page-gallery .lb-step-right { right:14px; }
body.page-gallery .lb-cap { align-items:start; padding:20px 25px 8px; }
body.page-gallery #lbDescription { font-size:13px; }
body.page-gallery .lb-related { display:inline-flex; align-items:center; gap:12px; min-height:36px; margin-top:6px; color:#173b32; font:600 12px/1.6 var(--font-sans); text-decoration:underline; text-decoration-color:#c4a56a; text-underline-offset:5px; }
body.page-gallery .lb-related:hover { color:#82632f; }
body.page-gallery .lb-related[hidden] { display:none; }
body.page-gallery .lb-caption-text > span { margin-top:6px; font-size:11px; }
body.page-gallery .lb-status { min-height:18px; font-size:11px; }
body.page-gallery .lb-thumbs { display:flex; align-items:center; gap:8px; padding:4px 25px 18px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; }
body.page-gallery .lb-thumbs[hidden] { display:none; }
body.page-gallery .lb-thumb { flex:0 0 68px; width:68px; height:49px; padding:3px; border:1px solid transparent; border-radius:6px; background:transparent; cursor:pointer; }
body.page-gallery .lb-thumb img { display:block; width:100%; height:100%; object-fit:cover; border-radius:3px; opacity:.62; }
body.page-gallery .lb-thumb:hover img,body.page-gallery .lb-thumb[aria-pressed=true] img { opacity:1; }
body.page-gallery .lb-thumb[aria-pressed=true] { border-color:#82632f; background:#f2edde; }
body.page-gallery .lb-thumb:focus-visible { outline-offset:1px; }
@media (max-width:900px) {
  body.page-gallery .gallery-hero-shell { padding-bottom:310px; }
  body.page-gallery .gallery-hero-visual img { position:absolute; bottom:0; height:400px; object-position:55% 48%; }
  body.page-gallery .gallery-hero-visual::after { background:linear-gradient(180deg,#f7f3e8 0%,#f7f3e8 38%,#f7f3e8d9 51%,#f7f3e800 73%,#10271d18); }
  body.page-gallery .gallery-hero-visual figcaption p { font-size:12px; }
  body.page-gallery .gallery-hero-visual figcaption a { font-size:12px; }
  body.page-gallery .gallery-toolbar-panel { min-width:0; }
  body.page-gallery .filter-shell { width:100%; flex-wrap:nowrap; overflow-x:auto; gap:20px; scrollbar-width:thin; }
  body.page-gallery .filter-chip { flex-shrink:0; white-space:nowrap; }
}
@media (max-width:600px) {
  body.page-gallery .gallery-hero-shell { padding-bottom:235px; }
  body.page-gallery .gallery-hero-visual img { height:clamp(280px,38svh,400px); object-position:55% 48%; }
  body.page-gallery .gallery-kicker { font-size:10px; }
  body.page-gallery .gallery-hero .subtitle { font-size:13px; }
  body.page-gallery .hero-facts span { font-size:10px; }
  body.page-gallery .gallery-text-link { font-size:12px; }
  body.page-gallery .intro-shell p:last-child,body.page-gallery .g-copy,body.page-gallery .gallery-cta p:last-child { font-size:13px; }
  body.page-gallery .intro-facts span { font-size:11px; }
  body.page-gallery .filter-shell { gap:19px; }
  body.page-gallery .lb-media-wrap { height:42dvh; min-height:150px; }
  body.page-gallery .lb-cap { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:16px 16px 6px; }
  body.page-gallery .lb-caption-text strong { font-size:23px; }
  body.page-gallery .lb-actions { flex-direction:column; gap:8px; }
  body.page-gallery .lb-actions .lb-btn { width:44px; height:44px; }
  body.page-gallery .lb-related { font-size:12px; }
  body.page-gallery .lb-thumbs { padding:4px 16px 14px; }
  body.page-gallery .lb-step-left { left:10px; }
  body.page-gallery .lb-step-right { right:10px; }
}
