@font-face{font-family:Poppins;src:url(/fonts/Poppins-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--font-heading: "Poppins", "Trebuchet MS", "Segoe UI", sans-serif;--font-body: "Montserrat", "Helvetica Neue", "Arial Nova", Arial, sans-serif;--color-forest-deep: #1a2e1a;--color-forest-dark: #243424;--color-forest-mid: #2d4a2d;--color-forest-light: #3d6b3d;--color-ember: #e85d04;--color-flame: #f48c06;--color-spark: #ffba08;--color-earth-dark: #3d2c1e;--color-earth-mid: #5c4033;--color-earth-light: #8b6f47;--color-sand: #d4c4a8;--color-cream: #f5f0e6;--color-primary: var(--color-forest-mid);--color-primary-dark: var(--color-forest-deep);--color-accent: var(--color-ember);--color-accent-light: var(--color-flame);--color-highlight: var(--color-spark);--color-page-bg: var(--color-cream);--color-card-bg: #fffdf8;--color-footer-bg: var(--color-forest-deep);--color-header-bg: #fffefa;--color-text-primary: var(--color-forest-deep);--color-text-secondary: #4a5a4a;--color-text-muted: #6b7b6b;--color-text-on-dark: #f5f0e6;--shadow-sm: 0 2px 8px rgba(26, 46, 26, .08);--shadow-md: 0 8px 24px rgba(26, 46, 26, .12);--shadow-lg: 0 16px 48px rgba(26, 46, 26, .16);--shadow-glow: 0 0 20px rgba(232, 93, 4, .3);--border-subtle: 1px solid rgba(45, 74, 45, .12);--border-accent: 3px solid var(--color-ember);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 4rem;font-family:var(--font-body);line-height:1.65;font-weight:400;background-color:var(--color-page-bg);color:var(--color-text-primary);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}.skip-link{position:absolute;top:-100%;left:1rem;background:var(--color-accent);color:#fff;padding:.5rem 1.25rem;border-radius:0 0 var(--radius-sm) var(--radius-sm);text-decoration:none;font-weight:600;z-index:200;transition:top var(--transition-fast)}.skip-link:focus{top:0}body{margin:0;min-height:100vh;background-color:var(--color-page-bg);color:var(--color-text-primary);background-image:radial-gradient(ellipse at 20% 30%,rgba(212,196,168,.3) 0%,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(139,111,71,.08) 0%,transparent 40%)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.25;color:var(--color-text-primary)}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}p{margin-top:0}main{min-height:60vh}.container{max-width:1100px;margin:0 auto;padding-left:clamp(1.5rem,4vw,3rem);padding-right:clamp(1.5rem,4vw,3rem)}a:focus-visible,button:focus-visible,.nav-links a:focus-visible{outline:2px solid var(--color-ember);outline-offset:2px}::selection{background:#e85d0433;color:var(--color-forest-deep)}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}@media print{.app-header,.app-footer,.cta,.back-link{display:none}body{background:#fff;color:#000}.hero{min-height:auto;padding:2rem 0}.hero:before,.hero:after{display:none}.post-card,.event-card,.group-info-card{box-shadow:none;border:1px solid #ddd}}.app-header{background:var(--color-header-bg);color:var(--color-text-primary);position:sticky;top:0;z-index:100;border-bottom:none;box-shadow:var(--shadow-sm)}.app-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(to right,var(--color-forest-deep) 0%,var(--color-forest-mid) 40%,var(--color-ember) 70%,var(--color-flame) 100%);pointer-events:none}.header-content{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-top:1.25rem;padding-bottom:1.25rem}.brand{display:inline-flex;align-items:center;gap:.85rem;font-family:var(--font-heading);font-size:1.05rem;font-weight:700;letter-spacing:.01em;color:var(--color-text-primary);transition:opacity var(--transition-fast)}.brand:hover{opacity:.85}.brand-logo{height:46px;width:auto;display:block;filter:drop-shadow(0 2px 4px rgba(26,46,26,.1))}.nav-links{display:flex;align-items:center;gap:.5rem}.nav-links a{color:var(--color-text-secondary);font-weight:600;font-size:.95rem;letter-spacing:.02em;text-transform:uppercase;padding:.5rem .9rem;border-radius:4px;position:relative;white-space:nowrap;transition:color var(--transition-fast),background-color var(--transition-fast)}.nav-links a:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--color-ember);transition:width var(--transition-base),left var(--transition-base)}.nav-links a:hover{color:var(--color-text-primary);background-color:#2d4a2d0f}.nav-links a:hover:after{width:60%;left:20%}.nav-links a.active{color:var(--color-forest-mid);background-color:#2d4a2d1a}.nav-links a.active:after{width:80%;left:10%;background:var(--color-forest-mid)}.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:10px;border:1px solid rgba(45,74,45,.2);background:#ffffffd9;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast);transform:none}.nav-toggle[data-open=true]{border-color:#2d4a2d59;background:#fff}.nav-toggle:hover{background:#fff;border-color:#2d4a2d4d;box-shadow:var(--shadow-sm);transform:none}.nav-toggle-bars{display:grid;gap:5px}.nav-toggle-bars span{width:22px;height:2px;border-radius:999px;background:var(--color-forest-deep);transition:background-color var(--transition-fast)}.link-button{background:none;border:none;color:var(--color-text-secondary);font:inherit;cursor:pointer;border-radius:4px;padding:.5rem .9rem;font-weight:600;font-size:.95rem;letter-spacing:.02em;text-transform:uppercase;transition:color var(--transition-fast),background-color var(--transition-fast)}.link-button:hover{color:var(--color-text-primary);background-color:#2d4a2d14}.app-footer{background:var(--color-footer-bg);color:var(--color-text-on-dark);padding:3rem 0 2rem;margin-top:5rem;position:relative;background-image:linear-gradient(to bottom,var(--color-forest-deep) 0%,var(--color-forest-dark) 100%)}.app-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--color-ember) 0%,var(--color-flame) 30%,var(--color-spark) 50%,var(--color-flame) 70%,var(--color-ember) 100%)}.footer-content{display:flex;flex-direction:column;gap:2rem}.footer-top{display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:space-between}.footer-column{flex:1 1 240px;min-width:220px;align-self:stretch}.footer-links{text-align:right}.footer-heading{margin:0 0 1rem;font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--color-cream);letter-spacing:.02em;position:relative;padding-bottom:.5rem}.footer-heading:after{content:"";position:absolute;bottom:0;left:0;width:2rem;height:2px;background:var(--color-ember)}.footer-links .footer-heading:after{left:auto;right:0}.footer-contact address{display:grid;gap:.6rem;margin:0;font-style:normal}.footer-contact-item{display:flex;align-items:center;gap:.75rem;line-height:1.4;font-size:.95rem}.footer-contact-icon{width:1.2rem;height:1.2rem;flex-shrink:0;color:var(--color-flame);opacity:.9}.footer-links ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;justify-items:end}.footer-contact a,.footer-links a,.footer-legal a{color:#f5f0e6d9;transition:color var(--transition-fast);text-decoration:none;font-size:.95rem}.footer-contact a:hover,.footer-links a:hover,.footer-legal a:hover{color:var(--color-spark)}.footer-bottom{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:center;border-top:1px solid rgba(245,240,230,.12);padding-top:1.25rem;font-size:.9rem;color:#f5f0e6b3}.footer-legal{display:flex;gap:1.5rem}@media(max-width:720px){.app-footer{padding:1rem 0 1.25rem}.footer-content{gap:1rem}.footer-top{flex-direction:column;gap:1rem;align-items:center;text-align:center}.footer-heading{margin-bottom:.5rem}.footer-links{text-align:center}.footer-links ul{justify-items:center;gap:.2rem}.footer-contact address{gap:.18rem;justify-items:center;text-align:center}.footer-contact-item{justify-content:center}.footer-bottom{flex-direction:column;align-items:center;gap:.45rem;padding-top:.6rem;text-align:center}.footer-legal{order:-1;justify-content:center}.footer-column{flex:none;min-width:0;width:100%;align-self:auto}}@media(max-width:1100px){.container{padding-left:clamp(1rem,3vw,1.5rem);padding-right:clamp(1rem,3vw,1.5rem)}}@media(max-width:1080px){.header-content{flex-wrap:wrap;gap:1rem;padding-top:1.1rem;padding-bottom:1.1rem}.brand{font-size:1rem}.brand span{max-width:260px}.brand-logo{height:42px}.nav-toggle{display:inline-flex}.nav-links{display:none;width:100%;flex-basis:100%;flex-direction:column;align-items:stretch;gap:.35rem;padding-bottom:.75rem}.nav-links[data-open=true]{display:flex}.nav-links a{text-align:left;font-size:.9rem;padding:.55rem .9rem}}@media(max-width:768px){.header-content{gap:.75rem;padding-top:1rem;padding-bottom:1rem}.nav-links a{font-size:.85rem;padding:.4rem .7rem}.app-footer{margin-top:3rem}}@media(max-width:480px){.container{padding-left:1rem;padding-right:1rem}.brand{font-size:.95rem;gap:.6rem}.brand span{max-width:180px;line-height:1.2}.brand-logo{height:38px}.header-content{padding-top:.9rem;padding-bottom:.9rem}.footer-heading:after{display:none}}.page-spacing{padding-top:2.5rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin:2rem 0 0}.info-grid>div{background:var(--color-card-bg);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow-md)}.calendar-page{padding-top:3rem;padding-bottom:4rem}.page-header{text-align:center;max-width:640px;margin:0 auto;position:relative}.page-header h1{margin-bottom:.75rem;font-family:var(--font-heading);font-size:clamp(2rem,5vw,2.75rem);color:var(--color-forest-deep)}.page-header h1:after{content:"";display:block;width:60px;height:3px;background:linear-gradient(to right,var(--color-ember),var(--color-flame));margin:1rem auto 0;border-radius:2px}.page-header p{margin:0;color:var(--color-text-secondary);font-size:1.05rem}.legal-page{padding:3rem 0 4rem}.legal-content{background:var(--color-card-bg);border-radius:8px;padding:2rem;box-shadow:var(--shadow-md);color:var(--color-text-secondary)}.legal-content h2{font-family:var(--font-heading);color:var(--color-forest-deep);margin-top:2rem}.legal-content h2:first-child{margin-top:0}.legal-content p{margin-bottom:1rem;line-height:1.7}.legal-content p:last-child{margin-bottom:0}.event-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:1.5rem}.event-card{background:var(--color-card-bg);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:.75rem;border-top:3px solid var(--color-forest-mid);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.event-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.event-meta{margin:.4rem 0 0;color:var(--color-ember);font-weight:600}.event-location{margin:.25rem 0 0;color:var(--color-text-muted)}.event-description{margin:.75rem 0 0;color:var(--color-text-secondary);line-height:1.7}.post-meta{margin:.4rem 0 0;color:var(--color-text-muted);font-size:.9rem}.muted{color:var(--color-text-muted)}.error{color:#b91c1c;margin-top:.75rem;padding:.75rem 1rem;background:#b91c1c14;border-radius:6px;border-left:3px solid #b91c1c}.hero-card .error{color:#991b1b;background:#b91c1c1f;border-left-color:#dc2626;font-weight:500}.card{background:var(--color-card-bg);border-radius:8px;padding:1.75rem;box-shadow:var(--shadow-md);margin-top:2rem}button{border-radius:6px;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;font-family:inherit;background:linear-gradient(135deg,var(--color-forest-mid) 0%,var(--color-forest-dark) 100%);color:#fff;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #2d4a2d4d}button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.download-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:1.5rem}.download-card{background:var(--color-card-bg);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:1rem;border-top:3px solid var(--color-forest-mid);transition:transform var(--transition-fast),box-shadow var(--transition-fast);text-decoration:none;color:inherit}.download-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.download-header{display:flex;align-items:flex-start;gap:.75rem}.download-icon{font-size:2rem;flex-shrink:0;line-height:1}.download-name{margin:0;font-family:var(--font-heading);font-size:1.1rem;color:var(--color-forest-deep);word-break:break-word;overflow-wrap:break-word}.download-description{margin:0;font-size:.9rem;color:var(--color-text-muted);line-height:1.45}@media(max-width:768px){.info-grid,.event-grid{grid-template-columns:1fr}.page-header h1:after{margin-top:.75rem}}@media(max-width:480px){.event-card{padding:1.25rem}}
