:root {
--forest: #1a3a2a;
--forest-deep: #0f2218;
--forest-light: #2d5a3f;
--bark: #3d2b1f;
--warm-cream: #f5f0e8;
--warm-white: #faf8f4;
--amber: #c8842a;
--amber-light: #daa04d;
--amber-glow: rgba(200, 132, 42, 0.15);
--text-dark: #1a1a18;
--text-body: #3a3a36;
--text-muted: #6b6b63;
--border: #d4cfc4;
--border-light: #e8e4db;
--shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
--shadow-md: 0 4px 12px rgba(0,0,0,0.1);
--shadow-lg: 0 8px 30px rgba(0,0,0,0.12);
--radius: 6px;
--max-width: 1200px;
--font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
--font-heading: 'Outfit', var(--font-body);
--font-mono: 'DM Mono', 'Menlo', monospace;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
font-size: 18px;
scroll-behavior: smooth;
-webkit-font-smoothing: antialiased;
}
body {
font-family: var(--font-body);
color: var(--text-body);
background: var(--warm-white);
line-height: 1.7;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--forest-light); text-decoration: none; transition: color 0.3s; }
a:hover { color: var(--amber); }
.container {
max-width: var(--max-width);
margin: 0 auto;
padding: 0 2rem;
} .site-header {
background: var(--forest-deep);
color: var(--warm-cream);
position: sticky;
top: 0;
z-index: 100;
box-shadow: var(--shadow-md);
}
.header-top {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.6rem 0;
font-size: 0.72rem;
color: rgba(245, 240, 232, 0.6);
border-bottom: 1px solid rgba(255,255,255,0.08);
}
.header-top a { color: var(--amber-light); }
.header-top a:hover { color: var(--warm-cream); }
.header-main {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.75rem 0;
}
.site-branding {
display: flex;
align-items: center;
gap: 1rem;
} 
.site-branding img,
.custom-logo {
max-height: 70px;
width: auto;
}
}
.site-title {
font-family: var(--font-heading);
font-size: 1.25rem;
font-weight: 700;
color: var(--warm-cream);
letter-spacing: -0.01em;
line-height: 1.2;
}
.site-title a { color: inherit; }
.site-title a:hover { color: var(--amber-light); }
.site-title .est {
display: block;
font-size: 0.6rem;
font-weight: 400;
letter-spacing: 0.15em;
text-transform: uppercase;
color: var(--amber);
margin-top: 0.1rem;
} .main-nav ul {
list-style: none;
display: flex;
gap: 0.25rem;
}
.main-nav a {
display: block;
padding: 0.5rem 0.85rem;
color: rgba(245, 240, 232, 0.85);
font-size: 0.78rem;
font-weight: 500;
letter-spacing: 0.02em;
border-radius: var(--radius);
transition: all 0.2s;
}
.main-nav a:hover,
.main-nav .current-menu-item a,
.main-nav .current_page_item a {
background: rgba(255,255,255,0.1);
color: var(--warm-cream);
}
.nav-cta {
border-radius: 6px;
background: transparent !important;
color: var(--forest-deep) !important;
font-weight: 600 !important;
}
.nav-cta:hover {
background: transparent !important;
} .nav-toggle {
display: none;
background: none;
border: none;
color: var(--warm-cream);
font-size: 1.5rem;
cursor: pointer;
padding: 0.5rem;
} .hero {
background: linear-gradient(135deg, var(--forest-deep) 0%, var(--forest) 50%, var(--forest-light) 100%);
color: var(--warm-cream);
padding: 5rem 0 4rem;
position: relative;
overflow: hidden;
}
.hero::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 120px;
background: linear-gradient(to top, var(--warm-white), transparent);
pointer-events: none;
}
.hero-content {
position: relative;
z-index: 1;
max-width: 700px;
}
.hero-eyebrow {
font-family: var(--font-mono);
font-size: 0.72rem;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--amber);
margin-bottom: 1.25rem;
display: flex;
align-items: center;
gap: 0.75rem;
}
.hero-eyebrow::before {
content: '';
width: 30px;
height: 1px;
background: var(--amber);
}
.hero h1 {
font-family: var(--font-heading);
font-size: clamp(2rem, 4vw, 3rem);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.02em;
margin-bottom: 1.5rem;
}
.hero p {
font-size: 1.1rem;
line-height: 1.8;
color: rgba(245, 240, 232, 0.8);
margin-bottom: 2rem;
max-width: 560px;
}
.hero-actions {
display: flex;
gap: 1rem;
flex-wrap: wrap;
} .btn {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.85rem 1.75rem;
font-family: var(--font-body);
font-size: 0.85rem;
font-weight: 600;
border-radius: var(--radius);
border: none;
cursor: pointer;
transition: all 0.3s;
text-decoration: none;
}
.btn-primary {
background: var(--amber);
color: var(--forest-deep);
}
.btn-primary:hover {
background: var(--amber-light);
color: var(--forest-deep);
transform: translateY(-2px);
box-shadow: 0 4px 16px var(--amber-glow);
}
.btn-outline {
background: transparent;
color: var(--warm-cream);
border: 1.5px solid rgba(245, 240, 232, 0.3);
}
.btn-outline:hover {
border-color: var(--amber);
color: var(--amber-light);
} .info-strip {
background: var(--warm-cream);
border-bottom: 1px solid var(--border-light);
padding: 2.5rem 0;
}
.info-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 2rem;
}
.info-card {
text-align: center;
padding: 1.25rem;
}
.info-card .icon {
font-size: 1.5rem;
margin-bottom: 0.75rem;
}
.info-card h3 {
font-family: var(--font-heading);
font-size: 0.95rem;
font-weight: 700;
color: var(--forest);
margin-bottom: 0.4rem;
}
.info-card p {
font-size: 0.8rem;
color: var(--text-muted);
line-height: 1.5;
}
.info-card a {
font-size: 0.75rem;
font-weight: 600;
color: var(--amber);
display: inline-flex;
align-items: center;
gap: 0.3rem;
margin-top: 0.5rem;
} .section {
padding: 5rem 0;
}
.section-alt { background: var(--warm-cream); }
.section-label {
font-family: var(--font-mono);
font-size: 0.7rem;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--amber);
margin-bottom: 0.75rem;
display: flex;
align-items: center;
gap: 0.6rem;
}
.section-label::before {
content: '';
width: 24px;
height: 1px;
background: var(--amber);
}
.section-title {
font-family: var(--font-heading);
font-size: clamp(1.5rem, 3vw, 2.2rem);
font-weight: 700;
color: var(--text-dark);
line-height: 1.2;
letter-spacing: -0.02em;
margin-bottom: 1rem;
}
.section-intro {
font-size: 1rem;
color: var(--text-muted);
max-width: 600px;
margin-bottom: 3rem;
line-height: 1.8;
} .features-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
}
.feature-card {
background: white;
border: 1px solid var(--border-light);
border-radius: var(--radius);
overflow: hidden;
transition: transform 0.3s, box-shadow 0.3s;
}
.feature-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-lg);
}
.feature-card-image {
height: 200px;
overflow: hidden;
}
.feature-card-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s;
}
.feature-card:hover .feature-card-image img {
transform: scale(1.05);
}
.feature-card-body {
padding: 1.5rem;
}
.feature-card-body h3 {
font-family: var(--font-heading);
font-size: 1.1rem;
font-weight: 700;
color: var(--text-dark);
margin-bottom: 0.5rem;
}
.feature-card-body p {
font-size: 0.85rem;
color: var(--text-muted);
line-height: 1.7;
margin-bottom: 1rem;
}
.feature-card-body .card-link {
font-size: 0.78rem;
font-weight: 600;
color: var(--amber);
display: inline-flex;
align-items: center;
gap: 0.4rem;
}
.feature-card-body .card-link .arrow {
transition: transform 0.3s;
}
.feature-card:hover .card-link .arrow {
transform: translateX(4px);
} .events-list {
display: grid;
gap: 1rem;
}
.event-item {
display: flex;
gap: 1.5rem;
align-items: center;
padding: 1.25rem;
background: white;
border: 1px solid var(--border-light);
border-radius: var(--radius);
transition: border-color 0.3s;
}
.event-item:hover { border-color: var(--amber); }
.event-date {
text-align: center;
min-width: 60px;
padding: 0.5rem;
background: var(--forest);
border-radius: var(--radius);
color: var(--warm-cream);
}
.event-date .month {
font-size: 0.65rem;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--amber);
}
.event-date .day {
font-size: 1.4rem;
font-weight: 700;
line-height: 1.2;
}
.event-info h3 {
font-size: 1rem;
font-weight: 600;
color: var(--text-dark);
margin-bottom: 0.25rem;
}
.event-info p {
font-size: 0.8rem;
color: var(--text-muted);
} .cta-band {
background: linear-gradient(135deg, var(--forest-deep), var(--forest));
color: var(--warm-cream);
padding: 4rem 0;
text-align: center;
}
.cta-band h2 {
font-family: var(--font-heading);
font-size: clamp(1.5rem, 3vw, 2rem);
font-weight: 700;
margin-bottom: 1rem;
}
.cta-band p {
color: rgba(245, 240, 232, 0.7);
max-width: 500px;
margin: 0 auto 2rem;
font-size: 0.95rem;
} .site-footer {
background: var(--forest-deep);
color: rgba(245, 240, 232, 0.6);
padding: 4rem 0 2rem;
}
.footer-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 3rem;
margin-bottom: 3rem;
}
.footer-about h3,
.footer-col h3 {
font-family: var(--font-heading);
font-size: 0.85rem;
font-weight: 600;
color: var(--warm-cream);
margin-bottom: 1rem;
text-transform: uppercase;
letter-spacing: 0.08em;
}
.footer-about p {
font-size: 0.82rem;
line-height: 1.7;
margin-bottom: 1rem;
}
.footer-col ul { list-style: none; }
.footer-col li {
margin-bottom: 0.5rem;
}
.footer-col a {
font-size: 0.82rem;
color: rgba(245, 240, 232, 0.6);
transition: color 0.2s;
}
.footer-col a:hover { color: var(--amber-light); }
.footer-bottom {
border-top: 1px solid rgba(255,255,255,0.08);
padding-top: 1.5rem;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 0.72rem;
} .page-header {
background: linear-gradient(135deg, var(--forest-deep), var(--forest));
color: var(--warm-cream);
padding: 3rem 0;
}
.page-header h1 {
font-family: var(--font-heading);
font-size: clamp(1.5rem, 3vw, 2.2rem);
font-weight: 700;
}
.page-content {
padding: 3rem 0 5rem;
}
.page-content .entry-content {
max-width: 800px;
}
.entry-content h2 {
font-family: var(--font-heading);
font-size: 1.5rem;
font-weight: 700;
color: var(--text-dark);
margin: 2.5rem 0 1rem;
padding-top: 1rem;
border-top: 1px solid var(--border-light);
}
.entry-content h3 {
font-family: var(--font-heading);
font-size: 1.15rem;
font-weight: 600;
color: var(--text-dark);
margin: 2rem 0 0.75rem;
}
.entry-content p { margin-bottom: 1.25rem; }
.entry-content ul, .entry-content ol {
margin: 0 0 1.5rem 1.5rem;
}
.entry-content li { margin-bottom: 0.5rem; }
.entry-content img {
border-radius: var(--radius);
margin: 1.5rem 0;
}
.entry-content .wp-block-gallery {
margin: 2rem 0;
} .with-sidebar {
display: grid;
grid-template-columns: 1fr 320px;
gap: 4rem;
}
.sidebar {
padding-top: 1rem;
}
.sidebar-widget {
background: var(--warm-cream);
border: 1px solid var(--border-light);
border-radius: var(--radius);
padding: 1.5rem;
margin-bottom: 1.5rem;
}
.sidebar-widget h3 {
font-family: var(--font-heading);
font-size: 0.9rem;
font-weight: 700;
color: var(--forest);
margin-bottom: 1rem;
text-transform: uppercase;
letter-spacing: 0.05em;
} .posts-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1.5rem;
}
.post-card {
background: white;
border: 1px solid var(--border-light);
border-radius: var(--radius);
padding: 1.5rem;
transition: border-color 0.3s, box-shadow 0.3s;
}
.post-card:hover {
border-color: var(--amber);
box-shadow: var(--shadow-sm);
}
.post-card .post-meta {
font-size: 0.72rem;
color: var(--text-muted);
font-family: var(--font-mono);
margin-bottom: 0.5rem;
}
.post-card h2 {
font-size: 1.1rem;
font-weight: 600;
margin-bottom: 0.5rem;
}
.post-card h2 a { color: var(--text-dark); }
.post-card h2 a:hover { color: var(--amber); }
.post-card .excerpt {
font-size: 0.85rem;
color: var(--text-muted);
line-height: 1.6;
} @media (max-width: 1100px) {
html { font-size: 16px; }
.nav-toggle { display: block; }
.main-nav {
display: none;
position: absolute;
top: 100%;
left: 0;
right: 0;
background: var(--forest-deep);
border-top: 1px solid rgba(255,255,255,0.08);
padding: 1rem;
box-shadow: var(--shadow-lg);
}
.main-nav.active { display: block; }
.main-nav ul {
flex-direction: column;
gap: 0;
}
.main-nav a {
padding: 0.75rem 1rem;
border-radius: 0;
border-bottom: 1px solid rgba(255,255,255,0.05);
}
.info-grid { grid-template-columns: repeat(2, 1fr); }
.features-grid { grid-template-columns: 1fr; }
.footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
.with-sidebar { grid-template-columns: 1fr; }
.posts-grid { grid-template-columns: 1fr; }
.hero { padding: 3rem 0 2.5rem; }
}
@media (max-width: 600px) {
.info-grid { grid-template-columns: 1fr; }
.footer-grid { grid-template-columns: 1fr; }
.header-top { display: none; }
.hero-actions { flex-direction: column; }
.footer-bottom { flex-direction: column; gap: 0.5rem; text-align: center; }
}  @media (min-width: 1101px) {
.nav-toggle { display: none; }
.main-nav > ul,
.main-nav > div > ul,
.main-nav .menu {
display: flex;
flex-direction: row;
align-items: stretch;
list-style: none;
margin: 0;
padding: 0;
gap: 2px;
height: 100%;
}
.main-nav > ul > li,
.main-nav .menu > li {
display: flex;
align-items: stretch;
position: relative;
margin: 0;
padding: 0;
list-style: none;
}
.main-nav > ul > li > a,
.main-nav .menu > li > a {
display: flex;
align-items: center;
justify-content: center;
padding: 0.5rem 0.7rem;
font-size: 0.8rem;
font-weight: 500;
letter-spacing: 0.03em;
color: rgba(245, 240, 232, 0.85);
text-decoration: none;
white-space: nowrap;
border-radius: 6px;
transition: background 0.2s, color 0.2s;
line-height: 1;
}
.main-nav > ul > li > a:hover,
.main-nav > ul > li.current-menu-item > a,
.main-nav > ul > li.current_page_item > a {
background: rgba(255,255,255,0.1);
color: #faf8f4;
} .main-nav li.nav-cta > a {
background: #c8842a;
color: #0f2218;
font-weight: 600;
border-radius: 6px;
padding: 0.6rem 1.25rem;
margin-left: 0.5rem;
}
.main-nav li.nav-cta > a:hover {
background: #daa04d;
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(200, 132, 42, 0.15);
} .main-nav .sub-menu {
display: none;
position: absolute;
top: 100%;
left: 0;
z-index: 200;
flex-direction: column;
list-style: none;
min-width: 240px;
margin: 0;
padding: 0;
background-color: #1a2e22;
border: 1px solid rgba(200, 132, 42, 0.25);
border-top: 3px solid #c8842a;
border-radius: 6px;
box-shadow: 0 8px 24px rgba(0,0,0,0.35);
overflow: hidden;
}
.main-nav li:hover > .sub-menu {
display: flex;
animation: none;
}
.main-nav .sub-menu > li {
display: block;
width: 100%;
margin: 0;
padding: 0;
list-style: none;
background-color: #1a2e22;
}
.main-nav .sub-menu > li > a {
display: block;
padding: 10px 24px;
margin: 0;
font-size: 0.82rem;
font-weight: 400;
color: rgba(245, 240, 232, 0.8);
text-decoration: none;
white-space: nowrap;
border-radius: 0;
line-height: 1.4;
background-color: #1a2e22;
transition: background-color 0.15s, color 0.15s;
}
.main-nav .sub-menu > li > a:hover {
background-color: #243d2e;
color: #daa04d;
}
.main-nav .sub-menu > li:first-child > a { padding-top: 14px; }
.main-nav .sub-menu > li:last-child > a { padding-bottom: 14px; } .header-main {
gap: 2rem;
min-height: 64px;
}
.site-branding { flex-shrink: 0; }
.main-nav { flex-shrink: 1; min-width: 0; }
}
@media (min-width: 1400px) {
.header-main { gap: 3rem; }
} @media (max-width: 1100px) {
.main-nav .sub-menu {
list-style: none;
padding-left: 1rem;
}
.main-nav .sub-menu a {
padding-left: 2rem;
font-size: 0.75rem;
color: rgba(245, 240, 232, 0.6);
}
}