/* Closing band over a photo */
.crf-cta { position: relative; display: grid; place-items: center; min-height: clamp(300px, 42vw, 420px); overflow: hidden; text-align: center; color: var(--cr-paper); }
.crf-cta__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.crf-cta::after { content: ""; position: absolute; inset: 0; background: rgba(12, 18, 17, 0.66); }
.crf-cta__in { position: relative; z-index: 1; padding: 48px var(--cr-gutter); text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45); }
.crf-cta__label { color: var(--cr-gold-light); font-weight: 400; }
.crf-cta__title { margin: 0.3em 0 0.35em; font-family: var(--cr-serif); font-weight: 400; font-size: clamp(30px, 4vw, 44px); color: var(--cr-paper); }
.crf-cta__line { margin: 0 0 24px; font-style: italic; }

/* Footer */
.crf { position: relative; padding-block: clamp(56px, 7vw, 80px) 28px; background: var(--cr-deep); color: var(--cr-muted); }
.crf::before { content: ""; position: absolute; left: 0; right: 0; top: -17px; height: 18px; background: inherit; -webkit-mask: url(../images/brush.svg) 0 0 / 100% 100% no-repeat; mask: url(../images/brush.svg) 0 0 / 100% 100% no-repeat; }
.crf-crest { display: flex; align-items: center; justify-content: center; gap: 24px; }
.crf-crest img { width: 88px; height: 88px; }
.crf-sprig { width: clamp(60px, 10vw, 110px); height: 20px; background: var(--cr-gold); -webkit-mask: url(../images/long-sprig.svg) center / contain no-repeat; mask: url(../images/long-sprig.svg) center / contain no-repeat; }
.crf-sprig--flip { transform: scaleX(-1); }
.crf-word { margin: 14px 0 clamp(40px, 5vw, 56px); text-align: center; font-family: var(--cr-serif); font-size: 18px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--cr-paper); }
.crf-word small { display: block; margin-top: 6px; font-family: var(--cr-sans); font-weight: 300; font-size: 9px; letter-spacing: 0.42em; color: var(--cr-gold); }
.crf-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin-bottom: 44px; font-size: 14.5px; line-height: 1.85; }
.crf-grid .cr-label { margin-bottom: 12px; }
.crf-grid p { margin: 0; }
.crf-grid a:not(.cr-btn, .crf-social-link) { color: var(--cr-paper); text-decoration: underline; text-decoration-color: rgba(212, 180, 106, 0.5); text-underline-offset: 4px; }
.crf-hours { margin: 0; }
.crf-hours div { display: flex; gap: 16px; }
.crf-hours dt, .crf-hours dd { margin: 0; }
.crf-note { margin-top: 12px !important; font-style: italic; }
.crf-links { margin: 0; padding: 0; list-style: none; }
.crf-social { display: flex; gap: 10px; margin-bottom: 18px; }
.crf-social-link { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(212, 180, 106, 0.5); border-radius: 50%; color: var(--cr-gold); }
.crf-social-link svg { width: 16px; height: 16px; }
.crf-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; padding-top: 22px; border-top: 1px solid rgba(212, 180, 106, 0.22); font-family: var(--cr-sans); font-weight: 300; font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: #9d9585; }
.crf-base nav { display: flex; flex-wrap: wrap; gap: 0 22px; }
/* 24px minimum tap height (WCAG 2.2 target size) without changing the look. */
.crf-base a { display: inline-block; padding-block: 6px; text-decoration: none; }
.crf-link-button { display: inline-block; padding: 6px 0; border: 0; background: none; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
.crf-base a:hover, .crf-link-button:hover, .crf-link-button:focus-visible { color: var(--cr-paper); }

@media (max-width: 860px) { .crf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) {
	.crf-grid { grid-template-columns: 1fr; text-align: center; }
	.crf-hours div, .crf-social { justify-content: center; }
	.crf-base { justify-content: center; text-align: center; }
}
