* { box-sizing: border-box; }
html { font-size: 16px; }
body { background: #fff; margin: 0; overflow-x: hidden; }
body, button, input, select, textarea { font-family: var(--ava-font, "Segoe UI", sans-serif); }
img { height: auto; max-width: 100%; }
a { color: var(--ava-primary, #083f35); }
h1, h2, h3, h4, h5, h6 { color: var(--ava-text, #10201d); font-family: inherit; text-wrap: balance; }
p { text-wrap: pretty; }
.ava-site-main { min-height: 50vh; }
.ava-skip-link:focus { background: #fff; clip: auto !important; clip-path: none; color: #083f35; height: auto; left: 12px; padding: 12px 18px; top: 12px; width: auto; z-index: 999999; }
.ava-page-hero, .ava-archive-hero { background: linear-gradient(145deg,#f8f3e9,#fff); border-bottom: 1px solid rgba(8,63,53,.08); padding: clamp(70px,9vw,135px) 0; }
.ava-page-hero span, .ava-archive-hero span { color: var(--ava-accent,#b9872d); font-size: 13px; font-weight: 750; letter-spacing: .08em; }
.ava-page-hero h1, .ava-archive-hero h1 { font-size: clamp(42px,6vw,78px); font-weight: 840; letter-spacing: -.055em; line-height: 1.02; margin: 15px 0 0; max-width: 1000px; }
.ava-page-hero p, .ava-archive-hero p { color: #64706d; font-size: 18px; line-height: 1.7; margin: 20px 0 0; max-width: 720px; }
.ava-content-page { padding: clamp(60px,8vw,105px) 0; }
.ava-prose { color: #53615e; font-size: 17px; line-height: 1.82; max-width: 980px; }
.ava-prose > *:first-child { margin-top: 0; }
.ava-prose h2 { font-size: clamp(29px,3vw,42px); font-weight: 800; letter-spacing: -.035em; line-height: 1.15; margin: 50px 0 18px; }
.ava-prose h3 { font-size: 25px; margin: 36px 0 14px; }
.ava-prose a { font-weight: 650; }
.ava-prose img { border-radius: 20px; }
.ava-entry-image { margin-bottom: 36px; }
.ava-archive-content { padding: clamp(70px,8vw,110px) 0; }
.ava-post-grid { display: grid; gap: 25px; grid-template-columns: repeat(3,minmax(0,1fr)); padding-bottom: 90px; padding-top: 70px; }
.ava-post-card { background: #fff; border: 1px solid rgba(8,63,53,.12); border-radius: 24px; overflow: hidden; }
.ava-post-card a { color: inherit; display: block; padding: 20px; text-decoration: none; }
.ava-post-card img { aspect-ratio: 16/10; border-radius: 14px; object-fit: cover; width: 100%; }
.ava-post-card h2 { font-size: 23px; letter-spacing: -.025em; }
.ava-post-card p { color: #65716e; line-height: 1.65; }
.ava-basic-grid { display: grid; gap: 24px; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 80px 0; }
.ava-basic-grid article { border: 1px solid #ddd; border-radius: 20px; padding: 18px; }
.ava-basic-grid a { color: inherit; text-decoration: none; }
.ava-error-page, .ava-empty-page { align-items: center; display: flex; min-height: 66vh; text-align: center; }
.ava-error-page span { color: rgba(185,135,45,.45); font-size: clamp(90px,20vw,220px); font-weight: 900; letter-spacing: -.08em; line-height: .8; }
.ava-error-page h1 { font-size: clamp(38px,5vw,64px); letter-spacing: -.045em; margin: 25px 0 12px; }
.ava-error-page p { color: #65716e; font-size: 17px; margin: 0 auto 28px; max-width: 650px; }
.ava-error-page .ava-container > div { display: flex; gap: 12px; justify-content: center; }
.ava-footer-fallback { padding: 45px 28px; }
.ava-canvas { margin: 0; }
.ava-builder-page > .vc_row, .ava-builder-page > .wpb-content-wrapper > .vc_row { margin-left: 0; margin-right: 0; }
.vc_row.ava-section-row { padding-bottom: clamp(72px,8vw,118px); padding-top: clamp(72px,8vw,118px); }
.vc_row.ava-section-soft { background: var(--ava-cream,#f8f3e9); }
.vc_row.ava-section-row > .wpb_column > .vc_column-inner { padding-left: 0; padding-right: 0; }
.wpb_content_element { margin-bottom: 0; }
.ava-reveal { opacity: 0; transform: translateY(16px); }
.ava-reveal.ava-in-view { opacity: 1; transform: translateY(0); transition: opacity .55s ease, transform .55s ease; }
@media (max-width: 960px) { .ava-post-grid { grid-template-columns: repeat(2,1fr); } .ava-basic-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px) { .ava-post-grid, .ava-basic-grid { grid-template-columns: 1fr; } .ava-page-hero, .ava-archive-hero { padding: 62px 0; } .ava-error-page .ava-container > div { align-items: stretch; flex-direction: column; } }
