:root {
    --ink: #141415;
    --fascia: color-mix(in oklab, var(--brand) 3%, #0d0d0e);
    --fascia-line: color-mix(in oklab, var(--fascia) 78%, white);
    --fascia-text-quiet: color-mix(in oklab, var(--fascia) 30%, white);
    --board-white: #fff;
    --concrete: #e9e8e5;
    --concrete-line: #d3cfc7;
    --hazard: #ffd60a;
    --hazard-ink: #17130a;
    --brand-strong: color-mix(in srgb, var(--brand) 92%, black);
    --brand-text-quiet: var(--on-brand);
    --text: #1c1c1e;
    --text-quiet: #55534f;
    --whatsapp: #128c4a;
    --container: 74rem;
    --gutter: 1.25rem;
    --radius: 3px;
    --keyline: 2px;
    --block-space: clamp(3rem, 7vw, 5.5rem);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
    scrollbar-color: var(--fascia) var(--concrete);
    scroll-padding-top: 8rem;
}

body {
    margin: 0;
    background: var(--board-white);
    color: var(--text);
    font-family: var(--font-body);
    font-size: 1.0625rem;
    line-height: 1.6;
}

::selection {
    background: var(--hazard);
    color: var(--hazard-ink);
}

img {
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.2em;
}

:focus-visible {
    outline: 3px solid var(--ink);
    outline-offset: 2px;
    box-shadow: 0 0 0 5px var(--hazard);
}

h1,
h2,
h3 {
    margin: 0 0 0.6em;
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.005em;
    text-wrap: balance;
}

h2 {
    font-size: clamp(1.9rem, 4.4vw, 3rem);
}

h3 {
    font-size: 1.4rem;
    line-height: 1.1;
}

p {
    margin: 0 0 1rem;
}

.container {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 var(--gutter);
}

.hazard-strip:focus-visible,
.page-board:focus-visible {
    outline: 3px solid var(--ink);
    outline-offset: -5px;
    box-shadow: inset 0 0 0 2px #fff;
}

.skip-link {
    position: absolute;
    left: -999px;
    top: 0;
    z-index: 100;
    padding: 0.75rem 1rem;
    background: var(--hazard);
    color: var(--hazard-ink);
    font-weight: 700;
}

.skip-link:focus {
    left: 0;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.button {
    --button-ground: var(--brand-strong);
    --button-ink: var(--on-brand);
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 3rem;
    padding: 0.7rem 1.35rem;
    border: var(--keyline) solid var(--button-ground);
    border-radius: var(--radius);
    background: var(--button-ground);
    color: var(--button-ink);
    font-family: var(--font-heading);
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
}

.button:hover {
    background: var(--button-ink);
    color: var(--button-ground);
}

.button:active {
    transform: translateY(2px);
}

.button-light {
    --button-ground: #fff;
    --button-ink: var(--ink);
}

.button-secondary {
    --button-ground: var(--ink);
    --button-ink: #fff;
}

.button-call {
    --button-ground: var(--hazard);
    --button-ink: var(--hazard-ink);
    font-variant-numeric: tabular-nums;
}

.button-whatsapp {
    --button-ground: var(--whatsapp);
    --button-ink: #fff;
}

.button-phone::before,
.button-whatsapp::before {
    content: "";
    flex-shrink: 0;
    width: 1.15em;
    height: 1.15em;
    background: currentColor;
    mask: var(--button-icon) center / contain no-repeat;
}

.button-phone::before {
    --button-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
}

.button-whatsapp::before {
    --button-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2a9.9 9.9 0 0 0-8.5 15l-1.42 5.18 5.3-1.39A9.9 9.9 0 1 0 12.04 2zm0 18.1a8.2 8.2 0 0 1-4.18-1.15l-.3-.18-3.14.83.84-3.06-.2-.31a8.2 8.2 0 1 1 6.98 3.87zm4.5-6.14c-.25-.12-1.46-.72-1.69-.8-.23-.08-.39-.12-.55.12-.16.25-.63.8-.78.97-.14.16-.29.18-.53.06-.25-.12-1.04-.38-1.98-1.22-.73-.65-1.23-1.46-1.37-1.7-.14-.25-.02-.38.11-.5.11-.11.25-.29.37-.43.12-.15.16-.25.25-.41.08-.17.04-.31-.02-.43-.06-.13-.55-1.33-.76-1.82-.2-.48-.4-.41-.55-.42h-.47a.9.9 0 0 0-.65.31c-.23.25-.86.84-.86 2.05s.88 2.38 1 2.54c.12.17 1.73 2.64 4.2 3.7.58.25 1.04.4 1.4.52.59.19 1.12.16 1.55.1.47-.07 1.46-.6 1.67-1.18.2-.58.2-1.07.14-1.18-.06-.1-.22-.16-.47-.29z'/%3E%3C/svg%3E");
}

.hazard-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: 0.1rem 0.75rem;
    padding: 0.4rem var(--gutter);
    background: var(--hazard);
    color: var(--hazard-ink);
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.05em;
    text-decoration: none;
    text-transform: uppercase;
}

.hazard-strip-number {
    font-size: 1.3rem;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}

.hazard-strip:hover .hazard-strip-number {
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

.fascia {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--fascia);
    color: #fff;
}

.fascia-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 4.25rem;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
}

.fascia-logo {
    display: flex;
    align-items: center;
    min-width: 0;
    color: #fff;
    text-decoration: none;
}

.fascia-logo img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 2.5rem;
}

.fascia-logo-name {
    font-family: var(--font-heading);
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.fascia-actions {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 0.5rem;
}

.call-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    min-height: 2.75rem;
    border: var(--keyline) solid #fff;
    border-radius: var(--radius);
    color: #fff;
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
}

.call-link-label {
    display: none;
    color: var(--fascia-text-quiet);
    font-size: 0.8rem;
    letter-spacing: 0.08em;
}

.call-link-number {
    display: none;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.call-link::before {
    content: "";
    width: 1.35rem;
    height: 1.35rem;
    background: currentColor;
    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E")
        center / contain no-repeat;
}

.call-link:hover .call-link-number {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.18em;
}

.fascia-book {
    display: none;
    min-height: 2.75rem;
    padding: 0.55rem 1.1rem;
    font-size: 1.05rem;
}

.menu-toggle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.75rem;
    padding: 0.5rem 0.75rem;
    border: var(--keyline) solid #fff;
    border-radius: var(--radius);
    background: transparent;
    color: #fff;
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    cursor: pointer;
}

.menu-toggle[aria-expanded="true"] {
    background: #fff;
    color: var(--ink);
}

.menu-toggle-bars,
.menu-toggle-bars::before,
.menu-toggle-bars::after {
    display: block;
    width: 1.15rem;
    height: 2px;
    background: currentColor;
}

.menu-toggle-bars {
    position: relative;
}

.menu-toggle-bars::before,
.menu-toggle-bars::after {
    content: "";
    position: absolute;
    left: 0;
}

.menu-toggle-bars::before {
    top: -6px;
}

.menu-toggle-bars::after {
    top: 6px;
}

.trade-row {
    display: none;
    max-height: calc(100dvh - 4.25rem);
    overflow-y: auto;
    border-top: 1px solid var(--fascia-line);
}

.trade-row.is-open {
    display: block;
}

.trade-row .menu,
.trade-row .submenu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.trade-row .menu {
    padding: 0.5rem 0 1.25rem;
}

.trade-row .menu-link {
    display: block;
    padding: 0.7rem 0;
    border-bottom: 1px solid var(--fascia-line);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: uppercase;
}

.trade-row .submenu .menu-link {
    padding: 0.55rem 0 0.55rem 1.1rem;
    color: var(--fascia-text-quiet);
    font-size: 1.2rem;
}

.trade-row .menu-link:hover,
.trade-row .menu-link[aria-current="page"] {
    color: #fff;
    text-decoration: underline;
    text-decoration-thickness: 3px;
    text-decoration-color: var(--brand-on-fascia);
    text-underline-offset: 0.22em;
}

main {
    display: block;
}

.page-header {
    position: relative;
    background: var(--fascia);
    color: #fff;
}

.page-title {
    padding: calc(var(--block-space) * 0.75) 0 0;
}

.page-title h1 {
    max-width: 18ch;
    margin: 0;
    font-size: clamp(2.6rem, 7vw, 4.5rem);
    line-height: 0.95;
    letter-spacing: -0.01em;
}

.page-title-intro {
    max-width: 62ch;
    margin: 1rem 0 0;
    color: var(--text-quiet);
    font-size: 1.15rem;
    line-height: 1.5;
}

.page-title + .flow > .block:first-child {
    padding-top: calc(var(--block-space) * 0.55);
}

.page-title + .flow > .block-image-text:first-child,
.page-title + .flow > .block-opening-times:first-child,
.page-title + .flow > .block-style-light:first-child,
.page-title + .flow > .block-style-brand:first-child,
.page-title + .flow > .block-style-brand-dark:first-child {
    margin-top: calc(var(--block-space) * 0.55);
}

.page-title + .flow > .block-style-light:first-child,
.page-title + .flow > .block-style-brand:first-child,
.page-title + .flow > .block-style-brand-dark:first-child,
.page-title + .flow > .block-opening-times:first-child {
    padding-top: var(--block-space);
}

.page-header-image {
    display: block;
    width: 100%;
    height: clamp(13rem, 52vw, 20rem);
    object-fit: cover;
}

.page-header-content {
    position: relative;
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.page-header-with-image .page-header-content {
    margin-top: -3.25rem;
    padding-top: 0;
    padding-bottom: 1.25rem;
}

.headline-board {
    position: relative;
    width: fit-content;
    max-width: min(100%, 37rem);
    padding: 1.4rem 1.5rem 1.3rem;
    border-radius: var(--radius);
    background: var(--brand-strong);
    color: var(--on-brand);
}

.headline-board.is-measuring {
    width: 100%;
}

.headline-board::after {
    content: "";
    position: absolute;
    inset: 0.45rem;
    border: var(--keyline) solid currentColor;
    border-radius: 1px;
    pointer-events: none;
}

.sign-lettering {
    margin: 0;
    font-size: clamp(2.1rem, 8.5vw, 3.4rem);
    line-height: 0.9;
    letter-spacing: -0.01em;
}

.sign-lettering.is-measuring {
    max-width: 10.5em;
    text-wrap: wrap;
}

.sign-line {
    display: block;
    width: max-content;
    white-space: nowrap;
}

.sign-line + .sign-line {
    margin-top: 0.06em;
}

.has-script .page-header-content:has(.sign-lettering:not(.is-fitted)) {
    visibility: hidden;
    animation: show-unfitted-lettering 0s 1.5s forwards;
}

@keyframes show-unfitted-lettering {
    to {
        visibility: visible;
    }
}

.page-header-subheading {
    width: 0;
    min-width: 100%;
    margin: 0.9rem 0 0;
    color: var(--brand-text-quiet);
    font-size: 1.05rem;
    line-height: 1.45;
}

.page-header-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    width: 0;
    min-width: 100%;
    margin: 1.2rem 0 0;
}

.headline-board .button-call,
.block-call-to-action.block-style-brand .button-call {
    --button-ground: var(--ink);
    --button-ink: var(--hazard);
}

.page-header-logo {
    width: fit-content;
    max-width: 100%;
    margin: 0.85rem 0 0;
    padding: 0.9rem 1.2rem;
    border-radius: var(--radius);
    background: var(--fascia);
}

.page-header-logo img {
    display: block;
    width: auto;
    max-width: min(100%, 15rem);
    max-height: 5rem;
}

.block {
    padding: var(--block-space) 0;
}

.block-style-light {
    background: var(--concrete);
}

.block-style-brand {
    background: var(--brand-strong);
    color: var(--on-brand);
}

.block-style-brand-dark {
    background: var(--fascia);
    color: #fff;
}

.block-text.block-style-plain + .block-text.block-style-plain,
.block-text.block-style-light + .block-text.block-style-light,
.block-text.block-style-brand + .block-text.block-style-brand,
.block-text.block-style-brand-dark + .block-text.block-style-brand-dark {
    padding-top: 0;
}

.block > .container > :last-child,
.prose > :last-child {
    margin-bottom: 0;
}

.prose {
    max-width: 68ch;
}

.prose h2,
.prose h3 {
    margin-top: 1.5em;
}

.prose > :first-child {
    margin-top: 0;
}

.prose h2 + h3 {
    margin-top: 0;
    color: var(--text-quiet);
    font-family: var(--font-body);
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0;
    text-transform: none;
}

.block-style-brand .prose h2 + h3 {
    color: var(--brand-text-quiet);
}

.block-style-brand-dark .prose h2 + h3 {
    color: var(--fascia-text-quiet);
}

.prose p,
.prose ul,
.prose ol,
.prose table {
    margin: 0 0 1.1rem;
}

.prose a {
    color: var(--brand-text);
    font-weight: 700;
}

.prose a:hover {
    background: var(--brand-strong);
    color: var(--on-brand);
    text-decoration: none;
}

.block-style-brand .prose a {
    color: var(--on-brand);
}

.block-style-brand .prose a:hover {
    background: var(--on-brand);
    color: var(--brand-strong);
}

.block-style-brand-dark .prose a {
    color: #fff;
}

.block-style-brand-dark .prose a:hover {
    background: #fff;
    color: var(--ink);
}

.list-layout-steps .prose ol li a,
.prose th a {
    color: #fff;
}

.block-style-brand-dark.list-layout-steps .prose ol li a {
    color: var(--brand-text);
}

.prose strong {
    font-weight: 700;
}

.prose ul {
    padding-left: 0;
    list-style: none;
}

.prose ul li {
    position: relative;
    margin-bottom: 0.4rem;
    padding-left: 1.4rem;
}

.prose ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: calc(0.5lh - 0.25rem);
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--brand-strong);
}

.block-style-brand .prose ul li::before {
    background: var(--on-brand);
}

.block-style-brand-dark .prose ul li::before {
    background: #fff;
}

.prose ol {
    padding-left: 1.4rem;
}

.prose ol li {
    margin-bottom: 0.4rem;
    padding-left: 0.25rem;
}

.prose ol li::marker {
    font-family: var(--font-heading);
    font-weight: 700;
}

.prose table {
    width: 100%;
    border-collapse: collapse;
    font-variant-numeric: tabular-nums;
}

.prose th,
.prose td {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid var(--concrete-line);
    text-align: left;
}

.prose th {
    background: var(--ink);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 1.1rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.block-text .prose img,
.block-text-pictures img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: var(--radius);
}

.block-text .prose p:has(> img:only-child) {
    margin-top: 1.5rem;
}

.block-text .prose:has(> ul > li > img) {
    max-width: none;
}

.block-text .prose ul:has(> li > img) {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 26rem), 1fr));
    gap: 0.75rem;
}

.block-text .prose ul:has(> li > img) > li {
    margin: 0;
    padding: 0;
}

.block-text .prose ul:has(> li > img) > li::before {
    display: none;
}

.block-text .prose ul:has(> li > img) img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.block-text-pictures {
    display: grid;
    justify-items: start;
    gap: 1.25rem;
    margin-top: 1.75rem;
}

.block-text-pictures p {
    margin: 0;
}

.block-text-pictures img {
    width: auto;
    max-height: 24rem;
}

.list-layout-columns .prose {
    max-width: none;
}

.list-layout-columns .prose ul {
    columns: 2;
    column-gap: 1.5rem;
    margin-top: 1.5rem;
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.list-layout-columns .prose ul li {
    margin-bottom: 0.7rem;
    break-inside: avoid;
}

.list-layout-steps .prose,
.list-layout-boards .prose {
    max-width: none;
}

.list-layout-steps .prose > :not(ol),
.list-layout-boards .prose > :not(ul) {
    max-width: 68ch;
}

.list-layout-steps .prose ol {
    display: grid;
    gap: 0.75rem;
    margin-top: 1.75rem;
    padding: 0;
    list-style: none;
    counter-reset: step;
}

.list-layout-steps .prose ol li {
    position: relative;
    margin: 0;
    padding: 1.25rem 1.25rem 1.35rem 5rem;
    border-radius: var(--radius);
    background: var(--ink);
    color: #fff;
    font-size: 1.1rem;
    line-height: 1.4;
    counter-increment: step;
}

.list-layout-steps .prose ol li::before {
    content: counter(step);
    position: absolute;
    left: 1.25rem;
    top: 0.85rem;
    color: #fff;
    font-family: var(--font-heading);
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1;
}

.block-style-brand-dark.list-layout-steps .prose ol li {
    background: #fff;
    color: var(--ink);
}

.block-style-brand-dark.list-layout-steps .prose ol li::before {
    color: var(--brand-text);
}

.list-layout-boards .prose ul {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
    gap: 0.75rem;
    margin-top: 1.75rem;
}

.list-layout-boards .prose ul li {
    position: relative;
    margin: 0;
    padding: 1.2rem 3rem 1.25rem 1.2rem;
    border-radius: var(--radius);
    background: var(--ink);
    color: var(--fascia-text-quiet);
    font-size: 0.98rem;
    line-height: 1.45;
}

.list-layout-boards .prose ul li::before {
    display: none;
}

.list-layout-boards .prose ul li a {
    display: block;
    margin-bottom: 0.3rem;
    color: #fff;
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: uppercase;
}

.list-layout-boards .prose ul li a::before {
    content: "";
    position: absolute;
    inset: 0;
}

.list-layout-boards .prose ul li a::after {
    content: "";
    position: absolute;
    right: 1.2rem;
    top: 1.35rem;
    width: 0.7rem;
    height: 0.7rem;
    border-top: 3px solid currentColor;
    border-right: 3px solid currentColor;
    transform: rotate(45deg);
}

.list-layout-boards .prose ul li:hover,
.list-layout-boards .prose ul li:focus-within {
    background: var(--brand-strong);
    color: var(--on-brand);
}

.list-layout-boards .prose ul li:hover a,
.list-layout-boards .prose ul li:focus-within a {
    background: none;
    color: var(--on-brand);
}

.block-style-brand.list-layout-boards .prose ul li:hover,
.block-style-brand.list-layout-boards .prose ul li:focus-within,
.block-style-brand-dark.list-layout-boards .prose ul li:hover,
.block-style-brand-dark.list-layout-boards .prose ul li:focus-within {
    background: #fff;
    color: var(--text-quiet);
}

.block-style-brand.list-layout-boards .prose ul li:hover a,
.block-style-brand.list-layout-boards .prose ul li:focus-within a,
.block-style-brand-dark.list-layout-boards .prose ul li:hover a,
.block-style-brand-dark.list-layout-boards .prose ul li:focus-within a {
    color: var(--ink);
}

.block-style-brand-dark.list-layout-boards .prose ul li {
    box-shadow: inset 0 0 0 1px var(--fascia-line);
}

.block.block-image-text {
    display: grid;
    padding: 0;
}

.block-image-text-media img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center 20%;
}

.block-image-text-body {
    padding: 2.5rem var(--gutter);
}

.block-image-text-body h2 {
    font-size: clamp(1.8rem, 3.4vw, 2.5rem);
}

.block.block-call-to-action {
    padding: 0 0 var(--block-space);
    background: none;
    color: inherit;
}

.block-call-to-action:first-child,
.block-image-text + .block-call-to-action,
.block-opening-times + .block-call-to-action,
.block-style-light + .block-call-to-action,
.block-style-brand + .block-call-to-action,
.block-style-brand-dark + .block-call-to-action {
    padding-top: var(--block-space);
}

.block.block-call-to-action + .block-text.block-style-plain,
.block.block-call-to-action + .block-page-boards.block-style-plain {
    padding-top: 0;
}

.block-call-to-action {
    --board-ground: var(--brand-strong);
    --board-ink: var(--on-brand);
    --board-text-quiet: var(--on-brand);
}

.block-call-to-action.block-style-brand-dark {
    --board-ground: var(--fascia);
    --board-ink: #fff;
    --board-text-quiet: var(--fascia-text-quiet);
}

.block-call-to-action.block-style-plain,
.block-call-to-action.block-style-light {
    --board-ground: var(--concrete);
    --board-ink: var(--ink);
    --board-text-quiet: var(--text-quiet);
}

.call-to-action-board {
    position: relative;
    width: calc(100% - (var(--gutter) * 2));
    max-width: calc(var(--container) - (var(--gutter) * 2));
    padding: 2.25rem 1.5rem 2.4rem;
    border-radius: var(--radius);
    background: var(--board-ground);
    color: var(--board-ink);
}

.call-to-action-board::after {
    content: "";
    position: absolute;
    inset: 0.5rem;
    border: var(--keyline) solid currentColor;
    border-radius: 1px;
    pointer-events: none;
}

.call-to-action-board h2 {
    max-width: 22ch;
    margin-bottom: 0.4em;
    font-size: clamp(2rem, 5.4vw, 3.4rem);
    line-height: 0.95;
}

.call-to-action-board p {
    max-width: 62ch;
    margin: 0;
    color: var(--board-text-quiet);
}

.call-to-action-buttons {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 1.4rem;
}

.block-call-to-action .button-primary {
    --button-ground: #fff;
    --button-ink: var(--ink);
}

.block-call-to-action.block-style-plain .button-primary,
.block-call-to-action.block-style-light .button-primary {
    --button-ground: var(--brand-strong);
    --button-ink: var(--on-brand);
}

.block-call-to-action.block-style-brand .button-secondary,
.block-call-to-action.block-style-brand-dark .button-secondary {
    --button-ground: var(--board-ground);
    --button-ink: var(--board-ink);
    border-color: var(--board-ink);
}

.block-call-to-action.block-style-brand .button-secondary:hover,
.block-call-to-action.block-style-brand-dark .button-secondary:hover {
    background: var(--board-ink);
    color: var(--board-ground);
}

.block-call-to-action .button-phone {
    font-size: 1.45rem;
}

.block-page-boards h2 {
    margin-bottom: 0.9em;
}

.page-boards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 21rem), 1fr));
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.page-board {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--ink);
    color: #fff;
    text-decoration: none;
}

.page-board-photo {
    display: block;
    flex-shrink: 0;
    width: 34%;
    height: auto;
    min-height: 100%;
    object-fit: cover;
}

.page-board:has(.page-board-photo) {
    flex-direction: row;
}

.page-board-caption {
    position: relative;
    display: block;
    flex-grow: 1;
    padding: 1rem 2.9rem 1.15rem 1.1rem;
}

.page-board-caption::after {
    content: "";
    position: absolute;
    right: 1.2rem;
    top: 1.2rem;
    width: 0.7rem;
    height: 0.7rem;
    border-top: 3px solid currentColor;
    border-right: 3px solid currentColor;
    transform: rotate(45deg);
}

.page-board-title {
    display: block;
    font-family: var(--font-heading);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-wrap: balance;
}

.page-board-text {
    display: block;
    margin-top: 0.45rem;
    color: var(--fascia-text-quiet);
    font-size: 0.95rem;
    line-height: 1.4;
}

.page-board-without-photo .page-board-caption {
    padding-top: 1.4rem;
    padding-bottom: 1.5rem;
}

.page-board:hover {
    background: var(--brand-strong);
    color: var(--on-brand);
}

.page-board:hover .page-board-text {
    color: var(--on-brand);
}

.page-boards:has(> li:nth-child(5)) > li:nth-child(n + 3) .page-board-photo {
    display: none;
}

.page-boards:has(> li:nth-child(5)) > li:nth-child(n + 3) .page-board-caption {
    padding-top: 1.3rem;
    padding-bottom: 1.4rem;
}

.page-boards:has(> li:nth-child(5)) > li:nth-child(-n + 2) .page-board {
    flex-direction: column;
}

.page-boards:has(> li:nth-child(5)) > li:nth-child(-n + 2) .page-board-photo {
    width: 100%;
    min-height: 0;
    aspect-ratio: 16 / 9;
}

.page-boards:has(> li:nth-child(5)) > li:nth-child(-n + 2) .page-board-title {
    font-size: clamp(2rem, 4.2vw, 2.8rem);
}

.block-style-brand .page-board:hover {
    background: #fff;
    color: var(--ink);
}

.block-style-brand .page-board:hover .page-board-text {
    color: var(--text-quiet);
}

.block-style-brand-dark .page-board {
    box-shadow: inset 0 0 0 1px var(--fascia-line);
}

.block.block-opening-times {
    background: var(--fascia);
    color: #fff;
}

.opening-times-text {
    max-width: 62ch;
    margin: 1.25rem 0 0;
    color: var(--fascia-text-quiet);
}

.page-header + .flow > .block-opening-times:first-child {
    padding-top: 2.25rem;
}

.trade-row-book {
    width: 100%;
    margin-top: 1rem;
    justify-content: center;
}

.hours-strip {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
    margin-top: 2rem;
    padding-top: 0.25rem;
}

.hours-scale {
    display: flex;
    justify-content: space-between;
    color: var(--fascia-text-quiet);
    font-family: var(--font-heading);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.hours-row {
    display: grid;
    gap: 0.3rem;
}

.hours-row-label {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.hours-track {
    position: relative;
    display: block;
    height: 1.75rem;
    border-radius: var(--radius);
    background: var(--fascia-line);
}

.hours-bar {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--opens);
    right: calc(100% - var(--closes));
    border-radius: var(--radius);
    background: #fff;
}

.hours-row-call-out .hours-row-label {
    color: var(--hazard);
}

.hours-row-call-out .hours-bar {
    background: var(--hazard);
}

.hours-now {
    position: absolute;
    top: 1.6rem;
    bottom: -0.35rem;
    left: calc(100% * var(--now-ratio));
    width: 3px;
    margin-left: -1.5px;
    background: #fff;
    box-shadow: 0 0 0 2px var(--fascia);
}

.hours-now-label {
    position: absolute;
    left: 50%;
    bottom: 100%;
    padding: 0.2rem 0.4rem 0.15rem;
    border-radius: 2px;
    background: #fff;
    color: var(--ink);
    font-family: var(--font-heading);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: translateX(-50%);
}

.hours-status {
    margin: 1.4rem 0 0;
    font-family: var(--font-heading);
    font-size: clamp(1.35rem, 3.6vw, 1.9rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-wrap: balance;
}

.hours-list {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.3rem 1.25rem;
    margin: 1.5rem 0 0;
    font-variant-numeric: tabular-nums;
}

.hours-list dt {
    color: var(--fascia-text-quiet);
}

.hours-list dd {
    margin: 0;
    font-weight: 700;
}

.site-footer .hours-list dd {
    white-space: nowrap;
}

.online-booking-frame {
    display: block;
    width: 100%;
    border: 0;
}

.call-to-action-board .service-facts {
    margin-top: 1.1rem;
}

.service-facts span {
    display: block;
}

.service-name {
    color: var(--board-ink);
    font-family: var(--font-heading);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.service-price {
    display: block;
    margin-bottom: 0.15em;
    color: var(--board-ink);
    font-family: var(--font-heading);
    font-size: clamp(2.6rem, 7vw, 4.25rem);
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.block-find-us h2 {
    margin-bottom: 0.9em;
}

.branch-boards {
    display: grid;
    gap: 0.75rem;
}

.branch-board {
    display: grid;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--fascia);
    color: #fff;
}

.branch-details {
    padding: 1.75rem 1.5rem 2rem;
}

.branch-details h3 {
    margin-bottom: 0.6em;
}

.branch-details address {
    font-style: normal;
}

.branch-details address span {
    display: block;
}

.branch-details p {
    margin: 0.75rem 0 0;
}

.branch-details a:not(.button) {
    color: inherit;
}

.branch-phone {
    font-family: var(--font-heading);
    font-size: 1.9rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    line-height: 1.1;
}

.branch-phone a {
    text-decoration: none;
}

.branch-phone a:hover {
    text-decoration: underline;
}

.branch-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.branch-details .branch-actions {
    margin-top: 1.5rem;
}

.branch-map {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 18rem;
    border: 0;
    filter: grayscale(1);
}

.block-online-booking h2 {
    margin-bottom: 0.9em;
}

.flow > .block-online-booking:first-child {
    padding-top: 1.5rem;
}

.site-footer {
    background: var(--fascia);
    color: #fff;
}

.site-footer-phones {
    display: grid;
    gap: 1.5rem;
    padding-top: var(--block-space);
    padding-bottom: 2.5rem;
}

.footer-phone {
    display: grid;
    gap: 0.2rem;
    width: fit-content;
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
}

.footer-phone-label {
    color: var(--fascia-text-quiet);
    font-size: 1rem;
    letter-spacing: 0.08em;
}

.footer-phone-number {
    font-size: clamp(2rem, 9.5vw, 4.75rem);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
    white-space: nowrap;
}

.footer-phone-emergency .footer-phone-label,
.footer-phone-emergency .footer-phone-number {
    color: var(--hazard);
}

.footer-phone:hover .footer-phone-number {
    text-decoration: underline;
    text-decoration-thickness: 4px;
    text-underline-offset: 0.12em;
}

.site-footer-columns {
    display: grid;
    gap: 2rem;
    padding-top: 2.25rem;
    padding-bottom: 3rem;
}

.site-footer-columns::before {
    content: "";
    grid-column: 1 / -1;
    height: 1px;
    margin-bottom: 0.25rem;
    background: var(--fascia-line);
}

.site-footer-columns p {
    margin: 0 0 0.45rem;
}

.site-footer-name {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.site-footer .hours-list {
    margin-top: 0.6rem;
}

.site-footer-navigation .menu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem 1.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer-navigation .menu-link {
    display: inline-block;
    padding: 0.25rem 0;
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
}

.site-footer-navigation .menu-link:hover,
.site-footer-contact a:hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: var(--brand-on-fascia);
}

.site-footer-legal {
    padding: 1.1rem 0;
    border-top: 1px solid var(--fascia-line);
    color: var(--fascia-text-quiet);
    font-size: 0.9rem;
}

.site-footer-legal p {
    margin: 0 0 0.3rem;
}

.site-footer-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.8rem 0;
    padding: 0;
    list-style: none;
}

.site-footer-cards img {
    display: block;
    width: auto;
    height: 1.75rem;
}

.site-footer-cookie-settings {
    display: none;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}

.has-script .site-footer-cookie-settings {
    display: inline;
}

.site-footer-cookie-settings:hover {
    color: #fff;
}

.consent {
    position: fixed;
    inset: 0;
    z-index: 2147483600;
    pointer-events: none;
}

.consent-surface {
    position: absolute;
    bottom: 16px;
    overflow: hidden;
    border: var(--keyline) solid #fff;
    border-radius: var(--radius);
    background: var(--fascia);
    color: #fff;
    box-sizing: content-box;
    pointer-events: auto;
}

.consent-surface.is-placed {
    transition:
        left 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
        width 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
        height 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.consent-face {
    position: absolute;
    left: 0;
    bottom: 0;
    box-sizing: border-box;
}

.consent-face[hidden] {
    display: none;
}

.consent-bar {
    display: grid;
    gap: 1rem;
    width: min(41.25rem, 100vw - 36px);
    padding: 1.25rem 1.4rem 1.35rem;
}

.consent-panel {
    width: min(27.5rem, 100vw - 36px);
    max-height: calc(100vh - 36px);
    overflow-y: auto;
    padding: 1.4rem 1.4rem 1.5rem;
}

.consent-face p {
    margin: 0;
    color: var(--fascia-text-quiet);
    font-size: 0.975rem;
    line-height: 1.5;
}

.consent-face a {
    color: #fff;
}

.consent-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}

.consent-actions .button {
    min-height: 2.75rem;
    padding: 0.5rem 1.1rem;
}

.consent-text-button {
    min-height: 2.75rem;
    margin-right: auto;
    padding: 0;
    border: 0;
    background: none;
    color: #fff;
    font: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    cursor: pointer;
}

.consent-panel-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.6rem;
}

.consent-panel h2 {
    margin: 0;
    font-size: 1.6rem;
}

.consent-panel h2:focus {
    outline: none;
}

.consent-close {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    margin: -0.5rem -0.6rem 0 0;
    padding: 0;
    border: 0;
    background: none;
    color: #fff;
    cursor: pointer;
}

.consent-categories {
    display: grid;
    gap: 0;
    margin: 1.1rem 0 1.25rem;
    padding: 0;
    list-style: none;
}

.consent-categories li {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 0;
    border-top: 1px solid var(--fascia-line);
}

.consent-categories strong {
    display: block;
    margin-bottom: 0.2rem;
    font-family: var(--font-heading);
    font-size: 1.05rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.consent-always-on {
    flex-shrink: 0;
    color: var(--fascia-text-quiet);
    font-size: 0.875rem;
    white-space: nowrap;
}

.consent-switch {
    position: relative;
    flex-shrink: 0;
    width: 3.25rem;
    height: 1.75rem;
    margin-top: 0.1rem;
    padding: 0;
    border: var(--keyline) solid #fff;
    border-radius: var(--radius);
    background: none;
    cursor: pointer;
}

.consent-switch::before {
    content: "";
    position: absolute;
    inset: -0.55rem -0.3rem;
}

.consent-switch span {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 1.1rem;
    height: calc(100% - 6px);
    border-radius: 1px;
    background: #fff;
}

.consent-switch[aria-checked="true"] {
    border-color: var(--brand-on-fascia);
    background: var(--brand-on-fascia);
}

.consent-switch[aria-checked="true"] span {
    left: auto;
    right: 3px;
    background: var(--fascia);
}

.consent-reopen {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: none;
    color: #fff;
    cursor: pointer;
}

.consent-reopen:hover {
    background: #fff;
    color: var(--ink);
}

.consent button:focus-visible,
.consent a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .consent-surface.is-placed {
        transition: none;
    }
}

@media (min-width: 40rem) {
    .call-link {
        align-items: flex-start;
        width: auto;
        border: 0;
    }

    .call-link::before {
        display: none;
    }

    .call-link-label {
        display: block;
    }

    .call-link-number {
        display: block;
        font-size: 1.75rem;
    }

    .fascia-logo img {
        max-height: 3.25rem;
    }

    .page-header-image {
        height: clamp(18rem, 44vw, 27rem);
    }

    .page-header-with-image .page-header-content {
        margin-top: -4.5rem;
        padding-bottom: 2rem;
    }

    .headline-board {
        padding: 1.9rem 2.1rem 1.8rem;
    }

    .headline-board::after,
    .call-to-action-board::after {
        inset: 0.6rem;
    }

    .sign-lettering {
        font-size: 3.4rem;
    }

    .call-to-action-board {
        padding: 3rem 2.75rem 3.1rem;
    }

    .page-boards:has(> li:nth-child(5)) {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .page-boards:has(> li:nth-child(5)) > li {
        grid-column: span 6;
    }

    .list-layout-columns .prose ul {
        columns: 3;
    }

    .page-board:has(.page-board-photo) {
        flex-direction: column;
    }

    .page-board-photo {
        width: 100%;
        min-height: 0;
        aspect-ratio: 3 / 2;
    }

    .list-layout-steps .prose ol {
        grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    }

    .list-layout-steps .prose ol li {
        padding: 5.1rem 1.4rem 1.5rem;
    }

    .list-layout-steps .prose ol li::before {
        left: 1.4rem;
        top: 1.1rem;
    }

    .hours-strip {
        --label-column: 11rem;
        --column-gap: 1.25rem;
        grid-template-columns: var(--label-column) minmax(0, 1fr);
        column-gap: var(--column-gap);
        row-gap: 0.6rem;
    }

    .hours-scale {
        grid-column: 2;
    }

    .hours-row {
        display: contents;
    }

    .hours-row-label {
        align-self: center;
    }

    .hours-now {
        --track-start: calc(var(--label-column) + var(--column-gap));
        left: calc(var(--track-start) + ((100% - var(--track-start)) * var(--now-ratio)));
    }

    .site-footer-columns {
        grid-template-columns: 1fr 1fr;
    }

    .site-footer-navigation {
        grid-column: 1 / -1;
    }

    .site-footer-navigation .menu {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 60rem) {
    .block.block-image-text {
        grid-template-columns: 1fr 1fr;
    }

    .block-image-text-media {
        position: relative;
        min-height: 27rem;
    }

    .block-image-text-image-right .block-image-text-media {
        order: 2;
    }

    .block-image-text-media img {
        position: absolute;
        inset: 0;
        height: 100%;
        aspect-ratio: auto;
    }

    .block-image-text-body {
        align-self: center;
        padding: 4.5rem max(var(--gutter), calc(100% - var(--container) / 2 + var(--gutter))) 4.5rem 4rem;
    }

    .block-image-text-image-right .block-image-text-body {
        padding: 4.5rem 4rem 4.5rem max(var(--gutter), calc(100% - var(--container) / 2 + var(--gutter)));
    }

    .page-boards:has(> li:nth-child(5)) > li:nth-child(n + 3) {
        grid-column: span 4;
    }

    .page-boards:has(> li:nth-child(6):last-child) > li:nth-child(n + 3),
    .page-boards:has(> li:nth-child(10):last-child) > li:nth-child(n + 3) {
        grid-column: span 3;
    }

    .call-to-action-board {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 3.5rem;
        align-items: center;
    }

    .call-to-action-board > h2,
    .call-to-action-board > p {
        grid-column: 1;
    }

    .branch-board-with-map {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .branch-details {
        padding: 2.5rem 2.75rem 2.75rem;
    }

    .call-to-action-buttons {
        grid-column: 2;
        grid-row: 1 / span 3;
        flex-direction: column;
        align-items: stretch;
        margin-top: 0;
    }

    .call-to-action-buttons .button {
        justify-content: center;
    }

    .block-text-with-pictures .container {
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
        column-gap: 4rem;
        align-items: center;
    }

    .block-text-with-pictures .block-text-pictures {
        justify-items: end;
        margin-top: 0;
    }

    .site-footer-phones {
        grid-template-columns: repeat(2, auto);
        justify-content: start;
        column-gap: 4.5rem;
    }

    .site-footer-columns {
        grid-template-columns: 1fr 1.2fr 1.8fr;
    }

    .site-footer-navigation {
        grid-column: auto;
    }

    .site-footer-navigation .menu {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-footer-legal .container {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 3rem;
        align-items: start;
    }

    .site-footer-legal .container > * {
        grid-column: 1;
    }

    .site-footer-legal .site-footer-cards {
        grid-column: 2;
        grid-row: 1 / span 3;
        justify-content: flex-end;
        margin: 0;
    }
}

@media (min-width: 72rem) {
    html {
        scroll-padding-top: 9rem;
    }

    .menu-toggle {
        display: none;
    }

    .fascia-book {
        display: inline-flex;
    }

    .fascia-actions {
        gap: 1.5rem;
    }

    .call-link {
        align-items: flex-end;
    }

    .trade-row {
        display: block;
        max-height: none;
        overflow: visible;
    }

    .trade-row .menu {
        display: flex;
        flex-wrap: wrap;
        padding: 0;
    }

    .trade-row .menu > .menu-item {
        position: relative;
        display: flex;
        align-items: center;
    }

    .trade-row .menu > .menu-item + .menu-item::before {
        content: "";
        flex-shrink: 0;
        width: 0.38rem;
        height: 0.38rem;
        margin: 0 1.1rem;
        border-radius: 50%;
        background: var(--brand-on-fascia);
    }

    .trade-row .menu > .menu-item > .menu-link {
        padding: 0.8rem 0;
        border-bottom: 0;
        font-size: 1.2rem;
        letter-spacing: 0.06em;
        white-space: nowrap;
    }

    .trade-row .menu-item-has-children > .menu-link::after {
        content: "";
        display: inline-block;
        width: 0.42rem;
        height: 0.42rem;
        margin-left: 0.5rem;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        vertical-align: 0.22em;
        transform: rotate(45deg);
    }

    .trade-row .submenu {
        position: absolute;
        top: 100%;
        left: 0;
        display: none;
        min-width: 17rem;
        padding: 0.6rem;
        border: var(--keyline) solid #fff;
        border-radius: var(--radius);
        background: var(--fascia);
    }

    .trade-row .menu > .menu-item + .menu-item > .submenu {
        left: 1.6rem;
    }

    .trade-row .menu-item-has-children:hover > .submenu,
    .trade-row .menu-item-has-children:focus-within > .submenu {
        display: block;
    }

    .trade-row .submenu .menu-link {
        padding: 0.55rem 0.7rem;
        border-bottom: 0;
        border-radius: 2px;
        color: #fff;
        font-size: 1.15rem;
        letter-spacing: 0.04em;
    }

    .trade-row .submenu .menu-link:hover {
        background: #fff;
        color: var(--ink);
        text-decoration: none;
    }

    .page-boards:has(> li:nth-child(4):last-child) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .trade-row-book {
        display: none;
    }

    .page-header-with-image {
        display: grid;
        align-items: center;
        min-height: 24rem;
        background: var(--brand-strong);
    }

    .page-header-with-image .page-header-image {
        position: absolute;
        inset: 0 0 0 auto;
        width: calc(50% + (min(100%, var(--container)) * 0.06));
        height: 100%;
    }

    .page-header-with-image .page-header-content {
        margin-top: 0;
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    .page-header-with-image .headline-board {
        max-width: calc(44% - 2rem);
    }

    .page-header-logo {
        position: absolute;
        right: var(--gutter);
        bottom: 2.5rem;
        margin: 0;
    }
}

@media print {
    .consent,
    .hazard-strip,
    .trade-row,
    .menu-toggle,
    .fascia-book {
        display: none;
    }

    .fascia {
        position: static;
    }
}
