.gallery-section{background:#eef1e8;border:1px solid #dce3d5;border-radius:36px;padding:52px 32px 22px;box-shadow:0 24px 70px #173f4308}
.gallery-section .eyebrow,.gallery-section .gallery-authentic{color:#426359}.gallery-section h2{color:var(--ink)}.gallery-heading-aside p{color:#5c7065}.gallery-authentic{background:#fffaf0;border-color:#d6dfd0}
.shop-gallery{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:auto;gap:22px;counter-reset:photograph;align-items:stretch}
.gallery-tile{grid-column:span 4;display:flex;flex-direction:column;min-width:0;border-radius:22px;overflow:hidden;background:#fffdf8;border:1px solid #dce3d8;box-shadow:0 7px 22px #173f4306;counter-increment:photograph;transition:transform .3s,box-shadow .3s}
.gallery-tile:first-child{grid-column:span 7;grid-row:auto}.gallery-tile:nth-child(2){grid-column:span 5}.gallery-tile:after{display:none}
.gallery-tile img{display:block;width:100%;height:250px;object-fit:cover;object-position:center;aspect-ratio:auto;filter:none;transform:none}.gallery-tile:first-child img,.gallery-tile:nth-child(2) img{height:350px}.gallery-tile:nth-child(2) img{object-position:center 45%}
.gallery-tile[data-photo=exterior] img{height:250px;object-fit:scale-down!important;background:radial-gradient(ellipse,#f6efe1,#e7eadd);padding:20px}
.gallery-tile-caption{position:static;inset:auto;display:flex;align-items:center;padding:20px;color:var(--ink);gap:14px;flex:1;border-top:1px solid #e5e9df}.gallery-tile-caption>span:first-child{min-width:0}.gallery-tile-caption small{font:9px Arial;letter-spacing:2px;color:#6c8074;margin-bottom:8px;opacity:1}.gallery-tile-caption small:before{content:counter(photograph,decimal-leading-zero) ' / ';color:#b47c58}.gallery-tile-caption b{font-size:13px;line-height:1.9;font-weight:600}.gallery-expand{width:36px;height:36px;margin-inline-start:auto;background:#edf2e8;border:1px solid #d7e1d0;color:#345c50}
@media(hover:hover){.gallery-tile:hover{transform:translateY(-5px);box-shadow:0 16px 35px #173f4314}.gallery-tile:hover img{transform:none}.gallery-tile:hover .gallery-expand{background:#173f43;color:white}}
.gallery-tile:focus-visible{outline:3px solid var(--coral);outline-offset:4px}.gallery-section .gallery-restoration-note{font-size:10px;line-height:2.1;color:#5d7166;margin:20px 0 0;padding:13px 17px;border:1px dashed #c7d3c2;border-radius:12px;background:#f8f8f1}.gallery-restoration-note a{text-decoration:underline;text-underline-offset:4px;margin-inline-start:8px;color:#31594c}.gallery-section .gallery-footnote{color:#5b7063;border-color:#d7dfd0}.gallery-section .gallery-footnote .text-link{color:#31594c}
.about-visual .about-photo{border-radius:140px 140px 28px 28px;padding:8px;background:#faf8f2}.about-photo .about-store-image{border-radius:128px 128px 20px 20px;object-position:center top}.article-image{overflow:hidden;border-radius:18px}.article-image img{transition:transform .5s}.article-card:hover .article-image img{transform:scale(1.025)}
@media(max-width:900px){.shop-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gallery-tile,.gallery-tile:first-child,.gallery-tile:nth-child(2){grid-column:span 1;grid-row:auto}.gallery-tile:first-child img,.gallery-tile:nth-child(2) img{height:280px}}
@media(max-width:600px){.gallery-section{padding:30px 16px 14px;border-radius:26px}.shop-gallery{grid-template-columns:minmax(0,1fr);gap:18px}.gallery-tile,.gallery-tile:first-child,.gallery-tile:nth-child(2),.gallery-tile:last-child{grid-column:1;grid-row:auto}.gallery-tile img,.gallery-tile:first-child img,.gallery-tile:nth-child(2) img{height:260px}.gallery-tile[data-photo=exterior] img{height:210px}.gallery-tile-caption{padding:17px}.gallery-tile-caption b{font-size:13px}.gallery-tile-caption small{font-size:8px}.gallery-heading-aside{margin-bottom:20px}.gallery-section .gallery-restoration-note{font-size:10px}.about-visual .about-photo{height:470px}}
@media(prefers-reduced-motion:reduce){.gallery-tile,.article-image img{transition:none}.gallery-tile:hover,.article-card:hover .article-image img{transform:none}}
.contact-numbers{flex-wrap:wrap}.contact-numbers .contact-email{max-width:100%;overflow-wrap:anywhere}
