/* Explicit light-surface action controls; privacy text is intentionally excluded. */
:root body :is(a.button,button.work-gallery-button,#booking-send,#send-email):not(.hero-primary){background:var(--ink);color:var(--green);border-color:var(--ink);transition:background-color .22s ease,color .22s ease,border-color .22s ease}
:root body :is(a.button,button.work-gallery-button,#booking-send,#send-email):not(.hero-primary):is(:hover,:focus-visible):not(:disabled):not([aria-disabled=true]){background:var(--green);color:var(--ink);border-color:var(--green)}
/* These sections have dark surfaces. The hover wash retains sage edges and a dark, readable label area. */
:root body :is(.difference,.footer) :is(a.button,button.work-gallery-button,#booking-send,#send-email){position:relative;isolation:isolate;background:var(--green);color:var(--ink);border-color:var(--green)}
:root body :is(.difference,.footer) :is(a.button,button.work-gallery-button,#booking-send,#send-email)::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,var(--green) 0%,var(--ink) 17%,var(--ink) 83%,var(--green) 100%);opacity:0;transition:opacity .25s ease}
:root body :is(.difference,.footer) :is(a.button,button.work-gallery-button,#booking-send,#send-email):is(:hover,:focus-visible):not(:disabled):not([aria-disabled=true]){background:var(--green);color:var(--white);border-color:var(--green)}
:root body :is(.difference,.footer) :is(a.button,button.work-gallery-button,#booking-send,#send-email):is(:hover,:focus-visible):not(:disabled):not([aria-disabled=true])::before{opacity:1}
/* Preserve the existing hero primary CTA states. */
:root body a.button.hero-primary{background:var(--green);color:var(--ink);border-color:var(--green)}
:root body a.button.hero-primary:is(:hover,:focus-visible){background:var(--ink);color:var(--white);border-color:var(--ink)}
:root body :is(button,a.button):focus-visible{outline:3px solid var(--focus-ring,var(--ink));outline-offset:4px}
:root body :is(button,a.button):is(:disabled,[aria-disabled=true]){opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
:root body .menu-toggle span{background:currentColor}
@media(prefers-reduced-motion:reduce){:root body :is(button,a.button),:root body :is(button,a.button)::before{transition:none}}

/* Navigation and utility controls are neutral, independent of CTA colours. */
:root body button:not(.work-gallery-button):not(#booking-send):not(#send-email):not([data-open-privacy]):not([data-ready=true]){background:transparent;color:inherit;border-color:currentColor}
:root body button:not(.work-gallery-button):not(#booking-send):not(#send-email):not([data-open-privacy]):not([data-ready=true]):is(:hover,:focus-visible){background:transparent;color:inherit;border-color:currentColor}
:root body .booking-back{border:1px solid currentColor;border-radius:5px;padding-inline:12px}
/* Main navigation emphasis, preserving labels and order. */
.nav>a,.mobile-nav>a{font-weight:700}
/* Match the work CTA's fading gradient on light sections, using their inverse palette. */
:root body :is(.header,.process,.faqs,.quote-section,.hero-booking) :is(a.button,#booking-send,#send-email):not(.hero-primary){position:relative;isolation:isolate}
:root body :is(.header,.process,.faqs,.quote-section,.hero-booking) :is(a.button,#booking-send,#send-email):not(.hero-primary)::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,var(--ink) 0%,var(--green) 17%,var(--green) 83%,var(--ink) 100%);opacity:0;transition:opacity .25s ease}
:root body :is(.header,.process,.faqs,.quote-section,.hero-booking) :is(a.button,#booking-send,#send-email):not(.hero-primary):is(:hover,:focus-visible):not(:disabled)::before{opacity:1}
@media(prefers-reduced-motion:reduce){:root body :is(.header,.process,.faqs,.quote-section,.hero-booking) :is(a.button,#booking-send,#send-email)::before{transition:none}}
/* The hero CTA now shares the same gentle dark-surface hover wash. */
:root body a.button.hero-primary{position:relative;isolation:isolate}
:root body a.button.hero-primary::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,var(--green) 0%,var(--ink) 17%,var(--ink) 83%,var(--green) 100%);opacity:0;transition:opacity .25s ease}
:root body a.button.hero-primary:is(:hover,:focus-visible){background:var(--green);color:var(--white);border-color:var(--green)}
:root body a.button.hero-primary:is(:hover,:focus-visible)::before{opacity:1}
@media(prefers-reduced-motion:reduce){:root body a.button.hero-primary::before{transition:none}}
