@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500&family=Noto+Serif+Display:ital,wght@0,300;1,300&display=swap');
:root { --h-wt:300; --wh-display:'Noto Serif Display',Georgia,serif; }
html { scroll-behavior:smooth; }
body { margin:0; background:#FAF8F3; }
a { color:#181818; }
a:hover { color:#4A6478; }
input,select,textarea,button { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
input,select,textarea { min-width:0; max-width:100%; border-radius:0; box-sizing:border-box; }
::selection { background:#E8DCC6; }
[hidden] { display:none !important; }
.wide { display:contents; }
.narrow { display:none; }
.image-frame>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.skip-link { position:fixed; top:8px; left:8px; z-index:100; padding:12px 18px; background:#181818; color:#FAF8F3; transform:translateY(-180%); }
.skip-link:focus { transform:translateY(0); }
:focus-visible { outline:2px solid #9C8256 !important; outline-offset:5px; }
button[data-action="filter"],button[data-action="menu"] { min-height:44px; }
button[type="submit"]:hover,a[href="#enquire"][style*="background:#181818"]:hover { background:#4A4640 !important; color:#FAF8F3; }
[data-action="service-select"][aria-pressed="true"] { background:#242424 !important; color:#FAF8F3 !important; }
[data-action="service-select"][aria-pressed="false"] { background:transparent !important; color:rgba(250,248,243,.62) !important; }
[data-action="filter"][aria-pressed="true"] { background:#181818 !important; color:#FAF8F3 !important; border-color:#181818 !important; }
[data-action="filter"][aria-pressed="false"] { background:transparent !important; color:#4A4640 !important; border-color:rgba(24,24,24,.2) !important; }
[data-nav][aria-current="location"] { border-bottom-color:#181818 !important; color:#181818 !important; }
@media(max-width:999px) { .wide { display:none; } .narrow { display:contents; } }
@media(max-width:559px) { .service-details { grid-template-columns:minmax(0,1fr) !important; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
