.press-preview { padding: 5rem 0; }
.home-page .press-preview { padding-bottom: clamp(2rem, 4vw, 3rem); background: #ece2d1; border-bottom: 1px solid #c4a779; }
.home-page .press-preview .eyebrow { color: #62431f; }
.home-page .press-preview + .google-reviews { padding-top: clamp(2.5rem, 5vw, 4rem); }
.press-preview h2 { max-width: 19ch; }
.press-preview-grid { display: grid; gap: 2rem; margin: 2rem 0; }
.press-preview-grid article { padding: clamp(1.4rem, 3vw, 2.25rem); border: 1px solid #cdb995; border-top: 3px solid #561f2a; border-radius: .3rem; background: #fcf9f2; box-shadow: 0 5px 20px rgba(53,21,27,.045); }
.press-preview-grid article:hover, .press-preview-grid article:focus-within { border-color: #987541; box-shadow: 0 7px 24px rgba(53,21,27,.09); }
.press-preview-icon { width: 2rem; height: 2rem; color: #805c28; margin-bottom: .8rem; }
.press-preview-outlet { color: #561f2a; font-size: .85rem; font-weight: 700; line-height: 1.5; margin-bottom: .4rem; }
.press-preview-grid .press-meta { margin-bottom: 1.25rem; }
.press-preview-grid article > p:last-child { color: #51483f; margin-bottom: 0; }
.press-preview a:focus-visible { outline: 2px solid #561f2a; outline-offset: 5px; }
.press-preview-grid h3 { font-size: clamp(1.55rem, 2.3vw, 2rem); }
.press-preview-grid h3 a { text-decoration: none; }
.press-preview-grid h3 a:hover { color: var(--color-wine); }
.press-meta { color: #66584a; font-size: .75rem; line-height: 1.7; }
.press-hero { position: relative; isolation: isolate; overflow: hidden; background: #100d0e; color: var(--color-ivory); padding: 8.5rem 0 4rem; min-height: 36rem; }
.press-hero-photo { position: absolute; z-index: -2; right: 0; top: 0; width: min(65%, 760px); height: 100%; object-fit: cover; object-position: center; }
.press-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #100d0e 20%, rgba(16,13,14,.92) 42%, rgba(16,13,14,.24)), linear-gradient(180deg, rgba(16,13,14,.7), transparent 35%); }
.press-hero h1 { max-width: 10ch; font-size: clamp(3.4rem, 7vw, 6.6rem); }
.press-hero-intro { max-width: 26rem; font-family: var(--font-display); font-size: 1.4rem; }
.press-hero .breadcrumbs ol { color: var(--color-ivory); }
.press-intro { max-width: 43rem; }
.press-stories { display: grid; gap: 1.5rem; margin-top: 3rem; }
.press-story { display: grid; gap: 1.5rem; padding: clamp(1.4rem, 3.5vw, 3rem); border: 1px solid #cdb995; border-left: 4px solid #561f2a; border-radius: .3rem; background: #fcf9f2; box-shadow: 0 5px 20px rgba(53,21,27,.045); scroll-margin-top: 2rem; }
.press-story:hover, .press-story:focus-within { border-color: #987541; box-shadow: 0 7px 24px rgba(53,21,27,.09); }
.press-publication { padding-bottom: 1.25rem; border-bottom: 1px solid #dfd3bd; }
.press-icon { width: 2.4rem; height: 2.4rem; color: #805c28; margin-bottom: .8rem; }
.press-outlet { color: #561f2a; font-family: var(--font-display); font-size: clamp(1.4rem, 2vw, 1.7rem); line-height: 1.3; margin-bottom: .7rem; }
.press-date { margin-bottom: 0; }
.press-badge { display: inline-block; max-width: 100%; padding: .35rem .65rem; border: 1px solid #dfcfb3; border-radius: .2rem; background: #f3eadb; color: #62431f; font-size: .72rem; line-height: 1.6; margin-bottom: 1rem; }
.press-story-copy { min-width: 0; }
.press-story-copy > p:not(.press-badge) { color: #51483f; }
.press-story a:focus-visible { outline: 2px solid #561f2a; outline-offset: 5px; }
.press-story h3 { font-size: clamp(1.7rem, 3vw, 2.4rem); }
.press-story .text-link { max-width: 100%; white-space: normal; }
@media (min-width: 48rem) {
    .press-preview-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
    .press-story { grid-template-columns: .7fr 1.5fr; gap: 2.5rem; }
    .press-publication { padding: 0 2rem 0 0; border-bottom: 0; border-right: 1px solid #dfd3bd; }
}
@media (max-width: 47.99rem) {
    .press-hero { min-height: 38rem; padding-bottom: 3rem; }
    .press-hero-photo { width: 100%; }
    .press-hero::after { background: linear-gradient(180deg, rgba(16,13,14,.86), rgba(16,13,14,.72)); }
    .press-hero-intro { font-size: 1.25rem; }
}
