/* WordPress integration; the original v1 design remains in base.css. */
:root {
  --ink: var(--wp--preset--color--ink, #11100e);
  --paper: var(--wp--preset--color--paper, #f6f2e8);
  --card: var(--wp--preset--color--card, #fffdf7);
  --accent: var(--wp--preset--color--accent, #ffcf3d);
  --accent-2: var(--wp--preset--color--blue, #1f58ff);
  --muted: var(--wp--preset--color--muted, #6a655b);
  --line: var(--wp--preset--color--line, #d8d0c2);
}
.wp-site-blocks { padding: 0; }
.wp-site-blocks > *, .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }
.wp-block-group > p { margin-block: 1em; }
.wp-block-group > h1 { margin-top: 0; margin-bottom: 1.5rem; }
.wp-block-group > h2 { margin-top: 0; margin-bottom: .83em; }
.wp-block-group > h3 { margin-top: 0; margin-bottom: 1em; }
.wp-block-group.section-head > p { margin: 0; }
.wp-block-group.card > h3 { margin-bottom: .75rem; }
.wp-block-group.cta-wrap > h2 { margin-bottom: 0; }
.wp-block-group.service-card h3 { margin-top: 2.5rem; }
.wp-block-group.container { margin-inline: auto; }
.wp-block-group.hero-grid, .wp-block-group.section-head, .wp-block-group.grid-4,
.wp-block-group.grid-3, .wp-block-group.grid-2, .wp-block-group.service-grid,
.wp-block-group.split, .wp-block-group.cta-wrap, .wp-block-group.footer-grid,
.wp-block-group.step { display: grid; }
.wp-block-group.nav, .wp-block-group.service-card, .wp-block-group.actions { display: flex; }
.wp-block-group.nav { flex-direction: row; }
.wp-block-group.service-card { flex-direction: column; }
.footer-grid .brand { display: flex; }
.footer-grid p a { display: inline; }
.band .button { color: var(--ink); }
.band .button.dark { color: white; }
.callout a { overflow-wrap: anywhere; }
.content-page { padding-block: clamp(3rem, 6vw, 6rem); }
.content-page .wp-block-post-content > * + * { margin-block-start: 1.5rem; }
.post-card { margin-bottom: 1.5rem; }
.wp-block-post-title { overflow-wrap: anywhere; }
.navigation-wrap { margin: 0; }
.nav-links .menu { display: flex; align-items: center; gap: 1.2rem; padding: 0; margin: 0; list-style: none; }
.nav-links li { position: relative; }
.nav-links .menu-quote > a { display: block; background: var(--ink); color: white; padding: .72rem 1rem; border-radius: 999px; box-shadow: -3px 3px 0 var(--accent); }
.nav-links a[aria-current="page"] { text-decoration: underline; text-underline-offset: .25em; }
.nav-links .sub-menu { display: none; position: absolute; top: 100%; right: 0; min-width: 15rem; padding: 1rem; margin: 0; list-style: none; background: var(--card); border: 1px solid var(--line); border-radius: 12px; }
.nav-links .sub-menu a { display: block; padding: .5rem; }
.nav-links li:hover > .sub-menu, .nav-links li:focus-within > .sub-menu { display: block; }
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#website-enquiry { scroll-margin-top: 110px; }
body.admin-bar .site-header { top: 32px; }
.wp-block-button__link { box-shadow: -3px 3px 0 var(--ink); }
.is-style-lead { font-size: clamp(1.15rem, 2vw, 1.45rem); }
.is-style-eyebrow { font-size: .79rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
@media (max-width: 920px) {
  .nav { flex-wrap: wrap; }
  .navigation-wrap:not(.menu-ready) { width: 100%; }
  .navigation-wrap:not(.menu-ready) .menu-button { display: none; }
  .navigation-wrap:not(.menu-ready) .nav-links { display: block; position: static; margin-bottom: 1rem; }
  .nav-links .menu { flex-direction: column; align-items: stretch; gap: .25rem; }
  .nav-links .menu a { display: block; padding: .6rem; }
  .nav-links .sub-menu { display: block; position: static; border: 0; padding: 0 0 0 1rem; min-width: 0; }
  .menu-ready .nav-links { max-height: calc(100dvh - 160px); overflow-y: auto; }
}
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .site-header { top: 0; } }
