.hero-actions {flex-wrap:wrap;}
.style-gallery {padding:clamp(64px,8vw,110px) clamp(24px,7vw,105px);background:#eae7df;border-top:1px solid var(--line);}
.gallery-heading {display:grid;grid-template-columns:1.15fr 1fr;align-items:end;gap:32px;margin-bottom:44px;}
.gallery-heading h2 {margin:0;font-size:clamp(2.8rem,5.5vw,5.5rem);line-height:.98;letter-spacing:-.055em;}
.gallery-heading h2 em {font-family:Georgia,serif;font-weight:400;}
.gallery-intro {max-width:460px;}
.gallery-intro p {margin:0 0 14px;font-size:1.0625rem;line-height:1.65;}
.gallery-intro .gallery-availability {margin-bottom:0;color:#5b594f;font-size:.9375rem;}
.gallery-grid {columns:3 240px;column-gap:24px;}
.gallery-card {display:inline-block;vertical-align:top;width:100%;margin:0 0 26px;break-inside:avoid;}
.gallery-photo {position:relative;display:block;overflow:hidden;border-radius:6px;background:#d5d3cd;text-decoration:none;}
.gallery-photo img {display:block;width:100%;height:auto;}
.gallery-enlarge {position:absolute;right:12px;bottom:12px;padding:9px 13px;border:1px solid #ffffff60;border-radius:999px;color:#fff;background:#12120fe8;font-size:.875rem;font-weight:600;}
.gallery-photo:hover .gallery-enlarge {background:var(--sun);border-color:var(--sun);color:var(--ink);}
.gallery-photo:focus-visible {outline:3px solid var(--sun-dark);outline-offset:5px;}
.gallery-card figcaption {display:grid;gap:5px;padding:15px 2px 0;}
.gallery-card figcaption > span {font-size:1rem;font-weight:750;line-height:1.4;}
.gallery-card figcaption small {color:#5b594f;font-size:.875rem;line-height:1.4;}
.gallery-footer {display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;margin-top:24px;}
.gallery-footer p {flex:1 1 280px;max-width:550px;margin:0;color:#5b594f;font-size:.875rem;line-height:1.6;}
.gallery-footer .text-link {font-size:.9375rem;}
.gallery-dialog {width:min(940px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:20px;border:1px solid #ffffff45;border-radius:18px;color:var(--paper);background:#191714;overflow:auto;overscroll-behavior:contain;}
.gallery-dialog::backdrop {background:#080706df;backdrop-filter:blur(8px);}
.gallery-dialog-top {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;}
.gallery-dialog-top > span {font-family:Georgia,serif;font-size:1.0625rem;font-weight:700;}
.gallery-dialog button {display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;gap:12px;padding:8px 13px;border:1px solid #ffffff60;border-radius:999px;color:var(--paper);background:transparent;font:inherit;cursor:pointer;}
.gallery-dialog button:hover {border-color:var(--sun);color:var(--sun);}
.gallery-dialog button:focus-visible {outline:3px solid var(--sun);outline-offset:3px;}
.gallery-dialog-top button span {font-size:1.6rem;line-height:1;}
.gallery-full-frame {display:grid;place-items:center;min-height:160px;background:#100f0d;border-radius:8px;overflow:hidden;}
.gallery-full-frame img {display:block;width:100%;height:min(56dvh,650px);object-fit:contain;}
.gallery-dialog-info {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;}
.gallery-dialog-info > div:first-child {flex:1 1 280px;}
.gallery-dialog-info h3 {margin:0 0 8px;font-size:1.25rem;letter-spacing:-.02em;}
.gallery-dialog-info p {margin:0;max-width:580px;color:#d3c4b7;font-size:.875rem;line-height:1.5;}
.gallery-pagination {display:flex;align-items:center;gap:12px;}
.gallery-pagination > span {min-width:42px;text-align:center;font-size:.875rem;font-variant-numeric:tabular-nums;}
.gallery-dialog > .button {width:100%;font-size:1rem;text-align:center;}
body.gallery-open {overflow:hidden;}
@media(max-width:820px) {
  .gallery-heading {grid-template-columns:1fr;gap:24px;}
  .gallery-intro {max-width:620px;}
  .gallery-grid {columns:2 220px;column-gap:20px;}
}
@media(max-width:560px) {
  .style-gallery {padding:56px 24px;}
  .gallery-heading {margin-bottom:28px;}
  .gallery-grid {display:grid;grid-auto-flow:column;grid-auto-columns:86%;gap:16px;columns:auto;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-bottom:18px;scrollbar-color:var(--sun-dark) #d5d3cd;}
  .gallery-grid .gallery-card {margin:0;scroll-snap-align:start;}
  .gallery-grid .gallery-photo img {height:clamp(250px,80vw,360px);object-fit:contain;}
  .gallery-card {margin-bottom:28px;}
  .gallery-dialog {width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:14px;border-radius:14px;}
  .gallery-full-frame img {height:46dvh;}
  .gallery-dialog-info {padding:16px 0;}
}
