:root{--forest-700: #2f5d50;--forest-800: #284f44;--forest-900: #20302b;--forest-850: #2c4038;--clay-600: #9a5232;--clay-700: #7f4329;--clay-300: #e2b38f;--moss-400: #8aa87b;--cream-50: #fbf9f4;--cream-100: #f5f1e8;--cream-200: #f3eee3;--sand-300: #e3dccd;--sand-500: #8f8573;--ink-900: #26302c;--ink-600: #4a544e;--sage-200: #c9d4c6;--color-bg: var(--cream-50);--color-surface: #ffffff;--color-surface-sunken: var(--cream-200);--color-text: var(--ink-900);--color-text-muted: var(--ink-600);--color-heading: var(--forest-900);--color-brand: var(--forest-700);--color-brand-strong: var(--forest-800);--color-on-brand: var(--cream-100);--color-action: var(--clay-600);--color-action-hover: var(--clay-700);--color-on-action: #ffffff;--color-link: var(--forest-700);--color-link-hover: var(--clay-600);--color-inverse-bg: var(--forest-900);--color-inverse-raised: var(--forest-850);--color-inverse-text: var(--cream-100);--color-inverse-muted: var(--sage-200);--color-inverse-accent: var(--clay-300);--color-border: var(--sand-300);--color-border-strong: var(--sand-500);--color-focus: var(--clay-600);--color-focus-on-inverse: var(--clay-300);--color-success: #2b6a40;--color-success-bg: #e6f2e8;--color-error: #a3261b;--color-error-bg: #fbeae7;--color-error-border: #e8b4ac;--color-warning: #7a4f00;--color-warning-bg: #fdf1d6;--color-warning-border: #e9c46a;--radius-sm: 6px;--radius-md: 10px;--shadow-sm: 0 2px 6px rgba(32, 48, 43, .08);--shadow-md: 0 6px 18px rgba(32, 48, 43, .14);--measure: 68ch}::selection{background:var(--clay-300);color:var(--forest-900)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:1.0625rem;line-height:1.6;color:var(--color-text);background:var(--color-bg);caret-color:var(--color-action)}h1,h2,h3,h4{color:inherit;line-height:1.25;text-wrap:balance}p,li{text-wrap:pretty}a{color:var(--color-link);text-underline-offset:.2em}a:hover{color:var(--color-link-hover)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:2px}.navbar :focus-visible,.cta :focus-visible,footer :focus-visible,.cookie-banner :focus-visible,.page-header :focus-visible,.page-header-with-image :focus-visible{outline-color:var(--color-focus-on-inverse)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{max-width:1200px;margin:0 auto;padding:0 20px}.navbar{background:var(--color-inverse-bg);padding:.75rem 0;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.navbar .container{display:flex;justify-content:space-between;align-items:center}.logo{color:var(--color-inverse-text);font-size:1.5rem;font-weight:700}.logo a{color:var(--color-inverse-text)}.logo a:hover{color:var(--color-inverse-accent)}.nav-links{display:flex;align-items:center;list-style:none;gap:1.75rem}.nav-links a{color:var(--color-inverse-text);text-decoration:none;transition:color .2s ease-out}.nav-links a:hover,.nav-links a.active{color:var(--color-inverse-accent)}.nav-links a.active{text-decoration:underline;text-decoration-thickness:2px}.dropdown{position:relative;display:flex;align-items:center;gap:.25rem}.dropdown-toggle{background:none;border:none;color:var(--color-inverse-text);cursor:pointer;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.dropdown-toggle svg{transition:transform .2s ease-out}.dropdown-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.dropdown-toggle:hover{color:var(--color-inverse-accent)}.dropdown-menu{position:absolute;top:100%;left:0;background:var(--color-inverse-raised);list-style:none;padding:.5rem 0;min-width:200px;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s ease-out,transform .2s ease-out,visibility .2s}.dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-menu li{padding:0}.dropdown-menu a{display:block;padding:.7rem 1.5rem;color:var(--color-inverse-text);text-decoration:none;transition:background .2s ease-out}.dropdown-menu a:hover{background:var(--color-inverse-bg);color:var(--color-inverse-accent)}.nav-logout{background:none;border:1px solid var(--color-inverse-text);color:var(--color-inverse-text);padding:.4rem .9rem;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:.95rem}.nav-logout:hover{border-color:var(--color-inverse-accent);color:var(--color-inverse-accent)}.hamburger{display:none;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;border-radius:var(--radius-sm)}.hamburger span{width:24px;height:3px;border-radius:2px;background:var(--color-inverse-text);transition:transform .2s ease-out,opacity .2s ease-out}.hamburger[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.hamburger[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.hero{background:var(--color-surface-sunken);color:var(--color-heading);padding:72px 20px 88px;text-align:center}.hero-content h1{font-size:3rem;margin-bottom:1rem}.tagline{font-size:1.5rem;font-style:italic;color:var(--color-brand);margin-bottom:.5rem}.subtitle{font-size:1.2rem;color:var(--color-text-muted);margin-bottom:2rem}.btn{display:inline-block;padding:12px 30px;background:var(--color-action);color:var(--color-on-action);text-decoration:none;border-radius:var(--radius-sm);font-weight:700;transition:transform .2s ease-out,box-shadow .2s ease-out,background .2s ease-out;border:2px solid transparent}.btn:hover{color:var(--color-on-action);background:var(--color-action-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-light{background:#fff;color:var(--color-brand)}.btn-light:hover{background:var(--color-inverse-text);color:var(--color-brand-strong)}.btn-outline-light{background:transparent;color:var(--color-inverse-text);border-color:var(--color-inverse-text)}.btn-outline-light:hover{background:transparent;color:var(--color-inverse-accent);border-color:var(--color-inverse-accent)}.btn-group{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.contact-form button.btn{background:var(--color-action);color:var(--color-on-action);border:2px solid var(--color-action)}.contact-form button.btn:hover{background:var(--color-action-hover);border-color:var(--color-action-hover)}.services{padding:80px 20px;background:var(--color-bg)}.services h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:var(--color-heading)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.service-card{background:var(--color-surface);padding:2rem;border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform .2s ease-out,box-shadow .2s ease-out}.service-card:hover{transform:translateY(-4px)}.service-card-link{text-decoration:none;color:inherit;display:block}.service-card-link:hover{color:inherit;box-shadow:var(--shadow-md)}.service-card .learn-more{color:var(--color-action);font-weight:700;margin-top:1rem}.service-card h2,.service-card h3,.content .service-card h2{color:var(--color-brand);margin-bottom:1rem;font-size:1.5rem}.service-card ul{list-style:none;padding-left:0}.service-card ul li{padding:.3rem 0 .3rem 1.5rem;position:relative}.service-card ul li:before{content:"✓";position:absolute;left:0;color:var(--color-brand);font-weight:700}.cta{background:var(--color-inverse-bg);color:var(--color-inverse-text);padding:64px 20px;text-align:center;border-bottom:1px solid var(--color-inverse-raised)}.cta h2{font-size:2rem;margin-bottom:1rem}.cta p{font-size:1.2rem;margin-bottom:2rem}.cta .notice{max-width:var(--measure);margin:0 auto 1.5rem;padding:1.5rem;border-radius:var(--radius-md);background:var(--color-inverse-raised);border:1px solid var(--color-inverse-muted)}.cta .notice p{margin-bottom:0;font-size:1rem}.cta .notice p+p{margin-top:.5rem}.cta .notice strong{font-size:1.1rem}.page-header{background:var(--color-brand);color:var(--color-on-brand);padding:60px 20px;text-align:center}.page-header h1{font-size:2.5rem}.page-header p{max-width:var(--measure);margin-left:auto;margin-right:auto}.page-header-with-image{background:var(--color-brand);color:var(--color-on-brand);text-align:center}.page-header-with-image .header-image{width:100%;max-width:600px;height:500px;margin:0 auto;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-surface-sunken)}.page-header-with-image .header-image img{width:100%;height:100%;object-fit:contain;object-position:center}.page-header-with-image .container{padding:40px 20px}.page-header-with-image h1{font-size:2.5rem;margin-bottom:.5rem}.content{padding:60px 20px}.content h2{color:var(--color-heading);margin-top:2.5rem;margin-bottom:1rem;font-size:2rem}.content h3{color:var(--color-brand);margin-top:2rem;margin-bottom:.75rem}.content .container>:first-child,.content .narrow>:first-child,.content .container>:first-child>:first-child{margin-top:0}.content p,.content li{max-width:var(--measure)}.content p{margin-bottom:1rem;line-height:1.75}.content ul{padding-left:1.5rem;margin-bottom:1rem}.content-section{max-width:820px;margin:0 auto}.content-section+.content-section{margin-top:3.5rem}.faq-item+.faq-item{margin-top:1.75rem}.content .faq-item h3{margin-top:0;margin-bottom:.5rem}.panel{background:var(--color-surface-sunken);padding:2rem;border-radius:var(--radius-md);border:1px solid var(--color-border);margin-bottom:2rem}.panel>:last-child{margin-bottom:0}.panel h2,.panel h3{margin-top:0}.content .lead{font-size:1.15rem;line-height:1.8}.panel-outline{background:var(--color-surface);border-color:var(--color-brand)}.panel-brand{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-on-brand)}.content .panel-brand h2,.content .panel-brand h3{color:var(--color-on-brand)}.content .panel-note{font-style:italic;color:var(--color-brand)}.content .panel-closing{font-style:italic;margin-top:1.5rem}.content .small{font-size:.95rem}.narrow{max-width:900px;margin:0 auto}.about-content{display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:start}.placeholder-image{background:var(--color-brand);color:var(--color-on-brand);padding:100px 20px;border-radius:var(--radius-md);text-align:center;font-size:1.2rem}.history-content{max-width:800px;margin:0 auto}.history-image{margin:2rem 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact-details{margin-top:2rem}.contact-item{margin-bottom:2rem}.contact-item h3{color:var(--color-brand);margin-bottom:.5rem}.contact-item a:not(.btn){color:var(--color-link)}.social-links{display:flex;gap:1rem;margin-top:.5rem}.social-link{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-brand);color:var(--color-on-brand);text-decoration:none;border-radius:var(--radius-sm);transition:background .2s ease-out,transform .2s ease-out}.social-link:hover{color:var(--color-on-brand);background:var(--color-brand-strong);transform:translateY(-2px)}.contact-form{background:var(--color-surface-sunken);padding:2rem;border-radius:var(--radius-md)}.contact-form h3{margin-bottom:1.5rem;color:var(--color-heading)}.form-label{display:block;font-weight:600;margin-bottom:.35rem;color:var(--color-text)}.form-label .optional{font-weight:400;color:var(--color-text-muted)}.contact-form input,.contact-form textarea{width:100%;padding:12px;margin-bottom:1rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:1rem;background:var(--color-surface);color:var(--color-text)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--color-text-muted)}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.consent-label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;color:var(--color-text);font-size:.95rem}.contact-form .consent-label input{width:20px;height:20px;margin:.15rem 0 0;flex-shrink:0;accent-color:var(--color-action)}.contact-form button{width:100%;cursor:pointer;border:none;font:inherit;font-weight:700}.form-message{margin-top:1rem;text-align:center;font-weight:700}.form-message.success{color:var(--color-success)}.form-message.error{color:var(--color-error)}footer{background:var(--color-inverse-bg);color:var(--color-inverse-muted);text-align:center;padding:2rem 0;margin-top:auto}footer a{color:var(--color-inverse-text)}footer a:hover{color:var(--color-inverse-accent)}@media(max-width:768px){.hamburger{display:flex}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-inverse-bg);flex-direction:column;align-items:stretch;padding:.5rem 0 1rem;gap:0;max-height:calc(100dvh - 68px);overflow-y:auto;box-shadow:var(--shadow-md)}.nav-links.active{display:flex}.navbar:has(.nav-links.active){z-index:1001}.nav-links>li{text-align:center}.nav-links>li>a,.nav-links>li>.nav-logout{display:inline-block;padding:.7rem 1rem}.dropdown{flex-wrap:wrap;justify-content:center}.dropdown-toggle{width:44px;height:44px}.dropdown-menu{position:static;flex-basis:100%;display:none;min-width:0;box-shadow:none;opacity:1;visibility:visible;transform:none;transition:none}.dropdown-menu.show{display:block}.hero{padding:48px 20px 64px}.hero-content h1{font-size:2rem}.about-content,.contact-grid,.services-grid{grid-template-columns:1fr}.page-header-with-image .header-image{height:auto;max-height:360px}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--color-inverse-bg);color:var(--color-inverse-text);padding:1rem 20px;z-index:1000;box-shadow:0 -4px 14px #20302b40}.cookie-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.cookie-banner-content p{margin:0;font-size:.95rem;line-height:1.5}.cookie-banner-content a{color:var(--color-inverse-accent);text-decoration:underline}.cookie-banner-buttons{display:flex;gap:.75rem;flex-shrink:0}.cookie-accept,.cookie-decline{min-height:44px;padding:10px 22px;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:1rem}.cookie-accept{background:var(--color-action);color:var(--color-on-action);border:1px solid var(--color-action);font-weight:700}.cookie-accept:hover{background:var(--color-action-hover)}.cookie-decline{background:transparent;color:var(--color-inverse-text);border:1px solid var(--color-inverse-text)}.cookie-decline:hover{color:var(--color-inverse-accent);border-color:var(--color-inverse-accent)}@media(max-width:768px){.cookie-banner{padding:.75rem 16px}.cookie-banner-content{flex-direction:column;align-items:stretch;text-align:left;gap:.75rem}.cookie-banner-buttons>*{flex:1}}@media(prefers-reduced-motion:reduce){.btn:hover,.service-card:hover,.social-link:hover,.dropdown-menu,.dropdown-toggle[aria-expanded=true] svg,.hamburger[aria-expanded=true] span{transform:none}.hamburger[aria-expanded=true] span:nth-child(2){opacity:1}}.route-loading{padding:80px 20px;text-align:center;color:var(--color-text-muted)}.back-link{display:inline-block;color:var(--color-on-brand);text-decoration:none;font-weight:600;transition:opacity .3s}.back-link:hover{opacity:.8}.blog-filters{background:var(--color-surface-sunken);padding:2rem;border-radius:10px;margin-bottom:2rem}.search-bar{margin-bottom:1.5rem}.search-input{width:100%;padding:12px 20px;font-size:1rem;border:2px solid var(--color-border-strong);border-radius:8px;transition:border-color .3s}.search-input:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.filter-controls{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:200px}.filter-group label{font-weight:600;color:var(--color-heading);font-size:.9rem}.filter-select{padding:10px 15px;font-size:1rem;border:2px solid var(--color-border-strong);border-radius:8px;background:#fff;cursor:pointer;transition:border-color .3s}.filter-select:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.btn-clear-filters{padding:10px 20px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:8px;cursor:pointer;font-weight:600;transition:background .3s}.btn-clear-filters:hover{background:var(--color-surface-sunken);border-color:var(--color-brand)}.results-info{margin-bottom:2rem;color:var(--color-text-muted);font-size:.95rem}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.blog-card{background:#fff;border-radius:10px;padding:2rem;box-shadow:0 3px 10px #0000001a;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}.blog-card:hover{transform:translateY(-5px);box-shadow:0 5px 20px #2f5d502e}.blog-card-header h2{margin-bottom:.75rem;font-size:1.5rem}.blog-card-header h2 a{color:var(--color-heading);text-decoration:none;transition:color .3s}.blog-card-header h2 a:hover{color:var(--color-brand)}.blog-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:var(--color-text-muted);margin-bottom:1rem}.blog-author{font-weight:600;color:var(--color-brand)}.blog-date:before,.blog-reading-time:before{content:"•";margin-right:.5rem;color:var(--color-border-strong)}.blog-excerpt{color:var(--color-text-muted);line-height:1.6;margin-bottom:1.5rem;flex-grow:1}.blog-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;border-top:1px solid var(--color-border)}.blog-tags{display:flex;gap:.5rem;flex-wrap:wrap}.blog-category{display:inline-block;padding:4px 12px;background:var(--color-brand);color:var(--color-on-brand);border-radius:15px;font-size:.8rem;font-weight:600}.read-more{color:var(--color-brand);text-decoration:none;font-weight:600;transition:color .3s}.read-more:hover{color:var(--color-brand-strong)}.no-results{text-align:center;padding:4rem 2rem;background:var(--color-surface-sunken);border-radius:10px}.no-results p{font-size:1.2rem;color:var(--color-text-muted);margin-bottom:1.5rem}.blog-post{max-width:800px;margin:0 auto}.blog-post-header{margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid var(--color-border)}.blog-post-header h1{font-size:2.5rem;color:var(--color-heading);margin-bottom:1rem;line-height:1.3}.blog-post-meta{display:flex;flex-wrap:wrap;gap:1.5rem;color:var(--color-text-muted);font-size:.95rem}.blog-post-meta .author{font-weight:600;color:var(--color-brand)}.blog-categories{display:flex;gap:.5rem;margin-top:1rem}.blog-post-content{line-height:1.8;color:var(--color-text)}.blog-post-content h2{font-size:2rem;color:var(--color-heading);margin-top:2.5rem;margin-bottom:1rem}.blog-post-content h3{font-size:1.5rem;color:var(--color-brand);margin-top:2rem;margin-bottom:.75rem}.blog-post-content p{margin-bottom:1.25rem}.blog-post-content ul,.blog-post-content ol{margin-bottom:1.25rem;padding-left:2rem}.blog-post-content li{margin-bottom:.5rem}.blog-post-content strong{font-weight:700;color:var(--color-heading)}.blog-post-content em{font-style:italic}.blog-post-content a{color:var(--color-brand);text-decoration:underline}.blog-post-content a:hover{color:var(--color-brand-strong)}.blog-post-content blockquote{background:var(--color-surface-sunken);border-radius:var(--radius-md);padding:1rem 1.5rem;margin:1.5rem 0;font-style:italic;color:var(--color-text-muted)}.blog-post-content code{background:var(--color-surface-sunken);padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.blog-post-content pre{background:var(--color-surface-sunken);padding:1rem;border-radius:5px;overflow-x:auto;margin-bottom:1.25rem}.blog-post-content pre code{background:none;padding:0}.blog-post-footer{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--color-border)}.blog-post-tags{margin-bottom:2rem}.blog-post-tags h3{font-size:1.2rem;color:var(--color-heading);margin-bottom:1rem}.tag-list{display:flex;flex-wrap:wrap;gap:.75rem}.tag{display:inline-block;padding:6px 15px;background:var(--color-surface-sunken);color:var(--color-brand);border-radius:20px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .3s,color .3s}.tag:hover{background:var(--color-brand);color:var(--color-on-brand)}.back-to-blog{display:inline-block;margin-top:2rem;padding:12px 24px;background:var(--color-brand);color:var(--color-on-brand);text-decoration:none;border-radius:8px;font-weight:600;transition:background .3s}.back-to-blog:hover{background:var(--color-brand-strong)}@media(max-width:768px){.blog-grid{grid-template-columns:1fr}.filter-controls{flex-direction:column}.filter-group{width:100%}.blog-post-header h1{font-size:2rem}.blog-post-content h2{font-size:1.75rem}.blog-post-content h3{font-size:1.35rem}}
