/* Shared visual system for About, Events, Resources, News, Gallery, Contact, Join and Members. */
body:not(.home) {
  --maroon:#963b43; --maroon-dark:#152b35; --orange:#963b43; --terra:#963b43;
  --sand:#d5b779; --cream:#f2eee5; --cream-dark:#e5dfd1; --white:#faf8f3;
  --brown:#182d36; --text:#25323a; --text-light:#58676c; background:#faf8f3;
}
body:not(.home) #navbar { background:#152b35; }
body:not(.home) .container { max-width:1240px; padding-inline:clamp(20px,4vw,56px); }
body:not(.home) section { padding-block:84px; }
body:not(.home) .page-hero { min-height:420px; display:flex; align-items:end; padding:120px 0 68px; background:linear-gradient(100deg,rgba(21,43,53,.98),rgba(21,43,53,.84)),url('../images/heritage-landscape.webp') center/cover; }
body:not(.home) .page-hero-content { max-width:760px; }
/* Breadcrumb trails repeated information already available in the navigation. */
body:not(.home) .page-hero .breadcrumb { display:none; }
body:not(.home) .page-hero .breadcrumb a { color:#d5b779; }
body:not(.home) .page-hero .section-label { color:#d5b779; font-size:11px; letter-spacing:.18em; }
body:not(.home) .page-hero h1 { color:#fff; font-size:clamp(42px,5vw,70px); line-height:1.05; letter-spacing:-.04em; margin:0 0 18px; }
body:not(.home) .page-hero p { max-width:620px; color:rgba(255,255,255,.79); font-size:17px; line-height:1.75; }
body:not(.home) .section-header { margin-bottom:40px; }
body:not(.home) .section-title { color:#182d36; font-size:clamp(30px,3.4vw,46px); line-height:1.16; letter-spacing:-.025em; }
body:not(.home) .section-label { color:#963b43; font-size:11px; letter-spacing:.18em; }
body:not(.home) .section-subtitle { color:#58676c; max-width:660px; }
body:not(.home) .btn-primary,body:not(.home) .btn-outline,body:not(.home) .btn-ghost { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border-radius:4px; font-size:12px; letter-spacing:.04em; text-decoration:none; }
body:not(.home) .btn-primary { background:#963b43; border-color:#963b43; color:#fff; }
body:not(.home) .btn-outline { background:transparent; border-color:#839096; color:#182d36; }
body:not(.home) .btn-ghost { border-color:#b7c0be; color:#fff; }
body:not(.home) .form-control { border:1px solid #c7d0cf; border-radius:4px; color:#182d36; background:#fff; padding:12px; }
body:not(.home) .form-control:focus { outline:3px solid rgba(150,59,67,.18); border-color:#963b43; }
body:not(.home) .form-label { color:#25323a; font-weight:700; }
body:not(.home) .newsletter-form input { border-color:#c7d0cf; }
body:not(.home) .newsletter-form button { background:#963b43; }
body:not(.home) .event-card-lg,body:not(.home) .news-card,body:not(.home) .resource-card,body:not(.home) .leader-card { border:1px solid #dce0da; box-shadow:none !important; border-radius:6px !important; }
body:not(.home) .event-card-lg:hover,body:not(.home) .news-card:hover,body:not(.home) .resource-card:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(24,45,54,.10)!important; }
body:not(.home) .card-tag { background:#e7eeeb; color:#3f5d58; }
body:not(.home) .tabs { border-bottom:1px solid #dce0da; padding-bottom:8px; }
body:not(.home) .tab-btn { color:#58676c; }
body:not(.home) .tab-btn.active { background:#963b43; color:#fff; }
body:not(.home) .inner-milestone-grid > div { border-left:1px solid rgba(213,183,121,.42); }
body:not(.home) .inner-milestone-grid > div:first-child { border-left:0; }
body:not(.home) .inner-resource-section { padding:28px 0 52px; border-bottom:1px solid #d8dfdc; margin-bottom:28px; }
body:not(.home) .inner-resource-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
body:not(.home) .inner-resource-item { background:#fff; padding:28px; border:1px solid #dce0da; border-radius:6px; }
body:not(.home) .inner-resource-item h3 { font-size:21px; color:#182d36; margin-bottom:10px; }
body:not(.home) .inner-resource-item p { color:#58676c; font-size:14px; line-height:1.7; margin-bottom:16px; }
body:not(.home) .inner-resource-item a { color:#963b43; font-size:12px; font-weight:700; text-decoration:none; }
body:not(.home) .inner-empty-news { max-width:720px; background:#fff; border:1px solid #dce0da; padding:48px; border-radius:6px; }
body:not(.home) .inner-empty-news p { color:#58676c; line-height:1.8; margin-bottom:24px; }
/* Resources page: these cards were initially styled only for the homepage. */
body:not(.home) .resources-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:60px 0; }
body:not(.home) .resource-card { display:flex; flex-direction:column; min-height:250px; padding:28px; background:#fff; color:#182d36; text-decoration:none; border:1px solid rgba(213,183,121,.42); border-radius:6px; transition:transform .28s ease,box-shadow .28s ease,background .28s ease; }
body:not(.home) .resource-card:hover { background:#fffdf8; }
body:not(.home) .resource-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:24px; border-radius:4px; background:#f2eee5; }
body:not(.home) .resource-card h3 { color:#182d36; font-size:22px; line-height:1.2; margin:0 0 12px; }
body:not(.home) .resource-card p { color:#58676c; font-size:14px; line-height:1.7; margin:0 0 22px; }
body:not(.home) .resource-link { margin-top:auto; color:#963b43; font-size:12px; font-weight:700; letter-spacing:.03em; }
body:not(.home) #galleryMasonry > div { border-radius:5px!important; box-shadow:0 8px 22px rgba(24,45,54,.10); }
body:not(.home) .portal-nav-btn.active { color:#963b43!important; border-left-color:#963b43!important; background:#f5f1ea!important; }
body:not(.home) footer { background:#10242c; color:#edf0eb; }
body:not(.home) .leadership-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
body:not(.home) .leader-card { background:#fff; overflow:hidden; }
body:not(.home) .leader-photo { height:230px; background:linear-gradient(135deg,#152b35,#345967); position:relative; }
body:not(.home) .leader-photo-placeholder { display:grid; place-items:center; width:100%; height:100%; color:#d5b779; font:700 56px/1 'Playfair Display',serif; }
body:not(.home) .leader-role-badge { background:#963b43; color:#fff; }
body:not(.home) .leader-body { padding:26px; }
body:not(.home) .leader-body h3 { color:#182d36; font-size:23px; }
body:not(.home) .leader-body .title { color:#963b43; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin:8px 0 12px; }
body:not(.home) .leader-body p { color:#58676c; font-size:14px; line-height:1.75; }
/* Membership application: desktop sidebar becomes a simple, comfortable flow on smaller screens. */
body:not(.home) .bh-join-layout { display:grid; grid-template-columns:minmax(280px,.86fr) minmax(0,1.14fr); gap:clamp(28px,5vw,64px); align-items:start; }
body:not(.home) .bh-join-sidebar { position:sticky; top:88px; }
body:not(.home) .bh-join-form-card,body:not(.home) .bh-join-form-body { min-width:0; }
/* Community stories use a deliberately compact header, not the full landing-page hero. */
body.single-post .page-hero { min-height:260px; align-items:center; padding:112px 0 46px; background:linear-gradient(100deg,rgba(21,43,53,.97),rgba(21,43,53,.88)),url('../images/heritage-landscape.webp') center/cover; }
body.single-post .page-hero h1 { max-width:900px; font-size:clamp(30px,3.6vw,50px)!important; margin-bottom:12px; }
body.single-post .page-hero-content { max-width:980px; }
body.single-post .page-hero .section-label { display:block; margin-bottom:10px; }
body.single-post .page-hero + section { padding-top:60px; }
.event-archive .event-spotlight { background:#f2eee5; padding:84px 0; }
.event-archive-past { background:#edf2ef; padding:84px 0; }
.event-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.event-feature-card { background:#fff; display:grid; grid-template-columns:42% 58%; border:1px solid #dce0da; border-radius:7px; overflow:hidden; transition:transform .3s,box-shadow .3s; }
.event-feature-card:hover { transform:translateY(-7px); box-shadow:0 20px 42px rgba(24,45,54,.13); }
.event-feature-image { position:relative; min-height:100%; background:#152b35; display:block; overflow:hidden; }
.event-feature-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.event-feature-card:hover .event-feature-image img { transform:scale(1.06); }
.event-feature-image span { position:absolute; left:14px; bottom:14px; color:#fff; background:#152b35; padding:7px 9px; font:700 11px/1.2 Lato,sans-serif; letter-spacing:.06em; }
.event-feature-content { padding:28px; }
.event-kicker { color:#963b43; font:700 10px/1.4 Lato,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.event-feature-content h2 { font-size:27px; line-height:1.18; margin:10px 0; color:#182d36; }
.event-feature-content h2 a { color:inherit; text-decoration:none; }
.event-feature-content p { color:#58676c; font-size:14px; line-height:1.7; }
.event-meta { display:flex; gap:10px; flex-direction:column; margin:18px 0; font-size:12px; color:#58676c; }
.event-feature-content .btn-primary { font-size:11px; padding:11px 15px; }
.event-past-grid .event-feature-card { opacity:.9; }
.event-single { padding:78px 0; background:#f2eee5; }
.event-single-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:42px; align-items:start; }
.event-flyer { width:100%; max-height:560px; object-fit:cover; border-radius:7px; margin-bottom:24px; }
.event-body-content { background:#fff; border:1px solid #dce0da; border-radius:7px; padding:34px; line-height:1.85; color:#25323a; }
.event-detail-card { position:sticky; top:90px; background:#152b35; color:#fff; padding:30px; border-radius:7px; }
.event-detail-card h2 { color:#fff; font-size:26px; margin-bottom:18px; }
.event-detail-card div { display:flex; flex-direction:column; border-top:1px solid rgba(255,255,255,.16); padding:14px 0; }
.event-detail-card strong { color:#d5b779; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.event-detail-card span { color:#edf0eb; font-size:14px; margin-top:4px; }
.event-detail-card .btn-primary { width:100%; margin-top:10px; font-size:11px; }
.event-rsvp { background:#edf2ef; padding:62px 0; text-align:center; }
.event-rsvp h2 { font-size:34px; color:#182d36; }
.event-rsvp p { max-width:600px; margin:12px auto 24px; color:#58676c; }
@media(max-width:900px) {
 body:not(.home) .page-hero { min-height:350px; padding-top:108px; }
 body:not(.home) .page-hero h1 { font-size:46px; }
 body:not(.home) .resources-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body:not(.home) .bh-join-layout { grid-template-columns:1fr; gap:30px; }
 body:not(.home) .bh-join-sidebar { position:static; display:grid; grid-template-columns:1.1fr .9fr; gap:18px; }
 body:not(.home) .bh-join-levels { margin-bottom:0!important; }
 body:not(.home) section > .container > div[style*="grid-template-columns:1fr 300px"],
 body:not(.home) section > .container > div[style*="grid-template-columns:1fr 1.4fr"],
 body:not(.home) section > .container > div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns:1fr!important; gap:32px!important; }
 body:not(.home) .inner-milestone-grid { grid-template-columns:1fr 1fr!important; gap:20px!important; }
 body:not(.home) .inner-milestone-grid > div:nth-child(odd) { border-left:0; }
}
@media(max-width:640px) {
 body:not(.home) section { padding-block:56px; }
 body:not(.home) .page-hero { min-height:320px; padding-bottom:52px; }
 body:not(.home) .page-hero h1 { font-size:38px; }
 body:not(.home) .page-hero p { font-size:15px; }
 body:not(.home) .inner-resource-list,body:not(.home) .inner-milestone-grid,body:not(.home) .resources-grid { grid-template-columns:1fr!important; }
 body:not(.home) .resource-card { min-height:0; }
 body.single-post .page-hero { min-height:230px; padding-top:92px; padding-bottom:34px; }
 body:not(.home) .bh-join-page { padding-top:42px; }
 body:not(.home) .bh-join-sidebar { grid-template-columns:1fr; gap:16px; }
 body:not(.home) .bh-join-levels { padding:24px!important; }
 body:not(.home) .bh-join-approval { padding:22px!important; }
 body:not(.home) .bh-join-form-heading { padding:22px 20px!important; }
 body:not(.home) .bh-join-form-body { padding:24px 20px!important; }
 body:not(.home) .bh-join-form-card .form-control { min-height:48px; font-size:16px; }
 body:not(.home) .bh-join-form-card textarea.form-control { min-height:110px; }
 body:not(.home) .bh-join-form-card .form-check span { font-size:13px; }
 .event-feature-grid,.event-single-grid,.leadership-grid { grid-template-columns:1fr!important; }
 .event-feature-card { grid-template-columns:1fr; }
 .event-feature-image { min-height:230px; }
 .event-detail-card { position:static; }
 body:not(.home) .inner-milestone-grid > div { border-left:0; border-top:1px solid rgba(213,183,121,.42); padding-top:16px; }
 body:not(.home) .inner-empty-news { padding:30px; }
}
