:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#23352f;background:#fbfaf6;font-synthesis:none;text-rendering:optimizeLegibility;--green:#245c4d;--pale:#e8f0e9}*{box-sizing:border-box}body{margin:0;line-height:1.6}a{color:var(--green);text-underline-offset:.2em}a:focus-visible{outline:3px solid #c47b36;outline-offset:3px}.skip-link{position:absolute;left:-9999px;top:1rem;background:white;padding:.7rem;z-index:2}.skip-link:focus{left:1rem}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem max(1.25rem,calc((100% - 1120px)/2));background:#fff;border-bottom:1px solid #e5e7e1}.brand{font-weight:750;font-size:1.2rem;text-decoration:none;color:var(--green)}nav{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}nav a{text-decoration:none}nav a:hover,footer a:hover{text-decoration:underline}.nav-cta,.button{display:inline-block;background:var(--green);color:#fff;padding:.7rem 1rem;border-radius:.5rem;text-decoration:none;font-weight:650}.hero{max-width:1120px;margin:auto;padding:clamp(3rem,8vw,7rem) 1.25rem;display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:center}.eyebrow{color:var(--green);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}h1{font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.08;max-width:15ch;margin:.5rem 0 1rem}h2{line-height:1.2}.hero p{max-width:55ch;font-size:1.1rem}.hero-card{background:var(--pale);border-radius:1.25rem;padding:2rem}.hero-card p{font-size:1rem}.notice{max-width:1120px;margin:0 auto 3rem;padding:1rem 1.25rem;border-left:4px solid #c47b36;background:#fff8ed}footer{border-top:1px solid #e5e7e1;padding:1.5rem max(1.25rem,calc((100% - 1120px)/2));display:flex;justify-content:space-between;gap:1rem} @media(max-width:700px){.site-header{align-items:flex-start;flex-direction:column;padding:1rem 1.25rem}nav{gap:.65rem 1rem}.hero{grid-template-columns:1fr;padding-top:3rem;gap:1.5rem}footer{flex-direction:column}}
.page-intro,.service-list{max-width:900px;margin:0 auto;padding:2.5rem 1.25rem}.page-intro h1{margin-bottom:.5rem}.service-list{display:grid;gap:1.25rem;padding-top:0}.service-card{padding:1.5rem;border:1px solid #dfe6df;border-radius:1rem;background:#fff}.service-card h2{margin-top:0}.service-card p{max-width:70ch}.service-card p strong+span{padding:0 .25rem}
#contact-form{display:grid;gap:1rem;max-width:42rem}#contact-fields{display:grid;gap:.5rem;border:1px solid #bacbbf;padding:1.25rem;min-width:0}#contact-form input,#contact-form textarea{width:100%;padding:.65rem;font:inherit;border:1px solid #7c9185;border-radius:.25rem}#contact-form button{font:inherit;cursor:pointer;padding:.7rem 1rem}#contact-form :focus-visible{outline:3px solid #c47b36;outline-offset:3px}#contact-form :disabled{cursor:default;opacity:.7}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#booking-form{display:grid;gap:1rem;max-width:42rem}#booking-fields{display:grid;gap:.6rem;min-width:0;border:1px solid #bacbbf;padding:1.25rem}#booking-form input,#booking-form select{width:100%;max-width:100%;min-width:0;padding:.65rem;font:inherit;border:1px solid #7c9185;border-radius:.25rem}#booking-form button{font:inherit;padding:.7rem 1rem;cursor:pointer;white-space:normal}#booking-form :focus-visible{outline:3px solid #c47b36;outline-offset:3px}#booking-form :disabled{opacity:.7;cursor:default}#booking-summary{padding:1rem;background:var(--pale);overflow-wrap:anywhere}
#refresh-result{font:inherit;border:0;cursor:pointer}#refresh-result:focus-visible{outline:3px solid #c47b36;outline-offset:3px}#refresh-result:disabled{opacity:.7;cursor:default}#refresh-result[hidden]{display:none}
