*{box-sizing:border-box}html,body{margin:0;padding:0;background:#f7f5ef;font-family:Arial,Helvetica,sans-serif;color:#123f2d}.site{width:min(100%,1280px);margin:0 auto}.master{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;background:#fff}.master>img{display:block;width:100%;height:100%;object-fit:contain}.hotspot{position:absolute;display:block;z-index:5;text-indent:-9999px;background:transparent;border:0;cursor:pointer}.hotspot:focus-visible{outline:2px solid #0a6b43;outline-offset:2px;background:rgba(10,107,67,.06)}.note{padding:12px 16px;background:#fff;border-top:1px solid #ddd;font-size:13px;color:#444}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip{position:absolute;left:-9999px;top:8px;z-index:100;padding:8px 12px;background:#fff;color:#123f2d;border:2px solid #0a6b43;border-radius:4px;text-decoration:none}.skip:focus{left:8px}@media(max-width:600px){.site{width:100%}.note{font-size:12px}}
/* Contact enquiry interaction: preserves the approved visual master until the visitor chooses Send Message. */
.contact-submit-hotspot{appearance:none;-webkit-appearance:none;padding:0;background:transparent;border:0}
.contact-dialog[hidden]{display:none}
.contact-dialog{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.52)}
.contact-dialog-card{position:relative;width:min(720px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:14px;padding:28px;box-shadow:0 18px 60px rgba(0,0,0,.28);color:#123f2d}
.contact-dialog-card h2{margin:0 0 6px;font-family:Georgia,'Times New Roman',serif;font-size:30px}
.contact-dialog-card p{margin:0 0 18px;color:#444;line-height:1.45}
.contact-dialog-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:32px;line-height:1;cursor:pointer;color:#123f2d}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-dialog-card label{display:block;font-size:14px;font-weight:600;margin-bottom:14px}
.contact-dialog-card label span{color:#b33;font-weight:700}
.contact-dialog-card input,.contact-dialog-card select,.contact-dialog-card textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cfd6d0;border-radius:7px;font:inherit;color:#123f2d;background:#fff}
.contact-dialog-card textarea{resize:vertical;min-height:120px}
.contact-send{border:0;border-radius:7px;padding:12px 20px;background:#0a6b43;color:#fff;font-weight:700;cursor:pointer}
.contact-send:focus-visible,.contact-dialog-close:focus-visible,.contact-dialog-card input:focus-visible,.contact-dialog-card select:focus-visible,.contact-dialog-card textarea:focus-visible{outline:2px solid #0a6b43;outline-offset:2px}
.contact-form-note{font-size:12px!important;margin:10px 0 0!important;color:#666!important}
body.dialog-open{overflow:hidden}
@media(max-width:600px){.contact-dialog-card{padding:22px 16px}.contact-grid{grid-template-columns:1fr}.contact-dialog-card h2{font-size:25px}}

.error-page{max-width:720px;margin:12vh auto;padding:32px;text-align:center;background:#fff;border:1px solid #ddd;border-radius:14px}.error-page h1{font-family:Georgia,'Times New Roman',serif;font-size:40px}.error-page a{color:#0a6b43;font-weight:700}
