/* Accessible, self-contained site search. No external assets or fonts. */
.alg-search-dialog,.alg-search-dialog *,.alg-mobile-actions,.alg-mobile-actions *{box-sizing:border-box}
.alg-search-open{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;min-height:44px;min-width:44px;margin-left:auto;padding:9px 11px;border:1px solid var(--line,#d4d9cb);border-radius:3px;background:transparent;color:var(--forest,#173b32);font:inherit;font-size:12px;line-height:1.2;cursor:pointer}
.alg-search-open:hover{background:var(--paper-deep,#ececde)}
.alg-search-icon{display:block;position:relative;width:14px;height:14px;border:1.6px solid currentColor;border-radius:50%;margin-right:3px}
.alg-search-icon::after{content:"";position:absolute;width:6px;height:1.6px;background:currentColor;right:-4px;bottom:-2px;transform:rotate(45deg);transform-origin:left}
.alg-search-dialog{position:fixed;inset:0;width:min(720px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 64px);padding:30px;border:1px solid var(--line,#d4d9cb);border-radius:8px;background:var(--paper,#f6f4ed);color:var(--ink,#213e34);box-shadow:0 24px 100px #08261d55;overflow:auto;overscroll-behavior:contain}
.alg-search-dialog:not([open]){display:none}
.alg-search-dialog::backdrop{background:#09261f9c;backdrop-filter:blur(4px)}
.alg-search-top{display:flex;gap:24px;align-items:flex-start;justify-content:space-between}
.alg-search-eyebrow{margin:0 0 10px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#5f7066)}
.alg-search-top h2{margin:0;font-family:var(--serif,Georgia,serif);font-size:clamp(1.65rem,4vw,2.15rem);font-weight:400;line-height:1.2;letter-spacing:-.035em}
.alg-search-close,.alg-search-clear{border:1px solid var(--line,#d4d9cb);border-radius:3px;background:transparent;color:inherit;font:inherit;font-size:12px;min-height:44px;padding:8px 12px;cursor:pointer}
.alg-search-close:hover,.alg-search-clear:hover{background:var(--paper-deep,#ececde)}
.alg-search-form{margin-top:24px}
.alg-search-form label{display:block;margin-bottom:8px;font-size:13px;font-weight:600}
.alg-search-field{display:flex;align-items:center;gap:10px}
.alg-search-field input{width:100%;min-width:0;min-height:52px;padding:12px 15px;border:1px solid #899c8c;border-radius:3px;background:#fffefa;color:var(--ink,#213e34);font:inherit;font-size:16px;line-height:1.5;appearance:none}
.alg-search-field input::placeholder{color:#657267;opacity:1}
.alg-search-field input:focus-visible{outline:3px solid #8b6a33;outline-offset:3px}
.alg-search-help{margin:9px 0 0;color:var(--muted,#5f7066);font-size:12px;line-height:1.6}
.alg-search-count{margin:20px 0 10px;font-size:12px;color:var(--muted,#5f7066)}
.alg-search-results{list-style:none;padding:0;margin:0;border-top:1px solid var(--line,#d4d9cb)}
.alg-search-results>li{margin:0;border-bottom:1px solid var(--line,#d4d9cb)}
.alg-search-result{position:relative;display:flex;flex-direction:column;gap:5px;padding:17px 34px 17px 7px;text-decoration:none;color:inherit;border-radius:3px}
.alg-search-result:hover{background:var(--paper-deep,#ececde)}
.alg-search-category{font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.12em;color:var(--muted,#5f7066)}
.alg-search-result-title{font-family:var(--serif,Georgia,serif);font-size:21px;line-height:1.3;letter-spacing:-.025em}
.alg-search-summary{font-size:12px;line-height:1.65;color:var(--muted,#5f7066)}
.alg-search-arrow{position:absolute;right:8px;top:23px;font-size:22px}
.alg-search-empty{padding:22px 4px;border-top:1px solid var(--line,#d4d9cb)}
.alg-search-empty h3{font-size:24px}
.alg-search-empty p{margin-top:9px;font-size:14px;line-height:1.7}
.alg-search-contact{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;font-size:13px;border-bottom:1px solid currentColor}
.alg-search-bottom{margin:19px 0 0;font-size:10px;line-height:1.6;letter-spacing:.02em;color:var(--muted,#5f7066)}
.alg-search-dialog button:focus-visible,.alg-search-dialog a:focus-visible,.alg-search-open:focus-visible,.alg-mobile-actions a:focus-visible{outline:3px solid #8b6a33;outline-offset:3px}
.alg-mobile-actions{display:none}
.alg-search-dialog [hidden]{display:none!important}
@media(max-width:1150px){.alg-search-button-label{display:none}}
@media(max-width:900px){.site-header .header-inner{column-gap:12px}.alg-search-open{padding:10px;width:44px}.site-header .menu-toggle{flex-shrink:0}}
@media(max-width:700px){
 body.alg-mobile-actions-ready{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
 .alg-mobile-actions{display:flex;position:fixed;z-index:35;bottom:0;left:0;right:0;align-items:stretch;gap:10px;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));border-top:1px solid #48665b;background:var(--forest,#173b32);box-shadow:0 -5px 22px #173b321f}
 .alg-mobile-actions>a{display:flex;flex:1;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;border:1px solid #b9c7b3;border-radius:3px;color:var(--paper,#f6f4ed);font-size:12px;line-height:1.45;text-align:center}
 .alg-mobile-actions .alg-mobile-book{flex:1.4;background:var(--paper,#f6f4ed);border-color:var(--paper,#f6f4ed);color:var(--forest,#173b32)}
 .alg-mobile-actions a:focus-visible{outline-color:#d0ad6a;outline-offset:3px}
 .alg-mobile-actions-hidden{display:none}
 .alg-search-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:22px 18px}
 .alg-search-top{gap:14px}
 .alg-search-top h2{font-size:27px}
 .alg-search-eyebrow{font-size:9px}
 .alg-search-close{padding-inline:9px}
 .alg-search-result-title{font-size:20px}
 .alg-search-bottom{font-size:10px}
}
@media print{.alg-search-open,.alg-search-dialog,.alg-mobile-actions{display:none!important}body.alg-mobile-actions-ready{padding-bottom:0}}

/* A consistent appointment action in the shared navigation. */
.navigation>a[href="/contact.html"]{padding:0;background:transparent;color:var(--ink);border:0;line-height:1.4;margin-top:0}
.navigation>a[href="/contact.html"]:hover{background:transparent;color:var(--forest)}
.navigation>a.nav-book{padding:12px 16px;background:var(--forest);color:var(--paper);border:1px solid var(--forest);line-height:1.4;white-space:nowrap}
.navigation>a.nav-book:hover{background:var(--forest-light)}
.navigation>a.nav-book::after{display:none}
.navigation>a.nav-book:focus-visible{outline-offset:4px}
@media(min-width:961px) and (max-width:1170px){.navigation{gap:17px}.navigation>a.nav-book{padding-inline:12px}}
@media(max-width:960px){.navigation>a[href="/contact.html"]{padding-block:13px}.navigation>a.nav-book{padding:13px 17px;margin-top:10px}}
