/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --tw-font-sans: var(--w2-font);
  --tw-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
    monospace;
  --tw-color-lime-400: oklch(84.1% 0.238 128.85);
  --tw-color-black: #000;
  --tw-color-white: #fff;
  --tw-spacing: 0.25rem;
  --tw-container-sm: 24rem;
  --tw-container-md: 28rem;
  --tw-container-lg: 32rem;
  --tw-container-xl: 36rem;
  --tw-container-2xl: 42rem;
  --tw-container-3xl: 48rem;
  --tw-container-4xl: 56rem;
  --tw-container-5xl: 64rem;
  --tw-container-6xl: 72rem;
  --tw-container-7xl: 80rem;
  --tw-text-xs: 0.75rem;
  --tw-text-xs--line-height: calc(1 / 0.75);
  --tw-text-sm: 0.875rem;
  --tw-text-sm--line-height: calc(1.25 / 0.875);
  --tw-text-base: 1rem;
  --tw-text-base--line-height: calc(1.5 / 1);
  --tw-text-lg: 1.125rem;
  --tw-text-lg--line-height: calc(1.75 / 1.125);
  --tw-text-xl: 1.25rem;
  --tw-text-xl--line-height: calc(1.75 / 1.25);
  --tw-text-2xl: 1.5rem;
  --tw-text-2xl--line-height: calc(2 / 1.5);
  --tw-text-3xl: 1.875rem;
  --tw-text-3xl--line-height: calc(2.25 / 1.875);
  --tw-text-4xl: 2.25rem;
  --tw-text-4xl--line-height: calc(2.5 / 2.25);
  --tw-text-5xl: 3rem;
  --tw-text-5xl--line-height: 1;
  --tw-text-6xl: 3.75rem;
  --tw-text-6xl--line-height: 1;
  --tw-text-7xl: 4.5rem;
  --tw-text-7xl--line-height: 1;
  --tw-text-8xl: 6rem;
  --tw-text-8xl--line-height: 1;
  --tw-text-9xl: 8rem;
  --tw-text-9xl--line-height: 1;
  --tw-font-weight-normal: 400;
  --tw-font-weight-medium: 500;
  --tw-font-weight-semibold: 600;
  --tw-font-weight-bold: 700;
  --tw-font-weight-black: 900;
  --tw-tracking-tight: -0.025em;
  --tw-tracking-wide: 0.025em;
  --tw-tracking-wider: 0.05em;
  --tw-tracking-widest: 0.1em;
  --tw-leading-tight: 1.25;
  --tw-leading-relaxed: 1.625;
  --tw-radius-md: 0.375rem;
  --tw-radius-lg: 0.5rem;
  --tw-radius-xl: 0.75rem;
  --tw-radius-2xl: 1rem;
  --tw-radius-3xl: 1.5rem;
  --tw-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --tw-aspect-video: 16 / 9;
  --tw-default-transition-duration: 150ms;
  --tw-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  --tw-font-heading: var(--w2-font-heading);
}
.tw\:pointer-events-auto {
  pointer-events: auto;
}
.tw\:pointer-events-none {
  pointer-events: none;
}
.tw\:sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border-width: 0;
}
.tw\:absolute {
  position: absolute;
}
.tw\:fixed {
  position: fixed;
}
.tw\:relative {
  position: relative;
}
.tw\:inset-0 {
  inset: 0px;
}
.tw\:inset-x-0 {
  inset-inline: 0px;
}
.tw\:inset-x-3 {
  inset-inline: calc(var(--tw-spacing) * 3);
}
.tw\:inset-x-4 {
  inset-inline: calc(var(--tw-spacing) * 4);
}
.tw\:inset-y-0 {
  inset-block: 0px;
}
.tw\:top-0 {
  top: 0px;
}
.tw\:top-1 {
  top: var(--tw-spacing);
}
.tw\:top-3 {
  top: calc(var(--tw-spacing) * 3);
}
.tw\:top-4 {
  top: calc(var(--tw-spacing) * 4);
}
.tw\:right-0 {
  right: 0px;
}
.tw\:right-3 {
  right: calc(var(--tw-spacing) * 3);
}
.tw\:right-4 {
  right: calc(var(--tw-spacing) * 4);
}
.tw\:right-6 {
  right: calc(var(--tw-spacing) * 6);
}
.tw\:bottom-0 {
  bottom: 0px;
}
.tw\:bottom-2 {
  bottom: calc(var(--tw-spacing) * 2);
}
.tw\:bottom-3 {
  bottom: calc(var(--tw-spacing) * 3);
}
.tw\:bottom-4 {
  bottom: calc(var(--tw-spacing) * 4);
}
.tw\:bottom-6 {
  bottom: calc(var(--tw-spacing) * 6);
}
.tw\:bottom-\[calc\(1rem\+env\(safe-area-inset-bottom\)\)\] {
  bottom: calc(1rem + env(safe-area-inset-bottom));
}
.tw\:left-0 {
  left: 0px;
}
.tw\:left-1 {
  left: var(--tw-spacing);
}
.tw\:left-2 {
  left: calc(var(--tw-spacing) * 2);
}
.tw\:left-3 {
  left: calc(var(--tw-spacing) * 3);
}
.tw\:left-4 {
  left: calc(var(--tw-spacing) * 4);
}
.tw\:left-5 {
  left: calc(var(--tw-spacing) * 5);
}
.tw\:left-6 {
  left: calc(var(--tw-spacing) * 6);
}
.tw\:z-10 {
  z-index: 10;
}
.tw\:z-20 {
  z-index: 20;
}
.tw\:z-30 {
  z-index: 30;
}
.tw\:z-40 {
  z-index: 40;
}
.tw\:z-\[120\] {
  z-index: 120;
}
.tw\:z-\[1000\] {
  z-index: 1000;
}
.tw\:col-span-2 {
  grid-column: span 2 / span 2;
}
.tw\:m-0 {
  margin: 0px;
}
.tw\:m-auto {
  margin: auto;
}
.tw\:mx-auto {
  margin-inline: auto;
}
.tw\:-mt-2 {
  margin-top: calc(var(--tw-spacing) * -2);
}
.tw\:mt-1 {
  margin-top: var(--tw-spacing);
}
.tw\:mt-2 {
  margin-top: calc(var(--tw-spacing) * 2);
}
.tw\:mt-3 {
  margin-top: calc(var(--tw-spacing) * 3);
}
.tw\:mt-4 {
  margin-top: calc(var(--tw-spacing) * 4);
}
.tw\:mt-8 {
  margin-top: calc(var(--tw-spacing) * 8);
}
.tw\:mt-auto {
  margin-top: auto;
}
.tw\:-mr-2 {
  margin-right: calc(var(--tw-spacing) * -2);
}
.tw\:mb-4 {
  margin-bottom: calc(var(--tw-spacing) * 4);
}
.tw\:line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.tw\:block {
  display: block;
}
.tw\:contents {
  display: contents;
}
.tw\:flex {
  display: flex;
}
.tw\:grid {
  display: grid;
}
.tw\:hidden {
  display: none;
}
.tw\:inline-block {
  display: inline-block;
}
.tw\:inline-flex {
  display: inline-flex;
}
.tw\:aspect-\[4\/3\] {
  aspect-ratio: 4/3;
}
.tw\:aspect-\[4\/5\] {
  aspect-ratio: 4/5;
}
.tw\:aspect-square {
  aspect-ratio: 1 / 1;
}
.tw\:aspect-video {
  aspect-ratio: var(--tw-aspect-video);
}
.tw\:size-4 {
  width: calc(var(--tw-spacing) * 4);
  height: calc(var(--tw-spacing) * 4);
}
.tw\:size-5 {
  width: calc(var(--tw-spacing) * 5);
  height: calc(var(--tw-spacing) * 5);
}
.tw\:size-6 {
  width: calc(var(--tw-spacing) * 6);
  height: calc(var(--tw-spacing) * 6);
}
.tw\:size-7 {
  width: calc(var(--tw-spacing) * 7);
  height: calc(var(--tw-spacing) * 7);
}
.tw\:size-8 {
  width: calc(var(--tw-spacing) * 8);
  height: calc(var(--tw-spacing) * 8);
}
.tw\:size-9 {
  width: calc(var(--tw-spacing) * 9);
  height: calc(var(--tw-spacing) * 9);
}
.tw\:size-10 {
  width: calc(var(--tw-spacing) * 10);
  height: calc(var(--tw-spacing) * 10);
}
.tw\:size-11 {
  width: calc(var(--tw-spacing) * 11);
  height: calc(var(--tw-spacing) * 11);
}
.tw\:size-12 {
  width: calc(var(--tw-spacing) * 12);
  height: calc(var(--tw-spacing) * 12);
}
.tw\:size-20 {
  width: calc(var(--tw-spacing) * 20);
  height: calc(var(--tw-spacing) * 20);
}
.tw\:size-full {
  width: 100%;
  height: 100%;
}
.tw\:h-1 {
  height: var(--tw-spacing);
}
.tw\:h-2 {
  height: calc(var(--tw-spacing) * 2);
}
.tw\:h-2\.5 {
  height: calc(var(--tw-spacing) * 2.5);
}
.tw\:h-2\/5 {
  height: calc(2 / 5 * 100%);
}
.tw\:h-4 {
  height: calc(var(--tw-spacing) * 4);
}
.tw\:h-5 {
  height: calc(var(--tw-spacing) * 5);
}
.tw\:h-7 {
  height: calc(var(--tw-spacing) * 7);
}
.tw\:h-8 {
  height: calc(var(--tw-spacing) * 8);
}
.tw\:h-10 {
  height: calc(var(--tw-spacing) * 10);
}
.tw\:h-12 {
  height: calc(var(--tw-spacing) * 12);
}
.tw\:h-16 {
  height: calc(var(--tw-spacing) * 16);
}
.tw\:h-80 {
  height: calc(var(--tw-spacing) * 80);
}
.tw\:h-auto {
  height: auto;
}
.tw\:h-dvh {
  height: 100dvh;
}
.tw\:h-full {
  height: 100%;
}
.tw\:max-h-\[90vh\] {
  max-height: 90vh;
}
.tw\:max-h-\[92dvh\] {
  max-height: 92dvh;
}
.tw\:max-h-\[min\(90dvh\,52rem\)\] {
  max-height: min(90dvh, 52rem);
}
.tw\:max-h-dvh {
  max-height: 100dvh;
}
.tw\:min-h-10 {
  min-height: calc(var(--tw-spacing) * 10);
}
.tw\:min-h-12 {
  min-height: calc(var(--tw-spacing) * 12);
}
.tw\:min-h-14 {
  min-height: calc(var(--tw-spacing) * 14);
}
.tw\:min-h-16 {
  min-height: calc(var(--tw-spacing) * 16);
}
.tw\:min-h-64 {
  min-height: calc(var(--tw-spacing) * 64);
}
.tw\:min-h-80 {
  min-height: calc(var(--tw-spacing) * 80);
}
.tw\:min-h-96 {
  min-height: calc(var(--tw-spacing) * 96);
}
.tw\:min-h-full {
  min-height: 100%;
}
.tw\:min-h-screen {
  min-height: 100vh;
}
.tw\:w-2 {
  width: calc(var(--tw-spacing) * 2);
}
.tw\:w-2\.5 {
  width: calc(var(--tw-spacing) * 2.5);
}
.tw\:w-2\/3 {
  width: calc(2 / 3 * 100%);
}
.tw\:w-4 {
  width: calc(var(--tw-spacing) * 4);
}
.tw\:w-5 {
  width: calc(var(--tw-spacing) * 5);
}
.tw\:w-10 {
  width: calc(var(--tw-spacing) * 10);
}
.tw\:w-12 {
  width: calc(var(--tw-spacing) * 12);
}
.tw\:w-16 {
  width: calc(var(--tw-spacing) * 16);
}
.tw\:w-20 {
  width: calc(var(--tw-spacing) * 20);
}
.tw\:w-24 {
  width: calc(var(--tw-spacing) * 24);
}
.tw\:w-64 {
  width: calc(var(--tw-spacing) * 64);
}
.tw\:w-72 {
  width: calc(var(--tw-spacing) * 72);
}
.tw\:w-80 {
  width: calc(var(--tw-spacing) * 80);
}
.tw\:w-96 {
  width: calc(var(--tw-spacing) * 96);
}
.tw\:w-\[min\(94vw\,56rem\)\] {
  width: min(94vw, 56rem);
}
.tw\:w-fit {
  width: fit-content;
}
.tw\:w-full {
  width: 100%;
}
.tw\:w-screen {
  width: 100vw;
}
.tw\:max-w-2xl {
  max-width: var(--tw-container-2xl);
}
.tw\:max-w-3xl {
  max-width: var(--tw-container-3xl);
}
.tw\:max-w-4xl {
  max-width: var(--tw-container-4xl);
}
.tw\:max-w-5xl {
  max-width: var(--tw-container-5xl);
}
.tw\:max-w-6xl {
  max-width: var(--tw-container-6xl);
}
.tw\:max-w-7xl {
  max-width: var(--tw-container-7xl);
}
.tw\:max-w-\[70\%\] {
  max-width: 70%;
}
.tw\:max-w-lg {
  max-width: var(--tw-container-lg);
}
.tw\:max-w-md {
  max-width: var(--tw-container-md);
}
.tw\:max-w-none {
  max-width: none;
}
.tw\:max-w-sm {
  max-width: var(--tw-container-sm);
}
.tw\:max-w-xl {
  max-width: var(--tw-container-xl);
}
.tw\:min-w-0 {
  min-width: 0px;
}
.tw\:min-w-4 {
  min-width: calc(var(--tw-spacing) * 4);
}
.tw\:min-w-7 {
  min-width: calc(var(--tw-spacing) * 7);
}
.tw\:min-w-14 {
  min-width: calc(var(--tw-spacing) * 14);
}
.tw\:min-w-28 {
  min-width: calc(var(--tw-spacing) * 28);
}
.tw\:min-w-48 {
  min-width: calc(var(--tw-spacing) * 48);
}
.tw\:min-w-52 {
  min-width: calc(var(--tw-spacing) * 52);
}
.tw\:min-w-full {
  min-width: 100%;
}
.tw\:flex-1 {
  flex: 1;
}
.tw\:shrink-0 {
  flex-shrink: 0;
}
.tw\:table-fixed {
  table-layout: fixed;
}
.tw\:translate-y-0 {
  --tw-translate-y: 0px;
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.tw\:translate-y-2 {
  --tw-translate-y: calc(var(--tw-spacing) * 2);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.tw\:translate-y-full {
  --tw-translate-y: 100%;
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.tw\:-rotate-3 {
  rotate: calc(3deg * -1);
}
.tw\:cursor-col-resize {
  cursor: col-resize;
}
.tw\:cursor-default {
  cursor: default;
}
.tw\:cursor-pointer {
  cursor: pointer;
}
.tw\:cursor-row-resize {
  cursor: row-resize;
}
.tw\:columns-1 {
  columns: 1;
}
.tw\:break-inside-avoid {
  break-inside: avoid;
}
.tw\:grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.tw\:grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tw\:grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.tw\:grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.tw\:flex-col {
  flex-direction: column;
}
.tw\:flex-row {
  flex-direction: row;
}
.tw\:flex-wrap {
  flex-wrap: wrap;
}
.tw\:place-items-center {
  place-items: center;
}
.tw\:items-baseline {
  align-items: baseline;
}
.tw\:items-center {
  align-items: center;
}
.tw\:items-end {
  align-items: flex-end;
}
.tw\:items-start {
  align-items: flex-start;
}
.tw\:justify-between {
  justify-content: space-between;
}
.tw\:justify-center {
  justify-content: center;
}
.tw\:justify-end {
  justify-content: flex-end;
}
.tw\:justify-start {
  justify-content: flex-start;
}
.tw\:gap-1 {
  gap: var(--tw-spacing);
}
.tw\:gap-2 {
  gap: calc(var(--tw-spacing) * 2);
}
.tw\:gap-3 {
  gap: calc(var(--tw-spacing) * 3);
}
.tw\:gap-4 {
  gap: calc(var(--tw-spacing) * 4);
}
.tw\:gap-5 {
  gap: calc(var(--tw-spacing) * 5);
}
.tw\:gap-6 {
  gap: calc(var(--tw-spacing) * 6);
}
.tw\:gap-8 {
  gap: calc(var(--tw-spacing) * 8);
}
.tw\:gap-10 {
  gap: calc(var(--tw-spacing) * 10);
}
:where(.tw\:divide-y > :not(:last-child)) {
  --tw-divide-y-reverse: 0;
  border-bottom-style: var(--tw-border-style);
  border-top-style: var(--tw-border-style);
  border-top-width: calc(1px * var(--tw-divide-y-reverse));
  border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
}
:where(.tw\:divide-border > :not(:last-child)) {
  border-color: var(--w2-border);
}
.tw\:self-center {
  align-self: center;
}
.tw\:self-end {
  align-self: flex-end;
}
.tw\:self-start {
  align-self: flex-start;
}
.tw\:truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tw\:overflow-auto {
  overflow: auto;
}
.tw\:overflow-hidden {
  overflow: hidden;
}
.tw\:overflow-x-auto {
  overflow-x: auto;
}
.tw\:overflow-y-auto {
  overflow-y: auto;
}
.tw\:rounded-2xl {
  border-radius: var(--tw-radius-2xl);
}
.tw\:rounded-full {
  border-radius: calc(infinity * 1px);
}
.tw\:rounded-lg {
  border-radius: var(--tw-radius-lg);
}
.tw\:rounded-md {
  border-radius: var(--tw-radius-md);
}
.tw\:rounded-none {
  border-radius: 0;
}
.tw\:rounded-xl {
  border-radius: var(--tw-radius-xl);
}
.tw\:rounded-t-3xl {
  border-top-left-radius: var(--tw-radius-3xl);
  border-top-right-radius: var(--tw-radius-3xl);
}
.tw\:border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.tw\:border-0 {
  border-style: var(--tw-border-style);
  border-width: 0px;
}
.tw\:border-2 {
  border-style: var(--tw-border-style);
  border-width: 2px;
}
.tw\:border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.tw\:border-t-2 {
  border-top-style: var(--tw-border-style);
  border-top-width: 2px;
}
.tw\:border-b {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
}
.tw\:border-l {
  border-left-style: var(--tw-border-style);
  border-left-width: 1px;
}
.tw\:border-l-2 {
  border-left-style: var(--tw-border-style);
  border-left-width: 2px;
}
.tw\:border-dashed {
  --tw-border-style: dashed;
  border-style: dashed;
}
.tw\:border-dotted {
  --tw-border-style: dotted;
  border-style: dotted;
}
.tw\:border-background {
  border-color: var(--w2-background);
}
.tw\:border-background\/20 {
  border-color: var(--w2-background);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--w2-background) 20%, transparent);
  }
}
.tw\:border-border {
  border-color: var(--w2-border);
}
.tw\:border-current {
  border-color: currentcolor;
}
.tw\:border-foreground {
  border-color: var(--w2-foreground);
}
.tw\:border-muted-foreground {
  border-color: var(--w2-muted-foreground);
}
.tw\:border-primary {
  border-color: var(--w2-primary);
}
.tw\:border-primary-foreground\/30 {
  border-color: var(--w2-primary-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--w2-primary-foreground) 30%, transparent);
  }
}
.tw\:bg-background {
  background-color: var(--w2-background);
}
.tw\:bg-background\/60 {
  background-color: var(--w2-background);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--w2-background) 60%, transparent);
  }
}
.tw\:bg-border {
  background-color: var(--w2-border);
}
.tw\:bg-foreground {
  background-color: var(--w2-foreground);
}
.tw\:bg-foreground\/70 {
  background-color: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--w2-foreground) 70%, transparent);
  }
}
.tw\:bg-lime-400 {
  background-color: var(--tw-color-lime-400);
}
.tw\:bg-muted {
  background-color: var(--w2-muted);
}
.tw\:bg-muted\/20 {
  background-color: var(--w2-muted);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--w2-muted) 20%, transparent);
  }
}
.tw\:bg-muted\/30 {
  background-color: var(--w2-muted);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--w2-muted) 30%, transparent);
  }
}
.tw\:bg-primary {
  background-color: var(--w2-primary);
}
.tw\:bg-primary-foreground {
  background-color: var(--w2-primary-foreground);
}
.tw\:bg-primary-foreground\/10 {
  background-color: var(--w2-primary-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--w2-primary-foreground) 10%, transparent);
  }
}
.tw\:bg-primary-foreground\/20 {
  background-color: var(--w2-primary-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--w2-primary-foreground) 20%, transparent);
  }
}
.tw\:bg-transparent {
  background-color: transparent;
}
.tw\:bg-gradient-to-b {
  --tw-gradient-position: to bottom in oklab;
  background-image: linear-gradient(var(--tw-gradient-stops));
}
.tw\:bg-gradient-to-t {
  --tw-gradient-position: to top in oklab;
  background-image: linear-gradient(var(--tw-gradient-stops));
}
.tw\:from-black\/70 {
  --tw-gradient-from: var(--tw-color-black);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-gradient-from: color-mix(in oklab, var(--tw-color-black) 70%, transparent);
  }
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.tw\:from-black\/80 {
  --tw-gradient-from: var(--tw-color-black);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-gradient-from: color-mix(in oklab, var(--tw-color-black) 80%, transparent);
  }
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.tw\:via-transparent {
  --tw-gradient-via: transparent;
  --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-via-stops);
}
.tw\:to-black\/80 {
  --tw-gradient-to: var(--tw-color-black);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-gradient-to: color-mix(in oklab, var(--tw-color-black) 80%, transparent);
  }
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.tw\:to-transparent {
  --tw-gradient-to: transparent;
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.tw\:object-contain {
  object-fit: contain;
}
.tw\:object-cover {
  object-fit: cover;
}
.tw\:p-0 {
  padding: 0px;
}
.tw\:p-1 {
  padding: var(--tw-spacing);
}
.tw\:p-2 {
  padding: calc(var(--tw-spacing) * 2);
}
.tw\:p-3 {
  padding: calc(var(--tw-spacing) * 3);
}
.tw\:p-4 {
  padding: calc(var(--tw-spacing) * 4);
}
.tw\:p-5 {
  padding: calc(var(--tw-spacing) * 5);
}
.tw\:p-6 {
  padding: calc(var(--tw-spacing) * 6);
}
.tw\:p-8 {
  padding: calc(var(--tw-spacing) * 8);
}
.tw\:p-10 {
  padding: calc(var(--tw-spacing) * 10);
}
.tw\:px-2 {
  padding-inline: calc(var(--tw-spacing) * 2);
}
.tw\:px-3 {
  padding-inline: calc(var(--tw-spacing) * 3);
}
.tw\:px-4 {
  padding-inline: calc(var(--tw-spacing) * 4);
}
.tw\:px-5 {
  padding-inline: calc(var(--tw-spacing) * 5);
}
.tw\:px-6 {
  padding-inline: calc(var(--tw-spacing) * 6);
}
.tw\:px-8 {
  padding-inline: calc(var(--tw-spacing) * 8);
}
.tw\:px-12 {
  padding-inline: calc(var(--tw-spacing) * 12);
}
.tw\:py-1 {
  padding-block: var(--tw-spacing);
}
.tw\:py-2 {
  padding-block: calc(var(--tw-spacing) * 2);
}
.tw\:py-3 {
  padding-block: calc(var(--tw-spacing) * 3);
}
.tw\:py-4 {
  padding-block: calc(var(--tw-spacing) * 4);
}
.tw\:py-5 {
  padding-block: calc(var(--tw-spacing) * 5);
}
.tw\:py-6 {
  padding-block: calc(var(--tw-spacing) * 6);
}
.tw\:py-8 {
  padding-block: calc(var(--tw-spacing) * 8);
}
.tw\:py-10 {
  padding-block: calc(var(--tw-spacing) * 10);
}
.tw\:py-12 {
  padding-block: calc(var(--tw-spacing) * 12);
}
.tw\:py-16 {
  padding-block: calc(var(--tw-spacing) * 16);
}
.tw\:pt-2 {
  padding-top: calc(var(--tw-spacing) * 2);
}
.tw\:pt-3 {
  padding-top: calc(var(--tw-spacing) * 3);
}
.tw\:pt-4 {
  padding-top: calc(var(--tw-spacing) * 4);
}
.tw\:pt-5 {
  padding-top: calc(var(--tw-spacing) * 5);
}
.tw\:pt-8 {
  padding-top: calc(var(--tw-spacing) * 8);
}
.tw\:pt-16 {
  padding-top: calc(var(--tw-spacing) * 16);
}
.tw\:pt-\[12vh\] {
  padding-top: 12vh;
}
.tw\:pr-6 {
  padding-right: calc(var(--tw-spacing) * 6);
}
.tw\:pb-3 {
  padding-bottom: calc(var(--tw-spacing) * 3);
}
.tw\:pb-4 {
  padding-bottom: calc(var(--tw-spacing) * 4);
}
.tw\:pb-6 {
  padding-bottom: calc(var(--tw-spacing) * 6);
}
.tw\:pb-8 {
  padding-bottom: calc(var(--tw-spacing) * 8);
}
.tw\:pb-16 {
  padding-bottom: calc(var(--tw-spacing) * 16);
}
.tw\:pb-24 {
  padding-bottom: calc(var(--tw-spacing) * 24);
}
.tw\:pb-\[calc\(1rem\+env\(safe-area-inset-bottom\)\)\] {
  padding-bottom: calc(1rem + env(safe-area-inset-bottom));
}
.tw\:pl-4 {
  padding-left: calc(var(--tw-spacing) * 4);
}
.tw\:pl-12 {
  padding-left: calc(var(--tw-spacing) * 12);
}
.tw\:text-center {
  text-align: center;
}
.tw\:text-left {
  text-align: left;
}
.tw\:text-right {
  text-align: right;
}
.tw\:font-mono {
  font-family: var(--tw-font-mono);
}
.tw\:font-sans {
  font-family: var(--w2-font);
}
.tw\:text-2xl {
  font-size: var(--tw-text-2xl);
  line-height: var(--tw-leading, var(--tw-text-2xl--line-height));
}
.tw\:text-3xl {
  font-size: var(--tw-text-3xl);
  line-height: var(--tw-leading, var(--tw-text-3xl--line-height));
}
.tw\:text-4xl {
  font-size: var(--tw-text-4xl);
  line-height: var(--tw-leading, var(--tw-text-4xl--line-height));
}
.tw\:text-5xl {
  font-size: var(--tw-text-5xl);
  line-height: var(--tw-leading, var(--tw-text-5xl--line-height));
}
.tw\:text-6xl {
  font-size: var(--tw-text-6xl);
  line-height: var(--tw-leading, var(--tw-text-6xl--line-height));
}
.tw\:text-7xl {
  font-size: var(--tw-text-7xl);
  line-height: var(--tw-leading, var(--tw-text-7xl--line-height));
}
.tw\:text-base {
  font-size: var(--tw-text-base);
  line-height: var(--tw-leading, var(--tw-text-base--line-height));
}
.tw\:text-lg {
  font-size: var(--tw-text-lg);
  line-height: var(--tw-leading, var(--tw-text-lg--line-height));
}
.tw\:text-sm {
  font-size: var(--tw-text-sm);
  line-height: var(--tw-leading, var(--tw-text-sm--line-height));
}
.tw\:text-xl {
  font-size: var(--tw-text-xl);
  line-height: var(--tw-leading, var(--tw-text-xl--line-height));
}
.tw\:text-xs {
  font-size: var(--tw-text-xs);
  line-height: var(--tw-leading, var(--tw-text-xs--line-height));
}
.tw\:text-\[0\.625rem\] {
  font-size: 0.625rem;
}
.tw\:text-\[0\.6875rem\] {
  font-size: 0.6875rem;
}
.tw\:leading-\[0\.82\] {
  --tw-leading: 0.82;
  line-height: 0.82;
}
.tw\:leading-none {
  --tw-leading: 1;
  line-height: 1;
}
.tw\:leading-relaxed {
  --tw-leading: var(--tw-leading-relaxed);
  line-height: var(--tw-leading-relaxed);
}
.tw\:leading-tight {
  --tw-leading: var(--tw-leading-tight);
  line-height: var(--tw-leading-tight);
}
.tw\:font-black {
  --tw-font-weight: var(--tw-font-weight-black);
  font-weight: var(--tw-font-weight-black);
}
.tw\:font-bold {
  --tw-font-weight: var(--tw-font-weight-bold);
  font-weight: var(--tw-font-weight-bold);
}
.tw\:font-medium {
  --tw-font-weight: var(--tw-font-weight-medium);
  font-weight: var(--tw-font-weight-medium);
}
.tw\:font-normal {
  --tw-font-weight: var(--tw-font-weight-normal);
  font-weight: var(--tw-font-weight-normal);
}
.tw\:font-semibold {
  --tw-font-weight: var(--tw-font-weight-semibold);
  font-weight: var(--tw-font-weight-semibold);
}
.tw\:tracking-tight {
  --tw-tracking: var(--tw-tracking-tight);
  letter-spacing: var(--tw-tracking-tight);
}
.tw\:tracking-wide {
  --tw-tracking: var(--tw-tracking-wide);
  letter-spacing: var(--tw-tracking-wide);
}
.tw\:tracking-wider {
  --tw-tracking: var(--tw-tracking-wider);
  letter-spacing: var(--tw-tracking-wider);
}
.tw\:tracking-widest {
  --tw-tracking: var(--tw-tracking-widest);
  letter-spacing: var(--tw-tracking-widest);
}
.tw\:whitespace-nowrap {
  white-space: nowrap;
}
.tw\:text-background {
  color: var(--w2-background);
}
.tw\:text-background\/60 {
  color: var(--w2-background);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--w2-background) 60%, transparent);
  }
}
.tw\:text-foreground {
  color: var(--w2-foreground);
}
.tw\:text-muted-foreground {
  color: var(--w2-muted-foreground);
}
.tw\:text-primary {
  color: var(--w2-primary);
}
.tw\:text-primary-foreground {
  color: var(--w2-primary-foreground);
}
.tw\:text-primary-foreground\/70 {
  color: var(--w2-primary-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--w2-primary-foreground) 70%, transparent);
  }
}
.tw\:text-primary-foreground\/80 {
  color: var(--w2-primary-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--w2-primary-foreground) 80%, transparent);
  }
}
.tw\:text-primary-foreground\/90 {
  color: var(--w2-primary-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--w2-primary-foreground) 90%, transparent);
  }
}
.tw\:text-white {
  color: var(--tw-color-white);
}
.tw\:normal-case {
  text-transform: none;
}
.tw\:uppercase {
  text-transform: uppercase;
}
.tw\:italic {
  font-style: italic;
}
.tw\:not-italic {
  font-style: normal;
}
.tw\:underline {
  text-decoration-line: underline;
}
.tw\:underline-offset-4 {
  text-underline-offset: 4px;
}
.tw\:accent-primary {
  accent-color: var(--w2-primary);
}
.tw\:opacity-0 {
  opacity: 0%;
}
.tw\:opacity-50 {
  opacity: 50%;
}
.tw\:opacity-100 {
  opacity: 100%;
}
.tw\:shadow-2xl {
  --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.tw\:shadow-lg {
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.tw\:shadow-none {
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.tw\:shadow-sm {
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.tw\:shadow-xl {
  --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.tw\:transition {
  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-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--tw-default-transition-duration));
}
.tw\:transition-all {
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--tw-default-transition-duration));
}
.tw\:transition-colors {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--tw-default-transition-duration));
}
.tw\:transition-opacity {
  transition-property: opacity;
  transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--tw-default-transition-duration));
}
.tw\:transition-transform {
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(--tw-ease, var(--tw-default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--tw-default-transition-duration));
}
.tw\:duration-150 {
  --tw-duration: 150ms;
  transition-duration: 150ms;
}
.tw\:duration-300 {
  --tw-duration: 300ms;
  transition-duration: 300ms;
}
.tw\:duration-500 {
  --tw-duration: 500ms;
  transition-duration: 500ms;
}
.tw\:ease-out {
  --tw-ease: var(--tw-ease-out);
  transition-timing-function: var(--tw-ease-out);
}
.tw\:outline-none {
  --tw-outline-style: none;
  outline-style: none;
}
.tw\:backdrop\:bg-black\/50::backdrop {
  background-color: var(--tw-color-black);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--tw-color-black) 50%, transparent);
  }
}
.tw\:backdrop\:bg-black\/70::backdrop {
  background-color: var(--tw-color-black);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--tw-color-black) 70%, transparent);
  }
}
.tw\:last\:border-b-0:last-child {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 0px;
}
@media (hover: hover) {
  .tw\:hover\:bg-primary:hover {
    background-color: var(--w2-primary);
  }
  .tw\:hover\:text-primary-foreground:hover {
    color: var(--w2-primary-foreground);
  }
  .tw\:hover\:brightness-110:hover {
    --tw-brightness: brightness(110%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
}
.tw\:focus-visible\:ring-2:focus-visible {
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.tw\:focus-visible\:ring-primary:focus-visible {
  --tw-ring-color: var(--w2-primary);
}
.tw\:focus-visible\:outline-none:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
}
.tw\:active\:scale-95:active {
  --tw-scale-x: 95%;
  --tw-scale-y: 95%;
  --tw-scale-z: 95%;
  scale: var(--tw-scale-x) var(--tw-scale-y);
}
.tw\:active\:bg-primary:active {
  background-color: var(--w2-primary);
}
.tw\:active\:text-primary-foreground:active {
  color: var(--w2-primary-foreground);
}
.tw\:active\:shadow-inner:active {
  --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.tw\:active\:brightness-90:active {
  --tw-brightness: brightness(90%);
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.tw\:disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
.tw\:disabled\:opacity-40:disabled {
  opacity: 40%;
}
@media (width >= 40rem) {
  .tw\:sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tw\:sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .tw\:sm\:px-6 {
    padding-inline: calc(var(--tw-spacing) * 6);
  }
}
@media (width >= 48rem) {
  .tw\:md\:col-span-2 {
    grid-column: span 2 / span 2;
  }
  .tw\:md\:flex {
    display: flex;
  }
  .tw\:md\:min-h-\[30rem\] {
    min-height: 30rem;
  }
  .tw\:md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tw\:md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .tw\:md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .tw\:md\:flex-row {
    flex-direction: row;
  }
  .tw\:md\:items-center {
    align-items: center;
  }
  .tw\:md\:justify-between {
    justify-content: space-between;
  }
  .tw\:md\:gap-10 {
    gap: calc(var(--tw-spacing) * 10);
  }
  .tw\:md\:gap-16 {
    gap: calc(var(--tw-spacing) * 16);
  }
  .tw\:md\:p-8 {
    padding: calc(var(--tw-spacing) * 8);
  }
  .tw\:md\:p-12 {
    padding: calc(var(--tw-spacing) * 12);
  }
  .tw\:md\:p-16 {
    padding: calc(var(--tw-spacing) * 16);
  }
  .tw\:md\:px-8 {
    padding-inline: calc(var(--tw-spacing) * 8);
  }
  .tw\:md\:px-12 {
    padding-inline: calc(var(--tw-spacing) * 12);
  }
  .tw\:md\:py-16 {
    padding-block: calc(var(--tw-spacing) * 16);
  }
  .tw\:md\:py-24 {
    padding-block: calc(var(--tw-spacing) * 24);
  }
  .tw\:md\:pt-24 {
    padding-top: calc(var(--tw-spacing) * 24);
  }
  .tw\:md\:pb-24 {
    padding-bottom: calc(var(--tw-spacing) * 24);
  }
  .tw\:md\:text-left {
    text-align: left;
  }
  .tw\:md\:text-2xl {
    font-size: var(--tw-text-2xl);
    line-height: var(--tw-leading, var(--tw-text-2xl--line-height));
  }
  .tw\:md\:text-3xl {
    font-size: var(--tw-text-3xl);
    line-height: var(--tw-leading, var(--tw-text-3xl--line-height));
  }
  .tw\:md\:text-6xl {
    font-size: var(--tw-text-6xl);
    line-height: var(--tw-leading, var(--tw-text-6xl--line-height));
  }
  .tw\:md\:text-7xl {
    font-size: var(--tw-text-7xl);
    line-height: var(--tw-leading, var(--tw-text-7xl--line-height));
  }
  .tw\:md\:text-8xl {
    font-size: var(--tw-text-8xl);
    line-height: var(--tw-leading, var(--tw-text-8xl--line-height));
  }
  .tw\:md\:text-9xl {
    font-size: var(--tw-text-9xl);
    line-height: var(--tw-leading, var(--tw-text-9xl--line-height));
  }
}
@media (width >= 64rem) {
  .tw\:lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .tw\:lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.website-v2-site {
  --w2-background: #ffffff;
  --w2-foreground: #171717;
  --w2-primary: #f97316;
  --w2-primary-foreground: #ffffff;
  --w2-muted: #f5f5f5;
  --w2-muted-foreground: #737373;
  --w2-border: #e5e5e5;
  --w2-font: ui-sans-serif, system-ui, sans-serif;
  --w2-font-body: var(--w2-font);
  --w2-font-heading: var(--w2-font-body);
}
.website-v2-site :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--w2-font-heading);
}
.website-v2-site [data-website-component='Marquee'][data-website-marquee-speed] .website-v2-marquee__track {
  width: max-content;
  justify-content: flex-start;
  gap: 2rem;
  animation: website-v2-marquee-scroll 120s linear infinite;
}
@keyframes website-v2-marquee-scroll {
  to {
    transform: translateX(-25%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .website-v2-site [data-website-component='Marquee'][data-website-marquee-speed] .website-v2-marquee__track {
    animation: none;
  }
}
.website-v2-site [data-website-node='price-section'] {
  padding-block: clamp(3rem, 8vw, 7rem);
  background: var(--w2-muted);
  color: var(--w2-foreground);
}
.website-v2-site [data-website-node='price-stack'] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2rem clamp(2rem, 6vw, 6rem);
  align-items: end;
}
.website-v2-site [data-website-node='price-title'] {
  grid-column: 1 / -1;
}
.website-v2-site [data-website-node='price-body'] {
  max-width: 45rem;
  line-height: 1.6;
}
.website-v2-site [data-website-node='price-actions'] {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0.5rem 1rem;
}
.website-v2-site [data-website-node='price-value'] {
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 800;
  line-height: 1;
}
.website-v2-site [data-website-node='price-period'] {
  font-size: 0.875rem;
}
.website-v2-site [data-website-node='price-cta'] {
  margin-left: auto;
}
@media (max-width: 640px) {
  .website-v2-site [data-website-node='price-stack'] {
    grid-template-columns: minmax(0, 1fr);
  }
  .website-v2-site [data-website-node='price-actions'] {
    justify-content: flex-start;
  }
  .website-v2-site [data-website-node='price-cta'] {
    margin-left: 0;
  }
}
@font-face {
  font-family: 'Cera Cloudwalk Pro';
  src: url('/assets/fonts/CeraCloudwalkPro-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Cera Cloudwalk Pro';
  src: url('/assets/fonts/CeraCloudwalkPro-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Cera Cloudwalk Pro';
  src: url('/assets/fonts/CeraCloudwalkPro-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@keyframes website-v2-fade-up {
  from {
    opacity: 0;
    transform: translateY(1.25rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes website-v2-slide {
  from {
    opacity: 0;
    transform: translateX(-1.5rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes website-v2-zoom {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.website-v2-reveal {
  opacity: 0;
  animation-duration: 700ms;
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
.website-v2-reveal[data-motion='slide'] {
  animation-name: website-v2-slide;
}
.website-v2-reveal[data-motion='zoom'] {
  animation-name: website-v2-zoom;
}
.website-v2-reveal[data-motion='fade-up'],
.website-v2-reveal:not([data-motion]) {
  animation-name: website-v2-fade-up;
}
.website-v2-card-stack {
  position: relative;
  width: 100%;
  perspective: 250vw;
}
.website-v2-card-stack__stage {
  position: relative;
  height: auto;
}
.website-v2-card-stack--enhanced {
  min-height: 0;
}
.website-v2-card-stack--enhanced .website-v2-card-stack__stage {
  position: sticky;
  top: 0;
  height: 100vh;
  min-height: 42rem;
  overflow: hidden;
}
.website-v2-card-stack__card {
  position: relative;
  height: 100vh;
  min-height: 42rem;
  transform-style: preserve-3d;
}
.website-v2-card-stack--enhanced .website-v2-card-stack__card {
  position: absolute;
  inset: 0;
  height: 100%;
  min-height: 0;
}
.website-v2-card-stack--enhanced
  .website-v2-card-stack__frame
  > span
  > [data-website-node] {
  min-height: 100%;
}
.website-v2-card-stack__frame {
  position: relative;
  height: 100%;
  transform-origin: 50% 10%;
  transform-style: preserve-3d;
  will-change: transform, opacity;
}
.website-v2-card-stack__frame > span {
  display: contents;
}
@media (max-aspect-ratio: 1/1) {
  .website-v2-card-stack__card {
    min-height: 36rem;
  }
  .website-v2-card-stack--enhanced .website-v2-card-stack__card {
    min-height: 0;
  }
  .website-v2-card-stack--enhanced .website-v2-card-stack__stage {
    min-height: 36rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .website-v2-reveal {
    opacity: 1;
    animation: none;
  }
}
@font-face {
  font-family: 'Website V2 Source Serif';
  src: url('/assets/fonts/templates/SourceSerif4-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Website V2 Source Serif';
  src: url('/assets/fonts/templates/SourceSerif4-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Website V2 Public Sans';
  src: url('/assets/fonts/templates/PublicSans-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Website V2 Public Sans';
  src: url('/assets/fonts/templates/PublicSans-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Website V2 Cormorant';
  src: url('/assets/fonts/templates/CormorantGaramond-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Website V2 Jost';
  src: url('/assets/fonts/templates/Jost-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Website V2 Jost';
  src: url('/assets/fonts/templates/Jost-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Website V2 Barlow';
  src: url('/assets/fonts/templates/Barlow-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Website V2 Barlow';
  src: url('/assets/fonts/templates/Barlow-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
.website-v2-catalog .t9-v2-wall {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  grid-column: 1 / -1;
  width: 100%;
}
.website-v2-catalog .t9-v2-wall__column {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 1.5rem;
  min-width: 0;
}
.website-v2-catalog .t9-v2-wall__item,
.website-v2-catalog .t9-v2-wall__item > * {
  width: 100%;
}
.website-v2-site .catalog-section-item__image--placeholder {
  color: var(--w2-foreground);
}
.website-v2-site
  .catalog-section-item__image--placeholder
  .img-placeholder-icon {
  opacity: 0.5;
}
.website-v2-catalog__list--loading {
  opacity: 0.5;
  pointer-events: none;
  transition: opacity 0.2s ease-out,
    filter 0.2s ease-out;
}
.website-v2-site[data-website-template] {
  min-width: 0;
  overflow: clip;
}
.website-v2-site[data-website-template] [data-website-component='Section'] {
  position: relative;
}
.website-v2-site[data-website-template] [data-website-component='Button'],
.website-v2-site[data-website-template] [data-website-component='CtaSection'] a,
.website-v2-site[data-website-template] [data-website-component='Hero'] a,
.website-v2-site[data-website-template] [data-website-component='Booking'] a {
  transition: transform 180ms ease,
    background-color 180ms ease,
    color 180ms ease;
}
.website-v2-site[data-website-template] [data-website-component='Button']:hover,
.website-v2-site[data-website-template] [data-website-component='Hero'] a:hover,
.website-v2-site[data-website-template] [data-website-component='Booking'] a:hover {
  transform: translateY(-2px);
}
.website-v2-site[data-website-template] :is(
  [data-website-component='Booking'],
  [data-website-component='BookingModal']
) {
  --color-background: var(--w2-background);
  --color-foreground: var(--w2-foreground);
  --color-muted: var(--w2-muted-foreground);
  --color-surface: var(--w2-background);
  --color-primary: var(--w2-primary);
  --color-primary-vibrant: var(--w2-primary);
  --color-primary-foreground: var(--w2-primary-foreground);
  --color-secondary: var(--w2-primary);
  --color-secondary-foreground: var(--w2-primary-foreground);
  --color-accent: var(--w2-primary);
  --color-accent-foreground: var(--w2-primary-foreground);
  --font-family-display: var(--w2-font-heading);
  --font-family-sans: var(--w2-font-body);
  --tpl-canvas: var(--w2-background);
  --tpl-ink: var(--w2-foreground);
  --control-accent: var(--w2-primary);
  --control-accent-fg: var(--w2-primary-foreground);
  --control-surface: var(--w2-background);
  --control-surface-hover: var(--booking-card-surface-hover);
  --control-surface-active: var(--booking-card-surface-active);
  --control-text-default: var(--w2-foreground);
  --control-border-color: var(--w2-border);
  --control-border-hover-color: var(--w2-primary);
  --booking-modal-bg: var(--w2-background);
  --booking-card-surface: var(--w2-background);
  --booking-card-surface-hover: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    --booking-card-surface-hover: color-mix(in srgb, var(--w2-foreground) 5%, var(--w2-background));
  }
  --booking-card-surface-active: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    --booking-card-surface-active: color-mix(in srgb, var(--w2-foreground) 9%, var(--w2-background));
  }
  --booking-card-border: var(--w2-border);
  --booking-card-border-hover: var(--w2-primary);
  @supports (color: color-mix(in lab, red, red)) {
    --booking-card-border-hover: color-mix(in srgb, var(--w2-primary) 55%, var(--w2-border));
  }
  --booking-grid-selected-border: var(--w2-primary);
  --booking-grid-selected-background: var(--w2-primary);
  @supports (color: color-mix(in lab, red, red)) {
    --booking-grid-selected-background: color-mix(in srgb, var(--w2-primary) 14%, var(--w2-background));
  }
  --booking-text: var(--w2-foreground);
  --booking-text-muted: var(--w2-muted-foreground);
  --booking-text-disabled: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    --booking-text-disabled: color-mix(in srgb, var(--w2-foreground) 35%, transparent);
  }
  --booking-text-placeholder: var(--w2-muted-foreground);
  --booking-bg-subtle: var(--w2-muted);
  @supports (color: color-mix(in lab, red, red)) {
    --booking-bg-subtle: color-mix(in srgb, var(--w2-muted) 55%, var(--w2-background));
  }
  --booking-bg-element: var(--w2-muted);
  @supports (color: color-mix(in lab, red, red)) {
    --booking-bg-element: color-mix(in srgb, var(--w2-muted) 55%, var(--w2-background));
  }
  --booking-bg-element-hover: var(--w2-primary);
  @supports (color: color-mix(in lab, red, red)) {
    --booking-bg-element-hover: color-mix(in srgb, var(--w2-primary) 12%, var(--w2-background));
  }
  --booking-bg-element-active: var(--w2-primary);
  @supports (color: color-mix(in lab, red, red)) {
    --booking-bg-element-active: color-mix(in srgb, var(--w2-primary) 20%, var(--w2-background));
  }
  --booking-border: var(--w2-border);
  --booking-border-hover: var(--w2-primary);
  color: var(--w2-foreground);
  font-family: var(--w2-font-body), ui-sans-serif, system-ui, sans-serif;
}
.website-v2-site[data-website-template] .website-v2-booking {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  color: var(--w2-foreground);
  font-family: var(--w2-font-body), ui-sans-serif, system-ui, sans-serif;
}
.website-v2-site[data-website-template] .website-v2-booking :is(
  .section__container,
  .slide__wrapper,
  .slide__content
) {
  max-width: 100%;
  min-height: 0;
  margin-inline: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}
.website-v2-site[data-website-template] .website-v2-booking :is(
  .section,
  .slide
) {
  padding-inline: 0;
}
@media (min-width: 768px) and (min-aspect-ratio: 1/1) {
  .website-v2-site[data-website-template]
    .website-v2-booking
    .booking-section-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
}
.website-v2-payment {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 0.75rem;
  overflow: hidden;
  padding-block: 2rem;
  color: var(--w2-foreground);
}
.website-v2-site[data-website-template='template0'] [data-website-node='secure-section'] {
  position: relative;
  z-index: 100;
  margin-bottom: -20px;
  padding: 50px 0;
  background: var(--w2-background);
}
.website-v2-site[data-website-template='template0'] [data-website-node='secure-container'] {
  padding: 0 40px;
}
.website-v2-site[data-website-template='template0'] [data-website-node='secure-payment'] {
  padding: 0;
}
.website-v2-site[data-website-template='template0'] [data-website-node='secure-payment'] .website-v2-payment__marquee {
  margin-top: 8px;
}
.website-v2-site[data-website-template='template0'] [data-website-node='hero-container'] {
  position: relative;
}
.website-v2-site[data-website-template='template0'] [data-website-node='intro-social-links'] {
  position: absolute;
  z-index: 2;
  bottom: 92px;
  left: 80px;
  gap: 12px;
}
.website-v2-site[data-website-template='template0'] [data-website-node='intro-social-links'] a {
  display: flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 50%;
  background: rgb(255 255 255 / 12%);
  color: #fff;
  text-decoration: none;
}
.website-v2-site[data-website-template='template0'] [data-website-node='finale-section'] {
  position: relative;
  z-index: 100;
  padding-top: 48px;
  background: var(--w2-background);
  color: var(--w2-foreground);
}
.website-v2-site[data-website-template='template0'] [data-website-node='finale-section']:has(.website-v2-cta-section--legacy-finale) {
  min-height: 100vh;
}
.website-v2-site[data-website-template='template0'] [data-website-node='finale-container'] {
  padding-inline: 60px;
}
.website-v2-site[data-website-template='template0'] .website-v2-cta-section--legacy-finale .finale__subtitle,
.website-v2-site[data-website-template='template0'] .website-v2-cta-section--legacy-finale .finale__icon,
.website-v2-site[data-website-template='template0'] .website-v2-cta-section--legacy-finale .finale__contact-icon {
  color: var(--w2-template0-finale-primary);
}
.website-v2-site[data-website-template='template0'] .website-v2-cta-section--legacy-finale .finale__cta {
  min-width: 229px;
  min-height: 44px;
  border-radius: 999px !important;
  background: var(--w2-template0-finale-primary);
  color: #fff;
}
@media (min-width: 768px) {
  .website-v2-site[data-website-template='template0'] [data-website-node='hero-container']:has(> [data-website-node='intro-social-links']) .template0Body {
    max-height: 74px;
    margin-top: 0;
    overflow-y: auto;
    scrollbar-width: none;
    mask-image: linear-gradient(to bottom, black calc(100% - 2em), transparent 100%);
  }
}
@media (max-aspect-ratio: 1/1) {
  .website-v2-site[data-website-template='template0'] [data-website-node='secure-section'] {
    padding: 60px 0;
  }
  .website-v2-site[data-website-template='template0'] [data-website-node='secure-container'] {
    padding: 0 24px;
  }
  .website-v2-site[data-website-template='template0'] [data-website-node='intro-social-links'] {
    bottom: 144px;
    left: 44px;
  }
  .website-v2-site[data-website-template='template0'] [data-website-node='finale-section'] {
    padding-top: 28px;
  }
  .website-v2-site[data-website-template='template0'] [data-website-node='finale-container'] {
    padding-inline: 40px;
  }
  .website-v2-site[data-website-template='template0'] .website-v2-cta-section--legacy-finale .finale__body {
    font-size: 16px;
    line-height: 1.5;
  }
}
.website-v2-payment__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--w2-foreground) 62%, transparent);
  }
}
.website-v2-payment__icon {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  opacity: 0.8;
}
.website-v2-payment__label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.website-v2-payment__marquee {
  width: 100%;
  overflow: hidden;
  mask-image: linear-gradient(
    to right,
    transparent,
    black 7%,
    black 93%,
    transparent
  );
}
.website-v2-payment__track {
  display: flex;
  width: max-content;
  animation: website-v2-payment-marquee 22s linear infinite;
  will-change: transform;
}
.website-v2-payment__set {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: clamp(1.75rem, 5vw, 5rem);
  padding-right: clamp(1.75rem, 5vw, 5rem);
}
.website-v2-payment__item {
  display: flex;
  height: 3.5rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  opacity: 0.9;
  transition: opacity 180ms ease;
}
.website-v2-payment__item:hover {
  opacity: 1;
}
.website-v2-payment__item img {
  display: block;
  height: 100%;
  width: auto;
  max-width: 10rem;
  object-fit: contain;
  filter: brightness(0);
  opacity: 0.45;
}
.website-v2-site[data-website-template='template0'] .website-v2-payment__item img {
  filter: none;
  opacity: 0.9;
}
.website-v2-payment__item img[src*='/amex.svg'] {
  height: 78%;
  max-height: 2.75rem;
}
.website-v2-payment__fallback {
  color: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--w2-foreground) 60%, transparent);
  }
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.website-v2-payment[data-website-variant='dark'] {
  color: var(--w2-background);
}
.website-v2-payment[data-website-variant='dark'] .website-v2-payment__badge {
  color: var(--w2-background);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--w2-background) 70%, transparent);
  }
}
.website-v2-payment[data-website-variant='dark'] .website-v2-payment__item img {
  filter: none;
  opacity: 0.9;
}
.website-v2-payment[data-website-variant='dark'] .website-v2-payment__fallback {
  color: var(--w2-background);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--w2-background) 70%, transparent);
  }
}
.website-v2-payment__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}
.website-v2-site[data-website-template='template5']
  [data-website-component='SecurePayment'] {
  align-items: center;
  padding-top: 2.75rem;
}
@keyframes website-v2-payment-marquee {
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .website-v2-payment__track {
    animation: none;
  }
}
.website-v2-site[data-website-template='template1'] {
  background: var(--w2-background);
}
.website-v2-site[data-website-template='template1'] [data-website-component='Section'] {
  border: 0;
  padding-block: 40px 52px;
}
.website-v2-site[data-website-template='template1'] [data-website-node='t1-header'] {
  position: static;
  height: 0;
  min-height: 0;
  overflow: visible;
  border: 0;
  padding: 0;
}
.website-v2-site[data-website-template='template1'] [data-website-node='t1-intro'] {
  border-bottom: 0;
  padding: clamp(96px, 16vh, 168px) 0 5rem;
}
.website-v2-site[data-website-template='template1'] [data-website-node='t1-intro-inner'] {
  max-width: 1600px;
  padding-inline: clamp(24px, 4vw, 48px);
}
.website-v2-site[data-website-template='template1'] [data-website-component='Container'] {
  box-sizing: border-box;
  width: 100%;
  max-width: 1600px;
  margin-inline: auto;
  padding-inline: clamp(24px, 4vw, 48px);
}
.website-v2-site[data-website-template='template1'] [data-website-node='t1-payment'] {
  border-top: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-top: 1px solid color-mix(in srgb, var(--w2-foreground) 10%, transparent);
  }
  padding-block: 32px;
}
.website-v2-site[data-website-template='template1'] [data-website-node='footer-section'] {
  border-top: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-top: 1px solid color-mix(in srgb, var(--w2-foreground) 45%, transparent);
  }
  padding-block: 32px;
}
.website-v2-site[data-website-template='template1'] .website-v2-hero--clara {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: 'copy';
  gap: 0 36px;
  max-width: none;
  margin: 0;
  padding: 0;
  color: var(--w2-foreground);
  font-family: 'Website V2 Source Serif', Georgia, serif;
}
.website-v2-site[data-website-template='template1'] .website-v2-hero--clara:has(.website-v2-hero__clara-image) {
  grid-template-columns: minmax(0, 1fr) 280px;
  grid-template-areas: 'copy image';
}
.website-v2-site[data-website-template='template1'] .website-v2-hero--clara .website-v2-hero__copy {
  grid-area: copy;
  max-width: none;
  gap: 0;
}
.website-v2-site[data-website-template='template1'] .website-v2-hero__clara-image {
  grid-area: image;
  box-sizing: border-box;
  width: 280px;
  margin-top: 6px;
  overflow: hidden;
  border: 1px solid var(--w2-border);
  padding: 5px;
  background: var(--w2-muted);
  aspect-ratio: 4 / 5;
}
.website-v2-site[data-website-template='template1'] .website-v2-hero__clara-image img {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.website-v2-site[data-website-template='template1'] .website-v2-hero__eyebrow,
.website-v2-site[data-website-template='template1'] [data-website-component='TitleSection'] > span {
  color: var(--w2-primary);
  font-family: var(--w2-font-body), ui-sans-serif, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.4;
  margin-bottom: 18px;
}
.website-v2-site[data-website-template='template1'] [data-website-component='TitleSection'] h2 {
  max-width: none;
  font-size: clamp(30px, 3.6vw, 46px);
  line-height: 1.12;
  font-weight: 600;
}
.website-v2-site[data-website-template='template1'] .website-v2-hero__title,
.website-v2-site[data-website-template='template1'] [data-website-component='TitleSection'] h2 {
  max-width: 22ch;
  margin: 0;
  font-family: 'Website V2 Source Serif', Georgia, serif;
  font-size: clamp(38px, 4.6vw, 64px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.015em;
}
.website-v2-site[data-website-template='template1'] .website-v2-hero__clara-rule {
  display: block;
  width: 64px;
  margin: 26px 0 35.65px;
  border-top: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-top: 1px solid color-mix(in srgb, var(--w2-foreground) 45%, transparent);
  }
}
.website-v2-site[data-website-template='template1'] .website-v2-hero__clara-badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 9px;
  margin-bottom: 18px;
  color: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--w2-foreground) 64%, var(--w2-background));
  }
  font-family: var(--w2-font-body), ui-sans-serif, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.website-v2-site[data-website-template='template1'] .website-v2-hero__clara-badge::before {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: var(--w2-primary);
  content: '';
}
.website-v2-site[data-website-template='template1'] .website-v2-hero__body {
  max-width: 62ch;
  margin: 0;
  color: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--w2-foreground) 64%, var(--w2-background));
  }
  font-family: var(--w2-font-body), ui-sans-serif, system-ui, sans-serif;
  font-size: 18px;
  line-height: 1.7;
}
.website-v2-site[data-website-template='template1'] .website-v2-hero__actions a,
.website-v2-site[data-website-template='template1'] [data-website-component='CtaSection'] a {
  height: 44px;
  margin-top: 40px;
  padding: 0 48px;
  border-radius: 0;
  background: var(--w2-foreground);
  color: var(--w2-background);
  font-family: var(--w2-font-body), ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.4;
  white-space: nowrap;
}
.website-v2-site[data-website-template='template1'] .website-v2-navigation--clara {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 100;
  min-height: 0;
  padding: 14px clamp(24px, 4vw, 48px);
  animation: website-v2-clara-nav-reveal linear both;
  animation-timeline: scroll();
  animation-range: 0 80vh;
  line-height: 1.4;
}
.website-v2-site[data-website-template='template1'] .website-v2-navigation--clara .website-v2-navigation__brand {
  font-family: var(--w2-font-body), ui-sans-serif, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.15em;
}
.website-v2-site[data-website-template='template1'] .website-v2-navigation--clara .website-v2-navigation__cta {
  min-height: 0;
  padding: 0;
  color: var(--w2-primary);
  font-family: var(--w2-font-body), ui-sans-serif, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.4;
}
@keyframes website-v2-clara-nav-reveal {
  0%,
  85% {
    opacity: 0;
    transform: translateY(-8px);
    visibility: hidden;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
  }
}
@media (prefers-reduced-motion: reduce) {
  .website-v2-site[data-website-template='template1'] .website-v2-navigation--clara {
    animation: none;
  }
}
@media (max-width: 767px) {
  .website-v2-site[data-website-template='template1'] [data-website-node='t1-intro'] {
    padding-top: 92px;
    padding-bottom: 36px;
  }
  .website-v2-site[data-website-template='template1'] [data-website-node='t1-intro-inner'] {
    padding-inline: clamp(28px, 6vw, 40px);
  }
  .website-v2-site[data-website-template='template1'] .website-v2-hero--clara:has(.website-v2-hero__clara-image) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: 'image'
      'copy';
    row-gap: 0;
  }
  .website-v2-site[data-website-template='template1'] .website-v2-hero__clara-image {
    width: 100%;
    margin: 0 0 30px;
    aspect-ratio: 16 / 10;
  }
  .website-v2-site[data-website-template='template1'] .website-v2-hero__title {
    font-size: clamp(30px, 8.4vw, 52px);
  }
  .website-v2-site[data-website-template='template1'] .website-v2-hero__actions a {
    padding-inline: 32px;
  }
  .website-v2-site[data-website-template='template1'] .website-v2-hero__body {
    font-size: 16px;
    line-height: 1.7;
  }
}
.website-v2-site[data-website-template='template1'] .website-v2-catalog,
.website-v2-site[data-website-template='template1'] .website-v2-booking {
  box-sizing: border-box;
  width: 100%;
  max-width: 1600px;
  margin-inline: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0 clamp(24px, 4vw, 48px);
  font-family: var(--w2-font-body), ui-sans-serif, system-ui, sans-serif;
}
.website-v2-site[data-website-template='template1'] .website-v2-booking > div:first-child h2 {
  font-family: 'Website V2 Source Serif', Georgia, serif;
  font-size: clamp(30px, 3.6vw, 46px);
  font-weight: 600;
  line-height: 1.12;
}
.website-v2-site[data-website-template='template1'] .website-v2-booking > div:first-child > span {
  color: var(--w2-primary);
  font-family: var(--w2-font-body), ui-sans-serif, system-ui, sans-serif;
  font-size: 13px;
  letter-spacing: 0.16em;
}
.website-v2-site[data-website-template='template1'] .website-v2-booking__search {
  border-width: 0 0 1px;
  border-radius: 0;
  padding-inline: 0;
}
.website-v2-site[data-website-template='template1'] .website-v2-booking__service {
  border-color: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--w2-foreground) 16%, transparent);
  }
  background: transparent;
}
.website-v2-site[data-website-template='template1'] .website-v2-booking__service[aria-pressed='true'] {
  border-color: var(--w2-primary);
  background: var(--w2-primary);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--w2-primary) 6%, transparent);
  }
}
.website-v2-site[data-website-template='template1'] .website-v2-booking__continue {
  border-radius: 0;
  font-family: var(--w2-font-body), ui-sans-serif, system-ui, sans-serif;
}
.website-v2-site[data-website-template='template1'] .website-v2-catalog input,
.website-v2-site[data-website-template='template1'] .website-v2-booking input {
  border-radius: 0;
  border-width: 0 0 1px;
  background: transparent;
  padding-inline: 0;
}
.website-v2-site[data-website-template='template1'] .website-v2-catalog__item {
  min-height: 4.5rem;
  border-color: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--w2-foreground) 16%, transparent);
  }
  background: transparent;
  padding-block: 1.25rem;
}
.website-v2-site[data-website-template='template1'] .website-v2-catalog__item > div:first-child {
  display: flex;
  box-sizing: border-box;
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  border: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--w2-foreground) 14%, transparent);
  }
  border-radius: 0;
}
.website-v2-site[data-website-template='template1'] .website-v2-catalog__item > div:first-child img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.website-v2-site[data-website-template='template1'] .website-v2-catalog__item strong {
  font-family: 'Website V2 Source Serif', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 600;
}
.website-v2-site[data-website-template='template1'] .website-v2-catalog__eyebrow {
  color: var(--w2-primary);
  font-size: 13px;
  letter-spacing: 0.16em;
}
.website-v2-site[data-website-template='template1'] .website-v2-catalog h2 {
  font-size: clamp(30px, 3.6vw, 46px);
  font-weight: 600;
  line-height: 1.12;
}
.website-v2-site[data-website-template='template1'] .website-v2-catalog__add--icon {
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  padding: 0;
}
.website-v2-site[data-website-template='template1'] .website-v2-catalog__more {
  color: var(--w2-primary);
}
.website-v2-site[data-website-template='template1'] [data-website-node='services-section'],
.website-v2-site[data-website-template='template1'] [data-website-node='map-section'],
.website-v2-site[data-website-template='template1'] [data-website-node='t1-finale'] {
  padding-block: 40px 52px;
}
.website-v2-site[data-website-template='template1'] [data-website-node='services-section'] {
  background: var(--w2-muted);
}
.website-v2-site[data-website-template='template1'] [data-website-node='services-list'] {
  row-gap: 48px;
}
.website-v2-site[data-website-template='template1'] [data-website-node='services-grid'],
.website-v2-site[data-website-template='template1'] [data-website-node='map-grid'] {
  gap: clamp(24px, 5vw, 48px);
}
.website-v2-site[data-website-template='template1'] [data-website-node='map-card'] img {
  height: 300px;
  aspect-ratio: auto;
}
.website-v2-site[data-website-template='template1'] [data-website-node='t1-finale-copy'] {
  gap: 24px;
  border-radius: 0;
  background: transparent;
  padding: 0;
  color: var(--w2-foreground);
}
.website-v2-site[data-website-template='template1'] [data-website-node='t1-finale-copy'] h2 {
  font-family: 'Website V2 Source Serif', Georgia, serif;
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 600;
  line-height: 1.08;
}
.website-v2-site[data-website-template='template1'] [data-website-node='t1-finale-copy'] p {
  max-width: 62ch;
  color: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--w2-foreground) 64%, var(--w2-background));
  }
  font-family: var(--w2-font-body), ui-sans-serif, system-ui, sans-serif;
  font-size: 18px;
  line-height: 1.7;
}
.website-v2-site[data-website-template='template1'] [data-website-node='t1-finale-copy'] a {
  border-radius: 0;
  background: var(--w2-foreground);
  color: var(--w2-background);
  font-family: var(--w2-font-body), ui-sans-serif, system-ui, sans-serif;
}
@media (max-width: 767px) {
  .website-v2-site[data-website-template='template1'] [data-website-component='Section'],
  .website-v2-site[data-website-template='template1'] [data-website-node='services-section'],
  .website-v2-site[data-website-template='template1'] [data-website-node='map-section'],
  .website-v2-site[data-website-template='template1'] [data-website-node='t1-finale'] {
    padding-block: 28px 36px;
  }
  .website-v2-site[data-website-template='template1'] [data-website-node='t1-payment'],
  .website-v2-site[data-website-template='template1'] [data-website-node='footer-section'] {
    padding-block: 24px;
  }
  .website-v2-site[data-website-template='template1'] [data-website-node='services-list'] {
    row-gap: 24px;
  }
  .website-v2-site[data-website-template='template1'] [data-website-node='map-card'] img {
    height: auto;
    aspect-ratio: 16 / 9;
  }
}
.website-v2-site[data-website-template='template2'] [data-website-component='NavigationMenu'] {
  border-bottom: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom: 1px solid color-mix(in srgb, var(--w2-foreground) 18%, transparent);
  }
  padding: 1rem clamp(1.5rem, 5vw, 4rem);
}
.website-v2-site[data-website-template='template2'] [data-website-component='NavigationMenu'] ul {
  justify-content: space-between;
}
.website-v2-site[data-website-template='template2'] [data-website-component='NavigationMenu'] a {
  border-radius: 0;
  padding-inline: 0;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.68rem;
}
.website-v2-site[data-website-template='template2'] .website-v2-hero--vitrine {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(20rem, 0.72fr);
  min-height: min(780px, 78vh);
  background: var(--w2-muted);
}
.website-v2-site[data-website-template='template2'] .website-v2-hero__vitrine-image {
  min-height: 32rem;
  overflow: hidden;
}
.website-v2-site[data-website-template='template2'] .website-v2-hero__vitrine-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}
.website-v2-site[data-website-template='template2'] .website-v2-hero__vitrine-image:hover img {
  transform: scale(1.03);
}
.website-v2-site[data-website-template='template2'] .website-v2-hero__vitrine-copy {
  display: flex;
  align-items: center;
  padding: clamp(2rem, 6vw, 6rem);
}
.website-v2-site[data-website-template='template2'] .website-v2-hero__copy {
  max-width: 34rem;
}
.website-v2-site[data-website-template='template2'] .website-v2-hero__title,
.website-v2-site[data-website-template='template2'] [data-website-component='TitleSection'] h2 {
  font-family: 'Website V2 Cormorant', Georgia, serif;
  font-size: clamp(3.7rem, 7vw, 7rem);
  font-weight: 500;
  line-height: 0.9;
}
.website-v2-site[data-website-template='template2'] .website-v2-hero__eyebrow,
.website-v2-site[data-website-template='template2'] [data-website-component='TitleSection'] > span {
  color: var(--w2-foreground);
  font-size: 0.68rem;
  letter-spacing: 0.24em;
}
.website-v2-site[data-website-template='template2'] .website-v2-hero__body {
  color: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--w2-foreground) 68%, var(--w2-background));
  }
}
.website-v2-site[data-website-template='template2'] .website-v2-hero__actions a,
.website-v2-site[data-website-template='template2'] [data-website-component='CtaSection'] a {
  border-radius: 0;
  background: transparent;
  color: var(--w2-foreground);
  text-decoration: underline;
  text-underline-offset: 0.35rem;
}
.website-v2-site[data-website-template='template2'] .website-v2-catalog,
.website-v2-site[data-website-template='template2'] .website-v2-booking {
  padding: clamp(3rem, 7vw, 7rem) clamp(1.5rem, 5vw, 4rem);
  font-family: 'Website V2 Jost', ui-sans-serif, sans-serif;
}
.website-v2-site[data-website-template='template2'] .website-v2-catalog__item {
  border-color: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--w2-foreground) 14%, transparent);
  }
  border-radius: 0;
  background: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--w2-foreground) 4%, var(--w2-background));
  }
}
.website-v2-site[data-website-template='template2'] .website-v2-catalog__item img {
  transition: transform 500ms ease;
}
.website-v2-site[data-website-template='template2'] .website-v2-catalog__item:hover img {
  transform: scale(1.03);
}
.website-v2-site[data-website-template='template3'] {
  background: var(--w2-background);
}
.website-v2-site[data-website-template='template3'] .website-v2-hero--oficina {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(5rem, 15%);
  min-height: min(820px, 88vh);
  gap: clamp(1.5rem, 5vw, 5rem);
  padding: clamp(3rem, 8vw, 8rem) clamp(1.5rem, 5vw, 4rem);
  background: var(--w2-background);
  color: var(--w2-foreground);
}
.website-v2-site[data-website-template='template3'] .website-v2-hero__oficina-copy {
  display: flex;
  align-items: center;
}
.website-v2-site[data-website-template='template3'] .website-v2-hero__copy {
  width: 100%;
  max-width: 58rem;
}
.website-v2-site[data-website-template='template3'] .website-v2-hero__title {
  max-width: 10ch;
  font-family: Impact, 'Arial Narrow', Barlow, sans-serif;
  font-size: clamp(4rem, 10vw, 10rem);
  font-weight: 900;
  line-height: 0.82;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}
.website-v2-site[data-website-template='template3'] .website-v2-hero__eyebrow {
  display: inline-flex;
  width: fit-content;
  background: var(--w2-primary);
  color: var(--w2-primary-foreground);
  padding: 0.45rem 0.7rem;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
}
.website-v2-site[data-website-template='template3'] .website-v2-hero__body {
  max-width: 40rem;
  color: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--w2-foreground) 70%, var(--w2-background));
  }
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: 1rem;
}
.website-v2-site[data-website-template='template3'] .website-v2-hero__actions a,
.website-v2-site[data-website-template='template3'] [data-website-component='CtaSection'] a {
  width: min(100%, 28rem);
  border-radius: 0;
  background: var(--w2-primary);
  color: var(--w2-primary-foreground);
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
.website-v2-site[data-website-template='template3'] .website-v2-hero__oficina-image {
  overflow: hidden;
  border-left: 2px solid var(--w2-primary);
}
.website-v2-site[data-website-template='template3'] .website-v2-hero__oficina-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.website-v2-site[data-website-template='template3'] .website-v2-catalog,
.website-v2-site[data-website-template='template3'] .website-v2-booking {
  border-color: var(--w2-border);
  border-radius: 0;
  background: var(--w2-background);
  padding: clamp(3rem, 7vw, 7rem) clamp(1.5rem, 5vw, 4rem);
}
.website-v2-site[data-website-template='template3'] .website-v2-catalog__item {
  border-color: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--w2-foreground) 24%, transparent);
  }
  border-radius: 0;
  background: var(--w2-muted);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--w2-muted) 75%, transparent);
  }
}
.website-v2-site[data-website-template='template4'] .website-v2-hero--forno {
  display: flex;
  max-width: 920px;
  margin-inline: auto;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  padding: clamp(3rem, 8vw, 7rem) clamp(1.5rem, 5vw, 4rem) 8rem;
  text-align: center;
}
.website-v2-site[data-website-template='template4'] .website-v2-hero__forno-image {
  box-sizing: border-box;
  width: min(520px, 86vw);
  overflow: hidden;
  border: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--w2-foreground) 36%, transparent);
  }
  border-radius: 260px 260px 24px 24px;
  background: var(--w2-background);
  padding: 14px;
}
.website-v2-site[data-website-template='template4'] .website-v2-hero__forno-image img {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 5.4;
  border-radius: 246px 246px 12px 12px;
  object-fit: cover;
}
.website-v2-site[data-website-template='template4'] .website-v2-hero__copy {
  align-items: center;
}
.website-v2-site[data-website-template='template4'] .website-v2-hero__title {
  font-family: 'Website V2 Source Serif', Georgia, serif;
  font-size: clamp(3.4rem, 7vw, 6rem);
  font-weight: 600;
  line-height: 0.98;
}
.website-v2-site[data-website-template='template4'] .website-v2-hero__eyebrow {
  color: var(--w2-foreground);
  font-family: ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0.22em;
}
.website-v2-site[data-website-template='template4'] .website-v2-hero__body {
  max-width: 38rem;
  color: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--w2-foreground) 65%, var(--w2-background));
  }
}
.website-v2-site[data-website-template='template4'] .website-v2-hero__actions a,
.website-v2-site[data-website-template='template4'] [data-website-component='CtaSection'] a {
  border-radius: 999px;
  background: var(--w2-primary);
  color: var(--w2-primary-foreground);
}
.website-v2-site[data-website-template='template4'] .website-v2-catalog,
.website-v2-site[data-website-template='template4'] .website-v2-booking {
  border-top: 1px dashed var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-top: 1px dashed color-mix(in srgb, var(--w2-foreground) 28%, transparent);
  }
  border-radius: 0;
  background: transparent;
  padding: clamp(3rem, 7vw, 7rem) clamp(1.5rem, 5vw, 4rem);
}
.website-v2-site[data-website-template='template4'] .website-v2-catalog__item {
  border-color: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--w2-foreground) 25%, transparent);
  }
  border-radius: 0;
  background: transparent;
}
.website-v2-site[data-website-template='template5'] .website-v2-hero--atelier {
  position: relative;
  min-height: min(860px, 88vh);
  padding-bottom: 9rem;
  background: var(--w2-muted);
}
.website-v2-site[data-website-template='template5'] .website-v2-hero__atelier-photo {
  height: clamp(27rem, 66vh, 46rem);
  overflow: hidden;
}
.website-v2-site[data-website-template='template5'] .website-v2-hero__atelier-photo img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  filter: saturate(0.72) contrast(0.94);
}
.website-v2-site[data-website-template='template5'] .website-v2-hero__atelier-card {
  position: absolute;
  right: clamp(1rem, 10vw, 10rem);
  bottom: 0;
  left: clamp(1rem, 10vw, 10rem);
  border: 1px solid var(--w2-primary);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--w2-primary) 72%, var(--w2-foreground));
  }
  outline: 1px solid var(--w2-primary);
  @supports (color: color-mix(in lab, red, red)) {
    outline: 1px solid color-mix(in srgb, var(--w2-primary) 72%, var(--w2-foreground));
  }
  outline-offset: -0.45rem;
  background: var(--w2-background);
  padding: clamp(2.5rem, 6vw, 6rem);
  text-align: center;
}
.website-v2-site[data-website-template='template5'] .website-v2-hero__copy {
  align-items: center;
}
.website-v2-site[data-website-template='template5'] .website-v2-hero__title {
  font-family: 'Website V2 Source Serif', Georgia, serif;
  font-size: clamp(3.2rem, 7vw, 6.5rem);
  font-weight: 400;
  line-height: 0.95;
}
.website-v2-site[data-website-template='template5'] .website-v2-hero__eyebrow {
  color: var(--w2-primary);
  font-family: ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0.22em;
}
.website-v2-site[data-website-template='template5'] .website-v2-hero__actions a,
.website-v2-site[data-website-template='template5'] [data-website-component='CtaSection'] a {
  border-radius: 0;
  border: 1px solid var(--w2-primary);
  background: transparent;
  color: var(--w2-foreground);
}
.website-v2-site[data-website-template='template5'] .website-v2-catalog {
  padding: clamp(4rem, 9vw, 9rem) 0 clamp(3rem, 7vw, 7rem);
}
.website-v2-site[data-website-template='template5'] .website-v2-catalog__toolbar,
.website-v2-site[data-website-template='template5'] .website-v2-booking {
  padding-inline: clamp(1.5rem, 7vw, 8rem);
}
.website-v2-site[data-website-template='template5'] .website-v2-catalog[data-website-variant='atelier'] .website-v2-catalog__list {
  padding-inline: clamp(1.5rem, 7vw, 8rem);
  scroll-snap-type: x mandatory;
}
.website-v2-site[data-website-template='template5'] .website-v2-catalog[data-website-variant='atelier'] .website-v2-catalog__item {
  width: clamp(15rem, 24vw, 20rem);
  scroll-snap-align: start;
  border-radius: 0;
  border-color: var(--w2-primary);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--w2-primary) 60%, var(--w2-border));
  }
  background: var(--w2-background);
}
.website-v2-site[data-website-template='template5'] .website-v2-catalog[data-website-variant='atelier'] .website-v2-catalog__item > div:first-child {
  aspect-ratio: 0.78;
}
.website-v2-site[data-website-template='template5'] .website-v2-catalog[data-website-variant='atelier'] .website-v2-catalog__item strong {
  font-family: 'Website V2 Source Serif', Georgia, serif;
  font-weight: 400;
}
@media (max-width: 720px) {
  .website-v2-site[data-website-template='template2'] .website-v2-hero--vitrine {
    grid-template-columns: 1fr;
  }
  .website-v2-site[data-website-template='template2'] .website-v2-hero__vitrine-image {
    min-height: 24rem;
  }
  .website-v2-site[data-website-template='template3'] .website-v2-hero--oficina {
    grid-template-columns: 1fr;
  }
  .website-v2-site[data-website-template='template3'] .website-v2-hero__oficina-image {
    max-height: 18rem;
    border-top: 2px solid var(--w2-primary);
    border-left: 0;
  }
  .website-v2-site[data-website-template='template5'] .website-v2-hero__atelier-card {
    right: 0.75rem;
    left: 0.75rem;
    padding: 2.5rem 1.5rem;
  }
}
.website-v2-dev-toolbar-spacer {
  height: var(--website-v2-dev-toolbar-height, 44px);
}
.website-v2-dev-toolbar {
  position: fixed;
  z-index: 2147483647;
  top: 0;
  right: 0;
  left: 0;
  color: #f5f5f5;
  font: 600 11px/1.2 system-ui, -apple-system, sans-serif;
}
.website-v2-dev-toolbar__bar {
  display: flex;
  width: 100%;
  box-sizing: border-box;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 6px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: #0c0c0e;
}
.website-v2-dev-toolbar__main,
.website-v2-dev-toolbar__tools {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}
.website-v2-dev-toolbar__main {
  flex: 1;
  flex-wrap: wrap;
}
.website-v2-dev-toolbar__tools {
  flex-shrink: 0;
  margin-left: auto;
}
.website-v2-dev-toolbar label {
  opacity: 0.7;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
.website-v2-dev-toolbar input,
.website-v2-dev-toolbar select,
.website-v2-dev-toolbar__button,
.website-v2-dev-toolbar__copy {
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 6px;
  background: #1a1a1f;
  color: inherit;
  font: inherit;
}
.website-v2-dev-toolbar input,
.website-v2-dev-toolbar select {
  padding: 4px 8px;
}
.website-v2-dev-toolbar input {
  width: 140px;
  min-width: 100px;
}
.website-v2-dev-toolbar select {
  width: min(260px, 32vw);
  min-width: 170px;
  cursor: pointer;
}
.website-v2-dev-toolbar input:focus,
.website-v2-dev-toolbar select:focus,
.website-v2-dev-toolbar button:focus-visible {
  outline: 2px solid #67d391;
  outline-offset: 1px;
}
.website-v2-dev-toolbar__divider {
  align-self: stretch;
  width: 1px;
  margin: 0 2px;
  background: rgba(255, 255, 255, 0.12);
}
.website-v2-dev-toolbar__hint {
  max-width: 260px;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.55);
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.website-v2-dev-toolbar__button,
.website-v2-dev-toolbar__copy {
  padding: 5px 9px;
  cursor: pointer;
}
.website-v2-dev-toolbar__button:hover,
.website-v2-dev-toolbar__copy:hover {
  border-color: rgba(255, 255, 255, 0.4);
  background: #292930;
}
.website-v2-dev-toolbar__panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 12px;
  width: min(720px, calc(100vw - 24px));
  max-height: min(72vh, 760px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 10px;
  background: #121216;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
}
.website-v2-dev-toolbar__panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.website-v2-dev-toolbar__panel-header div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}
.website-v2-dev-toolbar__panel-header span {
  overflow: hidden;
  color: rgba(255, 255, 255, 0.52);
  font-size: 10px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.website-v2-dev-toolbar__panel pre {
  max-height: calc(min(72vh, 760px) - 54px);
  margin: 0;
  overflow: auto;
  padding: 14px;
  color: #d9f8df;
  font: 500 11px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace;
  white-space: pre-wrap;
  word-break: break-word;
}
html.website-v2-dev-toolbar-active .website-v2-navigation--clara,
html.website-v2-dev-toolbar-active .website-v2-navigation--atelier {
  top: var(--website-v2-dev-toolbar-height, 44px);
}
@media (max-width: 720px) {
  .website-v2-dev-toolbar__bar {
    align-items: flex-start;
  }
  .website-v2-dev-toolbar__main {
    gap: 6px;
  }
  .website-v2-dev-toolbar__hint {
    display: none;
  }
  .website-v2-dev-toolbar select {
    width: min(210px, 55vw);
    min-width: 0;
  }
}
.website-v2-navigation {
  position: relative;
  z-index: 20;
  display: flex;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
  align-items: center;
  color: var(--w2-foreground);
  font-family: ui-sans-serif, system-ui, sans-serif;
}
.website-v2-navigation__brand,
.website-v2-navigation__item,
.website-v2-navigation__cta,
.website-v2-navigation__mobile-cta {
  color: inherit;
  text-decoration: none;
}
.website-v2-navigation__brand {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.website-v2-navigation__menu {
  min-width: 0;
}
.website-v2-navigation__list {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.website-v2-navigation__item {
  display: inline-flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.2rem;
  border-radius: 0.45rem;
  padding: 0.65rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.1;
  transition: background-color 180ms ease, color 180ms ease;
}
.website-v2-navigation__item:hover {
  background: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--w2-foreground) 8%, transparent);
  }
}
.website-v2-navigation__description {
  max-width: 18rem;
  color: var(--w2-muted-foreground);
  font-size: 0.7rem;
  font-weight: 400;
}
.website-v2-navigation__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--w2-muted-foreground);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.website-v2-navigation__badge-dot {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 999px;
  background: #67d391;
  box-shadow: 0 0 0 0.18rem color-mix(in srgb, #67d391 18%, transparent);
}
.website-v2-navigation__cta {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0.9rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.website-v2-navigation__mobile-cta {
  display: none;
}
.website-v2-navigation--default {
  justify-content: flex-start;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom: 1px solid color-mix(in srgb, var(--w2-foreground) 14%, transparent);
  }
  background: var(--w2-background);
}
.website-v2-navigation--default .website-v2-navigation__menu--middle {
  width: 100%;
}
.website-v2-navigation--clara {
  position: sticky;
  top: 0;
  justify-content: space-between;
  min-height: 4.5rem;
  padding-inline: clamp(1.25rem, 5vw, 4rem);
  border-bottom: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom: 1px solid color-mix(in srgb, var(--w2-foreground) 18%, transparent);
  }
  background: var(--w2-background);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--w2-background) 94%, transparent);
  }
  backdrop-filter: blur(14px);
}
.website-v2-navigation--clara .website-v2-navigation__brand {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.website-v2-navigation--clara .website-v2-navigation__cta {
  padding-inline: 0;
  color: var(--w2-primary);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3rem;
}
.website-v2-navigation--vitrine {
  position: relative;
  display: flex;
  justify-content: space-between;
  min-height: 4.5rem;
  padding-inline: clamp(1rem, 4vw, 3.5rem);
  border-bottom: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom: 1px solid color-mix(in srgb, var(--w2-foreground) 18%, transparent);
  }
  background: var(--w2-background);
}
.website-v2-navigation--vitrine .website-v2-navigation__brand {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Website V2 Cormorant', Georgia, serif;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-align: center;
  text-transform: uppercase;
}
.website-v2-navigation--vitrine .website-v2-navigation__menu--left {
  margin-right: auto;
}
.website-v2-navigation--vitrine .website-v2-navigation__menu--right {
  margin-left: auto;
  justify-self: end;
}
.website-v2-navigation--vitrine .website-v2-navigation__item {
  border-radius: 0;
  padding-inline: 0.5rem;
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.website-v2-navigation--oficina {
  min-height: 3.625rem;
  padding-inline: clamp(1rem, 3vw, 2.5rem);
  border-top: 2px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-top: 2px solid color-mix(in srgb, var(--w2-foreground) 24%, transparent);
  }
  border-bottom: 2px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom: 2px solid color-mix(in srgb, var(--w2-foreground) 24%, transparent);
  }
  background: var(--w2-background);
}
.website-v2-navigation--oficina .website-v2-navigation__brand {
  margin-right: auto;
  font-family: Impact, 'Arial Narrow', Barlow, sans-serif;
  font-size: 0.9rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.website-v2-navigation--oficina .website-v2-navigation__menu--middle {
  margin-inline: auto;
}
.website-v2-navigation--oficina .website-v2-navigation__item {
  border-radius: 0;
  padding-block: 0.6rem;
  font-size: 0.66rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.website-v2-navigation--oficina .website-v2-navigation__badge {
  margin-inline: clamp(0.75rem, 2vw, 2rem);
}
.website-v2-navigation--oficina .website-v2-navigation__cta {
  align-self: stretch;
  margin-block: -2px;
  background: var(--w2-primary);
  color: var(--w2-primary-foreground);
}
.website-v2-navigation--atelier {
  position: sticky;
  top: 0;
  display: flex;
  justify-content: space-between;
  min-height: 4rem;
  padding-inline: clamp(1rem, 4vw, 3.5rem);
  border-bottom: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom: 1px solid color-mix(in srgb, var(--w2-foreground) 20%, transparent);
  }
  background: var(--w2-background);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--w2-background) 95%, transparent);
  }
  backdrop-filter: blur(14px);
}
.website-v2-navigation--atelier .website-v2-navigation__brand {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: 'Website V2 Source Serif', Georgia, serif;
  font-size: 0.9rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.website-v2-navigation--atelier .website-v2-navigation__brand::before,
.website-v2-navigation--atelier .website-v2-navigation__brand::after {
  width: clamp(2rem, 8vw, 8rem);
  border-top: 1px solid var(--w2-primary);
  @supports (color: color-mix(in lab, red, red)) {
    border-top: 1px solid color-mix(in srgb, var(--w2-primary) 72%, var(--w2-foreground));
  }
  content: '';
}
.website-v2-navigation--atelier .website-v2-navigation__cta {
  justify-self: end;
  margin-left: auto;
  padding-inline: 0;
  color: var(--w2-primary);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3rem;
}
@media (max-width: 720px) {
  .website-v2-navigation--vitrine {
    min-height: 3.5rem;
    display: flex;
    justify-items: center;
    padding-inline: 1rem;
  }
  .website-v2-navigation--vitrine .website-v2-navigation__brand {
    position: static;
    transform: none;
    margin-inline: auto;
  }
  .website-v2-navigation--vitrine .website-v2-navigation__menu,
  .website-v2-navigation--vitrine .website-v2-navigation__cta {
    display: none;
  }
  .website-v2-navigation--default .website-v2-navigation__menu {
    display: none;
  }
  .website-v2-navigation--oficina {
    position: fixed;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    min-height: 3.65rem;
    padding-bottom: env(safe-area-inset-bottom);
    background: var(--w2-background);
  }
  .website-v2-site[data-website-template='template3'] {
    padding-bottom: 3.65rem;
  }
  .website-v2-navigation--oficina .website-v2-navigation__menu,
  .website-v2-navigation--oficina .website-v2-navigation__badge {
    display: none;
  }
  .website-v2-navigation--oficina .website-v2-navigation__cta {
    min-height: 3.65rem;
    margin-left: auto;
    padding-inline: 1rem;
  }
  .website-v2-navigation--atelier {
    min-height: 3.5rem;
    display: flex;
    padding-inline: 1rem;
  }
  .website-v2-navigation--atelier .website-v2-navigation__brand {
    position: static;
    transform: none;
    justify-self: start;
    gap: 0.5rem;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
  }
  .website-v2-navigation--atelier .website-v2-navigation__brand::before,
  .website-v2-navigation--atelier .website-v2-navigation__brand::after {
    display: none;
  }
  .website-v2-navigation--atelier .website-v2-navigation__cta {
    padding-inline: 0;
    font-size: 0.62rem;
  }
  .website-v2-navigation--atelier .website-v2-navigation__mobile-cta {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 30;
    display: flex;
    min-height: 3.5rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.25rem;
    padding-bottom: calc(0.75rem + env(safe-area-inset-bottom));
    background: var(--w2-primary);
    color: var(--w2-primary-foreground);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }
}
.website-v2-site[data-website-template='template6'] [data-website-node='booking'],
.website-v2-site[data-website-template='template7'] [data-website-node='booking'],
.website-v2-site[data-website-template='template8'] [data-website-node='booking'],
.website-v2-site[data-website-template='template9'] [data-website-node='booking'],
.website-v2-site[data-website-template='template10'] [data-website-node='booking'] {
  scroll-margin-top: 8rem;
}
[data-catalog-variant='balcao'] input,
[data-catalog-variant='balcao'] nav button {
  border-radius: 0.5rem;
}
[data-catalog-variant='balcao'] h2 {
  font-size: clamp(2rem, 5vw, 4rem);
  letter-spacing: -0.04em;
}
[data-catalog-variant='workshop'] input,
[data-catalog-variant='workshop'] nav button,
[data-booking-variant='workshop'],
[data-booking-variant='workshop'] button,
[data-booking-variant='workshop'] a {
  border-radius: 0;
}
[data-catalog-variant='marquee'] input,
[data-catalog-variant='marquee'] nav button,
[data-booking-variant='marquee'],
[data-booking-variant='marquee'] button,
[data-booking-variant='marquee'] a {
  border-radius: 0;
}
[data-catalog-variant='marquee'] h2 {
  font-size: clamp(3.5rem, 10vw, 9rem);
  line-height: 0.84;
  text-transform: uppercase;
}
[data-catalog-variant='datum'] input,
[data-catalog-variant='datum'] nav button,
[data-booking-variant='datum'],
[data-booking-variant='datum'] button,
[data-booking-variant='datum'] a {
  border-radius: 0;
}
[data-catalog-variant='datum'] h2,
[data-booking-variant='datum'] h2 {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-weight: 600;
  letter-spacing: -0.04em;
}
[data-website-node='t6-bar'],
[data-website-node='t7-bookbar'] {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--w2-background);
}
[data-website-node='t7-bookbar'] {
  background: var(--w2-primary);
}
[data-website-node='t8-ticket'] {
  box-shadow: 10px 10px 0 var(--w2-foreground);
}
[data-website-node='t9-cover'] {
  border-bottom: 1px solid var(--w2-border);
}
[data-website-node='t10-topbar'] {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--w2-background);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--w2-background) 88%, transparent);
  }
  backdrop-filter: blur(16px);
}
.website-v2-booking__header h2 {
  margin: 0;
}
.website-v2-booking__header p {
  margin: 0;
}
.website-v2-booking__search-wrap {
  display: flex;
  min-height: 3.5rem;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid var(--w2-border);
  border-radius: 0.75rem;
  background: var(--w2-muted);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--w2-muted) 68%, var(--w2-background));
  }
  padding-inline: 1rem;
  color: var(--w2-muted-foreground);
}
.website-v2-booking__search-icon {
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.8;
}
.website-v2-booking__search {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--w2-foreground);
  font: inherit;
}
.website-v2-booking__search::placeholder {
  color: var(--w2-muted-foreground);
}
.website-v2-booking__services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.website-v2-booking__service {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--w2-border);
  border-radius: 0.875rem;
  background: var(--w2-background);
  padding: 0;
  color: var(--w2-foreground);
  text-align: left;
  cursor: pointer;
  transition: border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}
.website-v2-booking__service:hover {
  transform: translateY(-2px);
  border-color: var(--w2-primary);
  box-shadow: 0 12px 28px var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 12px 28px color-mix(in srgb, var(--w2-foreground) 10%, transparent);
  }
}
.website-v2-booking__service-image {
  display: grid;
  width: 100%;
  aspect-ratio: 368 / 167;
  place-items: center;
  overflow: hidden;
  background: var(--w2-primary);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--w2-primary) 12%, var(--w2-muted));
  }
  color: var(--w2-primary);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.website-v2-booking__service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.website-v2-booking__service-copy {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 0.4rem;
  padding: 1rem;
}
.website-v2-booking__service-copy strong {
  font-size: 1rem;
  line-height: 1.3;
}
.website-v2-booking__service-copy > span:not(.website-v2-booking__service-meta) {
  color: var(--w2-muted-foreground);
  font-size: 0.875rem;
  line-height: 1.5;
}
.website-v2-booking__service-meta {
  margin-top: auto;
  color: var(--w2-primary);
  font-size: 0.875rem;
  font-weight: 600;
}
.website-v2-booking__service-arrow {
  display: none;
}
.website-v2-booking__empty {
  margin: 0;
  color: var(--w2-muted-foreground);
}
.website-v2-booking__more {
  align-self: flex-start;
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--w2-primary);
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  cursor: pointer;
}
.website-v2-booking__dialog {
  position: fixed;
  inset: 0;
  box-sizing: border-box;
  width: min(42rem, calc(100% - 2rem));
  max-width: 42rem;
  max-height: min(88dvh, 52rem);
  margin: auto;
  overflow-y: auto;
  border: 1px solid var(--w2-border);
  border-radius: 1rem;
  background: var(--w2-background);
  padding: 0;
  color: var(--w2-foreground);
  box-shadow: 0 28px 90px rgb(0 0 0 / 28%);
}
.website-v2-booking__dialog::backdrop {
  background: rgb(10 12 14 / 62%);
  backdrop-filter: blur(3px);
}
.website-v2-booking__dialog[open] {
  animation: website-v2-booking-dialog-in 180ms ease-out both;
}
@keyframes website-v2-booking-dialog-in {
  from {
    opacity: 0;
    transform: translateY(0.5rem) scale(0.99);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.website-v2-booking__dialog-header,
.website-v2-booking__dialog-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid var(--w2-border);
  padding: 1.25rem 1.5rem;
}
.website-v2-booking__dialog-header h2 {
  margin: 0.25rem 0 0;
  font-size: 1.5rem;
  line-height: 1.25;
}
.website-v2-booking__dialog-eyebrow {
  color: var(--w2-muted-foreground);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.website-v2-booking__dialog-close {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid var(--w2-border);
  border-radius: 999px;
  background: transparent;
  color: var(--w2-foreground);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}
.website-v2-booking__dialog-content {
  display: flex;
  max-height: calc(min(88dvh, 52rem) - 9rem);
  flex-direction: column;
  gap: 1.75rem;
  overflow: auto;
  padding: 1.5rem;
}
.website-v2-booking__dialog-step {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.website-v2-booking__step-heading {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.website-v2-booking__step-heading > span {
  display: grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  border-radius: 50%;
  background: var(--w2-primary);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--w2-primary) 12%, transparent);
  }
  color: var(--w2-primary);
  font-size: 0.75rem;
  font-weight: 700;
}
.website-v2-booking__step-heading h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}
.website-v2-booking__dates,
.website-v2-booking__slots {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.website-v2-booking__date,
.website-v2-booking__slot {
  min-height: 2.75rem;
  border: 1px solid var(--w2-border);
  border-radius: 0.625rem;
  background: var(--w2-background);
  padding: 0.65rem 0.85rem;
  color: var(--w2-foreground);
  font: inherit;
  font-size: 0.875rem;
  cursor: pointer;
}
.website-v2-booking__date[aria-pressed='true'],
.website-v2-booking__slot[aria-pressed='true'] {
  border-color: var(--w2-primary);
  background: var(--w2-primary);
  color: var(--w2-primary-foreground);
}
.website-v2-booking__date--more {
  border-style: dashed;
  color: var(--w2-primary);
}
.website-v2-booking__customer {
  display: grid;
  gap: 0.75rem;
}
.website-v2-booking__customer input {
  min-height: 3rem;
  border: 1px solid var(--w2-border);
  border-radius: 0.625rem;
  background: var(--w2-background);
  padding: 0.75rem 0.875rem;
  color: var(--w2-foreground);
  font: inherit;
}
.website-v2-booking__error {
  margin: 0;
  color: #b42318;
}
.website-v2-booking__dialog-footer {
  border-top: 1px solid var(--w2-border);
  border-bottom: 0;
}
.website-v2-booking__continue {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0.625rem;
  background: var(--w2-primary);
  padding: 0.75rem 1.25rem;
  color: var(--w2-primary-foreground);
  font: inherit;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.website-v2-booking__continue:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
@media (min-width: 1200px) {
  .website-v2-booking__services {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .website-v2-booking__services {
    grid-template-columns: 1fr;
  }
  .website-v2-booking__service {
    flex-direction: row;
    align-items: center;
    gap: 0.875rem;
    border-radius: 0.75rem;
    padding: 0.75rem;
  }
  .website-v2-booking__service-image {
    width: 4rem;
    flex: 0 0 4rem;
    aspect-ratio: 1;
    border-radius: 0.5rem;
    font-size: 1rem;
  }
  .website-v2-booking__service-copy {
    gap: 0.25rem;
    padding: 0;
  }
  .website-v2-booking__service-arrow {
    display: block;
    margin-left: auto;
    color: var(--w2-muted-foreground);
  }
  .website-v2-booking__dialog-header,
  .website-v2-booking__dialog-footer {
    padding-inline: 1rem;
  }
  .website-v2-booking__dialog-content {
    padding: 1rem;
  }
}
.website-v2-site[data-website-template='template1'] .website-v2-booking__service {
  border: 0;
  border-bottom: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom: 1px solid color-mix(in srgb, var(--w2-foreground) 16%, transparent);
  }
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.website-v2-site[data-website-template='template1'] .website-v2-booking__service:hover {
  transform: none;
  border-color: var(--w2-primary);
  box-shadow: none;
}
.website-v2-site[data-website-template='template1'] .website-v2-booking__service-image {
  border-radius: 0;
}
.website-v2-site[data-website-template='template1'] .website-v2-booking__dialog,
.website-v2-site[data-website-template='template1'] .website-v2-booking__dialog button,
.website-v2-site[data-website-template='template1'] .website-v2-booking__dialog input {
  border-radius: 0;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__search-wrap {
  background: #f7f8f7;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__service {
  border-color: #e6e9e7;
  border-radius: 1rem;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__service:hover {
  border-color: var(--w2-primary);
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__dialog {
  border-radius: 1.25rem;
}
.website-v2-site .website-v2-map-card--legacy {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--w2-border);
  border-radius: 0.5rem;
  background: var(--w2-background);
}
.website-v2-site .website-v2-map-card__canvas {
  min-height: 18rem;
  background: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--w2-foreground) 5%, var(--w2-background));
  }
}
.website-v2-site .website-v2-map-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
}
.website-v2-site .website-v2-map-card__footer address {
  color: inherit;
  font-size: 0.875rem;
  font-style: normal;
  line-height: 1.5;
}
.website-v2-site .website-v2-map-card__footer a {
  flex: 0 0 auto;
  border-radius: 0.25rem;
  background: var(--w2-primary);
  padding: 0.75rem 1rem;
  color: var(--w2-primary-foreground);
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none;
}
.website-v2-site[data-website-template='template6'] {
  --w2-muted: #f5f5f5;
  --w2-muted-foreground: #737373;
  --w2-border: #e5e5e5;
}
.website-v2-site[data-website-template='template6'] [data-website-node='t6-bar'] {
  position: sticky;
  top: 0;
  z-index: 20;
  height: 3.5rem;
  border-bottom: 1px solid var(--w2-border);
  background: var(--w2-background);
  padding-block: 0;
}
.website-v2-site[data-website-template='template6'] [data-website-node='t6-bar-row'] {
  height: 100%;
  max-width: 77.5rem;
  gap: 0.625rem;
  padding-inline: 1.5rem;
}
.website-v2-site[data-website-template='template6'] [data-website-node='t6-avatar'] {
  width: 2.25rem;
  height: 2.25rem;
}
.website-v2-site[data-website-template='template6'] [data-website-node='t6-name'] {
  min-width: 0;
  overflow: hidden;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.website-v2-site[data-website-template='template6'] [data-website-node='t6-badge'] {
  overflow: hidden;
  border: 1px solid var(--w2-border);
  border-radius: 2px;
  background: transparent;
  padding: 0.1875rem 0.625rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.website-v2-site[data-website-template='template6'] [data-website-node='t6-intro'] {
  padding: 0.75rem 1.5rem 0.25rem;
}
.website-v2-site[data-website-template='template6'] [data-website-node='t6-intro-strip'] {
  max-width: 77.5rem;
  gap: 0.375rem;
}
.website-v2-site[data-website-template='template6'] [data-website-node='t6-tagline'] {
  overflow: hidden;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.website-v2-site[data-website-template='template6'] [data-website-node='t6-about-copy'] {
  margin-top: 0.375rem;
  border-bottom: 1px solid var(--w2-border);
  padding-block: 0.4375rem;
}
.website-v2-site[data-website-template='template6'] [data-website-node='t6-about-copy'] button {
  font-size: 0.8125rem;
  font-weight: 600;
}
.website-v2-site[data-website-template='template6'] [data-website-node='catalog-section'],
.website-v2-site[data-website-template='template6'] [data-website-node='booking-section'],
.website-v2-site[data-website-template='template6'] [data-website-node='services-section'],
.website-v2-site[data-website-template='template6'] [data-website-node='map-section'] {
  padding: 1rem 1.5rem 1.5rem;
}
.website-v2-site[data-website-template='template6'] [data-website-node='catalog-container'],
.website-v2-site[data-website-template='template6'] [data-website-node='booking-container'],
.website-v2-site[data-website-template='template6'] [data-website-node='services-container'],
.website-v2-site[data-website-template='template6'] [data-website-node='map-container'] {
  max-width: 77.5rem;
  padding-inline: 0;
}
.website-v2-site[data-website-template='template6'] .website-v2-catalog {
  gap: 0;
}
.website-v2-site[data-website-template='template6'] .website-v2-catalog__toolbar {
  position: static;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
  background: transparent;
  padding-block: 0;
}
.website-v2-site[data-website-template='template6'] .website-v2-catalog__toolbar > div:first-child > div {
  gap: 0;
}
.website-v2-site[data-website-template='template6'] .website-v2-catalog__toolbar h2 {
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.website-v2-site[data-website-template='template6'] .website-v2-catalog__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin-top: 0;
  padding-bottom: 0.5rem;
}
.website-v2-site[data-website-template='template6'] [data-website-node='t6-finale'] {
  background: var(--w2-muted);
  padding: 5rem 1.5rem 2rem;
}
.website-v2-site[data-website-template='template6'] [data-website-node='t6-payment'],
.website-v2-site[data-website-template='template6'] [data-website-node='footer-section'] {
  padding: 1rem 1.5rem;
}
.website-v2-site[data-website-template='template6'] [data-website-node='footer-row'] {
  gap: 1rem;
}
@media (min-width: 768px) {
  .website-v2-site[data-website-template='template6'] [data-website-node='t6-bar-row'] {
    padding-inline: 2.5rem;
  }
  .website-v2-site[data-website-template='template6'] [data-website-node='t6-intro'],
  .website-v2-site[data-website-template='template6'] [data-website-node='catalog-section'],
  .website-v2-site[data-website-template='template6'] [data-website-node='booking-section'],
  .website-v2-site[data-website-template='template6'] [data-website-node='services-section'],
  .website-v2-site[data-website-template='template6'] [data-website-node='map-section'] {
    padding-inline: 2.5rem;
  }
  .website-v2-site[data-website-template='template6'] .website-v2-catalog__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1200px) {
  .website-v2-site[data-website-template='template6'] .website-v2-catalog__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
  }
}
.website-v2-site[data-website-template='template7'] {
  --w2-background: #fbfaf8;
  --w2-foreground: #221f1c;
  --w2-muted-foreground: #6e7772;
  --w2-border: #e1e1df;
  timeline-scope: --w2-booking-visible;
  padding-bottom: calc(5.25rem + env(safe-area-inset-bottom));
}
.website-v2-site[data-website-template='template7'] [data-website-node='t7-bookbar'] {
  position: fixed;
  inset: auto 0 0;
  z-index: 100;
  height: auto;
  background: transparent;
  padding: 0 0.875rem calc(0.75rem + env(safe-area-inset-bottom));
  pointer-events: none;
}
.website-v2-site[data-website-template='template7'] [data-website-node='t7-bookbar-inner'] {
  width: min(100%, 40rem);
  max-width: 40rem;
  padding: 0;
  pointer-events: none;
}
.website-v2-site[data-website-template='template7'] [data-website-node='t7-bookbar-link'] {
  width: 100%;
  min-height: 3.5rem;
  border-radius: 0.875rem !important;
  box-shadow: 0 6px 22px var(--w2-primary),
    0 2px 6px rgb(34 31 28 / 14%);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 6px 22px color-mix(in srgb, var(--w2-primary) 38%, transparent),
    0 2px 6px rgb(34 31 28 / 14%);
  }
  font-size: 1rem;
  font-weight: 700;
  pointer-events: auto;
}
.website-v2-site[data-website-template='template7'] [data-website-node='t7-intro'] {
  max-width: 42rem;
  margin-inline: auto;
  padding: 1.125rem 1.5rem 0.375rem;
}
.website-v2-site[data-website-template='template7'] [data-website-node='t7-head-column'] {
  max-width: 40rem;
  gap: 0.5rem;
  padding-inline: 0;
}
.website-v2-site[data-website-template='template7'] [data-website-node='t7-head-row'] {
  min-width: 0;
  gap: 0.75rem;
}
.website-v2-site[data-website-template='template7'] [data-website-node='t7-avatar'] {
  width: 2.75rem;
  height: 2.75rem;
}
.website-v2-site[data-website-template='template7'] [data-website-node='t7-head-id'] {
  min-width: 0;
  gap: 0.375rem 0.625rem;
}
.website-v2-site[data-website-template='template7'] [data-website-node='t7-name'] {
  overflow: hidden;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.website-v2-site[data-website-template='template7'] [data-website-node='t7-badge'] {
  flex-shrink: 0;
  border: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--w2-foreground) 12%, transparent);
  }
  border-radius: 999px;
  background: var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--w2-foreground) 4%, transparent);
  }
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
}
.website-v2-site[data-website-template='template7'] [data-website-node='t7-head-details'] {
  margin-top: 0.5rem;
  border-top: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-top: 1px solid color-mix(in srgb, var(--w2-foreground) 7%, transparent);
  }
}
.website-v2-site[data-website-template='template7'] [data-website-node='t7-head-details'] button {
  min-height: 2.5rem;
  justify-content: flex-start;
  padding-inline: 0;
  font-size: 0.8125rem;
  font-weight: 600;
}
.website-v2-site[data-website-template='template7'] [data-website-node='booking-section'] {
  background: var(--w2-background);
  padding: 0.625rem clamp(0.875rem, 3vw, 1.5rem);
}
.website-v2-site[data-website-template='template7'] [data-website-node='booking-container'] {
  max-width: 75rem;
  border: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--w2-foreground) 7%, transparent);
  }
  border-radius: 1rem;
  background: #fff;
  padding: clamp(1rem, 2.5vw, 2rem);
  box-shadow: 0 1px 2px rgb(34 31 28 / 4%), 0 6px 18px rgb(34 31 28 / 5%);
}
.website-v2-site[data-website-template='template7'] .website-v2-booking {
  gap: 1rem;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__header {
  gap: 0.375rem;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__header > span {
  color: var(--w2-muted-foreground);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__header h2 {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__header p {
  font-size: 0.84375rem;
  line-height: 1.5;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__search-wrap {
  min-height: 2.75rem;
  border-radius: 0.625rem;
  background: rgb(34 31 28 / 4%);
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__services {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__service {
  min-height: 0;
  flex-direction: column;
  align-items: stretch;
  border-radius: 0.75rem;
  background: #fff;
  padding: 0;
  box-shadow: none;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__service:hover {
  transform: none;
  box-shadow: 0 2px 8px rgb(34 31 28 / 10%);
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__service-image {
  display: grid;
  width: 100%;
  flex: none;
  aspect-ratio: 368 / 167;
  border-radius: 0.75rem 0.75rem 0 0;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__service-copy {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4rem;
  padding: 1rem;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__service-copy strong {
  font-size: 0.9375rem;
  font-weight: 600;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__service-meta {
  margin-top: auto;
  color: var(--w2-muted-foreground);
  font-size: 0.8125rem;
  white-space: nowrap;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__service-arrow {
  display: none;
}
.website-v2-site[data-website-template='template7'] .website-v2-booking__dialog,
.website-v2-site[data-website-template='template7'] .website-v2-booking__dialog button,
.website-v2-site[data-website-template='template7'] .website-v2-booking__dialog input {
  border-radius: 1rem;
}
.website-v2-site[data-website-template='template7'] [data-website-node='catalog-section'] {
  padding: 0.5rem clamp(0.875rem, 3vw, 1.5rem);
}
.website-v2-site[data-website-template='template7'] [data-website-node='catalog-container'] {
  max-width: 75rem;
  border: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--w2-foreground) 7%, transparent);
  }
  border-radius: 1rem;
  background: #fff;
  padding: 1rem;
  box-shadow: 0 1px 2px rgb(34 31 28 / 4%), 0 6px 18px rgb(34 31 28 / 5%);
}
.website-v2-site[data-website-template='template7'] .website-v2-catalog {
  gap: 0.875rem;
}
.website-v2-site[data-website-template='template7'] .website-v2-catalog__toolbar {
  gap: 0.875rem;
}
.website-v2-site[data-website-template='template7'] .website-v2-catalog__toolbar h2 {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.website-v2-site[data-website-template='template7'] .website-v2-catalog__toolbar input {
  min-height: 2.75rem;
  border-radius: 0.625rem;
  background: rgb(34 31 28 / 4%);
  padding: 0.625rem 0.875rem;
}
.website-v2-site[data-website-template='template7'] .website-v2-catalog__toolbar nav button[aria-pressed='true'] {
  border-color: var(--w2-foreground);
  background: var(--w2-foreground);
  color: var(--w2-background);
}
.website-v2-site[data-website-template='template7'] .website-v2-catalog__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 0;
}
.website-v2-site[data-website-template='template7'] .website-v2-catalog__item {
  border: 0;
  border-bottom: 1px solid var(--w2-foreground);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom: 1px solid color-mix(in srgb, var(--w2-foreground) 7%, transparent);
  }
  border-radius: 0;
  background: transparent;
  padding-block: 0.75rem;
}
.website-v2-site[data-website-template='template7'] .website-v2-catalog__item:last-child {
  border-bottom: 0;
}
.website-v2-site[data-website-template='template7'] [data-website-node='t7-finale'] {
  max-width: 42rem;
  margin-inline: auto;
  padding: 2rem 1.5rem;
}
@supports (animation-timeline: view()) {
  .website-v2-site[data-website-template='template7'] [data-website-node='booking-section'] {
    view-timeline: --w2-booking-visible block;
  }
  .website-v2-site[data-website-template='template7'] [data-website-node='t7-bookbar'] {
    animation: website-v2-bookbar-dodge linear both;
    animation-timeline: --w2-booking-visible;
  }
}
@media (min-width: 1200px) {
  .website-v2-site[data-website-template='template7'] .website-v2-booking__services {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .website-v2-site[data-website-template='template7'] .website-v2-booking__services {
    grid-template-columns: 1fr;
  }
  .website-v2-site[data-website-template='template7'] .website-v2-booking__service-image {
    width: 4rem;
    flex: 0 0 4rem;
    aspect-ratio: 1;
    border-radius: 0.5rem;
  }
  .website-v2-site[data-website-template='template7'] .website-v2-booking__service {
    flex-direction: row;
    align-items: center;
    gap: 0.875rem;
    padding: 0.75rem;
  }
  .website-v2-site[data-website-template='template7'] .website-v2-booking__service-copy {
    gap: 0.25rem;
    padding: 0;
  }
  .website-v2-site[data-website-template='template7'] .website-v2-booking__service-arrow {
    display: block;
    margin-left: auto;
  }
}
@keyframes website-v2-bookbar-dodge {
  0%,
  100% {
    translate: 0 0;
    opacity: 1;
    visibility: visible;
  }
  6%,
  94% {
    translate: 0 150%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}

/**
 * template1 — Clara — THE DOCUMENT (V2 port)
 * ==========================================
 * Quiet professional credibility rendered as a letterhead document:
 * one ~1600px rail, hairline rules, Source Serif display + Public Sans
 * body, ink CTA buttons, dotted-leader service rows, quiet fixed nav that
 * fades in after ~80vh.
 *
 * Ported 1:1 from public/styles/templates/template1.css (V1) onto the V2
 * DOM: node ids from demos/template1.json + the shared website-v2-*
 * component classes. Note: V1's ANATOMY mentions "CSS-counter" section
 * labels, but no counter rules ship in V1 CSS — the ::before is a plain
 * hairline rule; that hairline rhythm is what's ported here.
 */

/* ============================
   ROOT TOKENS
   ============================ */

.website-v2-site[data-website-template="template1"] {
  /* Typography — Source Serif 4 display + Public Sans body (V1 stacks) */
  --t1-font-display: "Website V2 Source Serif", "Source Serif 4",
    "Iowan Old Style", Georgia, serif;
  --t1-font-sans: "Website V2 Public Sans", "Public Sans", -apple-system,
    BlinkMacSystemFont, "Segoe UI", sans-serif;
  --t1-display-weight: 600;
  --t1-display-letter-spacing: -0.015em;

  /* Document geometry — one rail for every section */
  --t1-column: 1600px;
  --t1-pad-x: clamp(24px, 4vw, 48px);
  --t1-content: calc(var(--t1-column) - 2 * var(--t1-pad-x));

  /* Vertical rhythm */
  --t1-pad-block-start: 40px;
  --t1-pad-block-end: 52px;
  --t1-stack-gap: 32px;
  --t1-finale-pad-end: 36px;

  /* Derived inks (recipe: canvas #ffffff, ink #1d1f24, clamped accent) */
  --t1-hairline: rgba(23, 25, 30, 0.14);
  --t1-hairline-soft: rgba(23, 25, 30, 0.08);
  --t1-muted: color-mix(
    in srgb,
    var(--tpl-ink, #1d1f24) 64%,
    var(--tpl-canvas, #ffffff)
  );
  --t1-faint: color-mix(
    in srgb,
    var(--tpl-ink, #1d1f24) 38%,
    var(--tpl-canvas, #ffffff)
  );
  --t1-dotted: color-mix(in srgb, var(--tpl-ink, #1d1f24) 38%, transparent);
  --t1-accent: var(--tpl-accent, #3b5168);

  /* The document is square: no radii, no shadows, no cards */
  --w2-radius: 0;

  background: var(--tpl-canvas, #ffffff);
  color: var(--tpl-ink, #1d1f24);
  font-family: var(--t1-font-sans);
}

/* ============================
   DOCUMENT FLOW — every section on the same rail
   ============================ */

.website-v2-site[data-website-template="template1"]
  [data-website-component="Section"] {
  border: 0;
  padding-block: var(--t1-pad-block-start) var(--t1-pad-block-end);
  background: var(--tpl-canvas, #ffffff);
}

.website-v2-site[data-website-template="template1"]
  [data-website-component="Container"] {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--t1-column);
  margin-inline: auto;
  padding-inline: var(--t1-pad-x);
}

/* ============================
   TYPE SCALE — calm letterhead authority
   ============================ */

.website-v2-site[data-website-template="template1"] :is(h1, h2, h3) {
  font-family: var(--t1-font-display);
}

.website-v2-site[data-website-template="template1"] h1,
.website-v2-site[data-website-template="template1"] h2 {
  font-weight: var(--t1-display-weight);
  letter-spacing: var(--t1-display-letter-spacing);
}

/* Section displays track the catalog reference size (V1 .display) */
.website-v2-site[data-website-template="template1"]
  [data-website-component="TitleSection"]
  h2,
.website-v2-site[data-website-template="template1"] .website-v2-catalog h2,
.website-v2-site[data-website-template="template1"] .website-v2-booking h2 {
  max-width: none;
  margin: 0;
  font-family: var(--t1-font-display);
  font-size: clamp(30px, 3.6vw, 46px);
  font-weight: var(--t1-display-weight);
  line-height: 1.12;
  letter-spacing: var(--t1-display-letter-spacing);
  color: var(--tpl-ink, #1d1f24);
}

/* Eyebrows — accent small caps */
.website-v2-site[data-website-template="template1"]
  [data-website-component="TitleSection"]
  > span,
.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__eyebrow,
.website-v2-site[data-website-template="template1"]
  .website-v2-booking
  > div:first-child
  > span {
  color: var(--t1-accent);
  font-family: var(--t1-font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template1"]
  [data-website-component="TitleSection"]
  p,
.website-v2-site[data-website-template="template1"]
  .website-v2-booking
  > div:first-child
  p {
  max-width: 62ch;
  color: var(--t1-muted);
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.7;
}

/* ============================
   SHARED COMPONENTS — rectangular ink button, dot badge
   ============================ */

.website-v2-site[data-website-template="template1"] .website-v2-hero__actions a,
.website-v2-site[data-website-template="template1"]
  [data-website-component="CtaSection"]
  a {
  height: 44px;
  margin-top: 40px;
  padding: 0 48px;
  border: 0;
  border-radius: 0;
  background: var(--tpl-ink, #1d1f24);
  color: var(--tpl-canvas, #ffffff);
  box-shadow: none;
  font-family: var(--t1-font-sans);
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.4;
  white-space: nowrap;
}

.website-v2-site[data-website-template="template1"]
  .website-v2-hero__actions
  a:hover,
.website-v2-site[data-website-template="template1"]
  [data-website-component="CtaSection"]
  a:hover {
  transform: none;
  background: color-mix(in srgb, var(--tpl-ink, #1d1f24) 82%, var(--t1-accent));
  color: var(--tpl-canvas, #ffffff);
}

.website-v2-site[data-website-template="template1"]
  .website-v2-hero__actions
  a:active,
.website-v2-site[data-website-template="template1"]
  [data-website-component="CtaSection"]
  a:active {
  transform: translateY(1px);
}

/* ============================
   NAV — quiet hairline top bar (fixed chrome, never shifts flow)
   ============================ */

.website-v2-site[data-website-template="template1"]
  [data-website-node="t1-header"] {
  position: static;
  height: 0;
  min-height: 0;
  overflow: visible;
  border: 0;
  padding: 0;
}

.website-v2-site[data-website-template="template1"]
  .website-v2-navigation--clara {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 100;
  display: flex;
  min-height: 0;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--t1-hairline);
  background: var(--tpl-canvas, #ffffff);
  padding: 14px
    max(var(--t1-pad-x), calc((100% - min(100%, var(--t1-column))) / 2));
  animation: website-v2-t1-nav-reveal linear both;
  animation-timeline: scroll();
  animation-range: 0 80vh;
  line-height: 1.4;
}

/* Always-visible fallback where scroll-driven animation is unsupported */
@supports not (animation-timeline: scroll()) {
  .website-v2-site[data-website-template="template1"]
    .website-v2-navigation--clara {
    animation: none;
  }
}

.website-v2-site[data-website-template="template1"]
  .website-v2-navigation--clara
  .website-v2-navigation__brand {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: var(--t1-font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--tpl-ink, #1d1f24);
}

.website-v2-site[data-website-template="template1"]
  .website-v2-navigation--clara
  .website-v2-navigation__cta {
  flex-shrink: 0;
  min-height: 0;
  border: 0;
  background: none;
  padding: 0;
  font-family: var(--t1-font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--t1-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.website-v2-site[data-website-template="template1"]
  .website-v2-navigation--clara
  .website-v2-navigation__cta:hover {
  color: var(--tpl-ink, #1d1f24);
}

@keyframes website-v2-t1-nav-reveal {
  0%,
  85% {
    opacity: 0;
    transform: translateY(-8px);
    visibility: hidden;
  }

  100% {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
  }
}

/* ============================
   INTRO — the letterhead
   ============================ */

.website-v2-site[data-website-template="template1"]
  [data-website-node="t1-intro"] {
  border: 0;
  padding: clamp(96px, 16vh, 168px) 0 5rem;
}

.website-v2-site[data-website-template="template1"]
  [data-website-node="t1-intro-inner"] {
  max-width: var(--t1-column);
  padding-inline: var(--t1-pad-x);
}

.website-v2-site[data-website-template="template1"] .website-v2-hero--clara {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "copy";
  gap: 0 36px;
  max-width: none;
  margin: 0;
  padding: 0;
  color: var(--tpl-ink, #1d1f24);
  font-family: var(--t1-font-sans);
}

.website-v2-site[data-website-template="template1"]
  .website-v2-hero--clara:has(.website-v2-hero__clara-image) {
  grid-template-columns: minmax(0, 1fr) 280px;
  grid-template-areas: "copy image";
}

.website-v2-site[data-website-template="template1"]
  .website-v2-hero--clara
  .website-v2-hero__copy {
  grid-area: copy;
  max-width: none;
  gap: 0;
}

/* Eyebrow — accent small caps on the white sheet */
.website-v2-site[data-website-template="template1"]
  .website-v2-hero--clara
  .website-v2-hero__eyebrow {
  margin: 0 0 18px;
  color: var(--t1-accent);
  font-family: var(--t1-font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* Letterhead display keeps the bigger poster scale (V1 .t1-intro__display) */
.website-v2-site[data-website-template="template1"]
  .website-v2-hero--clara
  .website-v2-hero__title {
  max-width: 22ch;
  margin: 0;
  font-family: var(--t1-font-display);
  font-size: clamp(38px, 4.6vw, 64px);
  font-weight: var(--t1-display-weight);
  line-height: 1.1;
  letter-spacing: var(--t1-display-letter-spacing);
}

/* Short letterhead rule between title and body (V1 .t1-rule) */
.website-v2-site[data-website-template="template1"]
  .website-v2-hero__clara-rule {
  display: block;
  width: 64px;
  margin: 26px 0;
  border: 0;
  border-top: 1px solid
    color-mix(in srgb, var(--tpl-ink, #1d1f24) 45%, transparent);
}

/* Badge — quiet inline text line with a small accent dot, never a pill */
.website-v2-site[data-website-template="template1"]
  .website-v2-hero__clara-badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 9px;
  margin: 0 0 18px;
  border: 0;
  background: none;
  padding: 0;
  font-family: var(--t1-font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.5;
  color: var(--t1-muted);
}

.website-v2-site[data-website-template="template1"]
  .website-v2-hero__clara-badge::before {
  display: inline-block;
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: var(--t1-accent);
  content: "";
}

.website-v2-site[data-website-template="template1"]
  .website-v2-hero--clara
  .website-v2-hero__body {
  max-width: 62ch;
  margin: 0;
  color: var(--t1-muted);
  font-family: var(--t1-font-sans);
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.7;
}

/* Framed inset photo — right of the copy, hairline frame with inner mat */
.website-v2-site[data-website-template="template1"]
  .website-v2-hero__clara-image {
  grid-area: image;
  box-sizing: border-box;
  width: 280px;
  margin-top: 6px;
  overflow: hidden;
  border: 1px solid var(--t1-hairline);
  background: color-mix(
    in srgb,
    var(--tpl-ink, #1d1f24) 4%,
    var(--tpl-canvas, #ffffff)
  );
  padding: 5px;
  aspect-ratio: 4 / 5;
}

.website-v2-site[data-website-template="template1"]
  .website-v2-hero__clara-image
  img {
  display: block;
  height: 100%;
  width: 100%;
  border-radius: 0;
  object-fit: cover;
}

/* ============================
   CATALOG — the service list (dotted leaders, serif prices)
   ============================ */

.website-v2-site[data-website-template="template1"] .website-v2-catalog {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--t1-column);
  margin-inline: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0 var(--t1-pad-x);
  font-family: var(--t1-font-sans);
}

.website-v2-site[data-website-template="template1"]
  .website-v2-catalog
  .website-v2-catalog__toolbar {
  gap: 0;
}

/* Search input: quiet hairline field, no glass */
.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__search-input {
  border: 0;
  border-bottom: 1px solid var(--t1-hairline);
  border-radius: 0;
  background: transparent;
  padding-inline: 0;
}

.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__search-input:focus {
  border-color: var(--t1-accent);
  outline: none;
  box-shadow: none;
  background: transparent;
}

/* Category pills: square hairline chips; selected slams to ink */
.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__category-pill {
  border-radius: 0;
}

.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__category-pill[aria-pressed="true"] {
  border-color: var(--tpl-ink, #1d1f24);
  background: var(--tpl-ink, #1d1f24);
  color: var(--tpl-canvas, #ffffff);
}

/* Service row: small thumb left, name/leader/price line, quiet square cart button */
.website-v2-site[data-website-template="template1"] .website-v2-catalog__list {
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: var(--t1-stack-gap);
}

.website-v2-site[data-website-template="template1"] .website-v2-catalog__item {
  min-height: 4.5rem;
  border: 0;
  border-bottom: 1px solid var(--t1-hairline-soft);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding-block: 12px;
  transition: none;
}

.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__item:hover {
  transform: none;
  box-shadow: none;
}

/* Small menu thumbnail — hairline frame on a quiet ink-tint plate */
.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__item
  > div:first-child {
  display: flex;
  box-sizing: border-box;
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  border: 1px solid var(--t1-hairline);
  border-radius: 0;
  background: color-mix(
    in srgb,
    var(--tpl-ink, #1d1f24) 4%,
    var(--tpl-canvas, #ffffff)
  );
  overflow: hidden;
}

.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__item
  > div:first-child
  img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

/* Row name — quiet sans semibold */
.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__item
  strong {
  font-family: var(--t1-font-sans);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.4;
  color: var(--tpl-ink, #1d1f24);
}

/* Dotted leader — flex filler whose bottom border sits on the baseline */
.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__item
  span.tw\:border-dotted {
  min-width: 24px;
  height: 0;
  align-self: baseline;
  border-bottom: 1px dotted var(--t1-dotted);
}

/* Right-aligned serif price */
.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__item
  [class*="productPrice"],
.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__item
  > span
  > span {
  font-family: var(--t1-font-display);
  font-size: 18px;
  font-weight: 600;
  color: var(--tpl-ink, #1d1f24);
  white-space: nowrap;
}

/* Quiet square cart button at the row end */
.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__add--icon {
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--t1-hairline);
  border-radius: 0;
  background: transparent;
  padding: 0;
  color: var(--t1-muted);
}

.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__add--icon:hover {
  border-color: var(--t1-accent);
  background: transparent;
  color: var(--t1-accent);
  transform: none;
}

.website-v2-site[data-website-template="template1"]
  .website-v2-catalog__item
  p {
  margin: 4px 0 0;
  max-width: 52ch;
  font-size: 13px;
  line-height: 1.45;
  color: var(--t1-muted);
}

.website-v2-site[data-website-template="template1"] .website-v2-catalog__more {
  margin-top: var(--t1-stack-gap);
  border-radius: 0;
  color: var(--t1-accent);
}

/* ============================
   BOOKING — square Clara panels on the document rail
   ============================ */

.website-v2-site[data-website-template="template1"] .website-v2-booking {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--t1-column);
  margin-inline: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0 var(--t1-pad-x);
  font-family: var(--t1-font-sans);
}

.website-v2-site[data-website-template="template1"]
  .website-v2-booking__search {
  border-width: 0 0 1px;
  border-color: var(--t1-hairline);
  border-radius: 0;
  background: transparent;
  padding-inline: 0;
}

.website-v2-site[data-website-template="template1"]
  .website-v2-booking__service {
  border: 0;
  border-bottom: 1px solid var(--t1-hairline);
  border-radius: 0;
  background: transparent;
}

.website-v2-site[data-website-template="template1"]
  .website-v2-booking__service:hover {
  transform: none;
  border-color: var(--t1-accent);
  box-shadow: none;
}

.website-v2-site[data-website-template="template1"]
  .website-v2-booking__service[aria-pressed="true"] {
  border-color: var(--t1-accent);
  background: color-mix(in srgb, var(--t1-accent) 6%, transparent);
}

.website-v2-site[data-website-template="template1"]
  .website-v2-booking__service-image {
  border-radius: 0;
}

.website-v2-site[data-website-template="template1"]
  .website-v2-booking__continue {
  border-radius: 0;
  background: var(--tpl-ink, #1d1f24);
  color: var(--tpl-canvas, #ffffff);
  font-family: var(--t1-font-sans);
}

.website-v2-site[data-website-template="template1"] .website-v2-booking input {
  border-radius: 0;
  border-width: 0 0 1px;
  border-color: var(--t1-hairline);
  background: transparent;
  padding-inline: 0;
}

/* ============================
   SERVICES / FEATURES — quiet hairline-framed band on the muted wash
   ============================ */

.website-v2-site[data-website-template="template1"]
  [data-website-node="services-section"] {
  background: color-mix(
    in srgb,
    var(--tpl-ink, #1d1f24) 4%,
    var(--tpl-canvas, #ffffff)
  );
}

.website-v2-site[data-website-template="template1"]
  [data-website-node="services-list"] {
  row-gap: 48px;
}

.website-v2-site[data-website-template="template1"]
  [data-website-node="services-list"]
  li
  > span:first-child {
  color: var(--t1-accent);
  font-weight: 600;
}

.website-v2-site[data-website-template="template1"]
  [data-website-node="services-grid"],
.website-v2-site[data-website-template="template1"]
  [data-website-node="map-grid"] {
  gap: clamp(24px, 5vw, 48px);
}

/* ============================
   MAP — hairline-framed card on the white sheet
   ============================ */

.website-v2-site[data-website-template="template1"]
  [data-website-node="map-copy"] {
  gap: 0;
}

.website-v2-site[data-website-template="template1"]
  [data-website-node="map-address"] {
  max-width: 62ch;
  color: var(--t1-muted);
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.7;
}

.website-v2-site[data-website-template="template1"]
  [data-website-node="map-card"]
  img {
  height: 300px;
  aspect-ratio: auto;
}

/* ============================
   FINALE — letterhead closing
   ============================ */

.website-v2-site[data-website-template="template1"]
  [data-website-node="t1-finale"] {
  border-top: 1px solid
    color-mix(in srgb, var(--tpl-ink, #1d1f24) 45%, transparent);
  padding-block: var(--t1-pad-block-start) var(--t1-finale-pad-end);
}

.website-v2-site[data-website-template="template1"]
  [data-website-node="t1-finale-copy"] {
  gap: 24px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  color: var(--tpl-ink, #1d1f24);
}

/* Finale display keeps the letterhead poster scale (V1 .t1-finale__display) */
.website-v2-site[data-website-template="template1"]
  [data-website-node="t1-finale-copy"]
  h2 {
  max-width: 22ch;
  margin: 0 0 22px;
  font-family: var(--t1-font-display);
  font-size: clamp(38px, 4.6vw, 64px);
  font-weight: var(--t1-display-weight);
  line-height: 1.1;
  letter-spacing: var(--t1-display-letter-spacing);
}

/* Finale eyebrow — accent small caps */
.website-v2-site[data-website-template="template1"]
  [data-website-node="t1-finale-copy"]
  > span {
  display: block;
  margin: 0 0 16px;
  color: var(--t1-accent);
  font-family: var(--t1-font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template1"]
  [data-website-node="t1-finale-copy"]
  p {
  max-width: 62ch;
  margin: 0;
  color: var(--t1-muted);
  font-family: var(--t1-font-sans);
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.7;
  white-space: pre-line;
}

/* Quiet contact lines (V1 .finale__contact) */
.website-v2-site[data-website-template="template1"]
  [data-website-node="t1-contact"] {
  margin-top: var(--t1-stack-gap);
  gap: 10px;
}

.website-v2-site[data-website-template="template1"]
  :is([data-website-node="t1-phone"], [data-website-node="t1-address"]) {
  color: var(--t1-muted);
  font-size: 14px;
  line-height: 1.5;
}

.website-v2-site[data-website-template="template1"]
  [data-website-node="t1-status"] {
  color: var(--t1-faint);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ============================
   PAYMENT STRIP — demoted trust furniture
   ============================ */

.website-v2-site[data-website-template="template1"]
  [data-website-node="t1-payment"] {
  border-top: 1px solid var(--t1-hairline-soft);
  padding-block: 32px;
}

.website-v2-site[data-website-template="template1"]
  [data-website-node="payment"] {
  padding-block: 0;
}

.website-v2-site[data-website-template="template1"] .website-v2-payment__badge {
  justify-content: flex-start;
  color: var(--t1-faint);
}

.website-v2-site[data-website-template="template1"] .website-v2-payment__label {
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--t1-faint);
}

.website-v2-site[data-website-template="template1"] .website-v2-payment__icon {
  width: 13px;
  height: 13px;
  color: var(--t1-faint);
}

/* Card-brand assets render as quiet ink marks on the white letterhead */
.website-v2-site[data-website-template="template1"]
  .website-v2-payment__item
  img {
  filter: brightness(0);
  opacity: 0.45;
}

/* ============================
   FOOTER — hairline-ruled colophon
   ============================ */

.website-v2-site[data-website-template="template1"]
  [data-website-node="footer-section"] {
  border-top: 1px solid
    color-mix(in srgb, var(--tpl-ink, #1d1f24) 45%, transparent);
  padding-block: 32px;
}

.website-v2-site[data-website-template="template1"]
  [data-website-node="footer-brand"] {
  color: var(--tpl-ink, #1d1f24);
  font-family: var(--t1-font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

/* Social links: small text-height marks, not glass circles */
.website-v2-site[data-website-template="template1"]
  [data-website-node="footer-links"]
  a {
  border: 0;
  border-radius: 0;
  background: none;
  padding: 0;
  color: var(--t1-muted);
  font-family: var(--t1-font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.website-v2-site[data-website-template="template1"]
  [data-website-node="footer-links"]
  a:hover {
  background: none;
  color: var(--t1-accent);
  transform: none;
}

.website-v2-site[data-website-template="template1"]
  [data-website-node="jim-footer"] {
  margin-top: 30px;
}

/* ============================
   CHECKOUT CHROME — cart drawer wears the white-sheet identity
   ============================ */

.website-v2-site[data-website-template="template1"] .website-v2-cart-drawer {
  border: 0;
  border-left: 2px solid var(--t1-accent);
  border-radius: 0;
  background: var(--tpl-canvas, #ffffff);
  color: var(--tpl-ink, #1d1f24);
  box-shadow: none;
}

.website-v2-site[data-website-template="template1"]
  .website-v2-cart-drawer
  header {
  border-bottom: 1px solid var(--t1-hairline);
}

.website-v2-site[data-website-template="template1"]
  .website-v2-cart-drawer
  footer {
  border-top: 1px solid var(--t1-hairline);
  background: var(--tpl-canvas, #ffffff);
}

.website-v2-site[data-website-template="template1"]
  .website-v2-cart-drawer
  button {
  border-radius: 0;
}

/* ============================
   RESPONSIVE — mobile
   ============================ */

@media (max-width: 767px) {
  .website-v2-site[data-website-template="template1"] {
    --t1-pad-x: clamp(28px, 6vw, 40px);
    --t1-pad-block-start: 28px;
    --t1-pad-block-end: 36px;
    --t1-stack-gap: 24px;
    --t1-finale-pad-end: 40px;
  }

  .website-v2-site[data-website-template="template1"]
    [data-website-component="Section"],
  .website-v2-site[data-website-template="template1"]
    [data-website-node="services-section"],
  .website-v2-site[data-website-template="template1"]
    [data-website-node="map-section"],
  .website-v2-site[data-website-template="template1"]
    [data-website-node="t1-finale"] {
    padding-block: 28px 36px;
  }

  .website-v2-site[data-website-template="template1"]
    [data-website-node="t1-intro"] {
    padding-top: 92px;
    padding-bottom: 36px;
  }

  .website-v2-site[data-website-template="template1"]
    [data-website-node="t1-intro-inner"] {
    padding-inline: var(--t1-pad-x);
  }

  /* Photo plate sits above the type on small screens */
  .website-v2-site[data-website-template="template1"]
    .website-v2-hero--clara:has(.website-v2-hero__clara-image) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "image"
      "copy";
    row-gap: 0;
  }

  .website-v2-site[data-website-template="template1"]
    .website-v2-hero__clara-image {
    width: 100%;
    margin: 0 0 30px;
    aspect-ratio: 16 / 10;
  }

  .website-v2-site[data-website-template="template1"]
    .website-v2-hero--clara
    .website-v2-hero__title {
    font-size: clamp(30px, 8.4vw, 52px);
  }

  .website-v2-site[data-website-template="template1"]
    .website-v2-hero__actions
    a,
  .website-v2-site[data-website-template="template1"]
    [data-website-component="CtaSection"]
    a {
    padding-inline: 32px;
  }

  .website-v2-site[data-website-template="template1"]
    [data-website-node="services-list"] {
    row-gap: 24px;
  }

  .website-v2-site[data-website-template="template1"]
    [data-website-node="map-card"]
    img {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .website-v2-site[data-website-template="template1"]
    .website-v2-catalog__item
    > div:first-child {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
  }

  .website-v2-site[data-website-template="template1"]
    .website-v2-catalog__item
    strong {
    font-size: 15px;
  }
}

/* ============================
   REDUCED MOTION — the page is already still
   ============================ */

@media (prefers-reduced-motion: reduce) {
  .website-v2-site[data-website-template="template1"]
    .website-v2-navigation--clara {
    animation: none;
  }
}

/**
 * template2 — Vitrine (the BOUTIQUE EDIT) — V2 port
 * =================================================
 * Editorial fashion storefront in the MARA/Prestige register, ported
 * 1:1 from public/styles/templates/template2.css onto the V2 renderer DOM.
 *
 * Personality: a considered boutique — pure white sheet, stone panels,
 * hairline rules, tracked small-caps labels, garamond display with one
 * italic word.
 *
 * Type:   Cormorant Garamond 500/600 (display) + Jost (body/labels).
 * Canvas: pure white #ffffff, near-black ink, stone panels; photos carry
 *         the color; the merchant accent is the eyebrow/label couture touch.
 * Shapes: hairline rules, sharp rectangles, no shadows, no radius.
 * Motion: gentle frame zoom on hover, staggered intro rise — all gated
 *         by prefers-reduced-motion.
 */

/* ============================
   ROOT TOKENS
   ============================ */

.website-v2-site[data-website-template="template2"] {
  /* Typography — Cormorant Garamond display + Jost body (both registered
     by the V2 font loader; stacks mirror the V1 declarations). */
  --font-family-display: "Cormorant Garamond", Garamond, "Times New Roman",
    serif;
  --font-family-sans: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;

  /* Document geometry — same rail as template1 (Clara) */
  --t2-column: 1600px;
  --t2-pad-x: clamp(24px, 4vw, 48px);

  /* Vertical rhythm — one step between hairline-separated bands */
  --t2-pad-block-start: 56px;
  --t2-pad-block-end: 56px;
  --t2-stack-gap: 28px;

  /* Chrome */
  --t2-nav-h: 72px;
  --t2-track: 0.2em;

  /* Guarded color tokens — mirror the V1 recipe chain. --tpl-* come from the
     V2 renderer theme (recipe-clamped for templates 1-5). */
  --t2-canvas: var(--tpl-canvas, #ffffff);
  --t2-ink: var(--tpl-ink, #101010);
  --t2-accent: var(--tpl-accent, #5c6042);
  --t2-accent-fg: var(--tpl-accent-fg, #ffffff);

  /* MARA surfaces: stone panel + warm hairline rule */
  --t2-stone: color-mix(in srgb, var(--t2-ink) 4%, #f3f1ec);
  --t2-rule: color-mix(in srgb, var(--t2-ink) 13%, var(--t2-canvas));
  --t2-hairline: var(--t2-rule);
  --t2-ink-soft: color-mix(in srgb, var(--t2-ink) 72%, transparent);
  --t2-ink-mute: color-mix(in srgb, var(--t2-ink) 52%, transparent);
  --t2-paper: var(--t2-stone);

  background: var(--t2-canvas);
  color: var(--t2-ink);
  font-family: var(--w2-font, var(--font-family-sans));
}

.website-v2-site[data-website-template="template2"] [id] {
  scroll-margin-top: calc(var(--t2-nav-h) + 18px);
}

/* ============================
   ANNOUNCE LINE — tracked small-caps shop notice
   (V1 .t2-announce)
   ============================ */

.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-announce"] {
  border-bottom: 1px solid var(--t2-rule);
  background: var(--t2-canvas);
  padding-block: 10px;
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-announce-label"] {
  font-family: var(--font-family-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--t2-ink);
}

/* ============================
   NAV — three-column boutique header
   (V1 .t2-nav: anchor menu left, tracked serif wordmark center,
   secondary anchors right)
   ============================ */

.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-nav"] {
  border-bottom: none;
  background: var(--t2-canvas);
  padding-block: 0;
}

.website-v2-site[data-website-template="template2"]
  [data-website-component="NavigationMenu"] {
  position: sticky;
  top: 0;
  z-index: 100;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  min-height: var(--t2-nav-h);
  padding: 14px
    max(var(--t2-pad-x), calc((100% - min(100%, var(--t2-column))) / 2));
  box-sizing: border-box;
  background: var(--t2-canvas);
  border-bottom: 1px solid var(--t2-rule);
}

/* Centered wordmark: tracked garamond — the boutique's nameplate */
.website-v2-site[data-website-template="template2"]
  [data-website-component="NavigationMenu"]
  .website-v2-navigation__brand {
  grid-column: 2;
  font-family: var(--font-family-display);
  font-weight: 600;
  font-size: clamp(20px, 2vw, 28px);
  letter-spacing: 0.3em;
  padding-left: 0.3em;
  text-transform: uppercase;
  color: var(--t2-ink);
  text-decoration: none;
  text-align: center;
  max-width: min(60vw, 640px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.website-v2-site[data-website-template="template2"]
  [data-website-component="NavigationMenu"]
  .website-v2-navigation__menu--left {
  grid-column: 1;
  grid-row: 1;
  justify-content: flex-start;
}

.website-v2-site[data-website-template="template2"]
  [data-website-component="NavigationMenu"]
  .website-v2-navigation__menu--right {
  grid-column: 3;
  grid-row: 1;
  justify-content: flex-end;
}

.website-v2-site[data-website-template="template2"]
  [data-website-component="NavigationMenu"]
  .website-v2-navigation__list {
  gap: 24px;
  font-family: var(--font-family-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template2"]
  [data-website-component="NavigationMenu"]
  .website-v2-navigation__item {
  color: var(--t2-ink);
  text-decoration: none;
  white-space: nowrap;
  max-width: 22ch;
  overflow: hidden;
  text-overflow: ellipsis;
  border-radius: 0;
  padding-inline: 0;
}

.website-v2-site[data-website-template="template2"]
  [data-website-component="NavigationMenu"]
  .website-v2-navigation__item:hover {
  color: var(--t2-accent);
}

.website-v2-site[data-website-template="template2"]
  [data-website-component="NavigationMenu"]
  .website-v2-navigation__menu--middle {
  display: none;
}

/* ============================
   INTRO — split hero, photo left / copy on stone
   (V1 .t2-intro; V2 hero variant="vitrine")
   The split grid/stone/photo live in globals.css; this block refines the
   copy typography to the V1 intro scale.
   ============================ */

.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-intro"] {
  padding: 0;
}

.website-v2-site[data-website-template="template2"] .website-v2-hero--vitrine {
  border-bottom: 1px solid var(--t2-rule);
  background: var(--t2-stone);
}

/* Stone wash only under the copy column; the photo pane owns its frame */
.website-v2-site[data-website-template="template2"]
  .website-v2-hero__vitrine-copy {
  background: var(--t2-stone);
}

.website-v2-site[data-website-template="template2"]
  .website-v2-hero--vitrine
  .website-v2-hero__copy {
  gap: 20px;
}

.website-v2-site[data-website-template="template2"]
  .website-v2-hero--vitrine
  .website-v2-hero__eyebrow {
  color: var(--t2-accent);
  font-family: var(--font-family-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  max-width: 36ch;
}

/* Garamond display sized for the half-width column */
.website-v2-site[data-website-template="template2"]
  .website-v2-hero--vitrine
  .website-v2-hero__title {
  font-family: var(--font-family-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 68px);
  line-height: 1.08;
  letter-spacing: 0;
  color: var(--t2-ink);
  max-width: 18ch;
}

.website-v2-site[data-website-template="template2"]
  .website-v2-hero--vitrine
  .website-v2-hero__body {
  max-width: 42ch;
  margin-top: 0;
  font-size: clamp(15px, 1.1vw, 16.5px);
  font-weight: 400;
  color: var(--t2-ink-soft);
}

/* Underline text link — the boutique CTA (V1 .t2-link) */
.website-v2-site[data-website-template="template2"]
  .website-v2-hero--vitrine
  .website-v2-hero__actions
  a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 24px;
  box-sizing: border-box;
  background: transparent;
  color: var(--t2-ink);
  font-family: var(--font-family-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
  border: none;
  border-radius: 0;
  transition: color 0.2s ease;
}

.website-v2-site[data-website-template="template2"]
  .website-v2-hero--vitrine
  .website-v2-hero__actions
  a:hover {
  color: var(--t2-accent);
}

/* Entrance: staggered rise on the copy column (V1 t2-rise) */
@keyframes website-v2-t2-rise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .website-v2-site[data-website-template="template2"]
    .website-v2-hero--vitrine
    .website-v2-hero__copy
    > * {
    animation: website-v2-t2-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  .website-v2-site[data-website-template="template2"]
    .website-v2-hero--vitrine
    .website-v2-hero__copy
    > :nth-child(1) {
    animation-delay: 0.05s;
  }

  .website-v2-site[data-website-template="template2"]
    .website-v2-hero--vitrine
    .website-v2-hero__copy
    > :nth-child(2) {
    animation-delay: 0.12s;
  }

  .website-v2-site[data-website-template="template2"]
    .website-v2-hero--vitrine
    .website-v2-hero__copy
    > :nth-child(3) {
    animation-delay: 0.19s;
  }

  .website-v2-site[data-website-template="template2"]
    .website-v2-hero--vitrine
    .website-v2-hero__copy
    > :nth-child(4) {
    animation-delay: 0.26s;
  }

  .website-v2-site[data-website-template="template2"]
    .website-v2-hero--vitrine
    .website-v2-hero__copy
    > :nth-child(5) {
    animation-delay: 0.33s;
  }
}

/* ============================
   SECURE STRIP — quiet hairline band
   (V1 .secure-strip; V2 SecurePayment node "payment")
   ============================ */

.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-payment"] {
  border-bottom: 1px solid var(--t2-rule);
  background: var(--t2-canvas);
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-payment"]
  .website-v2-payment__label {
  color: var(--t2-ink-mute);
  font-family: var(--font-family-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-payment"]
  .website-v2-payment__icon {
  color: var(--t2-ink-mute);
}

/* Card-brand assets are white marks for the original black strip —
   render them as quiet ink marks on the white sheet */
.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-payment"]
  .website-v2-payment__item
  img {
  filter: brightness(0);
  opacity: 0.4;
}

/* ============================
   CATALOG — the boutique edit
   (V1 .t2-lookbook / .t2-look; V2 catalog variant="vitrine")
   ============================ */

.website-v2-site[data-website-template="template2"]
  [data-website-node="catalog-section"] {
  border-top: 1px solid var(--t2-rule);
  background: var(--t2-canvas);
  padding: var(--t2-pad-block-start) 0 var(--t2-pad-block-end);
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="catalog-container"],
.website-v2-site[data-website-template="template2"]
  [data-website-node="catalog-section"]
  .tw\:mx-auto {
  width: 100%;
  max-width: var(--t2-column);
  padding-inline: var(--t2-pad-x);
}

.website-v2-site[data-website-template="template2"] .website-v2-catalog {
  gap: 0;
}

/* Header: eyebrow + serif title, left-anchored like the V1 section header */
.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__toolbar {
  gap: var(--t2-stack-gap);
  margin-top: 0;
}

.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__toolbar
  > div:first-child {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
}

.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__toolbar
  > div:first-child
  > div {
  align-items: flex-start;
  text-align: left;
}

.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__eyebrow {
  color: var(--t2-accent);
  font-family: var(--font-family-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__toolbar
  h2 {
  font-family: var(--font-family-display);
  font-weight: 500;
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.1;
  letter-spacing: 0;
  text-align: left;
  color: var(--t2-ink);
}

/* Filters: quiet hairline chrome (V1 .catalog-search__input / pills) */
.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__filters {
  align-items: stretch;
  margin-top: var(--t2-stack-gap);
}

.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__search-input {
  background: transparent;
  border: none;
  border-bottom: 1px solid color-mix(in srgb, var(--t2-ink) 30%, transparent);
  border-radius: 0;
  max-width: 100%;
  padding-inline: 0;
  box-shadow: none;
}

.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__search-input:focus {
  border-bottom-color: var(--t2-accent);
  outline: none;
  box-shadow: none;
  --tw-ring-color: transparent;
}

.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__category-pill {
  font-family: var(--font-family-sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 11px;
  border-radius: 0;
  background: transparent;
  border-color: var(--t2-rule);
  color: var(--t2-ink);
}

.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__category-pill[aria-pressed="true"] {
  border-color: var(--t2-ink);
  background: var(--t2-ink);
  color: var(--t2-canvas);
}

/* Boutique grid: framed product cards, three across */
.website-v2-site[data-website-template="template2"] .website-v2-catalog__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px 28px;
  margin-top: var(--t2-stack-gap);
  padding-bottom: 0;
}

@media (max-width: 880px) {
  .website-v2-site[data-website-template="template2"]
    .website-v2-catalog__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 16px;
  }
}

@media (max-width: 520px) {
  .website-v2-site[data-website-template="template2"]
    .website-v2-catalog__list {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* Card: quiet frame, no lift, no shadow */
.website-v2-site[data-website-template="template2"] .website-v2-catalog__item {
  position: relative;
  display: flex;
  flex-direction: column;
  aspect-ratio: auto;
  overflow: visible;
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  transition: none;
  color: var(--t2-ink);
}

.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__item:hover {
  transform: none;
  box-shadow: none;
}

/* Figure: 3:4 frame on stone (V1 .t2-look image wrapper) */
.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__item
  .tw\:aspect-\[4\/5\] {
  position: relative;
  display: block;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--t2-stone);
  margin-bottom: 16px;
  border-radius: 0;
}

.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__item
  img {
  border-radius: 0;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Prestige touch: gentle frame zoom on hover */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .website-v2-site[data-website-template="template2"]
    .website-v2-catalog__item:hover
    img {
    transform: scale(1.04);
  }
}

/* Text block: quiet Jost name, muted description (V1 .t2-look__text) */
.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__item
  strong {
  font-family: var(--font-family-sans);
  font-weight: 400;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: var(--t2-ink);
}

.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__item
  p {
  font-family: var(--font-family-sans);
  font-size: 13px;
  line-height: 1.55;
  color: var(--t2-ink-mute);
}

/* Price line (V1 .t2-look price group) */
.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__item
  .tw\:border-t {
  color: var(--t2-ink);
  font-family: var(--font-family-sans);
  font-size: 14.5px;
  font-weight: 400;
  letter-spacing: 0.02em;
  border-color: var(--t2-rule);
}

/* MARA add: full-width solid button, tracked caps — the V2 vitrine card
   ships a filled accent add; restyle to the boutique outline treatment */
.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__item
  button {
  width: 100%;
  height: auto;
  min-height: 0;
  background: transparent;
  border: 1px solid var(--t2-ink);
  border-radius: 0;
  color: var(--t2-ink);
  padding: 13px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-family-sans);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  transition: background 0.2s ease, color 0.2s ease;
}

@media (hover: hover) {
  .website-v2-site[data-website-template="template2"]
    .website-v2-catalog__item
    button:hover {
    background: var(--t2-ink);
    border-color: var(--t2-ink);
    color: var(--t2-canvas);
    transform: none;
  }
}

.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__item
  button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* More link — quiet underline, not a pill */
.website-v2-site[data-website-template="template2"] .website-v2-catalog__more {
  align-self: center;
  border: 1px solid var(--t2-rule);
  border-radius: 0;
  padding: 0.5rem 0.875rem;
  color: var(--t2-ink-mute);
  font-family: var(--font-family-sans);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
}

.website-v2-site[data-website-template="template2"]
  .website-v2-catalog__more:hover {
  background: var(--t2-stone);
  border-color: var(--t2-ink);
  color: var(--t2-ink);
}

/* ============================
   BOOKING — legacy V1 markup injected under the node
   (the V1 template2 booking band rules keyed on
   [data-template="template2"] .slide--booking keep working because the
   decorated markup carries data-template="template2"; this block only
   neutralizes the V2 section/container shells around it)
   ============================ */

.website-v2-site[data-website-template="template2"]
  [data-website-node="booking-section"] {
  border-top: 1px solid var(--t2-rule);
  background: var(--t2-canvas);
  padding: 0;
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="booking-container"] {
  max-width: none;
  padding: 0;
  background: transparent;
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="booking"] {
  padding: 0;
}

/* ============================
   SERVICES — editorial band on the shared sheet
   ============================ */

.website-v2-site[data-website-template="template2"]
  [data-website-node="services-section"] {
  border-top: 1px solid var(--t2-rule);
  background: var(--t2-canvas);
  padding: var(--t2-pad-block-start) 0 var(--t2-pad-block-end);
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="services-title"]
  > span:first-child {
  color: var(--t2-accent);
  font-family: var(--font-family-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="services-title"]
  h2 {
  font-family: var(--font-family-display);
  font-weight: 500;
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.1;
  letter-spacing: 0;
  color: var(--t2-ink);
  text-align: left;
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="services-list"] {
  color: var(--t2-ink);
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="services-list"]
  li {
  font-family: var(--font-family-sans);
  font-size: 15px;
  line-height: 1.6;
  color: var(--t2-ink-soft);
}

/* ============================
   MAP — hairline-framed canvas on the stone wash
   ============================ */

.website-v2-site[data-website-template="template2"]
  [data-website-node="map-section"] {
  border-top: 1px solid var(--t2-rule);
  background: var(--t2-canvas);
  padding: var(--t2-pad-block-start) 0 var(--t2-pad-block-end);
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="map-title"]
  > span:first-child {
  color: var(--t2-accent);
  font-family: var(--font-family-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="map-title"]
  h2 {
  font-family: var(--font-family-display);
  font-weight: 500;
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.1;
  letter-spacing: 0;
  color: var(--t2-ink);
  text-align: left;
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="map-address"] {
  max-width: 52ch;
  color: var(--t2-ink-soft);
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="map-card"] {
  border: 1px solid var(--t2-rule);
  border-radius: 0;
  background: var(--t2-canvas);
  overflow: hidden;
  box-shadow: none;
}

.website-v2-site[data-website-template="template2"]
  .website-v2-map-card__canvas {
  border-radius: 0;
  background: var(--t2-stone);
}

.website-v2-site[data-website-template="template2"]
  .website-v2-map-card__footer {
  border-top: 1px solid var(--t2-rule);
  color: var(--t2-ink);
  font-family: var(--font-family-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
}

/* ============================
   FINALE — the note: statement on the stone sheet
   (V1 .t2-finale: italic serif between hairline rules)
   ============================ */

.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-finale"] {
  border-top: 1px solid var(--t2-rule);
  background: var(--t2-stone);
  padding: var(--t2-pad-block-start) 0 var(--t2-pad-block-end);
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-finale-inner"] {
  max-width: var(--t2-column);
  padding-inline: var(--t2-pad-x);
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-finale-copy"] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 20px;
  border: none;
  border-radius: 0;
  background: transparent;
  padding: 0;
  color: var(--t2-ink);
}

/* Hairline rule — left anchor, quieter than a color bar */
.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-finale-copy"]::before {
  content: "";
  display: block;
  width: 56px;
  height: 1px;
  background: var(--t2-ink);
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-finale-copy"]
  blockquote {
  font-family: var(--font-family-display);
  font-weight: 500;
  font-style: italic;
  font-size: clamp(30px, 3.8vw, 54px);
  line-height: 1.3;
  letter-spacing: 0;
  color: var(--t2-ink);
  margin: 0;
  max-width: 34ch;
  overflow-wrap: anywhere;
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-finale-copy"]
  figcaption {
  flex-direction: row;
  align-items: baseline;
  gap: 10px;
  margin-top: 6px;
  color: var(--t2-ink-mute);
  font-family: var(--font-family-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-finale-copy"]
  figcaption
  strong {
  font-weight: 500;
  color: var(--t2-ink-mute);
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="t2-finale-copy"]
  figcaption
  span {
  font-size: 11px;
  color: var(--t2-ink-mute);
}

/* ============================
   FOOTER — quiet sheet, hairline above
   ============================ */

.website-v2-site[data-website-template="template2"]
  [data-website-node="footer-section"] {
  border-top: 1px solid var(--t2-rule);
  background: var(--t2-canvas);
  padding-block: 28px;
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="footer-container"] {
  width: 100%;
  max-width: var(--t2-column);
  padding-inline: var(--t2-pad-x);
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="footer-brand"] {
  font-family: var(--font-family-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--t2-ink);
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="footer-links"]
  a {
  font-family: var(--font-family-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--t2-ink-mute);
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}

.website-v2-site[data-website-template="template2"]
  [data-website-node="footer-links"]
  a:hover {
  color: var(--t2-accent);
}

/* ============================
   SHARED TYPOGRAPHY — V2 TitleSection/quote surfaces
   The vitrine headers come through TitleSection; the finale is a
   Testimonial node. Keep every display on the garamond scale.
   ============================ */

.website-v2-site[data-website-template="template2"]
  [data-website-component="TitleSection"]
  h2 {
  font-family: var(--font-family-display);
  font-weight: 500;
  letter-spacing: 0;
}

.website-v2-site[data-website-template="template2"]
  [data-website-component="TitleSection"]
  > span {
  color: var(--t2-accent);
  font-family: var(--font-family-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

/* Quotes carry the register's italic */
.website-v2-site[data-website-template="template2"]
  [data-website-component="Testimonial"]:not(
    [data-website-node="t2-finale-copy"]
  )
  blockquote {
  font-family: var(--font-family-display);
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0;
  line-height: 1.35;
  color: var(--t2-ink);
}

.website-v2-site[data-website-template="template2"]
  [data-website-component="Testimonial"]:not(
    [data-website-node="t2-finale-copy"]
  ) {
  border: none;
  border-radius: 0;
  background: transparent;
}

/* ============================
   SCROLL MOTION — glide reveals (V1 t2-view-rise)
   ============================ */

@keyframes website-v2-t2-view-rise {
  from {
    opacity: 0;
    transform: translateY(28px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .website-v2-site[data-website-template="template2"]
      .website-v2-catalog__item,
    .website-v2-site[data-website-template="template2"]
      .website-v2-catalog__toolbar,
    .website-v2-site[data-website-template="template2"]
      [data-website-node="t2-finale-copy"] {
      animation: website-v2-t2-view-rise linear both;
      animation-timeline: view();
      animation-range: entry 5% entry 45%;
    }
  }
}

/* ============================
   RESPONSIVE — single-column bands
   ============================ */

@media (max-width: 720px) {
  .website-v2-site[data-website-template="template2"] {
    --t2-nav-h: 56px;
    --t2-pad-block-start: 40px;
    --t2-pad-block-end: 40px;
    --t2-stack-gap: 24px;
  }

  .website-v2-site[data-website-template="template2"]
    [data-website-component="NavigationMenu"] {
    grid-template-columns: 1fr;
    justify-items: center;
    padding: 12px var(--t2-pad-x);
  }

  .website-v2-site[data-website-template="template2"]
    [data-website-component="NavigationMenu"]
    .website-v2-navigation__brand {
    grid-column: 1;
    font-size: 17px;
    max-width: 86vw;
    letter-spacing: 0.24em;
    padding-left: 0.24em;
  }

  .website-v2-site[data-website-template="template2"]
    [data-website-component="NavigationMenu"]
    .website-v2-navigation__menu {
    display: none;
  }

  .website-v2-site[data-website-template="template2"]
    .website-v2-hero--vitrine
    .website-v2-hero__title {
    font-size: clamp(32px, 9.4vw, 52px);
    max-width: 100%;
  }

  .website-v2-site[data-website-template="template2"]
    [data-website-node="t2-finale-copy"]
    blockquote {
    font-size: clamp(24px, 7.4vw, 36px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .website-v2-site[data-website-template="template2"]
    .website-v2-catalog__item
    img,
  .website-v2-site[data-website-template="template2"]
    .website-v2-hero__vitrine-image
    img {
    transition: none;
  }
}

/*
 * template3 — Oficina · THE SPEC SHEET (V2 port)
 * Industrial bold/street: steel canvas, light ink, hazard accent.
 * Ported 1:1 from public/styles/templates/template3.css + scripts/templates/template3.js.
 * V2 DOM: node ids (t3-nav, t3-cover, t3-hero, t3-ticker, t3-payment,
 * catalog-section, booking-section, services-*, map-*, t3-finale, footer-*)
 * plus V2 component classes (.website-v2-hero--oficina, .website-v2-catalog,
 * .website-v2-booking, legacy booking slide markup re-rendered by the
 * legacy-booking bridge under [data-website-node="booking"]).
 */

/* ============================
   ROOT TOKENS
   ============================ */

.website-v2-site[data-website-template="template3"] {
  /* Dark template: owns its own chrome. --tpl-* come recipe-clamped from the
     renderer (canvas/ink = theme background/foreground, accent = clamped
     merchant primary); the fallbacks below mirror the V1 recipe defaults
     (hazard-amber lowChromaFallback) for documents without theme colors. */
  --t3-canvas: var(--tpl-canvas, #131417);
  --t3-ink: var(--tpl-ink, #f2f3f5);
  --t3-accent: var(--tpl-accent, #ffb000);
  --t3-accent-fg: var(--tpl-accent-fg, #1d1d1f);

  /* Typography — Anton display (single 400 weight, never fake a bold) + Barlow */
  --t3-font-display: "Anton", "Arial Narrow", Impact, sans-serif;
  --t3-font-sans: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  font-synthesis: none;

  /* Graphite plates + steel seams (V1 literals) */
  --t3-plate: #16181c;
  --t3-plate-raised: #1a1d22;
  --t3-pit: #0e0f12;
  --t3-plate-light: #1f2228;
  --t3-seam: rgba(255, 255, 255, 0.07);
  --t3-seam-strong: rgba(255, 255, 255, 0.22);
  --t3-nav-h: 3.625rem;

  background: var(--t3-canvas);
  color: var(--t3-ink);
  font-family: var(--t3-font-sans);
}

.website-v2-site[data-website-template="template3"] ::selection {
  background: var(--t3-accent);
  color: var(--t3-accent-fg);
}

/* ============================
   TYPE SCALE — condensed shout, road-sign body
   ============================ */

/* Anton display over every section heading (hero h1, TitleSection h2,
   catalog/booking titles). 1.18 line-height keeps uppercase pt-BR
   diacritics (Á Ã Ô) clear of the line above. */
.website-v2-site[data-website-template="template3"] .website-v2-hero__title,
.website-v2-site[data-website-template="template3"]
  [data-website-component="TitleSection"]
  h2,
.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__toolbar
  h2,
.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-finale-copy"]
  h2 {
  font-family: var(--t3-font-display);
  font-weight: 400;
  font-size: clamp(38px, 5.5vw, 84px);
  line-height: 1.18;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--t3-ink);
}

/* Stencil section tags: subtitles/eyebrows become stamped accent chips
   (Barlow 700 caps on accent ground, paired with accent-fg — never an
   unpaired accent text on the dark canvas). */
.website-v2-site[data-website-template="template3"] .website-v2-hero__eyebrow,
.website-v2-site[data-website-template="template3"]
  [data-website-component="TitleSection"]
  > span:first-child,
.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__eyebrow,
.website-v2-site[data-website-template="template3"]
  .website-v2-cta-section__eyebrow {
  display: inline-block;
  width: fit-content;
  background: var(--t3-accent);
  color: var(--t3-accent-fg);
  font-family: var(--t3-font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1.2;
  padding: 5px 10px 4px;
  border-radius: 2px;
}

/* Body copy: road-sign Barlow, dimmed steel ink */
.website-v2-site[data-website-template="template3"] .website-v2-hero__body,
.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-finale-copy"]
  p,
.website-v2-site[data-website-template="template3"]
  [data-website-node="map-address"] {
  font-family: var(--t3-font-sans);
  color: color-mix(in srgb, var(--t3-ink) 78%, transparent);
  line-height: 1.6;
}

/* ============================
   NAV — fixed utility bar
   Desktop: welded to the top. Mobile: welded to the bottom (globals.css
   already flips .website-v2-navigation--oficina; here we darken it to the
   V1 pit and seam colors).
   ============================ */

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-nav-row"] {
  background: var(--t3-pit);
  border-top: 2px solid var(--t3-seam);
  border-bottom: 2px solid var(--t3-seam);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-nav-row"]
  .website-v2-navigation__brand {
  font-family: var(--t3-font-sans);
  font-weight: 700;
  letter-spacing: 0.22em;
  color: var(--t3-ink);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-nav-row"]
  .website-v2-navigation__cta {
  background: var(--t3-accent);
  color: var(--t3-accent-fg);
  border-radius: 0;
  font-family: var(--t3-font-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: background-color 100ms linear, transform 100ms linear;
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-nav-row"]
  .website-v2-navigation__cta:hover {
  background: color-mix(in srgb, #ffffff 12%, var(--t3-accent));
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-nav-row"]
  .website-v2-navigation__cta:active {
  background: color-mix(in srgb, #000000 10%, var(--t3-accent));
  transform: translateY(1px);
}

/* ============================
   COVER — typographic hero (no photo backdrop)
   The V2 oficina hero is a grid: huge Anton title column + a narrow
   photo column on the right (the V1 "ID plate"). globals.css lays it out;
   this file carries the surface identity: steel plate, chamfered ID plate,
   hazard bar.
   ============================ */

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-cover"] {
  background: var(--t3-canvas);
  padding-top: var(--t3-nav-h);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-hero"] {
  background: var(--t3-canvas);
  color: var(--t3-ink);
}

.website-v2-site[data-website-template="template3"]
  .website-v2-hero--oficina
  .website-v2-hero__title {
  font-size: clamp(54px, 11vw, 164px);
  line-height: 1.18;
  max-width: 12ch;
  overflow-wrap: break-word;
}

/* ID plate — the photo as a stamped chamfered steel plate */
.website-v2-site[data-website-template="template3"]
  .website-v2-hero__oficina-image {
  border: 2px solid var(--t3-seam-strong);
  clip-path: polygon(0 0, calc(100% - 26px) 0, 100% 26px, 100% 100%, 0 100%);
  background-color: var(--t3-plate-raised);
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.05) 0 10px,
    transparent 10px 20px
  );
}

/* 3px hazard bar under the display (V1 .t3-cover__bar) */
.website-v2-site[data-website-template="template3"]
  .website-v2-hero--oficina
  .website-v2-hero__copy::after {
  content: "";
  display: block;
  height: 3px;
  width: clamp(180px, 26vw, 380px);
  background: var(--t3-accent);
  margin-top: 26px;
}

/* Hard accent CTA stamp (hero primary + CtaSection action) */
.website-v2-site[data-website-template="template3"] .website-v2-hero__actions a,
.website-v2-site[data-website-template="template3"]
  [data-website-component="CtaSection"]
  a {
  background: var(--t3-accent);
  color: var(--t3-accent-fg);
  border-radius: 2px;
  font-family: var(--t3-font-sans);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  transition: background-color 100ms linear, transform 100ms linear;
}

.website-v2-site[data-website-template="template3"]
  .website-v2-hero__actions
  a:hover,
.website-v2-site[data-website-template="template3"]
  [data-website-component="CtaSection"]
  a:hover {
  background: color-mix(in srgb, #ffffff 12%, var(--t3-accent));
}

.website-v2-site[data-website-template="template3"]
  .website-v2-hero__actions
  a:active,
.website-v2-site[data-website-template="template3"]
  [data-website-component="CtaSection"]
  a:active {
  transform: translateY(1px);
}

/* ============================
   TICKER — name/industry marquee under the cover
   V2 Marquee (variant primary) renders 4 spans in one track; port the
   V1 hazard tape: pit band, steel seams, Anton accent shout.
   ============================ */

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-ticker"] {
  border-top: 2px solid var(--t3-seam);
  border-bottom: 2px solid var(--t3-seam);
  background: var(--t3-pit);
  padding: 13px 0 11px;
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-ticker"]
  > div {
  font-family: var(--t3-font-display);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--t3-accent);
}

/* ============================
   PAYMENT STRIP — pit band between cover and content
   ============================ */

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-payment"] {
  background: var(--t3-pit);
  padding: 0;
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-payment"]
  .website-v2-payment {
  border-top: 2px solid var(--t3-seam);
  border-bottom: 2px solid var(--t3-seam);
  padding: 26px 0;
  color: color-mix(in srgb, var(--t3-ink) 66%, transparent);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-payment"]
  .website-v2-payment__label {
  color: color-mix(in srgb, var(--t3-ink) 66%, transparent);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* ============================
   SECTION SURFACES — alternating graphite plates, steel seams
   ============================ */

/* Services plate — raised */
.website-v2-site[data-website-template="template3"]
  [data-website-node="services-section"] {
  background: var(--t3-plate);
  color: var(--t3-ink);
  border-top: 2px solid var(--t3-seam);
}

/* Checklist markers read as stamped ink, not raw merchant accent */
.website-v2-site[data-website-template="template3"]
  [data-website-node="services-list"]
  li
  > span:first-child {
  color: var(--t3-ink);
  font-weight: 700;
}

/* Map plate — plain steel with a seam on top */
.website-v2-site[data-website-template="template3"]
  [data-website-node="map-section"] {
  background: var(--t3-plate);
  color: var(--t3-ink);
  border-top: 2px solid var(--t3-seam);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="map-card"] {
  border: 2px solid var(--t3-seam);
  border-radius: 2px;
  background: var(--t3-pit);
}

.website-v2-site[data-website-template="template3"]
  .website-v2-map-card__canvas,
.website-v2-site[data-website-template="template3"]
  [data-website-node="map-card"]
  > img {
  border-radius: 0;
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="map-card"]
  address {
  color: var(--t3-ink);
  font-family: var(--t3-font-sans);
  font-size: 16px;
  font-weight: 500;
  font-style: normal;
}

/* Footer plate — pit, steel seam */
.website-v2-site[data-website-template="template3"]
  [data-website-node="footer-section"] {
  background: var(--t3-pit);
  border-top: 2px solid var(--t3-seam);
  color: var(--t3-ink);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="footer-brand"] {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--t3-ink);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="footer-links"]
  a {
  border: 2px solid var(--t3-seam-strong);
  border-radius: 2px;
  padding: 0.6rem 1rem;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--t3-ink);
  text-decoration: none;
  transition: border-color 100ms linear, color 100ms linear, background-color
    100ms linear;
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="footer-links"]
  a:hover {
  border-color: var(--t3-accent);
  color: var(--t3-accent);
  background: rgba(255, 255, 255, 0.04);
}

/* ============================
   CATALOG — the spec table
   V2 oficina catalog is the shared row variant: bordered rows, steel thumb
   square, Barlow 700 tabular price. Port the surface styling; filter/cart
   wiring is shared V2.
   ============================ */

.website-v2-site[data-website-template="template3"]
  [data-website-node="catalog-section"] {
  background: var(--t3-plate-raised);
  border-top: 2px solid var(--t3-seam);
  padding-top: clamp(2.5rem, 6vw, 6.5rem);
  padding-bottom: clamp(2.5rem, 6vw, 6.5rem);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="catalog-section"]
  .website-v2-catalog {
  padding-top: 0;
  padding-bottom: 0;
}

.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__search-input {
  border: 2px solid var(--t3-seam);
  border-radius: 2px;
  background: var(--t3-pit);
  color: var(--t3-ink);
  font-family: var(--t3-font-sans);
}

.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__search-input:focus {
  border-color: var(--t3-accent);
  background: var(--t3-pit);
}

.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__category-pill {
  border: 2px solid var(--t3-seam);
  border-radius: 2px;
  background: transparent;
  color: var(--t3-ink);
  font-family: var(--t3-font-sans);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
  transition: background-color 50ms linear, border-color 50ms linear, color 50ms
    linear;
}

.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__category-pill[aria-pressed="true"] {
  background: var(--t3-accent);
  border-color: var(--t3-accent);
  color: var(--t3-accent-fg);
}

/* Row: full-width bordered steel row, zero card chrome */
.website-v2-site[data-website-template="template3"] .website-v2-catalog__item {
  border-bottom: 2px solid var(--t3-seam);
  border-radius: 0;
  background: none;
  padding: 14px 6px;
  transition: background-color 50ms linear;
}

.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__item:hover {
  background: rgba(255, 255, 255, 0.04);
}

/* Square steel thumb */
.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__item
  > div:first-child {
  border: 2px solid var(--t3-seam);
  border-radius: 0;
  background: var(--t3-pit);
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.05) 0 7px,
    transparent 7px 14px
  );
  overflow: hidden;
}

.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__item
  strong {
  font-family: var(--t3-font-sans);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--t3-ink);
  line-height: 1.3;
}

.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__item
  p {
  font-family: var(--t3-font-sans);
  font-size: 13.5px;
  line-height: 1.45;
  color: color-mix(in srgb, var(--t3-ink) 55%, transparent);
}

/* Price: right-aligned Barlow 700 tabular numerals */
.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__item
  .tw-font-bold.tw-text-primary,
.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__item
  [class*="whitespace-nowrap"] {
  font-family: var(--t3-font-sans);
  font-size: 17px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
  color: var(--t3-ink);
}

/* Square solid accent add-to-cart stamp */
.website-v2-site[data-website-template="template3"] .website-v2-catalog__add {
  border: 2px solid var(--t3-accent);
  border-radius: 2px;
  background: var(--t3-accent);
  color: var(--t3-accent-fg);
  font-family: var(--t3-font-sans);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transition: background-color 50ms linear, color 50ms linear, border-color 50ms
    linear;
}

.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__add:hover {
  background: color-mix(in srgb, #ffffff 10%, var(--t3-accent));
  border-color: color-mix(in srgb, #ffffff 10%, var(--t3-accent));
  color: var(--t3-accent-fg);
}

.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__add:active {
  transform: translateY(1px);
}

.website-v2-site[data-website-template="template3"] .website-v2-catalog__more {
  border: 2px solid var(--t3-seam-strong);
  border-radius: 2px;
  color: var(--t3-ink);
  font-family: var(--t3-font-sans);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.website-v2-site[data-website-template="template3"]
  .website-v2-catalog__more:hover {
  border-color: var(--t3-accent);
  color: var(--t3-accent);
}

/* ============================
   BOOKING — raised plate, steel surfaces
   V2 renders the legacy booking slide markup under the booking node; port
   the surface styling, not legacy modal internals.
   ============================ */

.website-v2-site[data-website-template="template3"]
  [data-website-node="booking-section"] {
  background: var(--t3-plate-raised);
  color: var(--t3-ink);
  border-top: 2px solid var(--t3-seam);
  padding-top: clamp(2.5rem, 6vw, 6.5rem);
  padding-bottom: clamp(2.5rem, 6vw, 6.5rem);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="booking"]
  .slide__content {
  background: var(--t3-plate-raised);
  border-top: 2px solid var(--t3-seam);
  border-radius: 0;
  box-shadow: none;
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="booking"]
  .section__subtitle {
  display: inline-block;
  width: fit-content;
  background: var(--t3-accent);
  color: var(--t3-accent-fg);
  font-family: var(--t3-font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1.2;
  padding: 5px 10px 4px;
  border-radius: 2px;
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="booking"]
  .section__display {
  font-family: var(--t3-font-display);
  font-weight: 400;
  font-size: clamp(32px, 4.5vw, 64px);
  line-height: 1.18;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--t3-ink);
}

/* Steel search + service cards */
.website-v2-site[data-website-template="template3"]
  [data-website-node="booking"]
  .catalog-search__input,
.website-v2-site[data-website-template="template3"]
  [data-website-node="booking"]
  .booking-section-search__input {
  border: 2px solid var(--t3-seam);
  border-radius: 2px;
  background: var(--t3-pit);
  color: var(--t3-ink);
  font-family: var(--t3-font-sans);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="booking"]
  .catalog-search__input:focus {
  border-color: var(--t3-accent);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="booking"]
  .booking-service-grid-card,
.website-v2-site[data-website-template="template3"]
  [data-website-node="booking"]
  .booking-section-grid__card {
  border: 2px solid var(--t3-seam);
  border-radius: 2px;
  background: var(--t3-pit);
  color: var(--t3-ink);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="booking"]
  .booking-service-grid-card__body {
  color: var(--t3-ink);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="trust-section"] {
  padding: 0;
  border-top: 2px solid var(--t3-seam);
  background: var(--t3-plate);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="trust-container"] {
  max-width: var(--t3-content-max, 1200px);
  padding: clamp(28px, 6vw, 80px);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="trust-stack"] {
  gap: 24px;
  align-items: flex-start;
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="trust-title"]
  h2 {
  font-size: clamp(38px, 5.5vw, 84px);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="trust-body"] {
  max-width: 70ch;
  color: color-mix(in srgb, var(--t3-ink) 78%, transparent);
  font-size: 17px;
  line-height: 1.6;
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="trust-badge"] {
  width: fit-content;
  border: 1px solid var(--t3-seam-strong);
  border-radius: 0;
  background: var(--t3-pit);
  color: var(--t3-ink);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="trust-cta"] {
  border-radius: 0;
  background: var(--t3-accent);
  color: var(--t3-accent-fg);
  font-family: var(--t3-font-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="finale-details-container"] {
  padding-top: 0;
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="finale-details"] {
  color: color-mix(in srgb, var(--t3-ink) 78%, transparent);
  font-size: 14px;
}

/* ============================
   FINALE — the last plate
   Hazard-boosted top border, Anton display, hard accent CTA block.
   ============================ */

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-finale"] {
  position: relative;
  background: var(--t3-pit);
  border-top: 3px solid var(--t3-accent);
  color: var(--t3-ink);
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-finale"]
  h2 {
  font-family: var(--t3-font-display);
  font-weight: 400;
  font-size: clamp(40px, 7vw, 104px);
  line-height: 1.18;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--t3-ink);
  margin: 0;
  overflow-wrap: break-word;
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-finale-copy"] {
  background: transparent;
}

.website-v2-site[data-website-template="template3"]
  [data-website-node="t3-finale-copy"]
  p {
  font-size: 17px;
  max-width: 56ch;
  margin: 20px 0 0;
}

/* ============================
   NARROW VIEWPORTS
   ============================ */

@media (max-width: 767px) {
  .website-v2-site[data-website-template="template3"] .website-v2-hero__title,
  .website-v2-site[data-website-template="template3"]
    [data-website-component="TitleSection"]
    h2,
  .website-v2-site[data-website-template="template3"]
    .website-v2-catalog__toolbar
    h2 {
    font-size: clamp(32px, 9vw, 60px);
  }

  .website-v2-site[data-website-template="template3"]
    .website-v2-hero--oficina
    .website-v2-hero__title {
    font-size: clamp(38px, 13vw, 76px);
  }

  .website-v2-site[data-website-template="template3"]
    [data-website-node="t3-finale"]
    h2 {
    font-size: clamp(32px, 10vw, 64px);
  }

  .website-v2-site[data-website-template="template3"] .website-v2-hero__body {
    font-size: 16px;
  }

  .website-v2-site[data-website-template="template3"]
    .website-v2-hero__actions
    a,
  .website-v2-site[data-website-template="template3"]
    [data-website-component="CtaSection"]
    a {
    width: 100%;
  }

  .website-v2-site[data-website-template="template3"]
    .website-v2-catalog__item {
    gap: 12px;
    padding: 12px 2px;
  }

  .website-v2-site[data-website-template="template3"]
    .website-v2-catalog__item
    strong {
    font-size: 14px;
  }

  .website-v2-site[data-website-template="template3"]
    .website-v2-catalog__item
    p {
    font-size: 12.5px;
  }

  .website-v2-site[data-website-template="template3"]
    [data-website-node="t3-ticker"]
    > div {
    font-size: 18px;
  }
}

/* ============================
   REDUCED MOTION — kill every loop, keep the cuts instant
   ============================ */

@media (prefers-reduced-motion: reduce) {
  .website-v2-site[data-website-template="template3"]
    [data-website-node="t3-ticker"]
    > div {
    animation: none;
  }
}

/**
 * template4 — Forno · THE MENU BOARD (V2 port)
 * ==================================
 * Warm artisanal appetite — bakery/kitchen warm paper. 1:1 port of
 * public/styles/templates/template4.css onto the V2 DOM.
 *
 * ANATOMY (natural-scroll document):
 * - No top nav: the intro CTA, catalog checkout and finale CTA carry the
 *   "start ordering" action; no fixed element competes with in-flow content.
 * - Intro: centered framed POSTCARD — arch-topped photo window, eyebrow,
 *   Fraunces display, body, pill CTA, closed by a dashed ticket rule.
 * - Catalog: a centered MENU BOARD — warm wash ticket box, centered header
 *   with ornament rules, dotted-leader rows (name … price) in two columns.
 * - Rhythm: centered contained bands (--t4-band, ~1200px), flat sections
 *   separated by 1px dashed perforation rules, warm-tint dashed ticket
 *   bands for services/booking and the catalog board.
 * - Finale: full-width warm wash band — centered closing card, footer on the
 *   same section tint.
 *
 * Type: Fraunces (display) + Karla (body). Canvas cream, espresso ink,
 * warm clamped accent (--tpl-* vars mirror the template-config.js recipe).
 */

/* ============================
   ROOT TOKENS
   ============================ */

.website-v2-site[data-website-template="template4"] {
  /* Typography — reference stacks exactly as the V1 CSS declares them */
  --font-family-sans: "Karla", -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  --font-family-display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --display-weight: 600;
  --display-letter-spacing: -0.01em;
  --font-weight-bold: 700;
  --font-weight-semibold: 700;

  /* Runtime tokens with recipe fallbacks baked in */
  --t4-canvas: var(--tpl-canvas, #faf3e8);
  --t4-ink: var(--tpl-ink, #2e2018);
  --t4-accent: var(--tpl-accent, #b4500b);
  --t4-accent-fg: var(--tpl-accent-fg, #ffffff);

  /* Derived washes */
  --t4-perforation: color-mix(in srgb, var(--t4-ink) 26%, transparent);
  --t4-hairline: color-mix(in srgb, var(--t4-ink) 16%, transparent);
  --t4-wash: color-mix(in srgb, var(--t4-accent) 7%, var(--t4-canvas));
  --t4-wash-strong: color-mix(in srgb, var(--t4-accent) 12%, var(--t4-canvas));
  --t4-muted: color-mix(in srgb, var(--t4-ink) 62%, transparent);
  --t4-band: min(1200px, 92vw);

  /* Vertical rhythm — the same shared scale as V1 */
  --t4-space-gap: clamp(40px, 6vh, 72px);
  --t4-space-pad: clamp(48px, 7vh, 80px);
  --t4-space-inset-x: clamp(20px, 4vw, 56px);
  --t4-mobile-inset-x: clamp(18px, 4.5vw, 36px);

  /* Section title scale — one shared size for every section header */
  --t4-display-size: clamp(32px, 3.6vw, 48px);
  --t4-display-size-mobile: clamp(26px, 7.2vw, 44px);

  background: var(--t4-canvas);
  color: var(--t4-ink);
  font-family: var(--font-family-sans);
}

/* ============================
   INTRO — framed postcard
   (globals.css already lays out .website-v2-hero--forno; this layer
   re-skins it with the Forno tokens at the V1 values)
   ============================ */

.website-v2-site[data-website-template="template4"]
  [data-website-node="t4-intro"] {
  padding: var(--t4-space-pad) 24px 0;
  border-bottom: none;
  background: var(--t4-canvas);
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"] .website-v2-hero--forno {
  max-width: 960px;
  gap: 20px;
  padding: 0 0 var(--t4-space-gap);
}

/* Ticket-edge perforation — the dashed rule that closes the intro */
.website-v2-site[data-website-template="template4"]
  [data-website-node="t4-intro"]::after {
  content: "";
  display: block;
  width: var(--t4-band);
  max-width: calc(100% - 48px);
  margin: 0 auto;
  border-top: 1px dashed var(--t4-perforation);
}

/* The arch-topped frame */
.website-v2-site[data-website-template="template4"]
  .website-v2-hero__forno-image {
  border: 1px solid var(--t4-perforation);
  border-radius: 260px 260px 24px 24px;
  background: var(--t4-canvas);
}

.website-v2-site[data-website-template="template4"]
  .website-v2-hero__forno-image
  img {
  border-radius: 246px 246px 12px 12px;
}

/* The hero header title — the page's main statement, bigger than every other
   section title, with its own clamp independent of the shared token */
.website-v2-site[data-website-template="template4"] .website-v2-hero__title {
  margin: 0;
  font-family: var(--font-family-display);
  font-size: clamp(40px, 5.6vw, 68px);
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: var(--display-letter-spacing);
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"] .website-v2-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 0;
  font-family: var(--font-family-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--t4-ink);
}

/* Eyebrow with small ornament rules either side */
.website-v2-site[data-website-template="template4"]
  .website-v2-hero__eyebrow::before,
.website-v2-site[data-website-template="template4"]
  .website-v2-hero__eyebrow::after {
  content: "";
  width: 36px;
  height: 1px;
  background: var(--t4-hairline);
  flex: none;
}

.website-v2-site[data-website-template="template4"] .website-v2-hero__body {
  margin: 0;
  max-width: 70ch;
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.65;
  color: var(--t4-muted);
}

.website-v2-site[data-website-template="template4"] .website-v2-hero__actions {
  gap: 16px;
  margin-top: 6px;
}

/* ============================
   BUTTONS — full pill, accent fill, proofing-dough rise
   ============================ */

.website-v2-site[data-website-template="template4"] .website-v2-hero__actions a,
.website-v2-site[data-website-template="template4"]
  [data-website-component="CtaSection"]
  a,
.website-v2-site[data-website-template="template4"]
  [data-website-node="t4-finale-copy"]
  a {
  border-radius: 999px;
  background: var(--t4-accent);
  color: var(--t4-accent-fg);
  font-weight: 700;
  box-shadow: none;
}

.website-v2-site[data-website-template="template4"]
  .website-v2-hero__actions
  a:hover,
.website-v2-site[data-website-template="template4"]
  [data-website-component="CtaSection"]
  a:hover,
.website-v2-site[data-website-template="template4"]
  [data-website-node="t4-finale-copy"]
  a:hover {
  background: color-mix(in srgb, #000000 8%, var(--t4-accent));
  box-shadow: 0 6px 20px color-mix(in srgb, var(--t4-accent) 35%, transparent);
  transform: scale(1.02);
}

.website-v2-site[data-website-template="template4"]
  .website-v2-hero__actions
  a:active,
.website-v2-site[data-website-template="template4"]
  [data-website-component="CtaSection"]
  a:active,
.website-v2-site[data-website-template="template4"]
  [data-website-node="t4-finale-copy"]
  a:active {
  transform: scale(1);
}

/* ============================
   PAYMENT STRIP — secure payment on the cream canvas
   ============================ */

.website-v2-site[data-website-template="template4"]
  [data-website-node="t4-payment"] {
  background: var(--t4-canvas);
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="payment-inner"] {
  max-width: none;
}

.website-v2-site[data-website-template="template4"] .website-v2-payment {
  padding-block: 0;
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"] .website-v2-payment__badge {
  justify-content: center;
  color: var(--t4-muted);
}

.website-v2-site[data-website-template="template4"] .website-v2-payment__item {
  opacity: 0.8;
}

/* Card-brand assets are white wordmarks — render as quiet ink marks */
.website-v2-site[data-website-template="template4"]
  .website-v2-payment__item
  img {
  filter: brightness(0);
  opacity: 0.55;
}

/* ============================
   SHARED SECTION RHYTHM — bands, headers, dividers
   ============================ */

.website-v2-site[data-website-template="template4"]
  [data-website-node="services-section"],
.website-v2-site[data-website-template="template4"]
  [data-website-node="booking-section"],
.website-v2-site[data-website-template="template4"]
  [data-website-node="map-section"] {
  background: transparent;
  border-top: 1px dashed var(--t4-perforation);
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="catalog-container"],
.website-v2-site[data-website-template="template4"]
  [data-website-node="services-container"],
.website-v2-site[data-website-template="template4"]
  [data-website-node="booking-container"],
.website-v2-site[data-website-template="template4"]
  [data-website-node="map-container"] {
  max-width: none;
  padding: 0;
  margin: 0 auto;
  width: 100%;
}

/* ============================
   CATALOG — THE MENU BOARD
   ============================ */

/* The board itself: contained warm ticket. Its own box, centered as a
   band with --t4-space-pad back for internal framing. */
.website-v2-site[data-website-template="template4"]
  [data-website-node="catalog"] {
  width: var(--t4-band);
  max-width: calc(100% - 48px);
  margin: 0 auto;
  padding: var(--t4-space-pad) clamp(20px, 4vw, 64px);
  background: var(--t4-wash);
  border: 1px dashed var(--t4-perforation);
  border-radius: 28px;
  color: var(--t4-ink);
  gap: 0;
}

/* Centered group header with ornament rules either side of the eyebrow */
.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__toolbar {
  gap: 0;
  align-items: center;
  text-align: center;
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__toolbar
  > div:first-child {
  align-items: center;
  justify-content: center;
  text-align: center;
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__toolbar
  > div:first-child
  > div {
  align-items: center;
  text-align: center;
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-family: var(--font-family-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__eyebrow::before,
.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__eyebrow::after {
  content: "";
  width: 36px;
  height: 1px;
  background: var(--t4-hairline);
  flex: none;
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__toolbar
  h2 {
  margin: 12px 0 0;
  font-family: var(--font-family-display);
  font-size: var(--t4-display-size);
  line-height: 1.15;
  font-weight: 600;
  text-align: center;
  color: var(--t4-ink);
}

/* Filters — search full width, category chips centered below */
.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__filters {
  margin-top: clamp(28px, 4vh, 44px);
  align-items: stretch;
  gap: 16px;
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__search {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__search-input {
  max-width: 100%;
  background: var(--t4-canvas);
  border: 1px solid var(--t4-hairline);
  border-radius: 999px;
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__categories {
  justify-content: center;
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__category-list {
  justify-content: center;
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__category-pill {
  border: 1px solid var(--t4-hairline);
  border-radius: 999px;
  background: var(--t4-canvas);
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__category-pill[aria-pressed="true"] {
  border-color: var(--t4-accent);
  background: var(--t4-accent);
  color: var(--t4-accent-fg);
}

/* The two-column menu grid (single column in portrait) */
.website-v2-site[data-website-template="template4"] .website-v2-catalog__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: clamp(32px, 5vw, 64px);
  row-gap: 4px;
  margin: 24px 0 0;
  padding-bottom: 32px;
}

/* One dotted-leader row — flat, no card chrome, hover wash only */
.website-v2-site[data-website-template="template4"] .website-v2-catalog__item {
  gap: 14px;
  padding: 14px 6px;
  border-bottom: none;
  border-radius: 14px;
  background: none;
  box-shadow: none;
  transition: background 0.2s ease;
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__item:hover {
  transform: none;
  box-shadow: none;
  background: color-mix(in srgb, var(--t4-accent) 7%, transparent);
}

/* Menu row name — Karla, ink */
.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__item
  strong {
  font-family: var(--font-family-sans);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--t4-ink);
}

/* The leader dots between name and price */
.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__item
  > div
  > div
  > span:not(:last-child) {
  border-bottom: 2px dotted color-mix(in srgb, var(--t4-ink) 32%, transparent);
  transform: translateY(-4px);
}

/* Price — Fraunces, ink. The clamped accent can't hold 4.5:1 unpaired on
   the cream canvas; V1 made the same call. */
.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__item
  > div
  > div
  > span:last-child {
  font-family: var(--font-family-display);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__item
  > div
  > div
  > span:last-child:hover {
  color: color-mix(in srgb, var(--t4-accent) 30%, var(--t4-ink));
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__item
  p {
  margin: 4px 0 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--t4-muted);
}

/* Add-to-cart — small round warm pill at the row end */
.website-v2-site[data-website-template="template4"] .website-v2-catalog__add {
  align-self: center;
  border: 1px solid color-mix(in srgb, var(--t4-accent) 45%, transparent);
  border-radius: 999px;
  background: var(--t4-canvas);
  color: var(--t4-ink);
  font-weight: 700;
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__add:hover:not(:disabled) {
  border-color: var(--t4-accent);
  background: var(--t4-accent);
  color: var(--t4-accent-fg);
  transform: scale(1.08);
}

.website-v2-site[data-website-template="template4"]
  .website-v2-catalog__add:active:not(:disabled) {
  transform: scale(1);
}

/* "Ver mais" follows the centered rows on the menu board */
.website-v2-site[data-website-template="template4"] .website-v2-catalog__more {
  align-self: center;
  margin: 12px auto 0;
  border: 1px solid var(--t4-hairline);
  border-radius: 999px;
  background: var(--t4-canvas);
  padding: 6px 16px;
  color: var(--t4-ink);
  font-weight: 700;
  text-decoration: none;
}

/* ============================
   BOOKING — warm tint ticket band
   (the widget inside is shared + conversion-critical)
   ============================ */

.website-v2-site[data-website-template="template4"]
  [data-website-node="booking"] {
  scroll-margin-top: 8rem;
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="booking"]
  .slide {
  height: auto;
  background: transparent;
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="booking"]
  .slide__wrapper {
  height: auto;
  perspective: none;
}

/* Booking rides in the same warm-tint ticket band as the features sections:
   full dashed border + arch-kin radius, --t4-space-pad internal framing */
.website-v2-site[data-website-template="template4"]
  [data-website-node="booking"]
  .slide__content {
  position: relative;
  inset: auto;
  width: var(--t4-band);
  max-width: calc(100% - 48px);
  margin: 0 auto;
  padding: var(--t4-space-pad) var(--t4-space-inset-x);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  border: 1px dashed var(--t4-perforation);
  border-radius: 28px;
  background: var(--t4-wash);
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="booking"]
  .slide__top {
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: 100%;
}

/* The stamped-medallion icon is noisy on every section — hide it */
.website-v2-site[data-website-template="template4"]
  [data-website-node="booking"]
  .slide__top
  > .icon {
  display: none;
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="booking"]
  .slide__title-section {
  align-items: center;
  text-align: center;
  gap: 12px;
}

/* Eyebrow with small ornament rules either side */
.website-v2-site[data-website-template="template4"]
  [data-website-node="booking"]
  .subtitle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-family: var(--font-family-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="booking"]
  .subtitle::before,
.website-v2-site[data-website-template="template4"]
  [data-website-node="booking"]
  .subtitle::after {
  content: "";
  width: 36px;
  height: 1px;
  background: var(--t4-hairline);
  flex: none;
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="booking"]
  .display {
  font-family: var(--font-family-display);
  font-size: var(--t4-display-size);
  line-height: 1.15;
  font-weight: 600;
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="booking"]
  .body-text {
  max-width: 55ch;
  margin-inline: auto;
  text-align: center;
  color: var(--t4-muted);
}

/* ============================
   SERVICES — warm tint ticket band (features)
   ============================ */

.website-v2-site[data-website-template="template4"]
  [data-website-node="services-grid"] {
  width: var(--t4-band);
  max-width: calc(100% - 48px);
  margin: 0 auto;
  padding: var(--t4-space-pad) var(--t4-space-inset-x);
  background: var(--t4-wash);
  border: 1px dashed var(--t4-perforation);
  border-radius: 28px;
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="services-title"]
  > span:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-family: var(--font-family-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="services-title"]
  > span:first-child::before,
.website-v2-site[data-website-template="template4"]
  [data-website-node="services-title"]
  > span:first-child::after {
  content: "";
  width: 36px;
  height: 1px;
  background: var(--t4-hairline);
  flex: none;
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="services-title"]
  h2 {
  margin: 0;
  font-family: var(--font-family-display);
  font-size: var(--t4-display-size);
  line-height: 1.15;
  font-weight: 600;
  color: var(--t4-ink);
}

/* Feature-list items + markers — ink, not the raw merchant primary */
.website-v2-site[data-website-template="template4"]
  [data-website-node="services-list"]
  li {
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="services-list"]
  li
  > span:first-child {
  color: var(--t4-ink);
}

/* ============================
   MAP — flat band, arched media-block kin
   ============================ */

.website-v2-site[data-website-template="template4"]
  [data-website-node="map-grid"] {
  width: var(--t4-band);
  max-width: calc(100% - 48px);
  margin: 0 auto;
  gap: clamp(32px, 6vw, 72px);
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="map-copy"] {
  justify-content: center;
  gap: 16px;
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="map-title"]
  > span:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-family: var(--font-family-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="map-title"]
  > span:first-child::before,
.website-v2-site[data-website-template="template4"]
  [data-website-node="map-title"]
  > span:first-child::after {
  content: "";
  width: 36px;
  height: 1px;
  background: var(--t4-hairline);
  flex: none;
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="map-title"]
  h2 {
  margin: 0;
  font-family: var(--font-family-display);
  font-size: var(--t4-display-size);
  line-height: 1.15;
  font-weight: 600;
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="map-address"] {
  color: var(--t4-muted);
}

/* The map card reads as a warm framed postcard, arched on top */
.website-v2-site[data-website-template="template4"]
  [data-website-node="map-card"] {
  overflow: hidden;
  border: 1px solid var(--t4-perforation);
  border-radius: 200px 200px 20px 20px;
  background: color-mix(in srgb, var(--t4-ink) 4%, var(--t4-canvas));
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="map-card"]
  img {
  border-radius: 200px 200px 0 0;
}

/* ============================
   FINALE — full-width warm wash band + centered closing card
   ============================ */

.website-v2-site[data-website-template="template4"]
  [data-website-node="t4-finale"] {
  background: var(--t4-wash);
  color: var(--t4-ink);
  padding: var(--t4-space-pad) 24px clamp(28px, 4vh, 48px);
}

/* The closing card sits centered on the section wash, same shape as the
   intro postcard: arched photo window above centered type */
.website-v2-site[data-website-template="template4"]
  [data-website-node="t4-finale-copy"] {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: var(--t4-band);
  max-width: 100%;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 64px);
  gap: 18px;
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="t4-finale-copy"]
  img {
  width: min(520px, 100%);
  border-radius: 260px 260px 24px 24px;
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="t4-finale-copy"]
  h2 {
  margin: 0;
  font-family: var(--font-family-display);
  font-size: var(--t4-display-size);
  line-height: 1.15;
  font-weight: 600;
  color: var(--t4-ink);
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="t4-finale-copy"]
  p {
  margin: 0;
  max-width: 55ch;
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.65;
  color: var(--t4-muted);
  white-space: pre-line;
}

/* ============================
   FOOTER — platform footer on the same section wash
   ============================ */

.website-v2-site[data-website-template="template4"]
  [data-website-node="footer-section"] {
  background: var(--t4-wash);
  color: var(--t4-ink);
  border-top: none;
  padding-top: clamp(28px, 4vh, 40px);
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="footer-container"] {
  max-width: none;
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="footer-row"] {
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="footer-brand"] {
  margin: 0;
  color: var(--t4-ink);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* Social links — circular ink-tint chips (the V1 social-link language,
   carried by the V2 text links) */
.website-v2-site[data-website-template="template4"]
  [data-website-node="footer-links"]
  a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--t4-hairline);
  border-radius: 999px;
  background: color-mix(in srgb, var(--t4-ink) 4%, transparent);
  color: var(--t4-ink);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}

.website-v2-site[data-website-template="template4"]
  [data-website-node="footer-links"]
  a:hover {
  background: color-mix(in srgb, var(--t4-ink) 9%, transparent);
  transform: translateY(-2px);
}

/* ============================
   RESPONSIVE — portrait / mobile (390 design)
   ============================ */

@media (max-width: 767px) {
  .website-v2-site[data-website-template="template4"] {
    --t4-space-gap: 28px;
    --t4-space-pad: 36px;
  }

  .website-v2-site[data-website-template="template4"]
    [data-website-node="t4-intro"] {
    padding: var(--t4-space-pad) 20px 0;
  }

  .website-v2-site[data-website-template="template4"] .website-v2-hero--forno {
    gap: 16px;
  }

  .website-v2-site[data-website-template="template4"]
    .website-v2-hero__forno-image {
    padding: 10px;
  }

  .website-v2-site[data-website-template="template4"] .website-v2-hero__title {
    font-size: clamp(32px, 9vw, 56px);
  }

  /* Shared section-title scale for every header at this width */
  .website-v2-site[data-website-template="template4"]
    .website-v2-catalog__toolbar
    h2,
  .website-v2-site[data-website-template="template4"]
    [data-website-node="booking"]
    .display,
  .website-v2-site[data-website-template="template4"]
    [data-website-node="services-title"]
    h2,
  .website-v2-site[data-website-template="template4"]
    [data-website-node="map-title"]
    h2,
  .website-v2-site[data-website-template="template4"]
    [data-website-node="t4-finale-copy"]
    h2 {
    font-size: var(--t4-display-size-mobile);
  }

  /* Ticket bands tighten their radius + edge math */
  .website-v2-site[data-website-template="template4"]
    [data-website-node="catalog"],
  .website-v2-site[data-website-template="template4"]
    [data-website-node="services-grid"],
  .website-v2-site[data-website-template="template4"]
    [data-website-node="booking"]
    .slide__content {
    border-radius: 22px;
    padding-inline: var(--t4-mobile-inset-x);
  }

  .website-v2-site[data-website-template="template4"]
    [data-website-node="catalog"] {
    max-width: calc(100% - 36px);
  }

  /* Menu collapses to a single column */
  .website-v2-site[data-website-template="template4"]
    .website-v2-catalog__list {
    grid-template-columns: 1fr;
    row-gap: 2px;
    padding-bottom: 12px;
  }

  /* The dotted-leader line wraps: name and price become independent rows
     inside the content column (V1 hides the leader dots at phone widths) */
  .website-v2-site[data-website-template="template4"]
    .website-v2-catalog__item
    > div
    > div {
    flex-wrap: wrap;
    row-gap: 8px;
  }

  .website-v2-site[data-website-template="template4"]
    .website-v2-catalog__item
    > div
    > div
    > span {
    display: none;
  }

  .website-v2-site[data-website-template="template4"]
    .website-v2-catalog__item
    > div
    > div
    > span:last-child {
    display: inline;
  }

  .website-v2-site[data-website-template="template4"]
    [data-website-node="t4-finale-copy"] {
    padding-inline: 18px;
  }

  .website-v2-site[data-website-template="template4"]
    [data-website-node="footer-row"] {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

/* ============================
   REDUCED MOTION
   ============================ */

@media (prefers-reduced-motion: reduce) {
  .website-v2-site[data-website-template="template4"]
    .website-v2-hero__actions
    a:hover,
  .website-v2-site[data-website-template="template4"]
    [data-website-component="CtaSection"]
    a:hover,
  .website-v2-site[data-website-template="template4"]
    [data-website-node="t4-finale-copy"]
    a:hover {
    transform: none;
  }

  .website-v2-site[data-website-template="template4"]
    [data-website-node="footer-links"]
    a,
  .website-v2-site[data-website-template="template4"]
    [data-website-node="footer-links"]
    a:hover {
    transition: none;
    transform: none;
  }

  .website-v2-site[data-website-template="template4"]
    .website-v2-catalog__item {
    transition: none;
  }
}

/**
 * template5 — Ateliê (THE STATIONERY), V2 port
 * ==================================================
 * Soft luxury on an ivory sheet: Marcellus display (single 400,
 * font-synthesis none) + Mulish body (600 as bold), canvas ivory tinted 5%
 * with the clamped merchant accent, ink #2b2622, gold hairlines/labels
 * from the accent, double-framed stationery cards (outer border + inner
 * ruled inset), horizontal scroll-snap placard rail, emphasized
 * double-gold booking frame, centered invitation finale.
 *
 * V2 notes: the renderer clamps the merchant primary into the recipe
 * (sat 18–45, light 35–55, lowChromaFallback #9c7a52) and sets
 * --tpl-canvas/--tpl-ink/--tpl-accent/--tpl-accent-fg; this port derives
 * every t5 token from those. The globals.css atelier block already ships
 * a first-pass hero/navigation silhouette; this file carries the full
 * stationery identity at higher specificity (this bundle loads after it).
 */

/* ============================
   ROOT TOKENS
   ============================ */

.website-v2-site[data-website-template="template5"] {
  --t5-canvas-base: var(--tpl-canvas, #f8f4ee);
  --t5-ink: var(--tpl-ink, #2b2622);
  --t5-accent: var(--tpl-accent, #9c7a52);
  --t5-accent-fg: var(--tpl-accent-fg, #ffffff);

  /* Discreet merchant wash on the ivory sheet — monochrome, not a color block */
  --t5-canvas: color-mix(in srgb, var(--t5-accent) 5%, var(--t5-canvas-base));

  /* One sheet color site-wide — no band alternation */
  --t5-wash: var(--t5-canvas);
  --t5-surface-lift: color-mix(in srgb, var(--t5-ink) 5%, var(--t5-canvas));

  --t5-ink-soft: color-mix(in srgb, var(--t5-ink) 72%, transparent);
  --t5-ink-faint: color-mix(in srgb, var(--t5-ink) 50%, transparent);

  /* Hairline + label voice — merchant accent, softened for engraving */
  --t5-gold: var(--t5-accent);
  --t5-gold-line: color-mix(in srgb, var(--t5-accent) 55%, transparent);
  --t5-hairline: 1px solid var(--t5-gold-line);
  --t5-rule-w: 1px;
  --t5-rule-c: var(--t5-gold-line);

  /* Typography — Marcellus single 400 + Mulish with 600 as the bold step */
  --t5-font-display: "Marcellus", "Iowan Old Style", Georgia, serif;
  --t5-font-sans: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  --t5-nav-h: 64px;

  /* Shared content band — the framed panel width */
  --t5-band-wide: 1160px;

  /* Square stationery edges site-wide */
  --w2-radius: 0;

  background: var(--t5-canvas);
  color: var(--t5-ink);
  font-family: var(--t5-font-sans);
  font-synthesis: none;
}

.website-v2-site[data-website-template="template5"] :where(h1, h2, h3) {
  font-family: var(--t5-font-display);
  font-weight: 400;
  letter-spacing: 0.02em;
  font-synthesis: none;
}

/* 1px gold-alpha hairlines vanish into dirty yellow on dpr-1 Android —
   thicken to 2px solid and deepen the tone so the rule survives. */
@media (max-resolution: 1.5dppx) {
  .website-v2-site[data-website-template="template5"] {
    --t5-hairline: 2px solid
      color-mix(in srgb, var(--t5-accent) 75%, var(--t5-ink));
    --t5-rule-w: 2px;
    --t5-rule-c: color-mix(in srgb, var(--t5-accent) 75%, var(--t5-ink));
  }
}

/* ============================
   TYPE SCALE — engraved stationery
   ============================ */

.website-v2-site[data-website-template="template5"]
  [data-website-component="TitleSection"] {
  gap: 1rem;
}

.website-v2-site[data-website-template="template5"]
  [data-website-component="TitleSection"]
  > span:first-child {
  font-family: var(--t5-font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--t5-gold);
}

.website-v2-site[data-website-template="template5"]
  [data-website-component="TitleSection"]
  h2 {
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.2;
}

.website-v2-site[data-website-template="template5"]
  [data-website-component="CtaSection"]
  h2 {
  font-size: clamp(36px, 4.6vw, 60px);
}

/* Gold IS the label voice here */
.website-v2-site[data-website-template="template5"] .website-v2-hero__eyebrow,
.website-v2-site[data-website-template="template5"]
  .website-v2-catalog__eyebrow,
.website-v2-site[data-website-template="template5"]
  .website-v2-cta-section__eyebrow {
  font-family: var(--t5-font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--t5-gold);
}

/* Intro badge — the V1 whisper badge on the framed hero card */
.website-v2-site[data-website-template="template5"] .website-v2-hero__badge {
  font-family: var(--t5-font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--t5-gold);
}

.website-v2-site[data-website-template="template5"] .website-v2-hero__title {
  font-size: clamp(36px, 4.6vw, 60px);
  line-height: 1.1;
  color: var(--t5-ink);
  overflow-wrap: break-word;
}

.website-v2-site[data-website-template="template5"] .website-v2-hero__body {
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.75;
  color: var(--t5-ink-soft);
}

/* ============================
   NAV — stationery header
   The shared .website-v2-navigation--atelier chrome (globals.css)
   already carries the sticky bar, centered tracked-caps brand and the
   gold rules flanking it; restate the Ateliê values here so the
   hairline voice reads from the t5 tokens.
   ============================ */

.website-v2-site[data-website-template="template5"]
  .website-v2-navigation--atelier {
  min-height: var(--t5-nav-h);
  border-bottom: var(--t5-hairline);
  background: var(--t5-canvas);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-navigation--atelier
  .website-v2-navigation__menu {
  display: none;
}

.website-v2-site[data-website-template="template5"]
  .website-v2-navigation--atelier
  .website-v2-navigation__brand {
  font-family: var(--t5-font-display);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--t5-ink);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-navigation--atelier
  .website-v2-navigation__brand::before,
.website-v2-site[data-website-template="template5"]
  .website-v2-navigation--atelier
  .website-v2-navigation__brand::after {
  width: 28px;
  border-top: var(--t5-rule-w) solid var(--t5-rule-c);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-navigation--atelier
  .website-v2-navigation__cta {
  font-family: var(--t5-font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--t5-ink);
  text-decoration-color: var(--t5-gold);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3rem;
}

.website-v2-site[data-website-template="template5"]
  .website-v2-navigation--atelier
  .website-v2-navigation__cta:hover {
  color: var(--t5-gold);
}

@media (max-width: 720px) {
  .website-v2-site[data-website-template="template5"] {
    --t5-nav-h: 56px;
  }

  .website-v2-site[data-website-template="template5"]
    .website-v2-navigation--atelier
    .website-v2-navigation__brand {
    font-size: 12px;
    letter-spacing: 0.16em;
  }

  .website-v2-site[data-website-template="template5"]
    .website-v2-navigation--atelier
    .website-v2-navigation__brand::before,
  .website-v2-site[data-website-template="template5"]
    .website-v2-navigation--atelier
    .website-v2-navigation__brand::after {
    width: 16px;
  }

  .website-v2-site[data-website-template="template5"]
    .website-v2-navigation--atelier
    .website-v2-navigation__cta {
    font-size: 10px;
    letter-spacing: 0.14em;
  }
}

/* ============================
   HERO — photo band + overlapping stationery card
   The V2 hero--atelier markup ships photo + card; this ports the V1
   double frame (outer hairline border + inner gold-ruled inset via
   outline) and the bottom whisper scrim that seats the card.
   ============================ */

.website-v2-site[data-website-template="template5"]
  [data-website-node="t5-intro"] {
  padding: 0;
  background: var(--t5-canvas);
}

.website-v2-site[data-website-template="template5"] .website-v2-hero--atelier {
  min-height: 0;
  padding: 0 0 clamp(72px, 10vw, 96px);
  background: var(--t5-canvas);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-hero__atelier-photo {
  position: relative;
  height: 68vh;
  min-height: 400px;
  overflow: hidden;
  background: var(--t5-canvas);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-hero__atelier-photo
  img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
}

/* Whisper gradient — bottom 20% only, just enough to seat the card */
.website-v2-site[data-website-template="template5"]
  .website-v2-hero__atelier-photo::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 20%;
  background: linear-gradient(to bottom, transparent, rgba(26, 22, 18, 0.22));
  pointer-events: none;
}

/* The overlap: ivory card riding up over the photo's bottom edge */
.website-v2-site[data-website-template="template5"]
  .website-v2-hero__atelier-card {
  position: relative;
  right: auto;
  left: auto;
  bottom: auto;
  z-index: 2;
  max-width: 720px;
  margin: -96px auto 0;
  border: var(--t5-hairline);
  outline: none;
  box-shadow: 0 24px 60px rgba(43, 38, 34, 0.1);
  background: var(--t5-canvas);
  padding: 24px;
  text-align: center;
}

/* 24px inner gold-ruled inset — the double-frame stationery look */
.website-v2-site[data-website-template="template5"] .website-v2-hero__copy {
  margin: 24px;
  border: var(--t5-hairline);
  padding: clamp(32px, 5vw, 56px) clamp(20px, 4vw, 48px);
  align-items: center;
  text-align: center;
  gap: 18px;
}

.website-v2-site[data-website-template="template5"] .website-v2-hero__body {
  max-width: 55ch;
  margin: 0 auto;
}

.website-v2-site[data-website-template="template5"] .website-v2-hero__actions {
  flex-direction: column;
  align-items: center;
  gap: 22px;
  margin-top: 10px;
}

/* Buttons: outlined brass elegance — no fill until it counts */
.website-v2-site[data-website-template="template5"] .website-v2-hero__actions a,
.website-v2-site[data-website-template="template5"]
  [data-website-component="CtaSection"]
  a,
.website-v2-site[data-website-template="template5"]
  [data-website-node="t5-finale-copy"]
  a {
  border-radius: 0;
  border: 1px solid var(--t5-gold);
  background: transparent;
  color: var(--t5-ink);
  font-family: var(--t5-font-sans);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  box-shadow: none;
}

.website-v2-site[data-website-template="template5"]
  .website-v2-hero__actions
  a:hover,
.website-v2-site[data-website-template="template5"]
  [data-website-component="CtaSection"]
  a:hover,
.website-v2-site[data-website-template="template5"]
  [data-website-node="t5-finale-copy"]
  a:hover {
  background: var(--t5-accent);
  color: var(--t5-accent-fg);
  border-color: var(--t5-accent);
  transform: none;
  box-shadow: none;
}

@media (max-width: 720px) {
  .website-v2-site[data-website-template="template5"]
    .website-v2-hero__atelier-photo {
    height: 52vh;
    min-height: 300px;
  }

  .website-v2-site[data-website-template="template5"]
    .website-v2-hero__atelier-card {
    margin-top: -56px;
    padding: 14px;
  }

  .website-v2-site[data-website-template="template5"] .website-v2-hero__copy {
    margin: 14px;
    padding: 40px 22px;
    gap: 16px;
  }
}

/* ============================
   PAYMENT STRIP — whisper trust line on ivory
   ============================ */

.website-v2-site[data-website-template="template5"]
  [data-website-node="t5-payment"] {
  padding: 0;
}

.website-v2-site[data-website-template="template5"] .website-v2-payment {
  background: var(--t5-canvas);
  padding-block: 0.5rem;
  color: var(--t5-ink-soft);
}

.website-v2-site[data-website-template="template5"] .website-v2-payment__label {
  font-family: var(--t5-font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t5-ink-faint);
}

.website-v2-site[data-website-template="template5"] .website-v2-payment__icon {
  color: var(--t5-ink-faint);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-payment__item
  img {
  filter: grayscale(1) opacity(0.6);
}

/* ============================
   CATALOG — framed gallery wall with a horizontal rail
   V2 catalog variant 'atelier' ships a flex + scroll-snap rail of
   portrait cards with the caption (name/price/add) inside the card;
   the V1 look is a framed 3:4 photo with the caption BELOW the frame,
   so the port re-skins the card: transparent card bed, hairline-framed
   portrait media, caption text styling from the engraved voice.
   ============================ */

.website-v2-site[data-website-template="template5"]
  [data-website-node="catalog-section"] {
  padding: 0;
  background: var(--t5-canvas);
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="catalog-container"] {
  max-width: none;
  padding: 0;
}

.website-v2-site[data-website-template="template5"] .website-v2-catalog {
  padding: 0;
  gap: 0;
}

/* Framed panel: centered, hairline-ruled, breathing room above/below */
.website-v2-site[data-website-template="template5"]
  .website-v2-catalog__toolbar {
  box-sizing: border-box;
  width: min(var(--t5-band-wide), 100%);
  margin: 96px auto 0;
  padding: 72px 48px 0;
  gap: 2.75rem;
}

.website-v2-site[data-website-template="template5"]
  .website-v2-catalog__toolbar
  h2 {
  font-size: clamp(30px, 3.4vw, 46px);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-catalog__filters {
  max-width: 680px;
  margin: 0 auto;
}

/* Search + category pills: square, hairline, centered */
.website-v2-site[data-website-template="template5"]
  .website-v2-catalog__search-input {
  background: transparent;
  border: var(--t5-hairline);
  border-radius: 0;
  font-family: var(--t5-font-sans);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-catalog__search-input:focus {
  border-color: var(--t5-gold);
  outline: none;
}

.website-v2-site[data-website-template="template5"]
  .website-v2-catalog__category-pill {
  border-radius: 0;
  border: 1px solid color-mix(in srgb, var(--t5-ink) 16%, transparent);
  background: transparent;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template5"]
  .website-v2-catalog__category-pill:hover {
  border-color: var(--t5-gold);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-catalog__category-pill[aria-pressed="true"] {
  background: var(--t5-ink);
  border-color: var(--t5-ink);
  color: var(--t5-canvas);
}

/* THE RAIL — flex + scroll-snap; edge fades feather into the frame */
.website-v2-site[data-website-template="template5"]
  .website-v2-catalog[data-website-variant="atelier"]
  .website-v2-catalog__list {
  --t5-rail-card-width: 320px;
  gap: 36px;
  padding: 8px 48px 72px;
  scroll-padding-inline: 48px;
  scrollbar-width: none;
}

.website-v2-site[data-website-template="template5"]
  .website-v2-catalog[data-website-variant="atelier"]
  .website-v2-catalog__list::-webkit-scrollbar {
  display: none;
}

/* PLACARD — transparent bed, framed portrait media, caption below */
.website-v2-site[data-website-template="template5"]
  .website-v2-catalog[data-website-variant="atelier"]
  .website-v2-catalog__item {
  width: var(--t5-rail-card-width);
  flex: 0 0 var(--t5-rail-card-width);
  scroll-snap-align: start;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  padding: 0;
}

.website-v2-site[data-website-template="template5"]
  .website-v2-catalog[data-website-variant="atelier"]
  .website-v2-catalog__item:hover {
  transform: none;
  box-shadow: none;
}

/* Framed 3:4 portrait photo window */
.website-v2-site[data-website-template="template5"]
  .website-v2-catalog[data-website-variant="atelier"]
  .website-v2-catalog__item
  > div:first-child {
  aspect-ratio: 3 / 4;
  border: var(--t5-hairline);
  background: var(--t5-wash);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-catalog[data-website-variant="atelier"]
  .website-v2-catalog__item
  img {
  object-fit: cover;
}

/* Caption below the frame — centered stationery column */
.website-v2-site[data-website-template="template5"]
  .website-v2-catalog[data-website-variant="atelier"]
  .website-v2-catalog__item
  > span {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  padding: 18px 8px 0;
  color: var(--t5-ink);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-catalog[data-website-variant="atelier"]
  .website-v2-catalog__item
  strong {
  font-family: var(--t5-font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 1.5;
  text-align: center;
}

/* Price IS the checkout button: Marcellus, gold underline */
.website-v2-site[data-website-template="template5"]
  .website-v2-catalog[data-website-variant="atelier"]
  .website-v2-catalog__item
  > span
  > span:first-child
  > span {
  font-family: var(--t5-font-display);
  font-size: 20px;
  font-weight: 400;
  color: var(--t5-ink);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-catalog[data-website-variant="atelier"]
  .website-v2-catalog__item
  .website-v2-catalog__add {
  border-radius: 0;
  border: 1px solid var(--t5-gold);
  background: var(--t5-canvas);
  color: var(--t5-ink);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template5"]
  .website-v2-catalog[data-website-variant="atelier"]
  .website-v2-catalog__item
  .website-v2-catalog__add:hover {
  background: var(--t5-accent);
  border-color: var(--t5-accent);
  color: var(--t5-accent-fg);
}

/* Ghost cart FAB — warm wash + gold hairline */
.website-v2-site[data-website-template="template5"] .website-v2-cart-trigger {
  border-radius: 0;
  border: var(--t5-hairline);
  background: var(--t5-canvas);
  color: var(--t5-ink);
  font-family: var(--t5-font-sans);
  font-weight: 600;
  letter-spacing: 0.04em;
}

.website-v2-site[data-website-template="template5"]
  .website-v2-cart-trigger:hover {
  background: var(--t5-accent);
  border-color: var(--t5-accent);
  color: var(--t5-accent-fg);
  transform: none;
}

@media (max-width: 720px) {
  .website-v2-site[data-website-template="template5"]
    .website-v2-catalog__toolbar {
    width: calc(100% - 32px);
    margin: 32px auto 0;
    padding: 32px 16px 0;
  }

  .website-v2-site[data-website-template="template5"]
    .website-v2-catalog__filters {
    max-width: none;
  }

  .website-v2-site[data-website-template="template5"]
    .website-v2-catalog[data-website-variant="atelier"]
    .website-v2-catalog__list {
    --t5-rail-card-width: 282px;
    gap: 24px;
    padding: 8px 16px 32px;
    scroll-padding-inline: 16px;
  }
}

/* ============================
   BOOKING — the revenue moment: emphasized double-gold frame
   The V2 booking is the legacy widget mounted inside the demo node;
   port the V1 container contract: warm wash sheet + double-gold frame
   (border + inset outline) + filled CTAs.
   ============================ */

.website-v2-site[data-website-template="template5"]
  [data-website-node="booking-section"] {
  padding: 0;
  background: var(--t5-canvas);
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="booking-container"] {
  max-width: none;
  padding: 0;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"] {
  box-sizing: border-box;
  width: min(var(--t5-band-wide), calc(100% - 48px));
  margin: 96px auto;
  background: var(--t5-canvas);
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"]
  .slide__wrapper {
  width: 100%;
  max-width: none;
}

/* Emphasized double-gold frame on the panel itself */
.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"]
  .slide__content {
  position: relative;
  inset: auto;
  border: 1px solid var(--t5-gold);
  outline: var(--t5-rule-w) solid var(--t5-rule-c);
  outline-offset: -10px;
  background: var(--t5-canvas);
  padding: 80px 64px;
  color: var(--t5-ink);
  align-items: center;
}

/* Engraved emblem: centered title block, decorative icon hidden */
.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"]
  .slide__top {
  flex-direction: column-reverse;
  align-items: center;
  text-align: center;
  gap: 18px;
  width: 100%;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"]
  .slide__top
  > .icon {
  display: none;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"]
  .slide__body {
  max-width: 58ch;
  margin-inline: auto;
  text-align: center;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"]
  .subtitle {
  font-family: var(--t5-font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--t5-gold);
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"]
  .display {
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.2;
}

/* Booking CTAs stay filled — conversion over couture */
.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"]
  .btn {
  background: var(--t5-accent);
  color: var(--t5-accent-fg);
  border-color: var(--t5-accent);
  border-radius: 0;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"]
  .btn:hover {
  background: color-mix(in srgb, #000000 12%, var(--t5-accent));
  border-color: color-mix(in srgb, #000000 12%, var(--t5-accent));
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"]
  .booking-panel__confirm {
  background: color-mix(in srgb, var(--t5-accent) 82%, var(--t5-ink));
  color: #ffffff;
  border-radius: 0;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"]
  .booking-panel__confirm:hover {
  background: color-mix(in srgb, var(--t5-accent) 72%, var(--t5-ink));
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"]
  .booking-panel__month-icon {
  color: var(--t5-gold);
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"]
  .booking-timeslot-row--selected,
.website-v2-site[data-website-template="template5"]
  [data-website-node="booking"]
  .booking-timeslot-row:has(.booking-timeslot-row__input:checked) {
  border-color: var(--t5-ink);
}

@media (max-width: 720px) {
  .website-v2-site[data-website-template="template5"]
    [data-website-node="booking"] {
    width: calc(100% - 32px);
    margin: 32px auto;
  }

  .website-v2-site[data-website-template="template5"]
    [data-website-node="booking"]
    .slide__content {
    padding: 32px 16px;
    outline-offset: -6px;
  }
}

/* ============================
   SERVICES — engraved stationery panel
   ============================ */

.website-v2-site[data-website-template="template5"]
  [data-website-node="services-section"] {
  padding: 0;
  background: var(--t5-canvas);
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="services-container"] {
  max-width: min(var(--t5-band-wide), calc(100% - 48px));
  margin: 96px auto;
  padding: 0;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="services-grid"] {
  box-sizing: border-box;
  width: 100%;
  border: var(--t5-hairline);
  background: var(--t5-canvas);
  padding: 72px 64px;
  gap: 3rem;
}

/* Centered title column; list aligns with it */
.website-v2-site[data-website-template="template5"]
  [data-website-node="services-grid"]
  > div:first-child {
  align-items: center;
  text-align: center;
  gap: 1rem;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="services-list"] {
  color: var(--t5-ink-soft);
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.75;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="services-list"]
  li
  > span:first-child {
  color: var(--t5-gold);
}

@media (max-width: 720px) {
  .website-v2-site[data-website-template="template5"]
    [data-website-node="services-container"] {
    width: calc(100% - 32px);
    margin: 32px auto;
  }

  .website-v2-site[data-website-template="template5"]
    [data-website-node="services-grid"] {
    padding: 32px 16px;
  }
}

/* ============================
   MAP — framed panel + quiet wash bed
   ============================ */

.website-v2-site[data-website-template="template5"]
  [data-website-node="map-section"] {
  padding: 0;
  background: var(--t5-canvas);
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="map-container"] {
  max-width: none;
  padding: 0;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="map-grid"] {
  box-sizing: border-box;
  width: min(var(--t5-band-wide), calc(100% - 48px));
  margin: 0 auto 96px;
  padding: 0;
  border: var(--t5-hairline);
  background: var(--t5-canvas);
  gap: 0;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="map-copy"] {
  justify-content: center;
  padding: clamp(2.5rem, 5vw, 4rem);
  gap: 1rem;
  text-align: center;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="map-title"] {
  align-items: center;
  text-align: center;
  gap: 1rem;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="map-address"] {
  color: var(--t5-ink-soft);
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.75;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="map-card"] {
  border: 0;
  border-left: var(--t5-hairline);
  background: var(--t5-wash);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-map-card__canvas {
  background: var(--t5-wash);
}

@media (max-width: 720px) {
  .website-v2-site[data-website-template="template5"]
    [data-website-node="map-grid"] {
    width: calc(100% - 32px);
    margin: 0 auto 32px;
    border: 0;
  }

  .website-v2-site[data-website-template="template5"]
    [data-website-node="map-card"] {
    border-left: 0;
    border-top: var(--t5-hairline);
  }
}

/* ============================
   FINALE — the invitation
   ============================ */

.website-v2-site[data-website-template="template5"]
  [data-website-node="t5-finale"] {
  padding: 0 24px 48px;
  background: var(--t5-canvas);
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="t5-finale-copy"] {
  /* Neutralize the shared CTA banner: the invitation is a framed,
     borderless panel on the sheet */
  max-width: 760px;
  margin: 72px auto 0;
  border: none;
  outline: none;
  background: none;
  box-shadow: none;
  border-radius: 0;
  padding: clamp(32px, 5vh, 56px) clamp(20px, 4vw, 56px);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 18px;
  color: var(--t5-ink);
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="t5-finale-copy"]
  h2 {
  margin: 0;
  font-size: clamp(36px, 4.6vw, 60px);
  line-height: 1.1;
  overflow-wrap: break-word;
  max-width: 100%;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="t5-finale-copy"]
  p {
  max-width: 52ch;
  margin: 0 auto;
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.75;
  color: var(--t5-ink-soft);
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="t5-finale-copy"]
  > div {
  margin-top: 12px;
}

@media (max-width: 720px) {
  .website-v2-site[data-website-template="template5"]
    [data-website-node="t5-finale"] {
    padding: 0 16px 40px;
  }

  .website-v2-site[data-website-template="template5"]
    [data-website-node="t5-finale-copy"] {
    margin-top: 32px;
    padding: 32px 16px;
  }
}

/* ============================
   FOOTER — quiet platform line
   ============================ */

.website-v2-site[data-website-template="template5"]
  [data-website-node="footer-section"] {
  border-top: var(--t5-hairline);
  padding: 2rem clamp(1rem, 4vw, 3.5rem);
  background: var(--t5-canvas);
  color: var(--t5-ink-soft);
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="footer-brand"] {
  font-family: var(--t5-font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--t5-ink-soft);
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="footer-links"] {
  gap: 14px;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="footer-links"]
  a {
  font-family: var(--t5-font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t5-ink);
  text-decoration: none;
}

.website-v2-site[data-website-template="template5"]
  [data-website-node="footer-links"]
  a:hover {
  color: var(--t5-gold);
}

/* ============================
   SWEEP — square stationery edges
   ============================ */

.website-v2-site[data-website-template="template5"]
  [data-website-node="catalog-section"]
  img,
.website-v2-site[data-website-template="template5"]
  [data-website-node="map-card"]
  img {
  border-radius: 0;
}

/* ============================
   CART DRAWER — ivory stationery panel off a gold seam
   ============================ */

.website-v2-site[data-website-template="template5"] .website-v2-cart-drawer {
  border-radius: 0;
  border: 0;
  border-left: var(--t5-hairline);
  background: var(--t5-canvas);
  color: var(--t5-ink);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-cart-drawer
  header {
  border-bottom: var(--t5-hairline);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-cart-drawer
  header
  h2 {
  font-family: var(--t5-font-sans);
  font-weight: 600;
  letter-spacing: 0.04em;
}

.website-v2-site[data-website-template="template5"]
  .website-v2-cart-drawer
  header
  span:first-child {
  border-radius: 0;
  border: var(--t5-hairline);
  background: var(--t5-wash);
  color: var(--t5-gold);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-cart-drawer
  footer {
  border-top: var(--t5-hairline);
  background: var(--t5-canvas);
}

.website-v2-site[data-website-template="template5"]
  .website-v2-cart-drawer
  footer
  button {
  border-radius: 0;
  background: var(--t5-accent);
  color: var(--t5-accent-fg);
  font-family: var(--t5-font-sans);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template5"]
  .website-v2-cart-drawer
  footer
  button:hover:not(:disabled) {
  background: color-mix(in srgb, #000000 10%, var(--t5-accent));
}

.website-v2-site[data-website-template="template6"]
  .website-v2-catalog__toolbar
  > div:first-child {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
}

.website-v2-site[data-website-template="template6"]
  .website-v2-catalog__toolbar
  > div:first-child
  > div {
  align-items: flex-start;
  text-align: left;
}

.website-v2-site[data-website-template="template6"]
  .website-v2-catalog__eyebrow {
  color: var(--w2-muted-foreground);
  font-size: 0.6875rem;
  line-height: 1.25;
}

.website-v2-site[data-website-template="template6"]
  .website-v2-catalog__toolbar
  h2 {
  margin: 0;
  text-align: left;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-about-copy"] {
  margin-top: 0.375rem;
  border-bottom: 1px solid var(--w2-border);
  padding-block: 0;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-about-copy"]
  > button {
  border-bottom: 0;
  line-height: 1.4;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-intro"] {
  padding-top: 0.5625rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-intro-strip"] {
  padding-inline: 0;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="catalog-section"] {
  padding-top: 1rem;
}

.website-v2-site[data-website-template="template6"]
  .website-v2-catalog__toolbar {
  gap: 0;
  margin-bottom: 0;
}

.website-v2-site[data-website-template="template6"]
  [data-catalog-variant="balcao"]
  :is(input, .website-v2-catalog__category-pill) {
  border-radius: 0;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="services-grid"] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="services-list"] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="services-section"] {
  max-width: 77.5rem;
  margin: 1rem auto;
  border: 1px solid var(--w2-border);
  border-radius: 0.25rem;
  background: var(--w2-background);
  padding: 1rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="services-cta"] {
  width: fit-content;
  min-height: 2.75rem;
  border-radius: 0.25rem;
  padding: 0.75rem 1rem;
  font-size: 0.8125rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="map-grid"] {
  max-width: 77.5rem;
  margin-inline: auto;
  border: 1px solid var(--w2-border);
  border-radius: 0.25rem;
  background: var(--w2-background);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="map-copy"] {
  gap: 0;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="map-address"] {
  display: none;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="map-card"] {
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.website-v2-site[data-website-template="template6"]
  .website-v2-map-card__canvas {
  min-height: 16rem;
  background: #eeeeef;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-finale-card"] {
  width: min(100%, 77.5rem);
  max-width: 77.5rem;
  margin-inline: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0 1.5rem;
  color: var(--w2-foreground);
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-finale"] {
  background: var(--w2-muted);
  padding-block-start: 5rem;
  padding-block-end: 5rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-finale-content"] {
  gap: 0;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-finale-eyebrow"] {
  margin: 0 0 0.25rem;
  color: var(--w2-muted-foreground);
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-finale-card"]
  h2 {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.25;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-finale-card"]
  p {
  max-width: 60ch;
  color: var(--w2-muted-foreground);
  font-size: 0.875rem;
  line-height: 1.55;
  white-space: pre-line;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-finale-body"] {
  margin-top: 0.5rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-finale-contact"] {
  gap: 0.5rem;
  margin-top: 1rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-phone-icon"],
.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-address-icon"] {
  color: var(--w2-primary);
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-phone-link"] {
  min-height: 0;
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--w2-muted-foreground);
  font-size: 0.8125rem;
  font-weight: 400;
  text-decoration: none;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-address"] {
  margin: 0;
  color: var(--w2-muted-foreground);
  font-size: 0.8125rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-finale-status"] {
  width: fit-content;
  margin-top: 0;
  border-radius: 0;
  padding: 0.3rem 0.6rem;
  color: var(--w2-muted-foreground);
  font-size: 0.6875rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-finale-cta"] {
  width: fit-content;
  min-height: 2.75rem;
  margin-top: 0;
  border-radius: 0;
  padding: 0.75rem 1rem;
  font-size: 0.8125rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-finale-actions"] {
  margin-top: 1rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-finale-foot"] {
  width: min(100%, 77.5rem);
  gap: 0;
  margin: 1.125rem auto 0;
  padding-inline: 1.5rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-payment"] {
  max-width: none;
  margin: 0;
  padding: 0;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="jim-footer"] {
  margin: 1.25rem 0 0;
  border-top: 1px solid var(--w2-border);
  padding-top: 1.25rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-payment"],
.website-v2-site[data-website-template="template6"]
  [data-website-node="jim-footer"] {
  background: var(--w2-muted);
  color: var(--w2-foreground);
}

.website-v2-site[data-website-template="template6"]
  .website-v2-catalog__category-expand {
  border: 0;
  background: transparent;
  padding: 0.375rem 0;
  color: var(--w2-muted-foreground);
  font: inherit;
  font-size: 0.75rem;
  text-align: left;
}

@media (max-width: 767px) {
  .website-v2-site[data-website-template="template6"]
    .website-v2-catalog__category-list[data-expanded="false"] {
    max-height: 2.25rem;
    overflow: hidden;
  }
}

@media (min-width: 768px) {
  .website-v2-site[data-website-template="template6"]
    .website-v2-catalog__category-expand {
    display: none;
  }
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-about-copy"]
  > button {
  padding-block: 7px;
  line-height: 1.5;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-about-copy"]
  > button
  > span {
  width: 0.5rem;
  height: 0.5rem;
  overflow: hidden;
  font-size: 0;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-about-copy"]
  > button::after {
  width: 0.375rem;
  height: 0.375rem;
  transform: translateY(-0.125rem) rotate(45deg);
  border-right: 1px solid var(--w2-primary);
  border-bottom: 1px solid var(--w2-primary);
  content: "";
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-about-copy"]
  > button[aria-expanded="true"]::after {
  transform: translateY(0.125rem) rotate(225deg);
}

.website-v2-site[data-website-template="template6"] .website-v2-catalog__more {
  align-self: center;
  margin-inline: auto;
  border: 1px solid var(--w2-border);
  background: var(--w2-background);
  padding: 0.5rem 0.875rem;
  color: var(--w2-muted-foreground);
  text-decoration: none;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-bar"] {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  display: flex;
  height: 3.5rem;
  align-items: center;
  border-bottom: 1px solid var(--w2-border);
  background: var(--w2-background);
  padding: 0 1.5rem;
}

html.website-v2-dev-toolbar-active
  .website-v2-site[data-website-template="template6"]
  [data-website-node="t6-bar"] {
  top: var(--website-v2-dev-toolbar-height, 44px);
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-bar-row"] {
  width: 100%;
  max-width: none;
  align-items: center;
  gap: 0.625rem;
  margin: 0;
  padding: 0;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-avatar"] {
  width: 2.25rem;
  height: 2.25rem;
  flex: 0 0 auto;
  border: 1px solid var(--w2-border);
  object-fit: cover;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-name"] {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--w2-foreground);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-badge"] {
  flex: 0 1 auto;
  border: 1px solid var(--w2-border);
  border-radius: 2px;
  background: transparent;
  padding: 0.1875rem 0.625rem;
  color: var(--w2-muted-foreground);
  font-size: 0.6875rem;
  font-weight: 600;
  white-space: nowrap;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-intro"] {
  padding: 4.25rem clamp(1rem, 3vw, 2.5rem) 0.25rem;
}

.website-v2-site[data-website-template="template6"]
  [data-website-node="t6-intro-strip"] {
  max-width: 77.5rem;
  margin-inline: auto;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-head-details"]
  > button {
  padding-block: 0;
  color: var(--w2-muted-foreground);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-head-details"]
  > button
  > span {
  width: 0.5rem;
  height: 0.5rem;
  overflow: hidden;
  font-size: 0;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-head-details"]
  > button::after {
  width: 0.375rem;
  height: 0.375rem;
  transform: translateY(-0.125rem) rotate(45deg);
  border-right: 1px solid var(--w2-muted-foreground);
  border-bottom: 1px solid var(--w2-muted-foreground);
  content: "";
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-head-details"]
  > button[aria-expanded="true"]::after {
  transform: translateY(0.125rem) rotate(225deg);
}

@media (max-width: 640px) {
  .website-v2-site[data-website-template="template7"]
    [data-website-node="t7-intro"] {
    padding-inline: 1rem;
  }
}

.website-v2-site[data-website-template="template7"]
  .website-v2-catalog__list--agenda {
  display: block;
  max-width: none;
  margin: 0;
  padding-bottom: 0.25rem;
}

.website-v2-site[data-website-template="template7"]
  .website-v2-catalog__toolbar
  > div:first-child {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
}

.website-v2-site[data-website-template="template7"]
  .website-v2-catalog__toolbar
  > div:first-child
  > div {
  align-items: flex-start;
  text-align: left;
}

.website-v2-site[data-website-template="template7"]
  .website-v2-catalog__toolbar
  h2 {
  text-align: left;
}

.website-v2-site[data-website-template="template7"] .website-v2-catalog__more {
  align-self: center;
  border: 1px solid var(--w2-border);
  border-radius: 0.625rem;
  padding: 0.5rem 0.875rem;
  color: var(--w2-muted-foreground);
  text-decoration: none;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="booking-section"] {
  background: var(--w2-background);
  padding: 0.6875rem clamp(0.875rem, 3vw, 1.5rem) 0.5rem;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="booking-container"] {
  max-width: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="booking"] {
  height: auto;
  min-height: 0;
  padding: 0;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="booking"]
  .slide__wrapper {
  width: 100%;
  max-width: 75rem;
  margin-inline: auto;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="booking"]
  .slide__content {
  position: relative;
  inset: auto;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--w2-foreground) 7%, transparent);
  border-radius: 1rem;
  background: #fff;
  padding: 1rem;
  box-shadow: 0 1px 2px rgb(34 31 28 / 4%), 0 6px 18px rgb(34 31 28 / 5%);
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="booking"]
  .booking-section-grid {
  gap: 1rem;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="booking"]
  .booking-service-grid-card__body {
  padding-right: 0;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-testimonials"] {
  background: var(--t7-canvas, var(--w2-background));
  color: var(--t7-ink, var(--w2-foreground));
  padding: 0.875rem 1rem 0.375rem;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-testimonials-inner"] {
  max-width: 75rem;
  margin-inline: auto;
  padding: 0;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-testimonials-label"] {
  display: block;
  max-width: 75rem;
  margin: 0 auto 0.625rem;
  color: var(--t7-faint, var(--w2-muted-foreground));
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-testimonial-grid"] {
  display: flex;
  max-width: 75rem;
  flex-direction: column;
  gap: 0.625rem;
  margin: 0 auto;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-intro"] {
  max-width: 75rem;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-head-column"] {
  max-width: none;
}

@media (min-aspect-ratio: 1 / 1) {
  .website-v2-site[data-website-template="template7"]
    [data-website-node="t7-intro"] {
    padding-top: 31px;
  }
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="services-grid"] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="services-list"] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="services-section"] {
  max-width: 75rem;
  margin-inline: auto;
  border: 1px solid color-mix(in srgb, var(--w2-foreground) 7%, transparent);
  border-radius: 1rem;
  background: #fff;
  padding: 1rem;
  box-shadow: 0 1px 2px rgb(34 31 28 / 4%), 0 6px 18px rgb(34 31 28 / 5%);
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="services-cta"] {
  width: fit-content;
  min-height: 2.75rem;
  border-radius: 0.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 0.8125rem;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="map-card"] {
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="map-grid"] {
  display: flex;
  max-width: 75rem;
  flex-direction: column;
  gap: 1rem;
  margin-inline: auto;
  border: 1px solid color-mix(in srgb, var(--w2-foreground) 7%, transparent);
  border-radius: 1rem;
  background: #fff;
  padding: 1rem;
  box-shadow: 0 1px 2px rgb(34 31 28 / 4%), 0 6px 18px rgb(34 31 28 / 5%);
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="map-copy"] {
  gap: 0;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="map-address"] {
  display: none;
}

.website-v2-site[data-website-template="template7"]
  .website-v2-map-card__canvas {
  min-height: 16rem;
  background: #f3f4f3;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-finale"] {
  width: min(100%, 75rem);
  max-width: none;
  margin-inline: auto;
  padding: 2rem 0 0.5rem;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-finale-copy"] {
  width: 100%;
  max-width: none;
  gap: 0.5rem;
  margin-inline: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  color: var(--w2-foreground);
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-finale-content"] {
  gap: 0;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-finale-eyebrow"] {
  margin: 0 0 0.375rem;
  color: var(--w2-muted-foreground);
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-finale-copy"]
  h2 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-finale-copy"]
  p {
  max-width: 60ch;
  color: var(--w2-muted-foreground);
  font-size: 0.875rem;
  line-height: 1.55;
  white-space: pre-line;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-finale-body"] {
  margin-top: 0.5rem;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-finale-contact"] {
  gap: 0.5rem;
  margin-top: 0.875rem;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-phone-icon"],
.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-address-icon"] {
  color: var(--w2-muted-foreground);
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-phone-link"] {
  min-height: 0;
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--w2-muted-foreground);
  font-size: 0.84375rem;
  font-weight: 400;
  text-decoration: none;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-address"] {
  margin: 0;
  color: var(--w2-muted-foreground);
  font-size: 0.84375rem;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-finale-status"] {
  width: fit-content;
  margin-top: 0;
  border-radius: 999px;
  padding: 0.25rem 0.625rem;
  color: var(--w2-muted-foreground);
  font-size: 0.6875rem;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-finale-copy"]
  a {
  text-decoration: none;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-finale-cta"] {
  width: fit-content;
  min-height: 2.75rem;
  margin-top: 0;
  border-radius: 0.5rem;
  background: var(--w2-foreground);
  padding: 0.75rem 1.25rem;
  color: var(--w2-background);
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-finale-actions"] {
  margin-top: 0.875rem;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-finale-foot"] {
  width: min(100%, 75rem);
  gap: 0;
  margin: 1.25rem auto 0;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-payment"] {
  max-width: none;
  margin: 0;
  padding: 0;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="jim-footer"] {
  margin: 1.25rem 0 0;
  border-top: 1px solid var(--w2-border);
  padding-top: 1.25rem;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-bookbar"] {
  position: fixed;
  inset-inline: 0;
  bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
  z-index: 100;
  width: fit-content;
  max-width: calc(100vw - 2rem);
  margin-inline: auto;
  border: 0;
  background: transparent;
  padding: 0;
  pointer-events: none;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-bookbar-inner"] {
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-bookbar-link"] {
  min-height: 3.25rem;
  gap: 0.625rem;
  border: 0;
  border-radius: 0.875rem !important;
  background: var(--w2-primary);
  padding: 0.625rem 1.375rem;
  color: var(--w2-primary-foreground);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none;
  box-shadow: 0 6px 22px color-mix(in srgb, var(--w2-primary) 38%, transparent),
    0 2px 6px rgb(34 31 28 / 14%);
  pointer-events: auto;
}

.website-v2-site[data-website-template="template7"]
  [data-website-node="t7-avatar"] {
  width: 2.75rem;
  height: 2.75rem;
}

@supports (animation-timeline: view()) {
  .website-v2-site[data-website-template="template7"] {
    timeline-scope: --website-v2-t7-booking-visible,
      --website-v2-t7-footer-visible;
  }

  .website-v2-site[data-website-template="template7"]
    [data-website-node="booking"] {
    view-timeline: --website-v2-t7-booking-visible block;
  }

  .website-v2-site[data-website-template="template7"]
    [data-website-component="PlatformFooter"] {
    view-timeline: --website-v2-t7-footer-visible block;
  }

  .website-v2-site[data-website-template="template7"]
    [data-website-node="t7-bookbar"] {
    animation: website-v2-t7-bookbar-dodge linear both;
    animation-timeline: --website-v2-t7-booking-visible;
  }

  .website-v2-site[data-website-template="template7"]
    [data-website-node="t7-bookbar-inner"] {
    animation: website-v2-t7-footer-dodge linear both;
    animation-range: entry;
    animation-timeline: --website-v2-t7-footer-visible;
  }
}

@keyframes website-v2-t7-bookbar-dodge {
  0%,
  100% {
    translate: 0 0;
    opacity: 1;
    visibility: visible;
  }

  6%,
  94% {
    translate: 0 150%;
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes website-v2-t7-footer-dodge {
  0% {
    translate: 0 0;
    opacity: 1;
  }

  85%,
  100% {
    translate: 0 150%;
    opacity: 0;
    visibility: hidden;
  }
}

.website-v2-site[data-website-template="template8"] {
  --w2-muted: #ffffff;
  --w2-border: #dee0e2;
  background: #f3f4f4;
  color: #222426;
  font-family: var(--w2-font-body);
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-topbar"] {
  min-height: 2rem;
  align-items: center;
  gap: 1rem;
  background: #222426;
  padding: 0.4375rem clamp(1.25rem, 4vw, 3rem);
  color: #cdd0d3;
  font-size: 0.78125rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-topbar-note"],
.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-topbar-phone"] {
  margin: 0;
  font-size: inherit;
  line-height: 1.2;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-topbar-phone"] {
  color: var(--w2-primary);
  font-weight: 600;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-nav"] {
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 3px solid var(--w2-primary);
  background: #ffffff;
  padding: 0.625rem clamp(1.25rem, 4vw, 3rem);
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-nav-inner"] {
  max-width: 80rem;
  margin-inline: auto;
  padding: 0;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-nav-grid"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-brand"] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-menu"] {
  display: none;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-name"] {
  margin: 0;
  text-align: left;
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 700;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-category"] {
  margin: 0;
  border-radius: 0.25rem;
  background: var(--w2-primary);
  padding: 0.25rem 0.5rem;
  color: #ffffff;
  font-size: 0.75rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-action"] {
  min-height: 2.5rem;
  flex: 0 0 auto;
  border-radius: 0.375rem;
  background: #222426;
  padding: 0.625rem 1.25rem;
  color: #ffffff;
  font-size: 0.8125rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-cats"] {
  position: sticky;
  top: 4.375rem;
  z-index: 29;
  display: flex;
  min-height: 2.625rem;
  align-items: center;
  background: #3a3d40;
  padding: 0 clamp(1.25rem, 4vw, 3rem);
}

.website-v2-site[data-website-template="template8"]
  .website-v2-navigation--default {
  width: 100%;
  max-width: none;
  margin: 0;
  justify-content: flex-start;
  gap: 1.5rem;
}

.website-v2-site[data-website-template="template8"]
  .website-v2-navigation__list {
  gap: 1.5rem;
}

.website-v2-site[data-website-template="template8"]
  .website-v2-navigation__item {
  color: #e8eaeb;
  font-size: 0.8125rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-intro"] {
  padding: clamp(1.5rem, 3vw, 2.75rem) 1.5rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-ticket"] {
  width: min(100%, 73.75rem);
  height: 30rem;
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid var(--w2-border);
  border-top: 3px solid var(--w2-primary);
  border-radius: 0.25rem;
  background: #ffffff;
  padding: 0;
  box-shadow: none;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-ticket-grid"] {
  grid-template-columns: minmax(0, 1.7fr) minmax(18rem, 1fr);
  height: 22.625rem;
  align-items: stretch;
  gap: 0;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-ticket-main"] {
  justify-content: center;
  padding: clamp(1.5rem, 3vw, 3rem);
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-ticket-footer"] {
  height: 7.375rem;
  border-top: 1px solid var(--w2-border);
  padding: 1.5rem 3rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-body"] {
  max-width: 38rem;
  margin: 0;
  color: #62686c;
  font-size: 0.875rem;
  line-height: 1.55;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-cta"] {
  min-width: 9.75rem;
  min-height: 2.875rem;
  flex: 0 0 auto;
  border-radius: 0.25rem;
  background: var(--w2-primary);
  padding: 0.75rem 1rem;
  color: var(--w2-primary-foreground);
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-title"] {
  font-size: clamp(30px, 4.4vw, 56px);
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.06;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-eyebrow"],
.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-ticket-specs"]
  dt {
  color: color-mix(in srgb, var(--w2-primary) 74%, #222426);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-ticket-specs"] {
  gap: 0;
  align-self: stretch;
  justify-content: center;
  border-left: 1px solid var(--w2-border);
  background: color-mix(in srgb, var(--w2-border) 22%, #ffffff);
  padding: clamp(1.125rem, 2.4vw, 2rem);
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-ticket-specs"]
  > div {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.1875rem;
  border-bottom: 0;
  padding: 0.625rem 0;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-ticket-specs"]
  > div
  + div {
  border-top: 1px solid var(--w2-border);
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-ticket-specs"]
  dd {
  align-items: flex-start;
  margin: 0;
  text-align: left;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-ticket-specs"]
  strong {
  font-size: 0.90625rem;
  font-weight: 600;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="catalog-section"] {
  padding: 0;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="booking-section"] {
  padding: 1rem clamp(1.25rem, 4vw, 3rem) 2.5rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="catalog-container"],
.website-v2-site[data-website-template="template8"]
  [data-website-node="booking-container"] {
  max-width: 80rem;
  padding: 0;
}

.website-v2-site[data-website-template="template8"]
  .website-v2-booking__services {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.website-v2-site[data-website-template="template8"]
  .website-v2-catalog__list--workshop {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.875rem;
}

.website-v2-site[data-website-template="template8"] .website-v2-catalog {
  gap: 0;
  padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.website-v2-site[data-website-template="template8"]
  .website-v2-catalog__toolbar {
  gap: 0;
}

.website-v2-site[data-website-template="template8"] .website-v2-catalog__list {
  margin-top: 0;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-features-grid"] {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-features-cta"] {
  width: fit-content;
  min-height: 2.75rem;
  border-radius: 0.25rem;
  background: #336e8f;
  padding: 0.75rem 1rem;
  color: #fff;
  font-size: 0.8125rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="map-grid"] {
  max-width: 73.75rem;
  margin-inline: auto;
  border: 1px solid #e0e1e2;
  border-radius: 0.25rem;
  background: #fff;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="map-copy"] {
  gap: 0;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="map-address"] {
  display: none;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="map-card"] {
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.website-v2-site[data-website-template="template8"]
  .website-v2-map-card__canvas {
  min-height: 16rem;
  background: #eeeeef;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="booking-section"] {
  background: transparent;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="booking-container"] {
  max-width: 73.75rem;
  border: 0;
  background: transparent;
  padding: 0;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="booking"] {
  padding-top: 0;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="booking"]
  .slide__wrapper {
  width: 100%;
  max-width: none;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-finale-card"] {
  width: min(100%, 73.75rem);
  margin-inline: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-finale"] {
  margin-top: clamp(1.25rem, 2.6vw, 2rem);
  background: #222426;
  padding-block: clamp(2.25rem, 5vw, 4rem) 1.75rem;
  color: #e8eaeb;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-finale-order"] {
  gap: 0;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-finale-head"] {
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 1.125rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-finale-eyebrow"] {
  color: #e8eaeb;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-finale-status"] {
  border-color: #4b4f53;
  background: transparent;
  color: #e8eaeb;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-finale-card"]
  h2 {
  color: #fff;
  font-size: clamp(2rem, 4.6vw, 3.625rem);
  line-height: 1.05;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-finale-card"]
  p {
  color: #cdd0d3;
  white-space: pre-line;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-finale-title"] {
  margin: 0 0 0.875rem;
  color: #fff;
  font-size: clamp(1.875rem, 4.6vw, 3.625rem);
  font-weight: 700;
  line-height: 1.05;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-finale-body"] {
  margin: 0 0 0.5rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-finale-contacts"] {
  max-width: 35rem;
  margin-block: 1rem 0.5rem;
}

.website-v2-site[data-website-template="template8"]
  :is(
    [data-website-node="t8-phone-row"],
    [data-website-node="t8-address-row"]
  ) {
  display: grid;
  grid-template-columns: 0.875rem 6rem minmax(0, 1fr);
  align-items: center;
  gap: 0.5rem;
  border-top: 1px solid #3a3d40;
  padding-block: 0.625rem;
}

.website-v2-site[data-website-template="template8"]
  :is(
    [data-website-node="t8-phone-icon"],
    [data-website-node="t8-address-icon"],
    [data-website-node="t8-phone-label"],
    [data-website-node="t8-address-label"]
  ) {
  color: #9aa0a5;
  font-size: 0.6875rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-phone-link"] {
  justify-content: flex-start;
  border: 0;
  background: transparent;
  padding: 0;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-address"] {
  margin: 0;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 600;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-finale-actions"] {
  margin-top: 1.375rem;
  border-bottom: 1px solid #3a3d40;
  padding-bottom: clamp(1.5rem, 3.4vw, 2.5rem);
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-finale-cta"] {
  min-height: 2.75rem;
  border-radius: 0.375rem;
  background: #fff;
  padding: 0.75rem 1.25rem;
  color: #222426;
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-finale-foot"] {
  gap: 0;
  padding-top: 1.5rem;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-payment"] {
  margin: 0;
  padding: 0;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="jim-footer"] {
  margin-top: 1.25rem;
  border-top: 1px solid #3a3d40;
  padding-top: 1.25rem;
  color: #9aa0a5;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-payment"],
.website-v2-site[data-website-template="template8"]
  [data-website-node="jim-footer"] {
  border-color: #3a3d40;
  background: transparent;
  color: #e8eaeb;
}

@media (min-width: 1200px) {
  .website-v2-site[data-website-template="template8"]
    .website-v2-booking__services {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 1050px) {
  .website-v2-site[data-website-template="template8"]
    .website-v2-catalog__list--workshop {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .website-v2-site[data-website-template="template8"]
    .website-v2-catalog__list--workshop {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .website-v2-site[data-website-template="template8"]
    .website-v2-catalog__list--workshop {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-menu"] {
    display: block;
    flex: 0 0 auto;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-menu"]
    > button {
    width: 2.75rem;
    height: 2.75rem;
    justify-content: center;
    border: 0;
    border-radius: 0;
    padding: 0;
    color: transparent;
    font-size: 0;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-menu"]
    > button::before {
    width: 1.25rem;
    height: 1rem;
    background: linear-gradient(
      to bottom,
      #222426 0 2px,
      transparent 2px 7px,
      #222426 7px 9px,
      transparent 9px 14px,
      #222426 14px 16px
    );
    content: "";
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-menu"]
    > button
    span {
    display: none;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-category"],
  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-cats"] {
    display: none;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-nav"] {
    min-height: 4rem;
    padding: 0.5rem 0.875rem;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-nav-grid"] {
    justify-content: flex-start;
    gap: 0.75rem;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-brand"] {
    flex: 1 1 auto;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-action"] {
    min-height: 2.75rem;
    padding: 0.625rem 0.875rem;
    white-space: nowrap;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-intro"] {
    padding: 1.5625rem 1rem 0.75rem;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-title"] {
    font-size: clamp(1.875rem, 8vw, 2.25rem);
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-ticket-grid"] {
    grid-template-columns: 1fr;
    height: auto;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-ticket"] {
    min-height: 0;
    height: auto;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-ticket-grid"] {
    grid-template-columns: 1fr;
    height: auto;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-ticket-specs"] {
    border-top: 1px solid var(--w2-border);
    border-left: 0;
    gap: 0;
    padding: 1.125rem 1.125rem;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-ticket-specs"]
    > div {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1875rem;
    padding: 0.7rem 0;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-ticket-specs"]
    dt {
    font-size: 0.6875rem;
    line-height: 1.25;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-ticket-specs"]
    dd {
    align-items: flex-start;
    margin: 0;
    text-align: left;
    font-size: 0.875rem;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-ticket-specs"]
    strong {
    font-size: 0.875rem;
    font-weight: 600;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-ticket-footer"] {
    height: auto;
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
    padding: 1.625rem 1.125rem 1.125rem;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-cta"] {
    width: auto;
    min-width: 0;
    min-height: 2.75rem;
    align-self: flex-start;
  }

  .website-v2-site[data-website-template="template8"]
    .website-v2-navigation__list {
    gap: 1rem;
  }
}

.website-v2-site[data-website-template="template8"] .website-v2-catalog__more {
  align-self: center;
  margin-inline: auto;
  border: 1px solid var(--w2-border);
  border-radius: 0.25rem;
  background: #fff;
  padding: 0.5rem 0.875rem;
  color: #62686c;
  text-decoration: none;
}

.website-v2-site[data-website-template="template8"] .website-v2-menu-drawer {
  position: fixed;
  inset: 0;
  z-index: 400;
}

.website-v2-site[data-website-template="template8"]
  .website-v2-menu-drawer__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  border: 0;
  background: rgb(34 36 38 / 55%);
}

.website-v2-site[data-website-template="template8"]
  .website-v2-menu-drawer__panel {
  position: absolute;
  inset: 0 auto 0 0;
  display: flex;
  max-width: none;
  max-height: none;
  margin: 0;
  width: min(88vw, 20rem);
  flex-direction: column;
  gap: 0.25rem;
  overflow-y: auto;
  border: 0;
  border-right: 3px solid var(--w2-primary);
  background: #3a3d40;
  padding: 1rem 1.25rem calc(1rem + env(safe-area-inset-bottom, 0px));
  box-shadow: 1rem 0 3rem rgb(0 0 0 / 16%);
  animation: website-v2-t8-drawer-in 220ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.website-v2-site[data-website-template="template8"]
  .website-v2-menu-drawer__close {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  align-self: flex-end;
  place-items: center;
  border: 1px solid rgb(232 234 235 / 24%);
  border-radius: 0;
  background: transparent;
  color: #e8eaeb;
  font-size: 1.5rem;
}

.website-v2-site[data-website-template="template8"]
  .website-v2-menu-drawer__link {
  display: block;
  border-bottom: 1px solid rgb(232 234 235 / 12%);
  padding: 0.875rem 0.25rem;
  color: #e8eaeb;
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
}

.website-v2-site[data-website-template="template8"]
  button.website-v2-menu-drawer__link {
  width: 100%;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

@keyframes website-v2-t8-drawer-in {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .website-v2-site[data-website-template="template8"]
    .website-v2-menu-drawer__panel {
    animation: none;
  }
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-photo"] {
  width: min(100%, 73.75rem);
  margin: clamp(0.875rem, 1.8vw, 1.5rem) auto 0;
  overflow: hidden;
  border: 1px solid var(--w2-border);
  border-radius: 0.5rem;
  background: #fff;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-photo-image"] {
  display: block;
  width: 100%;
  height: clamp(13.75rem, 34vw, 26.25rem);
  object-fit: cover;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-photo-caption"] {
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.6875rem 1rem;
  color: #222426;
  font-size: 0.71875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-photo-name"],
.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-photo-place"] {
  margin: 0;
  font-size: inherit;
}

.website-v2-site[data-website-template="template8"]
  [data-website-node="t8-photo-place"] {
  color: #697075;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-photo-image"] {
    height: clamp(11.25rem, 46vw, 18.75rem);
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-photo-caption"] {
    flex-wrap: wrap;
    gap: 0.25rem 1rem;
  }

  .website-v2-site[data-website-template="template8"]
    [data-website-node="t8-photo-place"] {
    white-space: normal;
  }
}

.website-v2-demo-template {
  --website-v2-demo-toolbar-height: 2.75rem;
}

.website-v2-site[data-website-template="template9"] {
  background: #0b0b0b;
  color: #f4f2ec;
  font-family: var(--w2-font-body);
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-ticker"] {
  position: fixed;
  inset-inline: 0;
  top: 0;
  z-index: 1500;
  overflow: hidden;
  border-bottom: 2px solid var(--w2-primary);
  background: #0b0b0b;
  padding: 0.55rem 0;
  color: #f4f2ec;
  font-family: var(--w2-font-body);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
}

.website-v2-demo-template
  .website-v2-site[data-website-template="template9"]
  [data-website-node="t9-ticker"] {
  top: var(--website-v2-demo-toolbar-height);
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-ticker"]
  > div {
  width: max-content;
  justify-content: flex-start;
  gap: 2rem;
  animation: website-v2-t9-marquee 28s linear infinite;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-ticker"]
  > div
  > span {
  color: #f4f2ec;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-nav"] {
  position: relative;
  z-index: 61;
  height: 0;
  padding: 0;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-nav-row"] {
  height: 0;
  gap: 0;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-brand"] {
  display: none;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-menu"] {
  position: fixed;
  top: 3rem;
  right: 1.25rem;
  z-index: 1490;
}

.website-v2-demo-template
  .website-v2-site[data-website-template="template9"]
  [data-website-node="t9-menu"] {
  top: calc(3rem + var(--website-v2-demo-toolbar-height, 2.75rem));
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-menu"]
  > button {
  position: relative;
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  overflow: hidden;
  border: 2px solid #f4f2ec;
  border-radius: 0;
  background: #0b0b0b;
  padding: 0;
  color: transparent;
  font-size: 0;
  box-shadow: 5px 5px 0 var(--w2-primary);
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-menu"]
  > button::before {
  width: 1.5rem;
  height: 1.125rem;
  background: linear-gradient(
    to bottom,
    #f4f2ec 0 3px,
    transparent 3px 7px,
    #f4f2ec 7px 10px,
    transparent 10px 14px,
    #f4f2ec 14px 17px
  );
  content: "";
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover"] {
  position: relative;
  padding: 0;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"] {
  position: relative;
  min-height: 100svh;
  justify-content: flex-start;
  gap: 0;
  overflow: hidden;
  background: #0b0b0b;
  padding: 3.625rem clamp(1.5rem, 6vw, 7.125rem) 1.875rem;
}

.website-v2-site[data-website-template="template9"]
  .website-v2-hero__billboard-copy {
  display: flex;
  max-width: 34rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.875rem;
}

.website-v2-site[data-website-template="template9"]
  .website-v2-hero__billboard-badge {
  display: inline-flex;
  border: 1px solid var(--w2-primary);
  background: var(--w2-primary);
  padding: 0.3125rem 0.625rem;
  color: #0b0b0b;
  font-family: var(--w2-font-body);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  h1 {
  flex: 1;
  justify-content: center;
  margin: 0;
  color: #f4f2ec;
  font-family: var(--w2-font-heading);
  font-size: clamp(3.375rem, 10.5vw, 10.5rem);
  font-weight: 400;
  letter-spacing: 0.005em;
  line-height: 0.9;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  h1
  > span {
  max-width: 100%;
  font-size: inherit;
  white-space: nowrap;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  h1
  > span:nth-child(2) {
  margin-left: clamp(1.25rem, 7vw, 8.125rem);
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  h1
  > span:nth-child(3) {
  margin-left: clamp(2.5rem, 14vw, 16.25rem);
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  > div:last-child {
  min-height: 0;
  align-items: flex-end;
  gap: 2.5rem;
  padding-bottom: 0.5rem;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  > div:last-child
  p {
  max-width: 34rem;
  margin: 0;
  color: #c4c1b5;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.55;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  > div:last-child
  a {
  min-width: 9rem;
  min-height: 3rem;
  margin-right: 0.5rem;
  margin-bottom: 0.625rem;
  transform: rotate(-4deg);
  border-radius: 0;
  background: var(--w2-primary);
  padding: 0.9375rem 1.5rem;
  color: #0b0b0b;
  font-family: var(--w2-font-body);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: 5px 5px 0 #f4f2ec;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-scroll"] {
  position: absolute;
  bottom: 0.625rem;
  left: 50%;
  z-index: 2;
  display: inline-flex;
  transform: translateX(-50%);
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0;
  color: color-mix(in srgb, #c4c1b5 65%, transparent);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  white-space: nowrap;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-scroll"]::after {
  content: " ▼";
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="catalog-section"],
.website-v2-site[data-website-template="template9"]
  [data-website-node="booking-section"] {
  background: #0b0b0b;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="catalog-section"] {
  padding: 0;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="booking-section"] {
  padding: clamp(3rem, 7vw, 6rem) clamp(1.5rem, 6vw, 7.125rem);
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="catalog-container"],
.website-v2-site[data-website-template="template9"]
  [data-website-node="booking-container"] {
  max-width: 125rem;
  padding: 0;
}

.website-v2-site[data-website-template="template9"] .website-v2-catalog,
.website-v2-site[data-website-template="template9"] .website-v2-booking {
  border-color: var(--w2-border);
  border-radius: 0;
  background: var(--w2-background);
  color: var(--w2-foreground);
}

.website-v2-site[data-website-template="template9"]
  .website-v2-catalog__toolbar
  > div:first-child {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
}

.website-v2-site[data-website-template="template9"]
  .website-v2-catalog__toolbar
  > div:first-child
  > div {
  align-items: flex-start;
  text-align: left;
}

.website-v2-site[data-website-template="template9"]
  .website-v2-catalog__toolbar
  h2 {
  text-align: left;
}

.website-v2-site[data-website-template="template9"] .website-v2-catalog__item,
.website-v2-site[data-website-template="template9"]
  .website-v2-booking__service {
  border-color: var(--w2-border);
  border-radius: 0;
  background: var(--w2-muted);
  color: var(--w2-foreground);
}

.website-v2-site[data-website-template="template9"]
  .website-v2-catalog
  .t9-v2-wall {
  display: flex;
  align-items: flex-start;
  gap: 1.125rem;
  margin-top: 2rem;
}

.website-v2-site[data-website-template="template9"] .t9-v2-wall__column {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 1.125rem;
  min-width: 0;
}

.website-v2-site[data-website-template="template9"] .t9-v2-wall__item,
.website-v2-site[data-website-template="template9"] .t9-v2-wall__item > * {
  width: 100%;
}

.website-v2-site[data-website-template="template9"]
  .t9-v2-wall
  .website-v2-catalog__marquee-item {
  display: block;
  width: 100%;
  min-height: 0;
  background: transparent;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="map-card"] {
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="map-section"] {
  background: #151515;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="map-container"] {
  max-width: 80rem;
  padding: 0;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-map-title"] {
  margin-bottom: 1rem;
  color: #f4f2ec;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="map-copy"] {
  display: none;
}

.website-v2-site[data-website-template="template9"]
  .website-v2-map-card__canvas {
  min-height: 18rem;
  border: 1px solid color-mix(in srgb, #f4f2ec 18%, transparent);
  background: #202020;
}

.website-v2-site[data-website-template="template9"]
  .website-v2-map-card__footer {
  color: #f4f2ec;
}

.website-v2-site[data-website-template="template9"]
  .website-v2-map-card__footer
  a,
.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-features-cta"] {
  transform: rotate(-2deg);
  background: var(--w2-primary);
  color: #0b0b0b;
  box-shadow: 4px 4px 0 #f4f2ec;
  font-family: var(--w2-font-body);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-features-cta"] {
  width: fit-content;
  min-height: 2.75rem;
  border-radius: 0;
  padding: 0.75rem 1rem;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale"] {
  border-top: 6px solid var(--w2-primary);
  background: #0b0b0b;
  padding: clamp(3rem, 7vw, 6rem) clamp(1.5rem, 6vw, 7.125rem) 0;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-card"] {
  gap: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  color: #f4f2ec;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-card"]
  h2 {
  max-width: 12em;
  color: #f4f2ec;
  font-family: var(--w2-font-heading);
  font-size: clamp(3.25rem, 9vw, 9.375rem);
  font-weight: 400;
  line-height: 0.9;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-content"] {
  gap: 0;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-label"] {
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 1rem;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-eyebrow"] {
  color: #f4f2ec;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-status"] {
  border: 0;
  border-radius: 0;
  background: var(--w2-primary);
  color: #0b0b0b;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-title"] {
  margin: 0;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-deck"] {
  align-items: flex-end;
  justify-content: space-between;
  gap: 2.5rem;
  margin-top: 2.75rem;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-info"] {
  max-width: 35rem;
  gap: 1.25rem;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-body"] {
  margin: 0;
  color: #c4c1b5;
  font-size: 0.875rem;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-contact"] {
  color: #f4f2ec;
  font-family: var(--w2-font-body);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-contact-separator"] {
  color: var(--w2-primary);
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-cta"] {
  width: fit-content;
  min-height: 3rem;
  transform: rotate(-2deg);
  border-radius: 0;
  background: var(--w2-primary);
  padding: 1.25rem 2.25rem;
  color: #0b0b0b;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: 6px 6px 0 #f4f2ec;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-foot"] {
  gap: 0;
  margin-top: 2.5rem;
  padding-top: 2rem;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="jim-footer"] {
  margin: 0 0 1.25rem;
  align-items: flex-start;
  color: #c4c1b5;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-payment"] {
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw);
  border-top: 1px solid #363636;
  padding: 2rem clamp(1.5rem, 6vw, 7.125rem) 2.25rem;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-card"]
  p {
  color: #c4c1b5;
  font-size: 0.875rem;
  white-space: pre-line;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-finale-card"]
  a {
  width: fit-content;
  min-height: 3rem;
  transform: rotate(-2deg);
  border-radius: 0;
  background: var(--w2-primary);
  padding: 0.875rem 1.5rem;
  color: #0b0b0b;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: 5px 5px 0 #f4f2ec;
}

@keyframes website-v2-t9-marquee {
  to {
    transform: translateX(-25%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .website-v2-site[data-website-template="template9"]
    [data-website-node="t9-ticker"]
    > div {
    animation: none;
  }
}

@media (max-width: 640px) {
  .website-v2-site[data-website-template="template9"]
    [data-website-node="t9-cover-inner"] {
    min-height: 100svh;
    padding: 3rem 1.25rem 1.5rem;
  }

  .website-v2-site[data-website-template="template9"]
    [data-website-node="t9-menu"] {
    top: 2.75rem;
  }

  .website-v2-demo-template
    .website-v2-site[data-website-template="template9"]
    [data-website-node="t9-menu"] {
    top: calc(2.75rem + var(--website-v2-demo-toolbar-height, 2.75rem));
  }

  .website-v2-site[data-website-template="template9"]
    [data-website-node="t9-cover-inner"]
    h1 {
    font-size: clamp(2.75rem, 15.5vw, 5.75rem);
    transform: translateY(0.5rem);
  }

  .website-v2-site[data-website-template="template9"]
    [data-website-node="t9-cover-inner"]
    h1
    > span:nth-child(2) {
    margin-left: clamp(1.25rem, 7vw, 8.125rem);
  }

  .website-v2-site[data-website-template="template9"]
    [data-website-node="t9-cover-inner"]
    h1
    > span:nth-child(3) {
    margin-left: clamp(2.5rem, 14vw, 16.25rem);
  }

  .website-v2-site[data-website-template="template9"]
    [data-website-node="t9-cover-inner"]
    > div:last-child {
    min-height: 9.25rem;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 1rem;
  }

  .website-v2-site[data-website-template="template9"]
    [data-website-node="t9-cover-inner"]
    > div:last-child
    > div:last-child {
    align-self: flex-end;
  }

  .website-v2-site[data-website-template="template9"]
    [data-website-node="t9-scroll"] {
    bottom: 0.5rem;
  }
}

.website-v2-site[data-website-template="template9"] .website-v2-catalog__more {
  align-self: center;
  margin-inline: auto;
  border: 1px solid color-mix(in srgb, #f4f2ec 22%, transparent);
  background: #151515;
  padding: 0.5rem 0.875rem;
  color: #f4f2ec;
  font-family: var(--w2-font-body);
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  h1 {
  align-items: flex-start;
  justify-content: center;
  margin: 0;
  color: #f4f2ec;
  font-family: var(--w2-font-heading);
  font-size: clamp(3.375rem, 10.5vw, 10.5rem);
  font-weight: 400;
  letter-spacing: 0.005em;
  line-height: 0.9;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  h1
  > span {
  max-width: 100%;
  color: #f4f2ec;
  font-size: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  white-space: nowrap;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  h1
  > .website-v2-hero__billboard-row--outline {
  color: transparent;
  -webkit-text-stroke: 2px #f4f2ec;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  h1
  > .website-v2-hero__billboard-row--color {
  color: var(--w2-primary);
  -webkit-text-stroke: 0;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  h1
  > span:nth-child(3n + 2) {
  margin-left: clamp(1.25rem, 7vw, 8.125rem);
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  h1
  > span:nth-child(3n + 3) {
  margin-left: clamp(2.5rem, 14vw, 16.25rem);
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  h1
  > .website-v2-hero__billboard-row--sm {
  font-size: clamp(2.375rem, 7.4vw, 7.375rem);
  margin-left: 0;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-cover-inner"]
  h1
  > .website-v2-hero__billboard-row--xs {
  font-size: clamp(1.625rem, 5vw, 5rem);
  margin-left: 0;
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-rip"] {
  position: relative;
  width: 100%;
  max-width: none;
  height: clamp(25rem, calc(100vw / 3.35), 45rem);
  min-height: 25rem;
  overflow: hidden;
  background: #0b0b0b;
  clip-path: polygon(
    0 3.2%,
    3% 0.6%,
    6% 3%,
    10% 0.4%,
    14% 2.6%,
    18% 0.8%,
    23% 3%,
    28% 0.5%,
    33% 2.4%,
    38% 0.9%,
    44% 2.8%,
    50% 0.4%,
    56% 2.6%,
    62% 0.7%,
    68% 2.9%,
    74% 0.5%,
    80% 2.5%,
    86% 0.8%,
    92% 2.8%,
    97% 0.6%,
    100% 2.4%,
    100% 97.2%,
    96% 99.5%,
    91% 97.4%,
    86% 99.6%,
    80% 97.6%,
    74% 99.4%,
    68% 97.3%,
    62% 99.6%,
    56% 97.5%,
    50% 99.5%,
    44% 97.4%,
    38% 99.6%,
    32% 97.6%,
    26% 99.3%,
    20% 97.4%,
    14% 99.6%,
    9% 97.6%,
    5% 99.4%,
    2% 97.8%,
    0 99.5%
  );
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-rip-image"] {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 32%;
  filter: grayscale(1) contrast(1.12);
}

.website-v2-site[data-website-template="template9"]
  [data-website-node="t9-rip-wash"] {
  position: absolute;
  inset: 0;
  background: var(--w2-primary);
  mix-blend-mode: multiply;
  opacity: 0.88;
  pointer-events: none;
}

@media (max-width: 640px) {
  .website-v2-site[data-website-template="template9"]
    [data-website-node="t9-rip"] {
    height: 38vh;
    min-height: 13.75rem;
  }
}

.website-v2-site[data-website-template="template10"] {
  background: #0d0e11;
  color: #e8e6df;
  font-family: var(--w2-font-body);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-topbar"] {
  position: fixed;
  inset-inline: 0;
  top: 0;
  z-index: 50;
  height: 3.25rem;
  border-bottom: 1px solid color-mix(in srgb, #e8e6df 12%, transparent);
  background: color-mix(in srgb, #0d0e11 88%, transparent);
  padding: 0 clamp(1.5rem, 7vw, 6.875rem);
  backdrop-filter: blur(18px);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-topbar-inner"] {
  width: 100%;
  max-width: 80rem;
  height: 100%;
  margin-inline: auto;
  padding: 0;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-cover"] {
  position: relative;
  padding: 0;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-scroll"] {
  position: absolute;
  top: calc(70vh + 3.75rem);
  left: 50%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  transform: translateX(-50%);
  border: 0;
  background: transparent;
  padding: 0;
  color: color-mix(in srgb, #e8e6df 58%, transparent);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.5625rem;
  letter-spacing: 0.28em;
  text-decoration: none;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-scroll"]::before {
  position: absolute;
  top: 1.875rem;
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background: var(--w2-primary);
  content: "";
  animation: website-v2-t10-scroll 1.8s ease-in-out infinite;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-scroll"]::after {
  width: 1px;
  height: 4.5rem;
  background: linear-gradient(
    to bottom,
    color-mix(in srgb, #e8e6df 24%, transparent),
    transparent
  );
  content: "";
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-brand"] {
  margin: 0;
  font-weight: 600;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-trail"] {
  margin: 0;
  color: color-mix(in srgb, #e8e6df 55%, transparent);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-cover"] {
  padding: 0;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-hero"] {
  box-sizing: border-box;
  min-height: 100svh;
  border-top: 0;
  padding: 3.25rem 1.5rem 0;
  font-family: var(--w2-font-body);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-hero"]
  > div {
  max-width: 57.5rem;
  gap: 1.35rem;
  transform: translateY(-5.2rem);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-hero"]
  > div
  > span:first-child {
  border-color: color-mix(in srgb, #e8e6df 22%, transparent);
  background: color-mix(in srgb, #e8e6df 5%, transparent);
  color: color-mix(in srgb, #e8e6df 64%, transparent);
  font-family: "IBM Plex Mono", monospace;
  padding: 0.375rem 0.75rem;
  font-size: 0.625rem;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-hero"]
  h1 {
  max-width: 13ch;
  color: #e8e6df;
  font-family: var(--w2-font-heading);
  font-size: clamp(3.5rem, 8vw, 6.75rem);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-hero"]
  > div
  > span:nth-of-type(2) {
  width: 5.5rem;
  height: 1px;
  background: var(--w2-primary);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-hero"]
  h1
  + span {
  margin-block: -0.5rem;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-hero"]
  p {
  max-width: 32rem;
  color: color-mix(in srgb, #e8e6df 62%, transparent);
  font-size: 1rem;
  line-height: 1.65;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-hero"]
  a {
  width: min(17.5rem, 100%);
  min-height: 3.25rem;
  border-color: var(--w2-primary);
  border-radius: 0.25rem;
  color: #e8e6df;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-sections"] {
  position: fixed;
  top: 50%;
  left: 0;
  z-index: 40;
  width: 3.25rem;
  height: min(15rem, 42vh);
  transform: translateY(-50%);
  border: 0;
  padding: 0;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-sections"]::before {
  content: none;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-sections-inner"] {
  width: 100%;
  height: 100%;
  max-width: none;
  padding: 0;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-section-nav"].website-v2-section-ruler {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-section-nav"]
  .website-v2-section-ruler__track {
  position: relative;
  width: 2.625rem;
  height: 100%;
  margin-left: 0.875rem;
  overflow: visible;
  padding: 0;
  pointer-events: auto;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__minors,
.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__majors {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__minor,
.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__majors
  a {
  position: absolute;
  top: calc(var(--ruler-pos, 0) * 100%);
  left: 0;
  display: flex;
  width: 2.625rem;
  height: 1rem;
  align-items: center;
  transform: translateY(-50%);
}

.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__minor {
  justify-content: flex-start;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__minor
  span,
.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__majors
  a
  span {
  display: block;
  width: 6px;
  height: 1.5px;
  background: color-mix(in srgb, #e8e6df 46%, transparent);
  opacity: 0.28;
  transition: width 100ms ease, opacity 100ms ease, background 160ms ease;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__majors
  a {
  z-index: 2;
  pointer-events: auto;
  cursor: pointer;
  outline: none;
  text-decoration: none;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__majors
  a
  span {
  width: 0.5rem;
  background: color-mix(in srgb, #e8e6df 70%, transparent);
  opacity: 0.85;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__majors
  a[aria-current="location"]
  span,
.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__majors
  a:hover
  span,
.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__majors
  a:focus-visible
  span {
  width: 1.25rem;
  background: var(--w2-primary);
  opacity: 1;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__majors
  a:focus-visible {
  outline: 1px solid var(--w2-primary);
  outline-offset: 2px;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__preview {
  position: fixed;
  left: 3rem;
  z-index: 56;
  width: min(18rem, calc(100vw - 4rem));
  transform: translateY(-50%);
  border: 1px solid color-mix(in srgb, #e8e6df 16%, transparent);
  border-radius: 0.25rem;
  background: #17191b;
  padding: 0.875rem 1rem;
  color: #e8e6df;
  box-shadow: 0 0.75rem 2rem rgb(0 0 0 / 28%);
  pointer-events: none;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__preview[hidden] {
  display: none;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__preview
  strong {
  font-size: 0.875rem;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-section-ruler__preview
  p {
  margin: 0.375rem 0 0;
  color: color-mix(in srgb, #e8e6df 58%, transparent);
  font-size: 0.75rem;
  line-height: 1.5;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="catalog-section"] {
  padding: 0;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="booking-section"] {
  margin-top: 3.5rem;
  padding: 0;
}

.website-v2-site[data-website-template="template10"] .website-v2-catalog {
  gap: 0;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-catalog__toolbar {
  gap: 0;
}

.website-v2-site[data-website-template="template10"] .website-v2-catalog__list {
  margin-bottom: 1.5rem;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="catalog-container"],
.website-v2-site[data-website-template="template10"]
  [data-website-node="booking-container"] {
  padding: 0;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="catalog-container"] {
  max-width: 113.125rem;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="booking-container"] {
  max-width: 69.325rem;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="booking"] {
  width: 100%;
  margin: 0;
}

.website-v2-site[data-website-template="template10"] .website-v2-catalog,
.website-v2-site[data-website-template="template10"] .website-v2-booking {
  border-color: color-mix(in srgb, #e8e6df 16%, transparent);
  border-radius: 0;
  background: transparent;
}

.website-v2-site[data-website-template="template10"] .website-v2-booking {
  align-items: center;
  border: 0;
  padding: 0;
  text-align: center;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-booking__header {
  width: min(100%, 46rem);
  gap: 0.75rem;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-booking__header
  > span {
  color: var(--w2-primary);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-booking__header
  h2 {
  color: #e8e6df;
  font-size: clamp(2rem, 4vw, 2.5rem);
  font-weight: 600;
  letter-spacing: -0.04em;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-booking__header
  p {
  color: #9b9a94;
  font-size: 1rem;
}

.website-v2-site[data-website-template="template10"] .website-v2-catalog__item {
  border-color: color-mix(in srgb, var(--w2-foreground) 16%, transparent);
  border-radius: 0.25rem;
  background: color-mix(in srgb, var(--w2-foreground) 4%, transparent);
}

.website-v2-site[data-website-template="template10"]
  .website-v2-catalog__list--datum
  > .website-v2-catalog__datum-item {
  min-width: 0;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-catalog__list--datum
  .website-v2-catalog__datum-item {
  width: 100%;
  min-width: 0;
}

@media (max-width: 640px) {
  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-trail"] {
    display: none;
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-scroll"] {
    top: auto;
    bottom: 8.875rem;
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-testimonials-inner"] {
    grid-template-columns: minmax(0, 1fr);
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-testimonials-grid"] {
    grid-template-columns: minmax(0, 1fr);
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node^="t10-quote-"] {
    transform: none;
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-sections"] {
    display: none;
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-hero"]
    h1 {
    font-size: clamp(3rem, 13vw, 4.5rem);
  }
}

@keyframes website-v2-t10-scroll {
  0% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    transform: translateY(3.75rem);
  }
}

@media (max-width: 768px) {
  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-topbar"],
  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-sections"] {
    display: none;
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-hero"] {
    box-sizing: border-box;
    min-height: calc(100svh - var(--website-v2-demo-toolbar-height, 0px));
    padding: 2.5rem 1.25rem 1rem;
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-hero"]
    > div {
    gap: 1.375rem;
    transform: translateY(-5.75rem);
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-hero"]
    h1 {
    max-width: 100%;
    font-size: clamp(2rem, 11.5vw, 3.4rem);
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-hero"]
    > div
    > span:nth-of-type(2) {
    margin-block: -0.3125rem;
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-hero"]
    a {
    width: 100%;
    min-height: 3.75rem;
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-scroll"] {
    bottom: 8.875rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-scroll"]::before {
    animation: none;
  }
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="map-card"] {
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-hero"] {
  isolation: isolate;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-hero__datum-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-hero__datum-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.22;
  transform: scale(1.04);
}

.website-v2-site[data-website-template="template10"]
  .website-v2-hero__datum-scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgb(13 14 17 / 42%) 0%,
    rgb(13 14 17 / 78%) 52%,
    rgb(13 14 17 / 92%) 100%
  );
}

.website-v2-site[data-website-template="template10"]
  .website-v2-hero__datum-content {
  position: relative;
  z-index: 1;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="map-grid"] {
  display: flex;
  max-width: 80rem;
  flex-direction: column;
  gap: 1rem;
  margin-inline: auto;
  border: 1px solid color-mix(in srgb, #e8e6df 16%, transparent);
  background: #111214;
  padding: 1rem;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="map-copy"] {
  gap: 0;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="map-address"] {
  display: none;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-map-card__canvas {
  min-height: 18rem;
  border: 1px solid color-mix(in srgb, #e8e6df 16%, transparent);
  background: #18191b;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-map-card__footer {
  color: #e8e6df;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-catalog__toolbar
  > div:first-child {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-catalog__toolbar
  > div:first-child
  > div {
  align-items: flex-start;
  text-align: left;
}

.website-v2-site[data-website-template="template10"]
  .website-v2-catalog__toolbar
  h2 {
  text-align: left;
}

.website-v2-site[data-website-template="template10"] .website-v2-catalog__more {
  align-self: center;
  border: 1px solid color-mix(in srgb, #e8e6df 16%, transparent);
  border-radius: 0.25rem;
  padding: 0.5rem 0.875rem;
  color: #9b9a94;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.625rem;
  text-decoration: none;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-features-cta"] {
  width: fit-content;
  min-height: 2.5rem;
  border-color: var(--w2-primary);
  border-radius: 0.25rem;
  color: #e8e6df;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-testimonials-inner"] {
  display: grid;
  max-width: 80rem;
  grid-template-columns: minmax(15rem, 0.9fr) minmax(0, 1.3fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 4.5rem);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-testimonials-copy"] {
  gap: 1.5rem;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-testimonials-title"]
  h2 {
  color: #e8e6df;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.05;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-testimonials-cta"] {
  width: fit-content;
  min-height: 2.5rem;
  border-color: var(--w2-primary);
  border-radius: 0.25rem;
  color: #e8e6df;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-testimonials-grid"] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node^="t10-quote-"] {
  min-height: 8rem;
  gap: 1rem;
  border: 1px solid color-mix(in srgb, #e8e6df 14%, transparent);
  border-radius: 0.375rem;
  background: #151618;
  padding: 1.125rem;
  color: #e8e6df;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node^="t10-quote-"]
  blockquote {
  font-family: var(--w2-font-body);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node^="t10-quote-"]
  figcaption {
  margin-top: auto;
  color: #9b9a94;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-quote-2"] {
  transform: rotate(1.5deg) translateY(1rem);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-quote-3"] {
  transform: rotate(-1.25deg);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-quote-4"] {
  transform: rotate(1deg) translateY(0.75rem);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-quote-5"] {
  transform: rotate(-1deg);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-finale"] {
  max-width: 73.75rem;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-finale-card"] {
  max-width: none;
  border: 0;
  border-top: 1px solid color-mix(in srgb, #e8e6df 16%, transparent);
  border-radius: 0;
  background: transparent;
  padding: clamp(3rem, 14vh, 10rem) 0 clamp(2.5rem, 7vh, 5rem);
  color: #e8e6df;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-finale-content"] {
  gap: 1.5rem;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-finale-status"] {
  width: fit-content;
  border-color: color-mix(in srgb, #e8e6df 22%, transparent);
  border-radius: 0.25rem;
  background: transparent;
  padding: 0.375rem 0.625rem;
  color: #9b9a94;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-finale-card"]
  h2 {
  max-width: 14ch;
  color: #e8e6df;
  font-size: clamp(2.8rem, 8vw, 6.5rem);
  font-weight: 600;
  line-height: 0.94;
  letter-spacing: -0.04em;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-finale-card"]
  p {
  color: #9b9a94;
  white-space: pre-line;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-finale-deck"] {
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-finale-info"] {
  max-width: 46ch;
  gap: 1rem;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-finale-body"] {
  margin: 0;
  color: #9b9a94;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-finale-contact"] {
  color: #9b9a94;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-contact-separator"] {
  opacity: 0.5;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-finale-foot"] {
  gap: 0;
  margin-top: 2rem;
  border-top: 1px solid color-mix(in srgb, #e8e6df 16%, transparent);
  padding-top: 1.5rem;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-payment"] {
  margin: 0;
  padding: 0;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="jim-footer"] {
  margin-top: 1.5rem;
  border-top: 1px solid color-mix(in srgb, #e8e6df 16%, transparent);
  padding-top: 1.5rem;
  color: #9b9a94;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-finale-card"]
  a {
  width: fit-content;
  border: 1px solid var(--w2-primary);
  border-radius: 0.25rem;
  background: transparent;
  color: #e8e6df;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-testimonials-grid"] {
  position: relative;
  display: block;
  min-width: 0;
  min-height: clamp(30rem, 58vh, 40rem);
  overflow: visible;
  perspective: 56.25rem;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node^="t10-quote-"] {
  position: absolute;
  width: min(16.75rem, 40vw);
  min-height: 8rem;
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, #e8e6df 14%, transparent);
  border-radius: 0.875rem;
  background: #151618;
  padding: clamp(0.75rem, 1.6vw, 1.375rem);
  color: #e8e6df;
  opacity: 0.42;
  filter: blur(1px);
  transform: translate(-50%, -50%);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-quote-1"] {
  top: 36%;
  left: 54%;
  z-index: 5;
  opacity: 1;
  filter: none;
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-quote-2"] {
  top: 22%;
  left: 82%;
  transform: translate(-50%, -50%) rotate(1.6deg) scale(0.9);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-quote-3"] {
  top: 74%;
  left: 76%;
  transform: translate(-50%, -50%) rotate(-2.1deg) scale(0.9);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-quote-4"] {
  top: 68%;
  left: 24%;
  transform: translate(-50%, -50%) rotate(1.4deg) scale(0.9);
}

.website-v2-site[data-website-template="template10"]
  [data-website-node="t10-quote-5"] {
  top: 24%;
  left: 16%;
  transform: translate(-50%, -50%) rotate(-1.7deg) scale(0.9);
}

@media (max-width: 768px) {
  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-testimonials-inner"] {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    width: 100%;
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-testimonials-copy"] {
    min-width: 0;
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node="t10-testimonials-grid"] {
    display: flex;
    width: 100%;
    min-height: 0;
    flex-direction: column;
    gap: 0.75rem;
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node^="t10-quote-"] {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    transform: none;
    opacity: 1;
    filter: none;
  }

  .website-v2-site[data-website-template="template10"]
    [data-website-node^="t10-quote-"]
    blockquote {
    overflow-wrap: anywhere;
  }
}

.template0Hero.template0Hero {
  box-sizing: border-box;
  width: auto;
  height: calc(100vh - 40px);
  min-height: 0;
  margin: 20px;
  padding: 48px 60px 60px;
  border-radius: 16px;
}

.template0Hero .template0Copy {
  width: 100%;
  max-width: 720px;
  min-height: 100%;
  gap: 18px;
}

.template0Hero .template0Eyebrow {
  align-self: flex-start;
  font-size: 22px;
  line-height: 1.4;
  margin-bottom: -10px;
  text-transform: uppercase;
}

.template0Hero .template0Title {
  max-width: none;
  font-size: min(9vw, 108px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

.template0Hero .template0Badge {
  width: fit-content;
  max-width: 100%;
  min-height: 30px;
  padding: 4px 20px;
  font-size: 14px;
  line-height: 20px;
}

.template0Hero .template0Body {
  max-width: 720px;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: -0.01em;
  text-wrap: pretty;
}

.template0Hero .template0Actions > a,
.template0Hero .template0Actions > button {
  width: 225px;
  min-height: 44px;
  padding: 10px 20px;
  border-radius: 999px;
  font-size: 16.64px;
  line-height: 23.296px;
}

.template0Hero .template0Actions {
  margin-bottom: 30px;
}

.template0Hero .template0Action {
  width: 225px;
  min-height: 44px;
  padding: 10px 20px;
  border-radius: 999px;
  font-size: 16.64px;
  line-height: 23.296px;
  color: #1d1d1f;
}

.template0Hero .template0ScrollHint {
  position: absolute;
  right: 0;
  bottom: 32px;
  left: 0;
  display: flex;
  height: 24px;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
}

.template0Hero .template0ScrollIcon {
  width: 24px;
  height: 24px;
}

@media (max-width: 767px) {
  .template0Hero .template0Copy {
    padding-bottom: 184px;
  }

  .template0Hero.template0Hero {
    height: calc(100vh - 40px);
    margin: 20px;
    padding: 24px;
  }

  .template0Hero .template0Title {
    font-size: clamp(32px, 11vw, 80px);
    line-height: 1.1;
  }

  .template0Hero .template0Body {
    font-size: 16px;
    line-height: 1.5;
  }

  .template0Hero .template0Badge {
    min-height: 0;
    padding: 4px 16px;
    font-size: 12px;
    line-height: 16.8px;
  }

  .template0Hero .template0Actions > a,
  .template0Hero .template0Actions > button {
    width: auto;
    height: 44px;
    padding: 0 32px;
    font-size: 14px;
  }

  .template0Hero .template0Actions {
    margin-bottom: 0;
  }

  .template0Hero .template0ScrollHint {
    bottom: 24px;
  }
}

.footer {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  box-sizing: border-box;
  min-height: 56px;
  padding: 0 clamp(16px, 4vw, 56px);
  background: #000;
  color: #fff;
}

/* The bar is the footer's own band, so the section anchoring it must not pad
   itself block-wise: that padding renders as a strip of page colour above and
   below, making the bar look twice its height. The selector matches the
   templates' own footer-section rules so it wins on specificity. */
.website-v2-site[data-website-template] [data-website-node="footer-section"] {
  padding-block: 0;
}

/* The bar is the last thing on the page, so bottom padding on the site shows as
   a strip of page colour below it. Top padding is the page's own breathing room
   and stays. */
main.website-v2-site[data-website-template] {
  padding-bottom: 0;
}

main.website-v2-site[data-website-template]
  > [data-website-component="Section"] {
  padding-block-end: 0;
}

.brand {
  display: flex;
  align-items: center;
  min-width: 0;
}

.link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.link:hover {
  opacity: 0.8;
}

.logo {
  display: block;
  width: auto;
  height: 24px;
}

/* template5 also insets its footer section horizontally; the bar brings its own
   inset, so the section's is dropped to keep all templates aligned. */
.website-v2-site[data-website-template="template5"]
  [data-website-node="footer-section"] {
  padding-inline: 0;
}

.meta {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px 16px;
  min-width: 0;
  margin-left: auto;
}

.copyright {
  margin: 0;
  overflow: hidden;
  color: rgb(255 255 255 / 0.7);
  font-size: 13px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.report {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 12px;
  border: 1px solid rgb(255 255 255 / 0.35);
  border-radius: 999px;
  background: none;
  color: #fff;
  font: inherit;
  font-size: 13px;
  line-height: 1.4;
  white-space: nowrap;
  cursor: pointer;
}

.report:hover {
  border-color: rgb(255 255 255 / 0.7);
  background: rgb(255 255 255 / 0.1);
}

.report > span {
  font-size: 15px;
}

@media (max-width: 767px) {
  .footer {
    min-height: 52px;
    padding-inline: 16px;
  }

  .copyright {
    font-size: 12px;
    white-space: normal;
  }

  .report {
    padding: 4px 10px;
    font-size: 12px;
  }
}

.scrollSection {
  min-height: 100vh;
}

.scrollPin {
  position: relative;
  min-height: 100vh;
  perspective: 250vw;
}

main[data-website-template="template0"]
  [data-website-scroll-effect="intro"]
  .scrollPin {
  display: flow-root;
}

main[data-website-template="template0"] .scrollSection {
  height: 100vh;
  min-height: 0;
  padding: 0;
  background: transparent;
}

main[data-website-template="template0"]
  [data-website-scroll-effect="slide"].scrollSection {
  padding: 0;
}

main[data-website-template="template0"]
  [data-website-scroll-effect="slide"]
  .scrollPin {
  display: flex;
  color: var(--w2-template0-foreground-hero, #fff);
}

main[data-website-template="template0"]
  [data-website-node="price-section"]
  .scrollPin {
  color: var(--w2-template0-foreground-price, #fff);
}

main[data-website-template="template0"]
  [data-website-node="trust-section"]
  .scrollPin {
  color: var(--w2-template0-foreground-trust, #fff);
}

main[data-website-template="template0"]
  [data-website-node="services-section"]
  .scrollPin {
  color: var(--w2-template0-foreground-features, #fff);
}

main[data-website-template="template0"]
  [data-website-scroll-effect="slide"]
  .scrollPin
  > [data-website-component="Container"]::before {
  position: absolute;
  z-index: -1;
  inset: 20px;
  border-radius: 16px;
  background: var(
    --w2-template0-gradient-hero,
    linear-gradient(135deg, #141228, #2d2852)
  );
  content: "";
}

main[data-website-template="template0"]
  [data-website-node="price-section"]
  .scrollPin
  > [data-website-component="Container"]::before {
  background: var(
    --w2-template0-gradient-price,
    linear-gradient(135deg, #1a1a2e, #16213e)
  );
}

main[data-website-template="template0"]
  [data-website-node="trust-section"]
  .scrollPin
  > [data-website-component="Container"]::before {
  background: var(
    --w2-template0-gradient-trust,
    linear-gradient(135deg, #141228, #2d2852)
  );
}

main[data-website-template="template0"]
  [data-website-node="services-section"]
  .scrollPin
  > [data-website-component="Container"]::before {
  background: var(
    --w2-template0-gradient-features,
    linear-gradient(135deg, #141228, #2d2852)
  );
}

main[data-website-template="template0"]
  :is(
    [data-website-node="price-section"],
    [data-website-node="trust-section"],
    [data-website-node="services-section"]
  )
  .scrollPin
  > [data-website-component="Container"]::after {
  position: absolute;
  top: 60px;
  right: 80px;
  color: inherit;
  font-family: "Material Symbols Outlined", sans-serif;
  font-size: 64px;
  font-weight: 400;
  line-height: 1;
  font-variation-settings: "FILL" 1;
}

main[data-website-template="template0"]
  [data-website-node="price-section"]
  .scrollPin
  > [data-website-component="Container"]::after {
  content: "payments";
}

main[data-website-template="template0"]
  [data-website-node="trust-section"]
  .scrollPin
  > [data-website-component="Container"]::after {
  content: "verified_user";
}

main[data-website-template="template0"]
  [data-website-node="services-section"]
  .scrollPin
  > [data-website-component="Container"]::after {
  content: "check_circle";
}

main[data-website-template="template0"]
  [data-website-scroll-effect="slide"]
  .scrollPin
  > [data-website-component="Container"] {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: none;
  min-height: 100vh;
  padding: 60px;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="legacy-hero"] {
  display: block;
  min-height: calc(100vh - 120px);
  padding: 0;
  border-radius: 0;
  background: transparent;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="legacy-hero"],
main[data-website-template="template0"]
  .scrollSection
  [data-website-node="legacy-hero"]
  [class~="website-v2-hero__eyebrow"] {
  color: inherit;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="legacy-hero"]
  > img {
  display: none;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="legacy-hero"]
  > div {
  width: 100%;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="legacy-hero"]
  [class~="website-v2-hero__copy"] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto 1fr auto;
  width: 100%;
  min-height: calc(100vh - 120px);
  gap: 16px;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="legacy-hero"]
  [class~="website-v2-hero__eyebrow"],
main[data-website-template="template0"]
  .scrollSection
  [data-website-node="legacy-hero"]
  [class~="website-v2-hero__title"] {
  grid-column: 1 / -1;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="legacy-hero"]
  [class~="website-v2-hero__title"] {
  max-width: 750px;
  font-size: clamp(3.5rem, 6vw, 78px);
  line-height: 1.1;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="legacy-hero"]
  [class~="website-v2-hero__body"] {
  grid-column: 1;
  grid-row: 4;
  max-width: 550px;
  margin: 0;
  color: inherit;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="legacy-hero"]
  [class~="website-v2-hero__actions"] {
  grid-column: 2;
  grid-row: 4;
  align-self: end;
  justify-self: end;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="price-stack"] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto 1fr auto;
  min-height: calc(100vh - 120px);
  align-items: start;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="price-title"] {
  grid-column: 1 / -1;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="price-title"]
  > span {
  color: inherit;
  font-size: 22px;
  font-weight: 400;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="services-title"]
  > span {
  color: inherit;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="services-title"]
  > h2 {
  max-width: 1052px;
  font-size: min(9vw, 108px);
  font-weight: 700;
  line-height: 1.1;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="services-list"] {
  gap: 12px;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="services-list"]
  li {
  gap: 12px;
  font-size: 19px;
  line-height: 1.6;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="services-list"]
  li
  > span:first-child {
  color: inherit;
  font-size: 1.2em;
  font-weight: 700;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="price-title"]
  > h2 {
  max-width: none;
  font-size: min(9vw, 108px);
  font-weight: 700;
  line-height: 1.1;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="price-body"] {
  grid-column: 1;
  grid-row: 2;
  max-width: 550px;
  align-self: start;
  font-size: 22px;
  line-height: 1.5;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="price-actions"] {
  grid-column: 2;
  grid-row: 3;
  flex-direction: column;
  align-items: flex-end;
  gap: 32px;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="price-period"] {
  font-size: 42px;
  line-height: 0.85;
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="price-cta"] {
  min-height: 44px;
  padding: 0 48px;
  border-radius: 999px;
  background: #fff;
  color: #1d1d1f;
  font-size: clamp(15px, 1.3vw, 18px);
}

main[data-website-template="template0"]
  .scrollSection
  [data-website-node="price-value"] {
  font-size: clamp(3rem, 16vw, 12rem);
  line-height: 1;
}

main[data-website-template="template0"]
  [data-website-node="trust-section"]
  .scrollPin
  [data-website-node="trust-stack"] {
  min-height: calc(100vh - 120px);
}

main[data-website-template="template0"]
  [data-website-node="trust-section"]
  .scrollPin
  [data-website-node="trust-title"]
  > span {
  color: inherit;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0;
}

main[data-website-template="template0"]
  [data-website-node="trust-section"]
  .scrollPin
  [data-website-node="trust-title"]
  > h2 {
  max-width: none;
  font-size: min(9vw, 108px);
  font-weight: 700;
  line-height: 1.1;
}

@media (max-aspect-ratio: 1 / 1) {
  main[data-website-template="template0"]
    .scrollSection
    [data-website-node="services-title"]
    > h2 {
    font-size: clamp(28px, 8.5vw, 50px);
  }

  main[data-website-template="template0"]
    .scrollSection
    [data-website-node="price-title"]
    > h2,
  main[data-website-template="template0"]
    [data-website-node="trust-section"]
    .scrollPin
    [data-website-node="trust-title"]
    > h2 {
    font-size: clamp(32px, 11vw, 80px);
  }
}

main[data-website-template="template0"]
  [data-website-node="trust-section"]
  .scrollPin
  [data-website-node="trust-body"] {
  max-width: 550px;
  font-size: 22px;
  line-height: 1.5;
}

main[data-website-template="template0"]
  [data-website-node="trust-section"]
  .scrollPin
  [data-website-node="trust-badge"] {
  align-self: flex-end;
  width: fit-content;
  margin-top: auto;
  padding: 4px 16px;
  background: rgba(255, 255, 255, 0.1);
  color: inherit;
  font-size: 12px;
}

main[data-website-template="template0"]
  [data-website-node="trust-section"]
  .scrollPin
  [data-website-node="trust-cta"] {
  align-self: flex-end;
  width: 245px;
  min-height: 44px;
  border-radius: 999px !important;
  background: #fff;
  color: #1d1d1f;
  font-size: 14px;
}

@media (max-width: 767px) {
  main[data-website-template="template0"]
    .scrollSection
    [data-website-node="price-stack"] {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    align-content: start;
  }

  main[data-website-template="template0"]
    .scrollSection
    [data-website-node="price-body"],
  main[data-website-template="template0"]
    .scrollSection
    [data-website-node="price-actions"] {
    grid-column: 1;
  }

  main[data-website-template="template0"]
    .scrollSection
    [data-website-node="price-actions"] {
    align-items: flex-start;
    margin-top: 40px;
  }

  main[data-website-template="template0"]
    .scrollSection
    [data-website-node="price-title"]
    > span {
    max-width: calc(100% - 48px);
    font-size: 18px;
    letter-spacing: 0.04em;
  }

  main[data-website-template="template0"]
    .scrollSection
    :is([data-website-node="trust-title"], [data-website-node="services-title"])
    > span {
    max-width: calc(100% - 48px);
  }

  main[data-website-template="template0"]
    .scrollSection
    [data-website-node="price-body"] {
    font-size: 16px;
  }

  main[data-website-template="template0"]
    .scrollSection
    [data-website-node="price-period"] {
    font-size: 20px;
  }

  main[data-website-template="template0"]
    [data-website-node="trust-section"]
    .scrollPin
    [data-website-node="trust-title"]
    > h2 {
    max-width: 220px;
  }

  main[data-website-template="template0"]
    [data-website-node="trust-section"]
    .scrollPin
    [data-website-node="trust-body"] {
    font-size: 16px;
  }

  main[data-website-template="template0"]
    .scrollSection
    [data-website-node="services-title"]
    > h2 {
    max-width: 280px;
    font-size: clamp(32px, 11vw, 80px);
  }

  main[data-website-template="template0"]
    .scrollSection
    [data-website-node="services-list"]
    li {
    font-size: 14px;
  }

  main[data-website-template="template0"]
    [data-website-scroll-effect="slide"]
    .scrollPin
    > [data-website-component="Container"]::before {
    inset: 20px;
  }

  main[data-website-template="template0"]
    [data-website-scroll-effect="slide"]
    .scrollPin
    > [data-website-component="Container"] {
    padding: 40px;
  }

  main[data-website-template="template0"]
    :is(
      [data-website-node="price-section"],
      [data-website-node="trust-section"],
      [data-website-node="services-section"]
    )
    .scrollPin
    > [data-website-component="Container"]::after {
    top: 40px;
    right: 40px;
    font-size: 40px;
  }
}
