:root { --serif: Georgia, "Times New Roman", serif; --sans: Arial, Helvetica, sans-serif; }
.brand-logo-horizontal { width: 190px; height: 48px; object-fit: contain; padding: 7px 10px; background: #fff; }
.about-logo { width: 88%; height: 88%; object-fit: contain; border-radius: 50%; }
.contact-lines a { color: var(--paper); border-bottom: 1px solid var(--gold); }
@media (max-width: 520px) { .brand-logo-horizontal { width: 152px; height: 40px; padding: 6px 8px; } }

.beans { background: #171714; }
.beans-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 5rem; align-items: end; margin-bottom: 4rem; }
.beans-heading > p { color: var(--muted); margin: 0; max-width: 540px; }
.beans-heading > p a { color: var(--paper); border-bottom: 1px solid var(--gold); }
.bean-benefits { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.bean-benefits article { padding: 2rem 1.5rem 2.3rem; border-right: 1px solid var(--line); }
.bean-benefits article:first-child { padding-left: 0; }
.bean-benefits article:last-child { border-right: 0; }
.bean-benefits span { color: var(--gold); font-size: .75rem; letter-spacing: .12em; }
.bean-benefits h3 { margin: 1.2rem 0 .75rem; font: 400 1.65rem/1.15 var(--serif); }
.bean-benefits p { margin: 0; color: var(--muted); font-size: .92rem; }
.beans-source { display: inline-block; margin-top: 1.5rem; color: var(--gold); font-size: .84rem; letter-spacing: .04em; }
@media (max-width: 900px) { .beans-heading { grid-template-columns: 1fr; gap: 2rem; } .bean-benefits { grid-template-columns: 1fr 1fr; } .bean-benefits article:nth-child(2) { border-right: 0; } .bean-benefits article:first-child { padding-left: 1.5rem; } .bean-benefits article:nth-child(-n+2) { border-bottom: 1px solid var(--line); } }
@media (max-width: 560px) { .bean-benefits { grid-template-columns: 1fr; } .bean-benefits article { border-right: 0; border-bottom: 1px solid var(--line); padding-left: 0; padding-right: 0; } .bean-benefits article:first-child { padding-left: 0; } .bean-benefits article:last-child { border-bottom: 0; } }

.welcome { background: var(--paper); color: var(--ink); }
.welcome .eyebrow { color: #8c693b; }
.welcome-top { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem,8vw,8rem); align-items: end; }
.amenities { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.amenities > div { min-height: 180px; padding: 1.5rem; border: 1px solid rgba(17,17,15,.18); display: flex; flex-direction: column; justify-content: flex-end; }
.amenities > div > span { color: #8c693b; font-size: 2rem; margin-bottom: auto; }
.amenities strong { font: 400 1.35rem/1.2 var(--serif); }
.amenities small { color: #6f6a62; margin-top: .4rem; line-height: 1.45; }
.values-card { margin-top: clamp(3rem,7vw,6rem); padding: clamp(2rem,5vw,4.5rem); background: var(--ink); color: var(--paper); display: grid; grid-template-columns: .7fr 1.2fr 1.2fr; gap: clamp(1.5rem,5vw,5rem); align-items: start; }
.values-card h3 { margin: 0; font: 400 clamp(2rem,4vw,3.5rem)/1.05 var(--serif); color: var(--gold); }
.values-card > p:not(.eyebrow) { margin: 0; color: #c6c2ba; }
@media (max-width: 1100px) { .welcome-top,.values-card { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .amenities { grid-template-columns: 1fr; } .amenities > div { min-height: 150px; } }
