/* ============================================================
   meggybug base

   Site-wide fundamentals. Loads on every page, unlike the gallery
   styles which are gated to where the grid renders.
   ============================================================ */

/* ---- Stop the header shifting between pages ----

   A page tall enough to scroll gets a scrollbar; a short one does
   not. The scrollbar takes roughly 15px of viewport width, so
   centred content - the logo and nav included - jumps sideways by
   about 7px when moving between a long page and a short one.

   scrollbar-gutter reserves the space permanently, so the layout
   is identical whether the page scrolls or not. Nothing visibly
   changes on pages that already scrolled.

   Preferred over the old `overflow-y: scroll` trick, which forces
   a permanently visible scrollbar track even on short pages. */

html {
    scrollbar-gutter: stable;
}

/* ---- Footer contact icons ----

   The icons are data URIs here rather than inline SVG in the footer
   template on purpose: update-post runs template content through
   wp_kses_post(), which strips <svg>, <path> and <defs> entirely.
   Verified 2026-08-02 on a disposable draft - the markup came back
   with the whole element removed. CSS is the only route that works
   without hand-editing the template in wp-admin.

   Instagram is a full-colour logo, so it is a background image.
   The envelope is monochrome and uses a mask, so it picks up the
   surrounding text colour automatically. */

.mb-icon {
    display: inline-flex;
    align-items: center;
    gap: 0.45em;
}

.mb-icon::before {
    content: "";
    flex: 0 0 auto;
    width: 1.05em;
    height: 1.05em;
}

.mb-icon-instagram::before {
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNjQuNTgzIDI2NC41ODMiPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0xMzIuMzQ1IDMzLjk3M2MtMjYuNzE2IDAtMzAuMDcuMTE3LTQwLjU2My41OTQtMTAuNDcyLjQ4LTE3LjYyIDIuMTM2LTIzLjg3NiA0LjU2Ny02LjQ3IDIuNTEtMTEuOTU4IDUuODctMTcuNDI2IDExLjMzNS01LjQ3MiA1LjQ2NC04LjgzNCAxMC45NDgtMTEuMzU0IDE3LjQxMi0yLjQ0IDYuMjUyLTQuMSAxMy4zOTctNC41NyAyMy44NTgtLjQ3IDEwLjQ4Ni0uNTkzIDEzLjgzOC0uNTkzIDQwLjUzNSAwIDI2LjY5Ny4xMTkgMzAuMDM3LjU5NCA0MC41MjIuNDgyIDEwLjQ2NSAyLjE0IDE3LjYwOSA0LjU3IDIzLjg1OSAyLjUxNSA2LjQ2NSA1Ljg3NiAxMS45NSAxMS4zNDYgMTcuNDE0IDUuNDY2IDUuNDY4IDEwLjk1NSA4LjgzNCAxNy40MiAxMS4zNDUgNi4yNiAyLjQzMSAxMy40MSA0LjA4OCAyMy44ODEgNC41NjcgMTAuNDkzLjQ3NyAxMy44NDQuNTk0IDQwLjU1OS41OTQgMjYuNzE5IDAgMzAuMDYxLS4xMTcgNDAuNTU1LS41OTQgMTAuNDcyLS40OCAxNy42My0yLjEzNiAyMy44ODgtNC41NjcgNi40NjgtMi41MSAxMS45NDgtNS44NzcgMTcuNDE0LTExLjM0NSA1LjQ3Mi01LjQ2NCA4LjgzNC0xMC45NDkgMTEuMzU0LTE3LjQxMiAyLjQxOS02LjI1MiA0LjA3OS0xMy4zOTggNC41Ny0yMy44NTguNDcyLTEwLjQ4Ni41OTUtMTMuODI4LjU5NS00MC41MjVzLS4xMjMtMzAuMDQ3LS41OTQtNDAuNTMzYy0uNDkyLTEwLjQ2NS0yLjE1Mi0xNy42MDgtNC41Ny0yMy44NTgtMi41MjEtNi40NjYtNS44ODMtMTEuOTUtMTEuMzU1LTE3LjQxNC01LjQ3Mi01LjQ2OC0xMC45NDQtOC44MjctMTcuNDItMTEuMzM1LTYuMjcxLTIuNDMxLTEzLjQyNC00LjA4OC0yMy44OTctNC41NjctMTAuNDkzLS40NzctMTMuODM0LS41OTQtNDAuNTU4LS41OTR6bS04LjgyNSAxNy43MTVjMi42Mi0uMDA0IDUuNTQyIDAgOC44MjUgMCAyNi4yNjYgMCAyOS4zOC4wOTQgMzkuNzUyLjU2NSA5LjU5MS40MzggMTQuNzk3IDIuMDQgMTguMjY0IDMuMzg1IDQuNTkxIDEuNzgyIDcuODY0IDMuOTEyIDExLjMwNSA3LjM1MiAzLjQ0MyAzLjQ0IDUuNTc1IDYuNzE3IDcuMzYyIDExLjMwNSAxLjM0NiAzLjQ2IDIuOTUxIDguNjYzIDMuMzg4IDE4LjI0Ny40NyAxMC4zNjMuNTczIDEzLjQ3NS41NzMgMzkuNzEgMCAyNi4yMzMtLjEwMiAyOS4zNDYtLjU3MyAzOS43MDktLjQ0IDkuNTg0LTIuMDQyIDE0Ljc4Ni0zLjM4OCAxOC4yNDctMS43ODMgNC41ODctMy45MTkgNy44NTQtNy4zNjIgMTEuMjkyLTMuNDQzIDMuNDQxLTYuNzEyIDUuNTctMTEuMzA1IDcuMzUyLTMuNDYzIDEuMzUyLTguNjczIDIuOTUtMTguMjY0IDMuMzg4LTEwLjM3LjQ3LTEzLjQ4Ni41NzMtMzkuNzUyLjU3My0yNi4yNjggMC0yOS4zOC0uMTAyLTM5Ljc1MS0uNTczLTkuNTkyLS40NDMtMTQuNzk3LTIuMDQ0LTE4LjI2Ny0zLjM5LTQuNTktMS43ODEtNy44Ny0zLjkxMS0xMS4zMTMtNy4zNTItMy40NDMtMy40NC01LjU3NC02LjcwOS03LjM2Mi0xMS4yOTgtMS4zNDYtMy40NjEtMi45NS04LjY2My0zLjM4Ny0xOC4yNDctLjQ3Mi0xMC4zNjMtLjU2Ni0xMy40NzYtLjU2Ni0zOS43MjZzLjA5NC0yOS4zNDcuNTY2LTM5LjcxYy40MzgtOS41ODQgMi4wNC0xNC43ODYgMy4zODctMTguMjUgMS43ODMtNC41ODggMy45MTktNy44NjUgNy4zNjItMTEuMzA1IDMuNDQzLTMuNDQxIDYuNzIyLTUuNTcgMTEuMzEzLTcuMzU3IDMuNDY4LTEuMzUxIDguNjc1LTIuOTQ5IDE4LjI2Ny0zLjM4OSA5LjA3NS0uNDEgMTIuNTkyLS41MzIgMzAuOTI2LS41NTN6bTYxLjMzNyAxNi4zMjJjLTYuNTE4IDAtMTEuODA1IDUuMjc3LTExLjgwNSAxMS43OTIgMCA2LjUxMiA1LjI4NyAxMS43OTYgMTEuODA1IDExLjc5NiA2LjUxNyAwIDExLjgwNC01LjI4NCAxMS44MDQtMTEuNzk2IDAtNi41MTMtNS4yODctMTEuNzk2LTExLjgwNS0xMS43OTZ6bS01Mi41MTIgMTMuNzgyYy0yNy45IDAtNTAuNTE5IDIyLjYwMy01MC41MTkgNTAuNDgyIDAgMjcuODc5IDIyLjYyIDUwLjQ3MSA1MC41MiA1MC40NzFzNTAuNTEtMjIuNTkyIDUwLjUxLTUwLjQ3MWMwLTI3Ljg3OS0yMi42MTMtNTAuNDgyLTUwLjUxMy01MC40ODJ6bTAgMTcuNzE1YzE4LjExIDAgMzIuNzkyIDE0LjY3IDMyLjc5MiAzMi43NjcgMCAxOC4wOTYtMTQuNjgzIDMyLjc2Ny0zMi43OTIgMzIuNzY3LTE4LjExIDAtMzIuNzkxLTE0LjY3MS0zMi43OTEtMzIuNzY3IDAtMTguMDk4IDE0LjY4LTMyLjc2NyAzMi43OTEtMzIuNzY3eiIvPjwvc3ZnPg==") no-repeat center / contain;
    mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNjQuNTgzIDI2NC41ODMiPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0xMzIuMzQ1IDMzLjk3M2MtMjYuNzE2IDAtMzAuMDcuMTE3LTQwLjU2My41OTQtMTAuNDcyLjQ4LTE3LjYyIDIuMTM2LTIzLjg3NiA0LjU2Ny02LjQ3IDIuNTEtMTEuOTU4IDUuODctMTcuNDI2IDExLjMzNS01LjQ3MiA1LjQ2NC04LjgzNCAxMC45NDgtMTEuMzU0IDE3LjQxMi0yLjQ0IDYuMjUyLTQuMSAxMy4zOTctNC41NyAyMy44NTgtLjQ3IDEwLjQ4Ni0uNTkzIDEzLjgzOC0uNTkzIDQwLjUzNSAwIDI2LjY5Ny4xMTkgMzAuMDM3LjU5NCA0MC41MjIuNDgyIDEwLjQ2NSAyLjE0IDE3LjYwOSA0LjU3IDIzLjg1OSAyLjUxNSA2LjQ2NSA1Ljg3NiAxMS45NSAxMS4zNDYgMTcuNDE0IDUuNDY2IDUuNDY4IDEwLjk1NSA4LjgzNCAxNy40MiAxMS4zNDUgNi4yNiAyLjQzMSAxMy40MSA0LjA4OCAyMy44ODEgNC41NjcgMTAuNDkzLjQ3NyAxMy44NDQuNTk0IDQwLjU1OS41OTQgMjYuNzE5IDAgMzAuMDYxLS4xMTcgNDAuNTU1LS41OTQgMTAuNDcyLS40OCAxNy42My0yLjEzNiAyMy44ODgtNC41NjcgNi40NjgtMi41MSAxMS45NDgtNS44NzcgMTcuNDE0LTExLjM0NSA1LjQ3Mi01LjQ2NCA4LjgzNC0xMC45NDkgMTEuMzU0LTE3LjQxMiAyLjQxOS02LjI1MiA0LjA3OS0xMy4zOTggNC41Ny0yMy44NTguNDcyLTEwLjQ4Ni41OTUtMTMuODI4LjU5NS00MC41MjVzLS4xMjMtMzAuMDQ3LS41OTQtNDAuNTMzYy0uNDkyLTEwLjQ2NS0yLjE1Mi0xNy42MDgtNC41Ny0yMy44NTgtMi41MjEtNi40NjYtNS44ODMtMTEuOTUtMTEuMzU1LTE3LjQxNC01LjQ3Mi01LjQ2OC0xMC45NDQtOC44MjctMTcuNDItMTEuMzM1LTYuMjcxLTIuNDMxLTEzLjQyNC00LjA4OC0yMy44OTctNC41NjctMTAuNDkzLS40NzctMTMuODM0LS41OTQtNDAuNTU4LS41OTR6bS04LjgyNSAxNy43MTVjMi42Mi0uMDA0IDUuNTQyIDAgOC44MjUgMCAyNi4yNjYgMCAyOS4zOC4wOTQgMzkuNzUyLjU2NSA5LjU5MS40MzggMTQuNzk3IDIuMDQgMTguMjY0IDMuMzg1IDQuNTkxIDEuNzgyIDcuODY0IDMuOTEyIDExLjMwNSA3LjM1MiAzLjQ0MyAzLjQ0IDUuNTc1IDYuNzE3IDcuMzYyIDExLjMwNSAxLjM0NiAzLjQ2IDIuOTUxIDguNjYzIDMuMzg4IDE4LjI0Ny40NyAxMC4zNjMuNTczIDEzLjQ3NS41NzMgMzkuNzEgMCAyNi4yMzMtLjEwMiAyOS4zNDYtLjU3MyAzOS43MDktLjQ0IDkuNTg0LTIuMDQyIDE0Ljc4Ni0zLjM4OCAxOC4yNDctMS43ODMgNC41ODctMy45MTkgNy44NTQtNy4zNjIgMTEuMjkyLTMuNDQzIDMuNDQxLTYuNzEyIDUuNTctMTEuMzA1IDcuMzUyLTMuNDYzIDEuMzUyLTguNjczIDIuOTUtMTguMjY0IDMuMzg4LTEwLjM3LjQ3LTEzLjQ4Ni41NzMtMzkuNzUyLjU3My0yNi4yNjggMC0yOS4zOC0uMTAyLTM5Ljc1MS0uNTczLTkuNTkyLS40NDMtMTQuNzk3LTIuMDQ0LTE4LjI2Ny0zLjM5LTQuNTktMS43ODEtNy44Ny0zLjkxMS0xMS4zMTMtNy4zNTItMy40NDMtMy40NC01LjU3NC02LjcwOS03LjM2Mi0xMS4yOTgtMS4zNDYtMy40NjEtMi45NS04LjY2My0zLjM4Ny0xOC4yNDctLjQ3Mi0xMC4zNjMtLjU2Ni0xMy40NzYtLjU2Ni0zOS43MjZzLjA5NC0yOS4zNDcuNTY2LTM5LjcxYy40MzgtOS41ODQgMi4wNC0xNC43ODYgMy4zODctMTguMjUgMS43ODMtNC41ODggMy45MTktNy44NjUgNy4zNjItMTEuMzA1IDMuNDQzLTMuNDQxIDYuNzIyLTUuNTcgMTEuMzEzLTcuMzU3IDMuNDY4LTEuMzUxIDguNjc1LTIuOTQ5IDE4LjI2Ny0zLjM4OSA5LjA3NS0uNDEgMTIuNTkyLS41MzIgMzAuOTI2LS41NTN6bTYxLjMzNyAxNi4zMjJjLTYuNTE4IDAtMTEuODA1IDUuMjc3LTExLjgwNSAxMS43OTIgMCA2LjUxMiA1LjI4NyAxMS43OTYgMTEuODA1IDExLjc5NiA2LjUxNyAwIDExLjgwNC01LjI4NCAxMS44MDQtMTEuNzk2IDAtNi41MTMtNS4yODctMTEuNzk2LTExLjgwNS0xMS43OTZ6bS01Mi41MTIgMTMuNzgyYy0yNy45IDAtNTAuNTE5IDIyLjYwMy01MC41MTkgNTAuNDgyIDAgMjcuODc5IDIyLjYyIDUwLjQ3MSA1MC41MiA1MC40NzFzNTAuNTEtMjIuNTkyIDUwLjUxLTUwLjQ3MWMwLTI3Ljg3OS0yMi42MTMtNTAuNDgyLTUwLjUxMy01MC40ODJ6bTAgMTcuNzE1YzE4LjExIDAgMzIuNzkyIDE0LjY3IDMyLjc5MiAzMi43NjcgMCAxOC4wOTYtMTQuNjgzIDMyLjc2Ny0zMi43OTIgMzIuNzY3LTE4LjExIDAtMzIuNzkxLTE0LjY3MS0zMi43OTEtMzIuNzY3IDAtMTguMDk4IDE0LjY4LTMyLjc2NyAzMi43OTEtMzIuNzY3eiIvPjwvc3ZnPg==") no-repeat center / contain;
}

.mb-icon-email::before {
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMDAwIiBkPSJNNCAyMHEtLjgyNSAwLTEuNDEyLS41ODdUMiAxOFY2cTAtLjgyNS41ODgtMS40MTJUNCA0aDE2cS44MjUgMCAxLjQxMy41ODhUMjIgNnYxMnEwIC44MjUtLjU4NyAxLjQxM1QyMCAyMHptOC03TDQgOHYxMGgxNlY4em0wLTJsOC01SDR6TTQgOFY2djEyeiIvPjwvc3ZnPg==") no-repeat center / contain;
    mask: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMDAwIiBkPSJNNCAyMHEtLjgyNSAwLTEuNDEyLS41ODdUMiAxOFY2cTAtLjgyNS41ODgtMS40MTJUNCA0aDE2cS44MjUgMCAxLjQxMy41ODhUMjIgNnYxMnEwIC44MjUtLjU4NyAxLjQxM1QyMCAyMHptOC03TDQgOHYxMGgxNlY4em0wLTJsOC01SDR6TTQgOFY2djEyeiIvPjwvc3ZnPg==") no-repeat center / contain;
}


/* Etsy. Masked like the envelope, so it takes the footer text colour
   rather than being locked to one value. */

/* Etsy ships as a wordmark rather than a square symbol, so a square
   box scales it down to almost nothing. Roughly 2:1 fits its shape. */
.mb-icon-etsy::before {
    width: 2.2em;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMTEuMTM5IDE0LjA1OGMtLjQzOCAwLS42OTMtLjI5NC0uNjkzLTEuMDU4di0yLjY5NmwxLjQ1Ni4xMTJsLjA3NC0uNjk0bC0xLjQ5Ni4wNzR2LTEuNTNoLS40MzhjLS4yMTYgMS4yMDEtLjc1OSAxLjYzOC0xLjQ4OCAxLjcxMnYuMzY0aC44Njl2My4wNjJjMCAuODM2LjU4OCAxLjI3MSAxLjMxMyAxLjI3MWMuNTg1IDAgMS4yMDItLjI1NSAxLjQxOC0uNzYzbC0uMjE3LS4yNTVjLS4xMDguMTgtLjQwMi40MDEtLjc5OC40MDFtLTMuNDk0LS44MDNjLS4yOTQuNjktLjc2Ny43MjktMS4yNC43MjloLTEuNTNjLS41MDggMC0uNzI5LS4xODYtLjcyOS0uNjJ2LTIuMjU4czEuMDkyIDAgMS40NTcuMDM5Yy4yOTEuMDM1LjQzOC4xMDkuNTQ2LjQ3M2wuMTA4LjUxMWguNDM4bC0uMDM5LTEuMzA5bC4wNzQtMS4yNzhoLS40MzRsLS4xNDcuNTg1Yy0uMDczLjM5OS0uMTQ3LjQzOC0uNTQ2LjUwOGMtLjUwOC4wMzgtMS40NTcuMDM4LTEuNDU3LjAzOFY3Ljk3OWMwLS4xMTIgMC0uMTQ3LjE4NS0uMTQ3aDIuMjkxYy40MDIgMCAuNjIuMzI2Ljc2My45OGwuMTQ3LjUxMmguMzk5Yy4wMzktMS40NTcuMDc0LTIuMDc0LjA3NC0yLjA3NHMtLjk4MS4xMDUtMS41NjIuMTA1SDMuNTNMMiA3LjMyNHYuMzk5bC41MDguMTA3Yy4zNjcuMDc0LjQ3NS4xNDcuNDc1LjQ3M2MwIDAgLjAzOS45ODQuMDM5IDIuNjE5YzAgMS42MzktLjAzOSAyLjYyMy0uMDM5IDIuNjIzYzAgLjI5MS0uMTA4LjM5OS0uNDc1LjQ3M0wyIDE0LjEzMXYuMzk2bDEuNTY1LS4wMzVoMi42MjNjLjU4MSAwIDEuOTY1LjAzNSAxLjk2NS4wMzVjLjAzNC0uMzYxLjIxNi0xLjk2NC4yNTUtMi4xNDZIOC4wNHptNi4wNC0yLjYyMmMwLS40NzQuNDM3LS42NTUuODc1LS42NTVjLjM2IDAgLjY1My4xNDcuNzI5LjMyNWwuMjU1LjcyOWwuMzYxLS4wMzVjMC0uMzY0LjAzOC0uODM4LjExMS0xLjIwMWMtLjMyOC0uMTQ3LS45ODMtLjIyMS0xLjQyMS0uMjIxYy0uOTg0IDAtMS43NDcuNDQxLTEuNzQ3IDEuMzg3YzAgMS42NzQgMi40NCAxLjMxIDIuNDQgMi41NDljMCAuMzk5LS4yNTYuNzI5LS44NzYuNzI5Yy0uNTgxIDAtLjgzNy0uMjk0LS45NDUtLjU4NWwtLjI5LS42OTNoLS4zNjljLjA0LjQ3Ni4wNzQuOTQ4IDAgMS4zODJjMCAwIC43NjcuMjk0IDEuNTMxLjI5NGMxLjAyMiAwIDEuODU4LS41MDcgMS44NTgtMS40NTdjMC0xLjY3NC0yLjUxMi0xLjQyMS0yLjUxMi0yLjU0OG02LjM2OS0uOTQ1di4zNjRsLjI1OS4wNzRjLjI1Mi4wNy4zNi4xNzguMzYuMzYzYzAgLjEwOC0uMDM0LjE0NC0uMDczLjI5MWMtLjEwOC4yOTEtLjgwMiAyLjAwMy0xLjE2MiAyLjc2N2E3NiA3NiAwIDAgMS0xLjA5My0yLjk0OWMtLjAzNS0uMDczLS4wMzUtLjEwOC0uMDM1LS4xNDZjMC0uMTQ4LjEwNS0uMjkyLjM2MS0uMzI2bC4zMjktLjA3NHYtLjM2NGwtMS4zNDYuMDczbC0xLjA5Ni0uMDM5di4zNjhsLjE4Ny4wNjljLjI1MS4wNzQuMjg3LjExLjQ2OS41MTJjLjY5MyAxLjUzIDEuNDU3IDMuNTI5IDEuNzE2IDQuMTVjLS41ODQgMS4wMTktMS4yMDQgMS4zMDktMS42NzcgMS4zMDljLS4yOTEgMC0uMzk5LS4xNDctLjQzNS0uMzI5bC0uMTQ2LS43NjNsLS40LjAzNWMtLjA3My40NzctLjE0Ny45ODQtLjI1NSAxLjM4M2MuMjg3LjE4Mi42MTYuMjk0IDEuMDUzLjI5M2MuNjkxIDAgMS42NzUtLjE4MiAyLjYyMy0yLjMzMmwxLjYwMS0zLjc0N2MuMTQ1LS4yOTMuMTgyLS4zMjkuNTQ2LS40NzZsLjE4My0uMTQ0di0uMzYybC0uOTQ1LjAzNHoiLz48L3N2Zz4=") no-repeat center / contain;
    mask: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMTEuMTM5IDE0LjA1OGMtLjQzOCAwLS42OTMtLjI5NC0uNjkzLTEuMDU4di0yLjY5NmwxLjQ1Ni4xMTJsLjA3NC0uNjk0bC0xLjQ5Ni4wNzR2LTEuNTNoLS40MzhjLS4yMTYgMS4yMDEtLjc1OSAxLjYzOC0xLjQ4OCAxLjcxMnYuMzY0aC44Njl2My4wNjJjMCAuODM2LjU4OCAxLjI3MSAxLjMxMyAxLjI3MWMuNTg1IDAgMS4yMDItLjI1NSAxLjQxOC0uNzYzbC0uMjE3LS4yNTVjLS4xMDguMTgtLjQwMi40MDEtLjc5OC40MDFtLTMuNDk0LS44MDNjLS4yOTQuNjktLjc2Ny43MjktMS4yNC43MjloLTEuNTNjLS41MDggMC0uNzI5LS4xODYtLjcyOS0uNjJ2LTIuMjU4czEuMDkyIDAgMS40NTcuMDM5Yy4yOTEuMDM1LjQzOC4xMDkuNTQ2LjQ3M2wuMTA4LjUxMWguNDM4bC0uMDM5LTEuMzA5bC4wNzQtMS4yNzhoLS40MzRsLS4xNDcuNTg1Yy0uMDczLjM5OS0uMTQ3LjQzOC0uNTQ2LjUwOGMtLjUwOC4wMzgtMS40NTcuMDM4LTEuNDU3LjAzOFY3Ljk3OWMwLS4xMTIgMC0uMTQ3LjE4NS0uMTQ3aDIuMjkxYy40MDIgMCAuNjIuMzI2Ljc2My45OGwuMTQ3LjUxMmguMzk5Yy4wMzktMS40NTcuMDc0LTIuMDc0LjA3NC0yLjA3NHMtLjk4MS4xMDUtMS41NjIuMTA1SDMuNTNMMiA3LjMyNHYuMzk5bC41MDguMTA3Yy4zNjcuMDc0LjQ3NS4xNDcuNDc1LjQ3M2MwIDAgLjAzOS45ODQuMDM5IDIuNjE5YzAgMS42MzktLjAzOSAyLjYyMy0uMDM5IDIuNjIzYzAgLjI5MS0uMTA4LjM5OS0uNDc1LjQ3M0wyIDE0LjEzMXYuMzk2bDEuNTY1LS4wMzVoMi42MjNjLjU4MSAwIDEuOTY1LjAzNSAxLjk2NS4wMzVjLjAzNC0uMzYxLjIxNi0xLjk2NC4yNTUtMi4xNDZIOC4wNHptNi4wNC0yLjYyMmMwLS40NzQuNDM3LS42NTUuODc1LS42NTVjLjM2IDAgLjY1My4xNDcuNzI5LjMyNWwuMjU1LjcyOWwuMzYxLS4wMzVjMC0uMzY0LjAzOC0uODM4LjExMS0xLjIwMWMtLjMyOC0uMTQ3LS45ODMtLjIyMS0xLjQyMS0uMjIxYy0uOTg0IDAtMS43NDcuNDQxLTEuNzQ3IDEuMzg3YzAgMS42NzQgMi40NCAxLjMxIDIuNDQgMi41NDljMCAuMzk5LS4yNTYuNzI5LS44NzYuNzI5Yy0uNTgxIDAtLjgzNy0uMjk0LS45NDUtLjU4NWwtLjI5LS42OTNoLS4zNjljLjA0LjQ3Ni4wNzQuOTQ4IDAgMS4zODJjMCAwIC43NjcuMjk0IDEuNTMxLjI5NGMxLjAyMiAwIDEuODU4LS41MDcgMS44NTgtMS40NTdjMC0xLjY3NC0yLjUxMi0xLjQyMS0yLjUxMi0yLjU0OG02LjM2OS0uOTQ1di4zNjRsLjI1OS4wNzRjLjI1Mi4wNy4zNi4xNzguMzYuMzYzYzAgLjEwOC0uMDM0LjE0NC0uMDczLjI5MWMtLjEwOC4yOTEtLjgwMiAyLjAwMy0xLjE2MiAyLjc2N2E3NiA3NiAwIDAgMS0xLjA5My0yLjk0OWMtLjAzNS0uMDczLS4wMzUtLjEwOC0uMDM1LS4xNDZjMC0uMTQ4LjEwNS0uMjkyLjM2MS0uMzI2bC4zMjktLjA3NHYtLjM2NGwtMS4zNDYuMDczbC0xLjA5Ni0uMDM5di4zNjhsLjE4Ny4wNjljLjI1MS4wNzQuMjg3LjExLjQ2OS41MTJjLjY5MyAxLjUzIDEuNDU3IDMuNTI5IDEuNzE2IDQuMTVjLS41ODQgMS4wMTktMS4yMDQgMS4zMDktMS42NzcgMS4zMDljLS4yOTEgMC0uMzk5LS4xNDctLjQzNS0uMzI5bC0uMTQ2LS43NjNsLS40LjAzNWMtLjA3My40NzctLjE0Ny45ODQtLjI1NSAxLjM4M2MuMjg3LjE4Mi42MTYuMjk0IDEuMDUzLjI5M2MuNjkxIDAgMS42NzUtLjE4MiAyLjYyMy0yLjMzMmwxLjYwMS0zLjc0N2MuMTQ1LS4yOTMuMTgyLS4zMjkuNTQ2LS40NzZsLjE4My0uMTQ0di0uMzYybC0uOTQ1LjAzNHoiLz48L3N2Zz4=") no-repeat center / contain;
}

/* ---- Link hover ----

   A translucent wash rather than a fixed colour, so it picks up whatever
   is behind it - orange on most pages, pink in the footer - instead of
   needing a different value per context.

   box-shadow with spread widens the wash slightly. Padding would do the
   same visually but reflows the text on hover, which reads as a jitter.

   Links wrapping an image are excluded, so the header banner and the
   gallery thumbnails do not get a rectangle behind them. */

a:hover:not(:has(img)),
a:focus-visible:not(:has(img)) {
    background-color: rgb(0 0 0 / 0.08);
    border-radius: 2px;
    box-shadow: 0 0 0 2px rgb(0 0 0 / 0.08);
}

@media (prefers-reduced-motion: no-preference) {
    a {
        transition: background-color 0.15s ease, box-shadow 0.15s ease;
    }
}

/* ---- Footer heading on its own row, small screens ----

   Block flex layouts have a wrap toggle but no per-breakpoint control,
   so there is no built-in way to say "own row on mobile, inline on
   desktop". Hence the media query.

   On desktop the row is 800px and the heading plus all three links fit
   together (725px), which reads as intentional. Below that they split
   unevenly - heading beside one link, the rest underneath. Forcing the
   heading to a full row keeps it as a heading rather than a stray item.

   782px is WordPress's own mobile breakpoint, matching the theme. */

@media (max-width: 781px) {
    .mb-footer-heading {
        flex-basis: 100%;
        text-align: center;
    }
}
