.trust-strip { background: var(--forest); color: white; }
.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.trust-grid p { border-left: 1px solid rgba(255,255,255,.17); margin: 0; padding: 1.5rem 2rem; }
.trust-grid p:last-child { border-right: 1px solid rgba(255,255,255,.17); }
.trust-grid strong, .trust-grid span { display: block; }
.trust-grid strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; }
.trust-grid span { color: rgba(255,255,255,.68); font-size: .76rem; margin-top: .2rem; }

.section-mint { background: #e4f1ea; }
.about-grid { align-items: center; display: grid; gap: clamp(3rem, 8vw, 7rem); grid-template-columns: .7fr 1.1fr; }
.about-photo { margin: 0; position: relative; }
.about-photo img { border-radius: 45% 45% 1.5rem 1.5rem; width: 100%; }
.about-photo figcaption { background: var(--yellow); border-radius: 999px; bottom: 1.2rem; font-size: .82rem; font-weight: 850; padding: .65rem 1rem; position: absolute; right: -1.25rem; }
.about-copy h2 { font-size: clamp(2.5rem, 5vw, 4.5rem); letter-spacing: -.05em; }
.about-copy > p:not(.eyebrow) { color: #41605c; font-size: 1.06rem; }

.gallery-section { background: var(--paper); }
.gallery-grid { display: grid; gap: 1rem; grid-auto-rows: 16rem; grid-template-columns: repeat(4, 1fr); }
.gallery-card { border-radius: 1.2rem; overflow: hidden; position: relative; }
.gallery-card-wide { grid-column: span 2; }
.gallery-card img { height: 100%; object-fit: cover; transition: transform 250ms ease; width: 100%; }
.gallery-card:hover img { transform: scale(1.025); }
.gallery-card span { background: rgba(23,60,56,.88); bottom: .8rem; color: white; font-size: .76rem; font-weight: 850; left: .8rem; padding: .5rem .75rem; position: absolute; }
.before-after::before { background: var(--coral); color: #32130e; content: "AFTER"; font-size: .7rem; font-weight: 900; letter-spacing: .12em; padding: .55rem .7rem; position: absolute; right: .8rem; top: .8rem; z-index: 2; }
.gallery-more { display: flex; justify-content: center; margin-top: 2rem; }

.coat-tip { background: var(--yellow); padding-block: clamp(3.5rem, 6vw, 5.5rem); }
.coat-tip-inner { max-width: 62rem; }
.coat-tip .eyebrow { color: #713125; }
.coat-tip h2 { font-size: clamp(2.2rem, 5vw, 4rem); letter-spacing: -.04em; }
.coat-tip p:last-child { font-size: 1.08rem; max-width: 48rem; }

.visit-section { background: var(--cream); }
.visit-grid { align-items: stretch; display: grid; gap: clamp(2rem, 6vw, 5rem); grid-template-columns: 1fr .9fr; }
.storefront-photo { margin: 0; min-height: 40rem; overflow: hidden; }
.storefront-photo img { height: 100%; object-fit: cover; width: 100%; }
.visit-card { align-self: center; }
.visit-card h2 { font-size: clamp(2.5rem, 5vw, 4.5rem); letter-spacing: -.05em; }
.visit-card dl { border-block: 1px solid rgba(23,60,56,.18); margin-block: 2rem; }
.visit-card dl > div { display: grid; gap: 1rem; grid-template-columns: 6rem 1fr; padding-block: 1rem; }
.visit-card dl > div + div { border-top: 1px solid rgba(23,60,56,.12); }
.visit-card dt { font-size: .73rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.visit-card dd { color: #41605c; margin: 0; }
.visit-card dd a { font-weight: 750; }

.cta { background: #123c39; color: white; padding-block: 3.4rem; }
.cta-inner { align-items: center; display: flex; gap: 2rem; justify-content: space-between; }
.cta .eyebrow { color: var(--yellow); }
.cta h2 { color: white; font-size: clamp(2rem, 4vw, 3.4rem); margin: 0; }
.cta a { border-bottom: 2px solid var(--coral); color: white; font-weight: 850; padding-block: .4rem; text-decoration: none; }
.cta a:hover span { display: inline-block; transform: translateX(.25rem); }

@media (max-width: 800px) {
  .trust-grid { grid-template-columns: 1fr; padding-block: .6rem; }
  .trust-grid p, .trust-grid p:last-child { border: 0; padding: .75rem 1.25rem; }
  .about-grid, .visit-grid { grid-template-columns: 1fr; }
  .about-photo { max-width: 28rem; }
  .gallery-grid { grid-auto-rows: 13rem; grid-template-columns: repeat(2, 1fr); }
  .storefront-photo { min-height: 24rem; }
  .cta-inner { align-items: start; flex-direction: column; }
}

@media (max-width: 480px) {
  .gallery-grid { grid-auto-rows: 15rem; grid-template-columns: 1fr; }
  .gallery-card-wide { grid-column: span 1; }
  .about-photo figcaption { bottom: .8rem; right: .8rem; }
}
