/* input(472,15): run-time error CSS1019: Unexpected token, found 'selector('
input(472,43): run-time error CSS1025: Expected comma or open brace, found ')' */
:root {
  --headerbar-height: 50px;
  --header-height: 50px;
  --header-height-offset: 82px;
  --button: #9CDCD9;
  --content-gap: 2rem;
  --font-h1: 2rem;
  --font-h2: 1.75rem;
  --font-h3: 1.5rem;
  --font-h4: 1.375rem;
  --font-h5: 1.125rem;
}
@media only screen and (min-width: 992px) {
  :root {
    --headerbar-height: 88px;
    --header-height: 88px;
    --header-height-offset: 120px;
  }
}
.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
  animation-duration: initial !important;
  animation-name: none !important;
}
*,
:after,
:before,
::backdrop {
  box-sizing: border-box;
  border: 0 solid;
  margin: 0;
  padding: 0;
}
html,
body {
  -webkit-tap-highlight-color: transparent;
}
html {
  font-size: 16px;
  scroll-behavior: smooth;
  overflow-x: clip;
  overscroll-behavior-x: none;
  scroll-padding-top: var(--header-height-offset);
}
@media only screen and (min-width: 992px) and (max-width: 1200px) {
  html {
    font-size: 15px;
  }
}
body {
  color: #1b1b1b;
  background: #FFF;
  position: relative;
  font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 1rem;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeSpeed;
  backface-visibility: hidden;
  letter-spacing: -0.01em;
  margin: 0;
  overflow-x: clip;
}
body.has-promo {
  --header-height: 82px;
  --header-height-offset: 98px;
}
body.has-promo #site-header .h-full {
  height: var(--headerbar-height);
}
@media only screen and (min-width: 992px) {
  body.has-promo {
    --header-height: 120px;
    --header-height-offset: 152px;
  }
}
img,
video {
  max-width: 100%;
  height: auto;
}
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  vertical-align: middle;
  display: block;
}
img.ratio {
  aspect-ratio: var(--ratio, unset);
}
a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}
strong,
b {
  font-weight: 500;
}
.md,
.md-f {
  display: none;
}
.xs-f {
  display: flex;
}
input,
button {
  font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif;
  line-height: 1;
  outline: 0;
  color: inherit;
}
input[disabled],
button[disabled] {
  opacity: 0.4;
  cursor: not-allowed !important;
}
select,
textarea {
  color: inherit;
}
input::placeholder,
textarea::placeholder {
  text-transform: none;
}
label[for] {
  cursor: pointer;
}
a[href]:focus-visible,
button:focus-visible,
input:not([type="hidden"]):focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 2px solid #1b1b1b;
  outline-offset: 3px;
}
@font-face {
  font-family: "Season Sans";
  src: url("https://cdn.jarrolds.co.uk/SeasonSans-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Season Serif";
  src: url("https://cdn.jarrolds.co.uk/SeasonSerif-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.sticky {
  position: sticky;
  container-type: scroll-state;
  container-name: sticky-bar;
  z-index: 2;
}
.sticky.offset {
  top: var(--header-height);
}
.sticky.top {
  top: 0;
  z-index: 51;
}
@media only screen and (max-width: 991px) {
  .sticky-xs {
    position: sticky;
    container-type: scroll-state;
    container-name: sticky-bar;
    z-index: 2;
  }
  .sticky-xs.offset {
    top: var(--header-height);
  }
}
.block {
  display: block;
}
.hide {
  display: none;
}
/* Visually hidden, but available to screen readers. */

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.text-center {
  text-align: center;
}
.upper {
  text-transform: uppercase;
}
.lower {
  text-transform: lowercase;
}
.serif {
  font-family: "Alegreya", serif;
  font-style: italic;
  font-weight: normal;
}
.font-small {
  font-size: 0.875rem;
}
.overflow-hidden {
  overflow: hidden;
}
.inset {
  inset: 0;
}
.inset-x {
  inset-inline: 0;
}
.will-change-transform {
  will-change: transform;
}
.square {
  aspect-ratio: 1;
}
.aspect {
  aspect-ratio: 16 / 9;
}
.aspect img,
.aspect iframe {
  aspect-ratio: 16 / 9;
  display: block;
  width: 100%;
}
.portrait {
  aspect-ratio: 3 / 4;
}
.object-cover {
  object-fit: cover;
}
.top-0 {
  top: 0;
}
.bottom-0 {
  bottom: 0;
}
.left-0 {
  left: 0;
}
.right-0 {
  right: 0;
}
.h-px {
  height: 0.0625rem;
}
.full {
  width: 100%;
  height: 100%;
}
.w-full {
  width: 100%;
}
.w-auto {
  width: auto;
}
.h-full {
  height: 100%;
}
.h-auto {
  height: auto;
}
.full-bleed {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.basic-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.rounded-full {
  border-radius: 3.40282e38px;
}
.text-white {
  color: #FFF;
}
.bg-white {
  background: #FFF;
}
.bg-white-40 {
  background: rgba(255, 255, 255, 0.4);
}
.bg-purple {
  background: #412044;
}
.bg-border {
  background: #d9d9d9;
}
#search-dropdown .inner,
.dv-layout,
.open-table-booking,
.eventbrite-booking,
.max-w,
.max-w-fixed {
  padding-inline: 1rem;
  margin-inline: auto;
  max-width: 112.5rem;
}
#search-dropdown .inner .max-w,
.dv-layout .max-w,
.open-table-booking .max-w,
.eventbrite-booking .max-w,
.max-w .max-w,
.max-w-fixed .max-w {
  padding-inline: 0;
}
.signature-whbg .max-w {
  max-width: 56.25rem;
}
#site-header + #content > article > div[data-titan-area="MainContent"] + .dv-con,
#site-header + #content > article > div[data-titan-area="MainContent"] > .titan-position:first-child + .dv-con,
#site-header + #content > article > .dv-con:first-child {
  padding-block-start: var(--header-height-offset);
}
#site-header + #content > article > div[data-titan-area="MainContent"] + .dv-con:before,
#site-header + #content > article > div[data-titan-area="MainContent"] > .titan-position:first-child + .dv-con:before,
#site-header + #content > article > .dv-con:first-child:before {
  content: "";
  position: absolute;
  inset-block-start: calc(-1 * var(--header-height-offset));
  inset-inline: 0;
  block-size: var(---header-height-offset);
  background: var(--back, #FFF);
}
#screenshot-html {
  scroll-padding-top: unset;
}
#screenshot-html #site-header {
  display: none;
}
#screenshot-html .dv-con:first-child {
  padding-block-start: 0 !important;
}
.titan-design #site-header + #content > article > div[data-titan-area="MainContent"] + .dv-con,
.titan-design #site-header + #content > article > div[data-titan-area="MainContent"] > .titan-position:first-child + .dv-con,
.titan-design #site-header + #content > article > .dv-con:first-child {
  padding-block-start: 0;
  margin-block-start: var(--header-height-offset);
}
.titan-design.titan-chooseposition #site-header + #content > article > div[data-titan-area="MainContent"] > .titan-position:first-child + .dv-con {
  padding-block-start: 0;
  margin-block-start: 0;
}
.titan-design.titan-chooseposition #site-header + #content > article > div[data-titan-area="MainContent"] > .titan-position:first-child + .dv-con:before {
  content: initial;
}
.titan-design.titan-chooseposition #site-header + #content > article > div[data-titan-area="MainContent"] > .titan-position:first-child {
  margin-top: var(--header-height-offset);
}
.titan-design.titan-chooseposition #site-header + #content > article .dv-con.has-bg .titan-position-inner {
  position: absolute;
  bottom: -42px;
  left: 0;
  right: 0;
}
.skip-link {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 100000;
  padding: 0.75rem 1rem;
  color: #1b1b1b;
  font-weight: 700;
  text-decoration: underline;
  background: #fff;
  transform: translateY(calc(-100% - 2rem));
}
.skip-link:focus {
  transform: translateY(0);
  outline: 2px solid #1b1b1b;
  outline-offset: 3px;
}
.flex {
  display: flex;
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-1 {
  flex: 1;
}
.flex-col,
.flex-colxs {
  display: flex;
  flex-direction: column;
}
.flex-col.md-f,
.flex-colxs.md-f {
  display: none;
}
@media only screen and (max-width: 991px) {
  .flex-colxs {
    gap: 0.5rem !important;
  }
  .flex-colxs .button {
    width: 100%;
  }
}
.grid {
  display: grid;
}
.gridc {
  display: grid;
  grid-template-columns: repeat(var(--col, 1), minmax(0, 1fr));
  gap: 1rem;
}
.scroll-grid {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  overflow-y: hidden;
}
@media only screen and (max-width: 991px) {
  .scroll-grid {
    padding-bottom: 1rem;
  }
}
.scroll-grid > * {
  flex: 0 0 70vw;
}
.scroll-grid > .fill {
  flex: 0 0 100vw;
}
.scroll-grid > .auto {
  flex: 0 0 auto;
}
.scroll-grid::-webkit-scrollbar {
  height: 6px;
}
.scroll-grid::-webkit-scrollbar-track {
  background: #CCC;
  border-radius: 1rem;
  margin-inline: 3rem;
}
.scroll-grid::-webkit-scrollbar-thumb {
  background: #1b1b1b;
  border-radius: 1rem;
}
@supports not selector(::-webkit-scrollbar) {
  .scroll-grid {
    scrollbar-width: thin;
    scrollbar-color: #1b1b1b #ccc;
  }
}
.items-start {
  align-items: start !important;
}
.items-center {
  align-items: center !important;
}
.justify-center {
  justify-content: center;
}
.justify-end {
  justify-content: end;
}
.gap-q {
  gap: 0.25rem;
}
.gap-h {
  gap: 0.5rem;
}
.gap-1 {
  gap: 1rem;
}
.gap-1h {
  gap: 1.5rem;
}
.gap-2 {
  gap: 2rem;
}
.gap-3 {
  gap: 3rem;
}
.gap-4 {
  gap: 4rem;
}
.gap-q > h1,
.gap-h > h1,
.gap-1 > h1,
.gap-2 > h1,
.gap-3 > h1,
.gap-4 > h1,
.gap-q > h2,
.gap-h > h2,
.gap-1 > h2,
.gap-2 > h2,
.gap-3 > h2,
.gap-4 > h2,
.gap-q > h3,
.gap-h > h3,
.gap-1 > h3,
.gap-2 > h3,
.gap-3 > h3,
.gap-4 > h3,
.gap-q > .h1,
.gap-h > .h1,
.gap-1 > .h1,
.gap-2 > .h1,
.gap-3 > .h1,
.gap-4 > .h1,
.gap-q > .h2,
.gap-h > .h2,
.gap-1 > .h2,
.gap-2 > .h2,
.gap-3 > .h2,
.gap-4 > .h2,
.gap-q > .h3,
.gap-h > .h3,
.gap-1 > .h3,
.gap-2 > .h3,
.gap-3 > .h3,
.gap-4 > .h3,
.gap-q > p,
.gap-h > p,
.gap-1 > p,
.gap-2 > p,
.gap-3 > p,
.gap-4 > p {
  margin-bottom: 0;
}
.border-0 {
  border: 0 !important;
}
.my-1 {
  margin-block: 1rem;
}
.my-2 {
  margin-block: 2rem;
}
.my-3 {
  margin-block: 3rem;
}
.my-4 {
  margin-block: 4rem;
}
.my-5 {
  margin-block: 5rem;
}
.mt-0 {
  margin-top: 0 !important;
}
.mt-1 {
  margin-top: 1rem;
}
.mt-2 {
  margin-top: 2rem;
}
.mt-3 {
  margin-top: 3rem;
}
.mt-4 {
  margin-top: 4rem;
}
.mt-5 {
  margin-top: 5rem;
}
.mb-0 {
  margin-bottom: 1rem;
}
.mb-1 {
  margin-bottom: 1rem;
}
.mb-2 {
  margin-bottom: 2rem;
}
.mb-3 {
  margin-bottom: 3rem;
}
.mb-4 {
  margin-bottom: 4rem;
}
.mb-5 {
  margin-bottom: 5rem;
}
.pad-1 {
  padding: 1rem;
}
.pad-2 {
  padding: 2rem;
}
.pad-3 {
  padding: 3rem;
}
.pad-4 {
  padding: 4rem;
}
.pad-5 {
  padding: 5rem;
}
.pady-1 {
  padding-block: 1rem;
}
.pady-2 {
  padding-block: 2rem;
}
.pady-3 {
  padding-block: 3rem;
}
.pady-4 {
  padding-block: 4rem;
}
.pady-5 {
  padding-block: 5rem;
}
.padt-0 {
  padding-top: 0 !important;
}
.padt-q {
  padding-top: 0.25rem;
}
.padt-h {
  padding-top: 0.5rem;
}
.padt-1 {
  padding-top: 1rem;
}
.padt-2 {
  padding-top: 2rem;
}
.padt-3 {
  padding-top: 3rem;
}
.padt-4 {
  padding-top: 4rem;
}
.padt-5 {
  padding-top: 5rem;
}
.padb-0 {
  padding-bottom: 0 !important;
}
.padb-1 {
  padding-bottom: 1rem;
}
.padb-2 {
  padding-bottom: 2rem;
}
.padb-3 {
  padding-bottom: 3rem;
}
.padb-4 {
  padding-bottom: 4rem;
}
.padb-5 {
  padding-bottom: 5rem;
}
.margin-auto {
  margin-inline: auto;
}
#site-header {
  height: var(--header-height);
  z-index: 50;
}
#site-header .header {
  display: grid;
  grid-template-columns: 25% 1fr 25%;
}
#site-header .logo {
  justify-self: center;
}
@media only screen and (max-width: 991px) {
  #site-header .logo svg {
    width: 7.1875rem;
    height: auto;
  }
}
#site-header,
#site-header .header-border {
  will-change: background-color;
}
#secondary-nav button {
  background: none;
}
#secondary-nav button svg {
  pointer-events: none;
}
#site-footer {
  margin-top: 5rem;
}
#site-footer .footer-head {
  height: 21.875rem;
  z-index: 10;
}
#site-footer .links strong {
  font-size: 1.25rem;
}
#site-footer .links ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  gap: 0.25rem;
  display: flex;
  flex-direction: column;
  margin-block: 1rem;
  opacity: 0.7;
}
#site-footer .links ul > h1,
#site-footer .links ul > h2,
#site-footer .links ul > h3,
#site-footer .links ul > .h1,
#site-footer .links ul > .h2,
#site-footer .links ul > .h3,
#site-footer .links ul > p {
  margin-bottom: 0;
}
#site-footer .links ul.md-f {
  display: none;
}
#site-footer .links a {
  display: block;
  transition-property: color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;
  transition-duration: 0.15s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
#site-footer .links a:hover {
  opacity: 0.6;
  transform: translateX(0.25rem);
}
#site-footer nav {
  gap: 2rem;
  display: grid;
  justify-items: center;
  text-align: center;
}
#site-footer nav > h1,
#site-footer nav > h2,
#site-footer nav > h3,
#site-footer nav > .h1,
#site-footer nav > .h2,
#site-footer nav > .h3,
#site-footer nav > p {
  margin-bottom: 0;
}
#site-footer nav .terms {
  gap: 0.5rem;
  display: grid;
  font-size: 0.875rem;
}
#site-footer nav .terms > h1,
#site-footer nav .terms > h2,
#site-footer nav .terms > h3,
#site-footer nav .terms > .h1,
#site-footer nav .terms > .h2,
#site-footer nav .terms > .h3,
#site-footer nav .terms > p {
  margin-bottom: 0;
}
#site-footer nav .terms p span {
  display: inline-block;
  margin-inline: 1rem;
}
#site-footer nav .terms p:last-child {
  opacity: 0.7;
}
#site-footer .social {
  gap: 0.5rem;
  display: grid;
  grid-auto-columns: 40px;
  grid-auto-flow: column;
}
#site-footer .social > h1,
#site-footer .social > h2,
#site-footer .social > h3,
#site-footer .social > .h1,
#site-footer .social > .h2,
#site-footer .social > .h3,
#site-footer .social > p {
  margin-bottom: 0;
}
#site-footer .social a {
  display: flex;
  border-radius: 3.40282e38px;
  align-items: center !important;
  justify-content: center;
  aspect-ratio: 1;
  border: 1px solid #FFF;
}
#site-footer .social a svg {
  height: 1rem;
  width: auto;
}
#site-footer .payments {
  gap: 0.5rem;
  display: grid;
  grid-auto-columns: 48px;
  grid-auto-flow: column;
}
#site-footer .payments > h1,
#site-footer .payments > h2,
#site-footer .payments > h3,
#site-footer .payments > .h1,
#site-footer .payments > .h2,
#site-footer .payments > .h3,
#site-footer .payments > p {
  margin-bottom: 0;
}
#site-footer .payments span {
  display: flex;
  align-items: center !important;
  justify-content: center;
  border-radius: 6px;
  aspect-ratio: 1.5;
  border: 1px solid #FFF;
}
#site-footer .payments span svg {
  height: 1.25rem;
  width: auto;
}
#site-footer .footer-divider {
  gap: 1rem;
}
#site-footer .footer-divider > div {
  min-width: 0;
  transform: scaleX(0);
  will-change: transform;
}
#site-footer .footer-divider > div:first-child {
  transform-origin: right center;
}
#site-footer .footer-divider > div:last-child {
  transform-origin: left center;
}
#site-footer .footer-divider > svg {
  flex-shrink: 0;
  opacity: 0;
  visibility: hidden;
  transform: scale(0.8);
  transform-origin: center;
  will-change: transform, opacity;
}
#search-dropdown {
  position: fixed;
  top: var(--header-height);
  left: 0;
  background: #FFF;
  border-block: 1px solid #d9d9d9;
  padding-inline: 2rem;
  opacity: 0;
  margin-top: -1px;
  transform: translateY(-1rem);
  transition: all 0.27s cubic-bezier(0, 0, 0.58, 1);
  visibility: hidden;
  z-index: 2147483650;
  width: 90vw;
  height: 100vh;
  height: 100dvh;
  padding-top: env(safe-area-inset-top, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-left: env(safe-area-inset-left, 0px);
}
@media only screen and (min-width: 768px) {
  #search-dropdown {
    width: 25rem;
    max-width: 80vw;
  }
}
#search-dropdown.open {
  transform: none;
  opacity: 1;
  visibility: visible;
}
#search-dropdown .colgrid {
  display: grid;
  padding-block: 2rem;
}
#search-dropdown .colgrid .products li:nth-child(n+5) {
  display: none;
}
#search-dropdown .buttons {
  margin-top: 2rem;
  text-align: center;
}
#search-dropdown h5 {
  font-size: 0.8125rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
  opacity: 0.7;
}
#search-dropdown .links ul {
  list-style-type: none;
  margin: 0 0 2rem;
  padding: 0;
}
#search-dropdown .links ul li {
  line-height: 1;
  padding-block: 0.5rem;
  white-space: nowrap;
}
#search-dropdown .links ul a {
  transition-property: color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;
  transition-duration: 0.15s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  display: block;
  position: relative;
  padding-left: calc(1rem + 0.5rem);
}
#search-dropdown .links ul a:hover {
  opacity: 0.6;
  transform: translateX(0.25rem);
}
#search-dropdown .links ul a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  background: url("https://cdn.jarrolds.co.uk/assets/2026/arrow-right.svg") center left no-repeat;
  background-size: 1rem 1rem;
  opacity: 0.3;
}
.pagetear {
  background: var(--background, transparent);
}
.pagetear svg {
  flex-shrink: 0;
  width: auto;
  max-width: none;
  fill: var(--fill);
  height: 4.5rem;
  margin-left: -1px;
}
.pagetear svg:first-child {
  margin-left: 0;
}
.pagetear.pagetear-top svg {
  transform: rotate(180deg);
}
.pagetear.pagetear-bottom {
  bottom: -1px !important;
}
.pagetear.pagetear-small svg {
  height: 1.5rem;
}
h1,
h2,
h3,
h4,
h5,
.h1,
.h2,
.h3,
.h4,
.h5 {
  line-height: 1.1;
  font-weight: 300;
  letter-spacing: 0.02em;
  margin: 0 0 1rem;
}
h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
.h1 strong,
.h2 strong,
.h3 strong,
.h4 strong,
.h5 strong {
  font-weight: 300;
}
h1 em,
h2 em,
h3 em,
h4 em,
h5 em,
.h1 em,
.h2 em,
.h3 em,
.h4 em,
.h5 em {
  font-family: "Alegreya", serif;
}
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
.h1:last-child,
.h2:last-child,
.h3:last-child,
.h4:last-child,
.h5:last-child {
  margin-bottom: 0;
}
h1,
.h1 {
  font-size: var(--font-h1);
  letter-spacing: -0.01em;
}
h2,
.h2 {
  font-size: var(--font-h2);
  letter-spacing: -0.01em;
}
h1.title,
.h1.titla,
h2.title,
.h2.title,
.headline-reveal__intro h1,
.headline-reveal__intro h2,
.headline-reveal__intro .h1,
.headline-reveal__intro .h2,
.section-header h1,
.section-header h2,
.header-text h1,
.header-text h2,
.section-title h1,
.section-title h2 {
  font-family: "Anton", sans-serif;
  font-weight: 400;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0%;
  line-height: 1.05;
  transform: scaleX(1.2);
  transform-origin: center;
}
h1.title strong,
.h1.titla strong,
h2.title strong,
.h2.title strong,
.headline-reveal__intro h1 strong,
.headline-reveal__intro h2 strong,
.headline-reveal__intro .h1 strong,
.headline-reveal__intro .h2 strong,
.section-header h1 strong,
.section-header h2 strong,
.header-text h1 strong,
.header-text h2 strong,
.section-title h1 strong,
.section-title h2 strong {
  display: inline-block;
  font-family: "Alfa Slab One", serif;
  font-weight: 400;
  transform: scaleX(0.89);
}
h3,
.h3 {
  font-size: var(--font-h3);
}
h4,
.h4 {
  font-size: var(--font-h4);
}
h5,
.h5 {
  font-size: var(--font-h5);
  font-weight: 500;
}
h6,
.h6 {
  font-weight: 500;
  font-size: 1.0625rem;
}
p {
  margin: 0 0 1rem;
}
p:last-child {
  margin-bottom: 0;
}
.signature {
  font-weight: normal;
}
.signature h1,
.signature .h1,
.signature h2,
.signature .h2,
.signature h3,
.signature .h3 {
  font-family: "Season Sans", Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: normal;
  letter-spacing: unset;
}
.signature h1,
.signature .h1,
.signature h2,
.signature .h2 {
  font-size: var(--font-h1);
}
.signature h1 + .subtitle,
.signature .h1 + .subtitle,
.signature h2 + .subtitle,
.signature .h2 + .subtitle {
  margin-top: -1rem;
}
.signature .subtitle {
  font-family: "Season Serif", Georgia, "Times New Roman", Times, serif;
  font-size: var(--font-h1);
  line-height: 1.1;
}
.button {
  cursor: pointer;
  display: inline-grid;
  grid-template-columns: 3.75rem 1fr;
  width: fit-content;
  max-width: 100%;
  height: 3.75rem;
  line-height: 1;
  white-space: nowrap;
  border: 1px solid #d9d9d9;
  color: var(--buttontext, #1b1b1b);
  align-items: center;
  gap: 2rem;
  padding-right: 2rem;
  position: relative;
  isolation: isolate;
  background: var(--bg, #FFF);
  overflow: hidden;
  font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif;
  font-size: 1rem;
  font-weight: normal;
  appearance: none;
  transition: color 550ms cubic-bezier(0.65, 0, 0.35, 1);
}
.button .auto {
  width: auto;
}
.button.fill {
  display: grid;
}
.button:before {
  content: "";
  flex: 0 0 3.75rem;
  text-align: center;
  height: 100%;
  background: url("https://cdn.jarrolds.co.uk/assets/2026/arrow-right.svg") center no-repeat;
  background-size: 1.5rem 1.5rem;
}
.button:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--button, #9CDCD9);
  transform: translateX(calc(-100% + 3.75rem));
  transition: transform 550ms cubic-bezier(0.65, 0, 0.35, 1);
  will-change: transform;
}
.button[disabled] {
  opacity: 0.4;
}
.button:not([disabled]):hover::after,
.button:not([disabled]):focus-visible::after {
  transform: translateX(3.75rem);
}
.button.signature-blue {
  color: #273F4B;
  transition: color 550ms cubic-bezier(0.65, 0, 0.35, 1);
}
.button.signature-blue:before {
  background-image: url("https://cdn.jarrolds.co.uk/assets/2026/arrow-right-white.svg");
  transition: background-image 0s 300ms allow-discrete;
}
.button.signature-blue:after {
  background: #273F4B;
}
.button.signature-blue:not([disabled]):hover,
.button.signature-blue:not([disabled]):focus-visible {
  color: #FFF;
}
.button.signature-blue:not([disabled]):hover:before,
.button.signature-blue:not([disabled]):focus-visible:before {
  background-image: url("https://cdn.jarrolds.co.uk/assets/2026/arrow-right-signature-blue.svg");
}
.button.purple:before {
  background-image: url("https://cdn.jarrolds.co.uk/assets/2026/arrow-right-white.svg");
  transition: background-image 0s 300ms allow-discrete, background-color 0s 300ms allow-discrete;
}
.button.purple:after {
  background: #412044;
}
.button.purple:not([disabled]):hover,
.button.purple:not([disabled]):focus-visible {
  color: #FFF;
}
.button.purple:not([disabled]):hover:before,
.button.purple:not([disabled]):focus-visible:before {
  background-color: #FFF;
  background-image: url("https://cdn.jarrolds.co.uk/assets/2026/arrow-right.svg");
}
.button.error:before {
  background-image: url("https://cdn.jarrolds.co.uk/assets/2026/arrow-right-white.svg");
  transition: background-image 0s 300ms allow-discrete, background-color 0s 300ms allow-discrete;
}
.button.error:after {
  background: #e00419;
}
.button.error:not([disabled]):hover,
.button.error:not([disabled]):focus-visible {
  color: #FFF;
}
.button.error:not([disabled]):hover:before,
.button.error:not([disabled]):focus-visible:before {
  background-color: #FFF;
  background-image: url("https://cdn.jarrolds.co.uk/assets/2026/arrow-right.svg");
}
.button.purple-trans {
  background: transparent;
}
.button.purple-trans:before {
  background-image: url("https://cdn.jarrolds.co.uk/assets/2026/arrow-right-white.svg");
  transition: background-image 0s 300ms allow-discrete, background-color 0s 300ms allow-discrete;
}
.button.purple-trans:after {
  background: #412044;
}
.button.purple-trans:hover,
.button.purple-trans:focus-visible {
  color: #FFF;
}
.button.purple-trans:hover:before,
.button.purple-trans:focus-visible:before {
  background-color: #FFF;
  background-image: url("https://cdn.jarrolds.co.uk/assets/2026/arrow-right.svg");
}
.button.progress.titan-loading:after {
  position: absolute;
  inset: 0;
  background-image: url("https://cdn.jarrolds.co.uk/assets/2026/loader-white.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 70% 70%;
  z-index: 2;
  transform: unset;
}
.button.small {
  height: 3.125rem;
  grid-template-columns: 3.125rem 1fr;
  gap: 1rem;
  padding-right: 1rem;
}
.button.small:before {
  flex-basis: 3.125rem;
}
.button.small:after {
  transform: translateX(calc(-100% + 3.125rem));
}
.button.small:hover::after,
.button.small:focus-visible::after {
  transform: translateX(3.125rem);
}
.icon-button {
  cursor: pointer;
  display: inline-grid;
  width: 3.75rem;
  max-width: 100%;
  height: 3.75rem;
  line-height: 1;
  white-space: nowrap;
  border: 1px solid #d9d9d9;
  color: #1b1b1b;
  position: relative;
  background: #FFF;
  overflow: hidden;
  font-weight: normal;
  appearance: none;
  transition: color 550ms cubic-bezier(0.65, 0, 0.35, 1);
}
.icon-button svg {
  position: absolute;
  inset: 30%;
  width: 40%;
}
.pill-button {
  cursor: pointer;
  display: inline-block;
  width: max-content;
  max-width: 100%;
  height: 3.125rem;
  line-height: 3.125rem;
  white-space: nowrap;
  border: 0;
  border-radius: 3rem;
  color: #FFF;
  position: relative;
  background: #1b1b1b;
  overflow: hidden;
  font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif;
  font-size: 1rem;
  font-weight: normal;
  appearance: none;
  text-align: center;
  padding-inline: 2rem;
  transition: text-indent 550ms cubic-bezier(0.65, 0, 0.35, 1) 150ms, color 550ms cubic-bezier(0.65, 0, 0.35, 1) 150ms;
}
.pill-button.full {
  display: block;
  width: 100%;
}
.pill-button.purple {
  background: #412044;
}
.pill-button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #fff;
  -webkit-mask: url("https://cdn.jarrolds.co.uk/assets/2026/arrow-right.svg") no-repeat center;
  mask: url("https://cdn.jarrolds.co.uk/assets/2026/arrow-right.svg") no-repeat center;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%) translateX(-2rem);
  transition: transform 550ms cubic-bezier(0.65, 0, 0.35, 1), opacity 550ms cubic-bezier(0.65, 0, 0.35, 1);
}
.pill-button.outline {
  background: #fff;
  color: #1b1b1b;
  border: 2px solid #d9d9d9;
}
.pill-button.outline::before {
  background-color: #1b1b1b;
}
.pill-button:is(:hover, :focus-visible) {
  transition-delay: 0ms;
  text-indent: 2rem;
  color: transparent;
}
.pill-button:is(:hover, :focus-visible)::before {
  opacity: 1;
  transform: translate(-50%, -50%) translateX(0);
}
.pill-button.progress.titan-loading:after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: inherit;
  background-image: url("https://cdn.jarrolds.co.uk/assets/2026/loader-white.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 70% 70%;
  z-index: 2;
  transform: unset;
}
.pill-button.small {
  height: 2.5rem;
  line-height: 2.5rem;
}
.round-icon-button {
  cursor: pointer;
  display: inline-grid;
  width: 3.125rem;
  max-width: 100%;
  height: 3.125rem;
  line-height: 1;
  white-space: nowrap;
  border: 1px solid #d9d9d9;
  border-radius: 3.40282e38px;
  color: #1b1b1b;
  position: relative;
  background: #FFF;
  overflow: hidden;
  font-weight: normal;
  appearance: none;
  transition: all 550ms cubic-bezier(0.65, 0, 0.35, 1);
}
.round-icon-button svg {
  position: absolute;
  inset: 25%;
  width: 50%;
  pointer-events: none;
}
.round-icon-button svg path {
  stroke: currentColor;
}
.round-icon-button.is-active,
.round-icon-button:hover {
  background: #412044;
  color: #FFF;
}
.arrow {
  cursor: pointer;
  position: relative;
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  padding-left: 0;
  padding-right: calc(1rem + 0.5rem);
  font-weight: normal;
  background: none;
  transition: padding-left 250ms ease, padding-right 250ms ease;
}
.arrow::before,
.arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 1rem;
  height: 1rem;
  /*background:         url("@{assets-path}/arrow-right.svg") center no-repeat;*/
  background-size: 1rem 1rem;
  background-color: currentColor;
  -webkit-mask: url("https://cdn.jarrolds.co.uk/assets/2026/arrow-right.svg") center no-repeat;
  mask: url("https://cdn.jarrolds.co.uk/assets/2026/arrow-right.svg") center no-repeat;
  background-size: contain;
  transition: transform 250ms ease, opacity 200ms ease;
}
.arrow::before {
  left: 0;
  opacity: 0;
  transform: translate(-1rem, -50%);
}
.arrow::after {
  right: 0;
  opacity: 1;
  transform: translate(0, -50%);
}
.arrow.white {
  color: #FFF;
  /*&:before,
        &:after {
            background-image: url("@{assets-path}/arrow-right-white.svg");
        }*/

}
.arrow.back {
  padding-left: calc(1rem + 0.5rem);
  padding-right: 0;
}
.arrow.back::before {
  opacity: 1;
  transform: translate(0, -50%) rotate(180deg);
}
.arrow.back::after {
  opacity: 0;
  transform: translate(1rem, -50%) rotate(180deg);
}
.headline-reveal__media:hover .arrow,
a:hover .arrow,
.a:hover .arrow,
.arrow:hover,
.arrow:focus-visible {
  padding-left: calc(1rem + 0.5rem);
  padding-right: 0;
}
.headline-reveal__media:hover .arrow::before,
a:hover .arrow::before,
.a:hover .arrow::before,
.arrow:hover::before,
.arrow:focus-visible::before {
  opacity: 1;
  transform: translate(0, -50%);
}
.headline-reveal__media:hover .arrow::after,
a:hover .arrow::after,
.a:hover .arrow::after,
.arrow:hover::after,
.arrow:focus-visible::after {
  opacity: 0;
  transform: translate(-1rem, -50%);
}
.headline-reveal__media:hover .arrow.back,
a:hover .arrow.back,
.a:hover .arrow.back,
.arrow:hover.back,
.arrow:focus-visible.back {
  padding-left: 0;
  padding-right: calc(1rem + 0.5rem);
}
.headline-reveal__media:hover .arrow.back::before,
a:hover .arrow.back::before,
.a:hover .arrow.back::before,
.arrow:hover.back::before,
.arrow:focus-visible.back::before {
  opacity: 0;
  transform: translate(1rem, -50%) rotate(180deg);
}
.headline-reveal__media:hover .arrow.back::after,
a:hover .arrow.back::after,
.a:hover .arrow.back::after,
.arrow:hover.back::after,
.arrow:focus-visible.back::after {
  opacity: 1;
  transform: translate(0, -50%) rotate(180deg);
}
.tile-controls {
  display: none;
}
.narrow-form,
.xnarrow-form {
  max-width: 56.25rem;
}
.narrow-form.centered,
.xnarrow-form.centered {
  margin-inline: auto;
}
.xnarrow-form {
  max-width: 31.25rem;
}
.dv-error {
  font-size: 0.875rem;
  color: #e00419;
  font-weight: 500;
  margin-top: 0.25rem;
}
.form-group {
  display: grid;
  gap: 1.5rem;
}
.form-group.md-g {
  display: none;
}
.form-group.gap-0 {
  gap: 0;
}
.form-group.gap-h {
  gap: 0.5rem;
}
.form-group section {
  border-bottom: 1px solid #d9d9d9;
  padding-bottom: 1.5rem;
}
.form-group p.inset {
  padding-left: 1rem;
  padding-block: 1rem;
  border-left: 1rem solid #9CDCD9;
}
.form-group p.inset.error {
  border-left-color: #e00419;
}
.form-group p.inset a {
  text-decoration: underline;
}
.form-group .buttons {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1rem;
}
.form-group legend {
  /*font-family:    @font-family-serif;
        font-style:     italic;
        font-weight:    500;
        font-size:      var(--font-h3);
        line-height:    1.1;
        margin:         0 0 @size-1h;*/
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 1.5rem;
  padding-left: 1.25rem;
  padding-block: 1.25rem;
  border-left: 1rem solid #9CDCD9;
  background: #f5f5f5;
  display: block;
  width: 100%;
}
.form-group legend + p.note {
  margin-top: -1rem;
}
.form-group > legend {
  margin-bottom: 0;
}
.form-grid {
  display: grid;
  gap: 1.5rem;
}
.form-grid.gap-h {
  gap: 0.5rem;
}
.form-grid legend,
.form-grid .full {
  grid-column: 1 / -1;
}
.form-grid > h3:first-child,
.form-grid > h4:first-child {
  margin-bottom: 0;
}
.form-grid > h3:first-child + p.note,
.form-grid > h4:first-child + p.note {
  margin-top: -1rem;
}
.form-grid > p,
.form-grid > h6 {
  margin: 0;
}
.form-grid .note {
  opacity: 0.7;
  margin-block: 0;
}
.form-grid .note a {
  text-decoration: underline;
}
.form-grid .label {
  display: flex;
  gap: 0.25rem;
  font-size: 1.0625rem;
  line-height: 1.3rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
}
.form-grid .label + .note {
  margin-bottom: 0.6rem;
}
.form-grid .info {
  margin-block: 0;
  display: flex;
  gap: 0.5rem;
}
.form-grid .info:before {
  content: "";
  background: url("https://cdn.jarrolds.co.uk/assets/2026/info-circle.svg") no-repeat center left;
  flex: 0 0 1.5rem;
}
.form-grid + .dv-error {
  margin-top: 0.5rem;
}
label.select {
  display: block;
  border: 2px solid rgba(0, 0, 0, 0.7);
  position: relative;
  cursor: pointer;
  min-width: 5rem;
}
label.select select {
  appearance: none;
  background: #FFF;
  border: 0;
  outline: 0;
  font: inherit;
  font-size: 1rem;
  line-height: 1.25rem;
  width: 100%;
  height: 2.875rem;
  padding: 0.25rem 1rem;
}
label.select:after {
  position: absolute;
  top: 50%;
  right: 1rem;
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  margin-top: -0.4rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}
.optionlist {
  display: grid;
  gap: 0.5rem;
}
.optionlist.auto {
  grid-auto-flow: column;
  grid-template-columns: none;
  grid-auto-columns: minmax(max-content, 1fr);
}
.optionlist.auto .checkbox {
  flex-direction: column;
  align-items: center;
}
.optionlist.auto .checkbox .check,
.optionlist.auto .checkbox .radio {
  width: 1.25rem;
  flex: 0 0 1.25rem;
  height: 1.25rem;
}
@media only screen and (min-width: 992px) {
  .optionlist.auto .checkbox .check,
  .optionlist.auto .checkbox .radio {
    width: 1.875rem;
    flex: 0 0 1.875rem;
    height: 1.875rem;
  }
}
.checkbox {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
.checkbox .check,
.checkbox .radio {
  flex: 0 0 1.875rem;
  height: 1.875rem;
  border: 2px solid rgba(0, 0, 0, 0.7);
  position: relative;
  background: #FFF;
}
.checkbox .check > label,
.checkbox .radio > label {
  position: absolute;
  inset: 0;
}
.checkbox .radio {
  border-radius: 100%;
}
.checkbox .radio > label {
  border-radius: 100%;
}
.checkbox .radio input:checked + label {
  background: #9CDCD9;
}
.checkbox input {
  display: none;
}
.checkbox input:checked + label {
  background: #9CDCD9 url(https://cdn.jarrolds.co.uk/assets/2026/tick.svg) no-repeat center center;
  background-size: 90%;
}
.checkbox label {
  cursor: pointer;
  user-select: none;
  font-size: 0.9375rem;
  line-height: 1.25;
}
.checkbox.inactive {
  opacity: 0.4;
  pointer-events: none;
}
.field {
  position: relative;
  /*&:focus-within .label,
    &:has(option:checked:not([value=""])) .label,
    > input:focus ~ .label,
    > input:not(:placeholder-shown) ~ .label,
    > textarea:focus ~ .label,
    > textarea:not(:placeholder-shown) ~ .label {
    }*/

}
.field.half {
  width: 50%;
}
.field .button-field-inner > input,
.field > input,
.field > textarea {
  background: #FFF;
  border: 2px solid rgba(0, 0, 0, 0.7);
  font: inherit;
  font-size: 1rem;
  line-height: 1.25rem;
  width: 100%;
  outline: 0;
  height: 3rem;
  padding: 0.25rem 1rem;
}
.field > .hosted-field {
  background: #FFF;
  border: 2px solid rgba(0, 0, 0, 0.7);
  font: inherit;
  font-size: 1rem;
  line-height: 1.25rem;
  width: 100%;
  outline: 0;
  height: 3rem;
  padding: 0.25rem 1rem;
}
.field > textarea {
  resize: none;
  padding-block: 1rem;
}
.field > textarea[rows="3"] {
  height: 6rem;
}
.field input:focus-visible,
.field textarea:focus-visible {
  outline: 3px solid #9CDCD9;
}
.field.required .label {
  align-items: center;
}
.field.required .label:after {
  position: relative;
  content: "*";
  color: #e00419;
  line-height: 1;
  top: 0.1875rem;
}
.field:has(.dv-error) input {
  border-color: #e00419;
}
.field .button-field-inner,
.field.button-field {
  display: flex;
}
.field .button-field-inner > input,
.field.button-field > input {
  flex: 1;
}
.field .button-field-inner button,
.field.button-field button {
  cursor: pointer;
  display: inline-grid;
  flex: 0 0 3rem;
  max-width: 100%;
  height: 3rem;
  line-height: 1;
  white-space: nowrap;
  border: 2px solid rgba(0, 0, 0, 0.7);
  border-left: 0;
  color: #1b1b1b;
  position: relative;
  background: var(--background, #f5f5f5);
  overflow: hidden;
  font-weight: normal;
  appearance: none;
}
.field .button-field-inner button svg,
.field.button-field button svg {
  position: absolute;
  inset: 30%;
  width: 40%;
}
.field input:focus-visible,
.field select:focus-visible,
.field textarea:focus-visible {
  outline-offset: 0;
}
.modal > input {
  display: none;
}
.modal > input:checked ~ .modal-container {
  animation-name: modal-slide-in;
  visibility: visible;
  transition-delay: 0s;
}
.modal > input:checked ~ .modal-mask {
  animation-name: sidebar-mask-fade-in;
  visibility: visible;
  transition-delay: 0s;
}
.modal .modal-container,
.modal .modal-mask {
  animation-duration: 233ms;
  animation-timing-function: cubic-bezier(0, 0, 0.21, 1);
  animation-fill-mode: forwards;
  visibility: hidden;
  transition: visibility 0s linear 233ms;
}
.modal .modal-mask {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  animation-name: sidebar-mask-fade-out;
  z-index: 2147483646;
  opacity: 0;
}
.modal.model-fullscreen > .modal-container {
  width: 90vw !important;
  height: 90vh !important;
  max-width: 112.5rem;
}
.modal .modal-container,
.dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  height: max-content;
  max-height: 90vh;
  width: 100%;
  max-width: 95vw;
  background: #FFF;
  outline: none;
  z-index: 2147483647;
  will-change: transform;
  padding: 2rem;
  transform: translate(-50%, -50%);
  animation-name: modal-slide-out;
  overflow-y: auto;
}
.modal .modal-container > h1:first-child,
.dialog > h1:first-child,
.modal .modal-container > h2:first-child,
.dialog > h2:first-child,
.modal .modal-container > h3:first-child,
.dialog > h3:first-child,
.modal .modal-container > h4:first-child,
.dialog > h4:first-child {
  line-height: 2rem;
}
.modal .modal-container .icon,
.dialog .icon {
  cursor: pointer;
  position: absolute;
  width: 2rem;
  height: 2rem;
  top: 2rem;
  right: 2rem;
}
.dialog .buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: max-content;
  padding-top: 1.5rem;
  margin-inline: auto;
  gap: 1rem;
}
.dialog .buttons .button {
  margin: 0;
}
.sidebar > input {
  display: none;
}
.sidebar > input:checked ~ div[side=left] {
  animation-name: sidebar-slide-in-left;
}
.sidebar > input:checked ~ div[side=right] {
  animation-name: sidebar-slide-in-right;
}
.sidebar > input:checked ~ .sidebar-mask {
  animation-name: sidebar-mask-fade-in;
  visibility: visible;
}
.sidebar > div {
  position: fixed;
  top: 0;
  width: 90vw;
  background: #fff;
  outline: none;
  z-index: 2147483647;
  will-change: transform;
  height: 100vh;
  height: 100dvh;
  padding-top: env(safe-area-inset-top, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-left: env(safe-area-inset-left, 0px);
}
.sidebar > div[side=left] {
  left: 0 !important;
  transform: translateX(-100%);
  animation-name: sidebar-slide-out-left;
}
.sidebar > div[side=right] {
  right: 0 !important;
  transform: translateX(100%);
  animation-name: sidebar-slide-out-right;
}
@media only screen and (min-width: 768px) {
  .sidebar > div {
    width: 25rem;
    max-width: 80vw;
  }
}
.sidebar > div[side],
.sidebar > .sidebar-mask {
  animation-duration: 233ms;
  animation-timing-function: cubic-bezier(0, 0, 0.21, 1);
  animation-fill-mode: forwards;
}
.sidebar > .sidebar-mask {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  animation-name: sidebar-mask-fade-out;
  z-index: 2147483646;
  opacity: 0;
  visibility: hidden;
}
div.sidebar-container {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  height: 100%;
}
div.sidebar-container > header,
div.sidebar-container > footer {
  flex: 0 0 var(--header-height);
  padding: 1rem;
}
div.sidebar-container > header {
  border-bottom: 1px solid #d9d9d9;
  display: grid;
  grid-template-columns: 1fr 2rem;
  gap: 1rem;
  align-items: center;
}
div.sidebar-container > header > * {
  margin: 0;
}
div.sidebar-container > footer {
  border-top: 1px solid #d9d9d9;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
div.sidebar-container > div {
  flex: 1 1 0;
  min-height: 0;
  min-width: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}
#menu-xs {
  min-width: 0;
}
#menu-xs .menu-drawer-stage {
  display: grid;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #fff;
}
#menu-xs .menu-drawer {
  grid-area: 1 / 1;
  position: relative;
  min-width: 0;
  width: 100%;
  align-self: start;
  background: #fff;
}
#menu-xs .menu-drawer[hidden] {
  display: none !important;
}
#menu-xs ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#menu-xs li > a,
#menu-xs .menu-drawer-open,
#menu-xs .menu-drawer-back {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  padding-inline: 1rem;
  padding-block: 0.76rem;
  appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: start;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
#menu-xs li > a:focus-visible,
#menu-xs .menu-drawer-open:focus-visible,
#menu-xs .menu-drawer-back:focus-visible {
  outline: 3px solid #412044;
  outline-offset: -3px;
}
#menu-xs li > a,
#menu-xs .menu-drawer-open {
  justify-content: space-between;
}
#menu-xs li > a:hover,
#menu-xs .menu-drawer-open:hover {
  background: #f5f3f5;
}
#menu-xs .menu-drawer-open::after,
#menu-xs .menu-drawer-back::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  flex-shrink: 0;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  pointer-events: none;
}
#menu-xs .menu-drawer-open::after {
  transform: rotate(-45deg);
}
#menu-xs .menu-drawer-back {
  width: fit-content;
}
#menu-xs .menu-drawer-back::before {
  transform: rotate(135deg);
}
#menu-xs .menu-drawer-back:hover {
  text-decoration: underline;
}
#menu-xs .menu-drawer-header {
  display: block;
  position: relative;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #d9d9d9;
}
#menu-xs .menu-drawer-title {
  margin: 0.25rem 0 0;
  padding-inline: 1rem;
  font-size: 1.125rem;
  line-height: 1.4;
  font-weight: 600;
}
#mobile-nav .sidebar-trigger,
#mobile-sidebar-dialog [data-sidebar-close] {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0.5rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
#mobile-nav .sidebar-trigger:focus-visible,
#mobile-sidebar-dialog [data-sidebar-close]:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: -3px;
}
#mobile-sidebar-dialog {
  block-size: 100vh;
  block-size: 100dvh;
  box-sizing: border-box;
  overflow: hidden;
  padding-block-start: env(safe-area-inset-top, 0px);
  padding-block-end: env(safe-area-inset-bottom, 0px);
  padding-inline-start: env(safe-area-inset-left, 0px);
  padding-inline-end: env(safe-area-inset-right, 0px);
}
#mobile-sidebar-dialog > .sidebar-container {
  display: flex;
  flex-direction: column;
  block-size: 100%;
  min-block-size: 0;
  overflow: hidden;
}
#mobile-sidebar-dialog > .sidebar-container > header {
  flex: 0 0 auto;
}
#mobile-sidebar-dialog > .sidebar-container > #menu-xs {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-block-size: 0;
}
#mobile-sidebar-dialog #menu-xs .menu-drawer-stage {
  flex: 1 1 0;
  min-block-size: 0;
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden;
}
#mobile-sidebar-dialog #menu-xs .menu-drawer {
  align-self: stretch;
  min-block-size: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  box-sizing: border-box;
  padding-block-end: 24px;
  scroll-padding-block-end: 24px;
}
#mobile-sidebar-dialog[data-pointer-menu]:focus {
  outline: none;
}
#promo-banner,
#promo-banners {
  font-size: 0.8125rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 2rem;
}
#promo-banner a,
#promo-banners a,
#promo-banner span,
#promo-banners span {
  color: inherit;
}
#promo-banner .carousel,
#promo-banners .carousel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  min-width: 0;
  overflow: hidden;
  isolation: isolate;
}
#promo-banner .banner,
#promo-banners .banner {
  display: flex;
  position: relative;
  inset: auto;
  grid-area: 1 / 1;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  min-width: 0;
  padding: 0 1rem;
  color: var(--foreground, #fff);
}
#promo-banner .banner:not(:first-child),
#promo-banners .banner:not(:first-child) {
  visibility: hidden;
  opacity: 0;
}
#promo-banner .promo-link,
#promo-banners .promo-link {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-align: center;
}
#promo-banner .promo-text,
#promo-banners .promo-text {
  display: block;
  width: max-content;
  min-width: 100%;
  white-space: nowrap;
  overflow-wrap: normal;
}
#promo-banner .promo-counter,
#promo-banners .promo-counter {
  display: none;
  gap: 0.25rem;
  align-items: center;
  flex-shrink: 0;
  flex-direction: row;
  flex-wrap: nowrap;
  white-space: nowrap;
}
@media (min-width: 768px) {
  #promo-banner .promo-counter,
  #promo-banners .promo-counter {
    display: flex;
  }
}
#promo-banner .promo-counter div[data-unit],
#promo-banners .promo-counter div[data-unit],
#promo-banner .promo-counter strong,
#promo-banners .promo-counter strong {
  font-weight: 500;
  color: var(--foreground, #fff);
}
#promo-banner .promo-counter strong,
#promo-banners .promo-counter strong {
  margin-right: 0.25rem;
}
#promo-banner .promo-counter strong:last-child,
#promo-banners .promo-counter strong:last-child {
  margin-right: 0;
}
#promo-banner .promo-pause,
#promo-banners .promo-pause {
  display: none;
}
#promo-banner a.promo-link:focus-visible,
#promo-banners a.promo-link:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: -3px;
}
#promo-banner.promo-static .carousel,
#promo-banners.promo-static .carousel {
  display: flex;
  flex-direction: column;
}
#promo-banner.promo-static .banner,
#promo-banners.promo-static .banner {
  display: flex;
  visibility: visible;
  opacity: 1;
  transform: none;
  flex-wrap: wrap;
}
#promo-banner.promo-static .promo-link,
#promo-banners.promo-static .promo-link {
  overflow: visible;
}
#promo-banner.promo-static .promo-text,
#promo-banners.promo-static .promo-text {
  width: auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  #promo-banner .carousel,
  #promo-banners .carousel {
    display: flex;
    flex-direction: column;
  }
  #promo-banner .banner,
  #promo-banners .banner {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    flex-wrap: wrap;
  }
  #promo-banner .promo-link,
  #promo-banners .promo-link {
    overflow: visible;
  }
  #promo-banner .promo-text,
  #promo-banners .promo-text {
    width: auto;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    transform: none !important;
  }
}
.toast {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  max-width: min(20rem, calc(100vw - 4rem));
  padding: 0.75rem 1.5rem;
  background: #247A46;
  color: #FFF;
  border-radius: 2rem;
  box-shadow: 0 4px 16px rgb(0 0 0 / 15%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms ease;
  z-index: 1000;
}
.toast.is-visible {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .toast {
    transition: none;
  }
}
@keyframes sidebar-slide-in-left {
  0% {
    transform: translateX(-120%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes sidebar-slide-out-left {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-120%);
  }
}
@keyframes sidebar-slide-in-right {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes sidebar-slide-out-right {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes sidebar-mask-fade-in {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes sidebar-mask-fade-out {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes slide-up {
  0% {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes slide-down {
  0% {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}
@keyframes modal-slide-in {
  0% {
    transform: translate(-50%, 100%);
  }
  to {
    transform: translate(-50%, -50%);
  }
}
@keyframes modal-slide-out {
  0% {
    transform: translate(-50%, -50%);
  }
  to {
    transform: translate(-50%, 100%);
  }
}
