:root{--color-primary:#2f4a3c;--color-primary-dark:#24382e;--color-primary-hover:#3a5c4a;--color-primary-light:#e8f0eb;--color-accent:#2f4a3c;--color-accent-hover:#24382e;--color-accent-light:#eef3ef;--color-beige:#e8e2d6;--color-beige-hover:#ddd5c6;--color-text:#2a342e;--color-text-light:#5c6b62;--color-text-muted:#8a968e;--surface-canvas:#f9f8f3;--surface-card:#fff;--surface-raised:#fff;--surface-blue:#f3f1eb;--surface-teal:#eef3ef;--surface-warm:#f0ebe3;--surface-slate:#ebe8e1;--surface-input:#f7f5f0;--color-bg:var(--surface-canvas);--color-bg-light:var(--surface-blue);--color-bg-gray:var(--surface-slate);--color-border:#e2ddd3;--color-white:#fff;--shadow-sm:0 1px 3px #24382e0f;--shadow-md:0 8px 20px -8px #24382e1f;--shadow-lg:0 14px 32px -12px #24382e24;--shadow-xl:0 22px 48px -16px #24382e2e;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:32px;--max-width:1180px;--header-height:76px;--post-card-image-ratio:16 / 10;--post-card-body-min-height:132px}html{scroll-behavior:smooth;height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--color-text);background:var(--color-bg);font-family:var(--font-heebo), Arial, Helvetica, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;line-height:1.6;display:flex}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button{cursor:pointer;background:0 0;border:none;font-family:inherit}ul{list-style:none}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 24px}.postCardGrid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:24px;display:grid}@media (max-width:900px){.postCardGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.postCardGrid{grid-template-columns:1fr}}.section{padding:80px 0}.sectionTitle{color:var(--color-primary-dark);margin-bottom:8px;font-size:2rem;font-weight:700}.sectionSubtitle{color:var(--color-text-light);margin-bottom:40px;font-size:1rem}.btn{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.btnGreen{background:var(--color-primary);color:var(--color-white)}.btnGreen:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btnBlue{background:var(--color-primary);color:var(--color-white)}.btnBlue:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btnBeige{background:var(--color-beige);color:var(--color-primary-dark)}.btnBeige:hover{background:var(--color-beige-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btnOutline{color:var(--color-primary);border:2px solid var(--color-primary);background:0 0}.btnOutline:hover{background:var(--color-primary-light)}.leafIcon{width:22px;height:22px;color:var(--color-primary);vertical-align:middle;flex-shrink:0;display:inline-block}.prose{text-align:justify;text-justify:inter-word;max-width:800px;margin:0 auto;line-height:1.8}.prose h1{color:var(--color-text);margin-bottom:24px;font-size:2.25rem;font-weight:700}.prose h2{color:var(--color-text);border-bottom:2px solid var(--color-bg-gray);margin:48px 0 12px;padding-bottom:12px;font-size:1.5rem;font-weight:700}.prose h2:first-of-type{margin-top:32px}.prose strong{color:var(--color-text);font-weight:600}.prose h3{margin:24px 0 12px;font-size:1.25rem;font-weight:600}.prose p{color:var(--color-text);text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;margin-bottom:20px}.prose h1,.prose h2,.prose h3{text-align:start}.prose ul,.prose ol{margin:16px 0;padding-right:24px}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li{text-align:justify;text-justify:inter-word;margin-bottom:8px}.prose table{border-collapse:collapse;-webkit-overflow-scrolling:touch;width:100%;margin:24px 0;display:block;overflow-x:auto}.prose thead,.prose tbody{width:100%;display:table}.prose th,.prose td{border:1px solid var(--color-border);text-align:right;vertical-align:top;padding:12px}.prose th{background:var(--color-bg-gray);font-weight:600}.prose blockquote{border-right:4px solid var(--color-accent);background:var(--color-accent-light);border-radius:var(--radius-sm);margin:24px 0;padding:16px 24px;font-size:.95rem}.prose blockquote p{margin-bottom:0}.prose .callout{background:var(--color-primary-light);border-right:4px solid var(--color-primary);border-radius:var(--radius-md);margin:28px 0;padding:20px 24px;font-size:.95rem}.prose .callout-tip{background:var(--color-bg-light);border-right-color:var(--color-accent)}.prose .callout table{margin:12px 0 0;font-size:.9rem}.prose .callout td{vertical-align:top;border:none;padding:6px 12px 6px 0}.prose .callout td:first-child{white-space:nowrap;color:var(--color-primary);font-weight:600}.prose hr{border:none;border-top:1px solid var(--color-border);margin:48px 0}.prose a{color:var(--color-primary);font-weight:500;text-decoration:underline}.prose a:hover{color:var(--color-accent)}.prose em{color:var(--color-text-light);font-style:italic}.prose iframe{border-radius:var(--radius-md);width:100%;max-width:640px;height:480px;box-shadow:var(--shadow-md);border:none;margin:24px 0}.prose .map-embed{border-radius:var(--radius-md);width:100%;max-width:640px;height:420px;box-shadow:var(--shadow-md);margin:24px 0;overflow:hidden}.prose .map-embed iframe{width:100%;height:calc(100% + 72px);box-shadow:none;border:none;border-radius:0;margin-top:-72px;margin-bottom:0;display:block}.prose .post-items{flex-direction:column;gap:0;display:flex}.prose .post-items p{margin-bottom:12px}.prose .post-items p:last-child{margin-bottom:0}@media (max-width:600px){input,select,textarea{font-size:16px!important}.container{padding-inline:16px}.section{padding-block:52px}.sectionTitle{font-size:1.65rem}.sectionSubtitle{margin-bottom:28px}.prose,.prose p,.prose li{text-align:start;text-justify:auto}.prose h1{font-size:1.8rem}.prose h2{margin-top:36px;font-size:1.35rem}.prose h3{font-size:1.15rem}.prose ul,.prose ol{padding-inline:22px 0}.prose blockquote,.prose .callout{padding:16px}.prose iframe,.prose .map-embed{height:320px}}
