html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #FAF3E7; color: #2B211D; font-family: Jost, Helvetica, sans-serif; }
* { box-sizing: border-box; }
img { max-width: 100%; }
a { color: #8C2F26; text-decoration: none; }
a:hover { color: #2B211D; }
::selection { background: #8C2F26; color: #FAF3E7; }
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 clamp(20px,4.5vw,40px); }

header.site { border-bottom: 1px solid rgba(43,33,29,0.12); }
header.site .wrap { display: flex; align-items: center; justify-content: space-between; gap: clamp(16px,3vw,32px); flex-wrap: wrap; padding-top: 16px; padding-bottom: 16px; }
.brand { display: flex; align-items: center; gap: 12px; line-height: 1; }
.brand img { width: 38px; height: 38px; object-fit: contain; flex-shrink: 0; }
.brand b { font-family: 'EB Garamond', Georgia, serif; font-weight: 500; font-size: clamp(22px,4.5vw,27px); letter-spacing: 0.01em; color: #2B211D; }
.brand small { display: block; font-size: 9.5px; letter-spacing: 0.3em; text-transform: uppercase; color: #8C2F26; padding-top: 3px; }
nav { display: flex; align-items: center; gap: clamp(14px,2.4vw,30px); flex-wrap: wrap; }
nav a { font-size: 14px; letter-spacing: 0.06em; color: #2B211D; }
nav a:hover { color: #8C2F26; }
.btn { font-size: 12.5px; letter-spacing: 0.1em; text-transform: uppercase; color: #FAF3E7; background: #8C2F26; padding: 11px 22px; border-radius: 2px; white-space: nowrap; }
.btn:hover { background: #2B211D; color: #FAF3E7; }

.crumb { font-size: 12.5px; font-weight: 300; color: rgba(43,33,29,0.6); padding-top: clamp(22px,3vw,30px); }
.crumb a { color: rgba(43,33,29,0.6); border-bottom: 1px solid rgba(43,33,29,0.22); padding-bottom: 1px; }
.crumb a:hover { color: #8C2F26; border-bottom-color: #8C2F26; }

.hero { padding-top: clamp(20px,3vw,28px); padding-bottom: clamp(40px,5.5vw,64px); border-bottom: 1px solid rgba(43,33,29,0.12); }
.hero .wrap { display: flex; flex-direction: column; gap: 20px; }
.eyebrow { font-size: 11.5px; letter-spacing: 0.3em; text-transform: uppercase; color: #8C2F26; }
h1 { margin: 0; max-width: 18em; font-family: 'EB Garamond', Georgia, serif; font-weight: 500; font-size: clamp(30px,5vw,44px); line-height: 1.1; letter-spacing: -0.01em; color: #8C2F26; text-wrap: balance; }
.lede { margin: 0; max-width: 34em; font-size: clamp(16.5px,2.1vw,18.5px); line-height: 1.68; font-weight: 300; color: rgba(43,33,29,0.82); text-wrap: pretty; }

main .wrap { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,300px), 1fr)); gap: clamp(36px,5vw,72px); align-items: start; padding-top: clamp(48px,7vw,80px); padding-bottom: clamp(56px,8vw,104px); }
.body { display: flex; flex-direction: column; gap: clamp(32px,4vw,44px); }
.body section { display: flex; flex-direction: column; gap: 15px; }
.body h2 { margin: 0; font-family: 'EB Garamond', Georgia, serif; font-weight: 500; font-size: clamp(24px,3vw,29px); line-height: 1.16; color: #2B211D; padding-bottom: 12px; border-bottom: 1px solid rgba(43,33,29,0.16); }
.body p { margin: 0; font-size: 16px; line-height: 1.72; font-weight: 300; color: rgba(43,33,29,0.8); text-wrap: pretty; }
.body ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.body li { font-size: 16px; line-height: 1.6; font-weight: 300; color: rgba(43,33,29,0.8); padding-bottom: 12px; border-bottom: 1px solid rgba(43,33,29,0.12); text-wrap: pretty; }
.body li:last-child { padding-bottom: 0; border-bottom: none; }
.body li b { font-weight: 500; color: #2B211D; }

.side { display: flex; flex-direction: column; gap: 22px; position: sticky; top: 28px; }
.cta { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; background: #F1E5D4; border-top: 3px solid #8C2F26; padding: clamp(26px,3.2vw,34px) clamp(24px,3vw,32px) clamp(28px,3.4vw,36px); }
.cta h2 { margin: 0; font-family: 'EB Garamond', Georgia, serif; font-weight: 500; font-size: clamp(22px,2.6vw,26px); line-height: 1.18; color: #2B211D; }
.cta p { margin: 0; font-size: 15.5px; line-height: 1.68; font-weight: 300; color: rgba(43,33,29,0.78); text-wrap: pretty; }
.cta .big-btn { font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: #FBF1E4; background: #8C2F26; padding: 16px 30px; border-radius: 2px; min-height: 48px; display: inline-flex; align-items: center; }
.cta .big-btn:hover { background: #2B211D; color: #FBF1E4; }
.rows { display: flex; flex-direction: column; gap: 0; }
.row { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 15px 0; border-top: 1px solid rgba(43,33,29,0.16); color: #2B211D; }
.row:last-child { border-bottom: 1px solid rgba(43,33,29,0.16); }
.row .k { font-size: 11.5px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(43,33,29,0.5); }
.row .v { font-size: 15.5px; font-weight: 300; text-align: right; }
.more { display: flex; flex-direction: column; gap: 10px; }
.more .k { font-size: 11.5px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(43,33,29,0.5); }
.more a { font-size: 15.5px; font-weight: 300; color: #8C2F26; border-bottom: 1px solid rgba(140,47,38,0.3); padding-bottom: 2px; align-self: flex-start; }
.more a:hover { color: #2B211D; border-bottom-color: #2B211D; }

.quote-strip { background: #8C2F26; color: #F6E9DA; }
.quote-strip .wrap { display: flex; flex-wrap: wrap; gap: clamp(16px,3vw,52px); align-items: flex-start; padding-top: clamp(40px,5vw,60px); padding-bottom: clamp(40px,5vw,60px); }
.quote-strip figure { margin: 0; display: contents; }
.quote-strip figcaption { flex: 0 1 210px; display: flex; flex-direction: column; gap: 5px; padding-top: 6px; }
.quote-strip .who { font-family: 'EB Garamond', Georgia, serif; font-size: clamp(20px,2.2vw,23px); line-height: 1.15; color: #FBF1E4; }
.quote-strip .ctx { font-size: 11.5px; letter-spacing: 0.13em; text-transform: uppercase; line-height: 1.5; color: rgba(246,233,218,0.6); text-wrap: pretty; }
.quote-strip blockquote { margin: 0; flex: 1 1 440px; min-width: 0; max-width: 44em; font-family: 'EB Garamond', Georgia, serif; font-size: clamp(18.5px,2.05vw,22px); line-height: 1.56; color: #FBF1E4; text-wrap: pretty; }

footer.site { background: #2B211D; color: rgba(239,227,211,0.7); }
footer.site .wrap { display: flex; align-items: center; justify-content: space-between; gap: clamp(16px,3vw,40px); flex-wrap: wrap; padding-top: clamp(32px,4vw,44px); padding-bottom: clamp(32px,4vw,44px); }
footer.site .mark { font-family: 'EB Garamond', Georgia, serif; font-size: 22px; color: #EFE3D3; }
footer.site .meta { font-size: 13.5px; font-weight: 300; }
footer.site a { font-size: 13.5px; color: rgba(239,227,211,0.75); border-bottom: 1px solid rgba(239,227,211,0.25); padding-bottom: 2px; }
footer.site a:hover { color: #EFE3D3; border-bottom-color: #EFE3D3; }
