/* Minimal bespoke enhancements; layout, spacing, colors and responsiveness use inline Tailwind utility classes. */
:root { color-scheme: light; }
html { scroll-behavior: smooth; }
body { font-family: 'Manrope','DM Sans',system-ui,-apple-system,sans-serif; }
.skip-link { position:fixed; top:-100px; left:10px; z-index:1000; color:#fff; background:#063520; padding:12px 18px; border-radius:0 0 10px 10px; }
.skip-link:focus { top:0; }
a,button,input,textarea,select,summary { -webkit-tap-highlight-color:transparent; }
button,summary { cursor:pointer; }
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible { outline:3px solid #eeba55; outline-offset:3px; }
.nav-link { color:#35453d; font-size:12px; font-weight:800; white-space:nowrap; position:relative; transition:color .2s; }
.nav-link:hover,.nav-link.active,.nav-link[aria-current="page"] { color:#06623d; }
.nav-link.active::after { content:""; position:absolute; bottom:-13px; left:0; right:0; height:2px; border-radius:4px; background:#06623d; }
.dropdown-more>summary::-webkit-details-marker { display:none; }
.dropdown-more>summary::marker { content:""; }
.dropdown-more:not([open])>div { display:none; }
.mobile-link { display:block; padding:12px 10px; border-radius:8px; color:#293f33; font-size:14px; font-weight:750; }
.mobile-link:hover,.mobile-link.mobile-active { background:#eaf6ee; color:#06623d; }
.footer-link { transition:color .15s; }
.footer-link:hover { color:#bde99b; }
.form-field { display:flex; flex-direction:column; gap:9px; font-size:12px; font-weight:800; color:#293b31; }
.form-field span:not(.non-required) { color:#0a6c43; }
.form-field input,.form-field select,.form-field textarea { font-size:14px; font-weight:500; line-height:1.5; color:#142820; padding:13px 14px; border:1px solid #d6e0d9; border-radius:8px; width:100%; background:#fff; min-height:46px; transition:box-shadow .2s,border-color .2s; }
.form-field textarea { resize:vertical; min-height:150px; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { outline:0; box-shadow:0 0 0 3px #cde9d3; border-color:#06623d; }
.form-field input::placeholder,.form-field textarea::placeholder { color:#889891; }
.contact-detail { display:flex; align-items:flex-start; gap:16px; border:1px solid #e6eae7; padding:17px; border-radius:10px; color:#415248; font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.contact-detail svg { flex-shrink:0; margin-top:4px; }
.contact-detail b { color:#172d20; font-weight:800; }
.contact-detail:hover { background:#eef6ef; border-color:#c6dfcf; }
.gallery-filter { border:1px solid #d3e4d9; color:#24543a; border-radius:999px; padding:11px 18px; font-size:12px; font-weight:800; transition:all .2s; }
.gallery-filter.active,.gallery-filter:hover { color:white; background:#06623d; border-color:#06623d; }
.faq-entry summary::-webkit-details-marker { display:none; }
.faq-entry summary::marker { content:""; }
.faq-entry[open] { border-color:#b4d8bf; box-shadow:0 12px 30px rgba(1,47,24,.05); }
[hidden] { display:none !important; }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
