:root {
  --border: hsl(12 26% 89%);
  --input: hsl(12 26% 89%);
  --ring: hsl(338 46% 26%);
  --background: hsl(20 50% 98%);
  --foreground: hsl(340 12% 13%);
  --primary: hsl(338 46% 26%);
  --primary-foreground: hsl(20 50% 98%);
  --secondary: hsl(10 44% 95%);
  --secondary-foreground: hsl(340 12% 13%);
  --destructive: hsl(0 62% 45%);
  --destructive-foreground: hsl(20 50% 98%);
  --muted: hsl(10 34% 94%);
  --muted-foreground: hsl(340 8% 44%);
  --accent: hsl(8 44% 92%);
  --accent-foreground: hsl(340 12% 13%);
  --popover: hsl(20 50% 98%);
  --popover-foreground: hsl(340 12% 13%);
  --card: hsl(12 44% 96%);
  --card-foreground: hsl(340 12% 13%);
  --cream: hsl(20 50% 98%);
  --cream-dark: hsl(12 44% 96%);
  --cream-darker: hsl(10 34% 92%);
  --ink: hsl(340 12% 13%);
  --ink-light: hsl(340 8% 32%);
  --ink-muted: hsl(340 7% 48%);
  --divider: hsl(12 26% 89%);
  --plum: hsl(320 42% 27%);
  --plum-light: hsl(324 30% 44%);
  --plum-soft: hsl(330 44% 93%);
  --plum-foreground: hsl(20 50% 98%);
  --blush: hsl(8 56% 94%);
  --burgundy: hsl(340 48% 26%);
  --rose: hsl(348 44% 74%);
  --champagne: hsl(22 42% 88%);
  --ivory: hsl(24 56% 99%);
  --beige: hsl(14 32% 93%);
  --sidebar-background: hsl(38 28% 95%);
  --sidebar-foreground: hsl(25 7% 32%);
  --sidebar-primary: hsl(25 10% 12%);
  --sidebar-primary-foreground: hsl(40 33% 97%);
  --sidebar-accent: hsl(36 20% 93%);
  --sidebar-accent-foreground: hsl(25 10% 12%);
  --sidebar-border: hsl(34 18% 87%);
  --sidebar-ring: hsl(292 44% 25%);
  --font-serif: var(--font-display);
  --font-display: "Instrument Serif", Georgia, serif;
  --font-sans: "Inter", system-ui, sans-serif;
  --radius-lg: 0rem;
  --radius-md: calc(0rem - 2px);
  --radius-sm: calc(0rem - 4px);
  --container-max-width: 1400px;
}
/* Manual patch: base typographic layer (h1-h4/p/eyebrow) missing entirely from the generated Tailwind build */
h1,h2,h3,h4{font-family:"Instrument Serif", Georgia, serif !important;font-weight:400;}
h1{font-size:3.25rem !important;line-height:0.98 !important;letter-spacing:-0.02em !important;}
@media (min-width:640px){h1{font-size:3.75rem !important;}}
@media (min-width:768px){h1{font-size:4.5rem !important;}}
@media (min-width:1024px){h1{font-size:5.5rem !important;}}
@media (min-width:1280px){h1{font-size:6.5rem !important;}}
h2{font-size:2.5rem !important;line-height:1.04 !important;letter-spacing:-0.015em !important;}
@media (min-width:768px){h2{font-size:3rem !important;}}
@media (min-width:1024px){h2{font-size:3.75rem !important;}}
h3{font-size:1.5rem !important;line-height:1.15 !important;letter-spacing:-0.01em !important;}
@media (min-width:768px){h3{font-size:2rem !important;}}
p{font-size:1rem !important;line-height:1.75 !important;color:var(--ink-light) !important;}
@media (min-width:768px){p{font-size:1.0625rem !important;}}
.eyebrow{font-size:10px;font-family:var(--font-sans);font-weight:500;text-transform:uppercase;letter-spacing:0.28em;color:var(--ink-muted);}
@media (min-width:768px){.eyebrow{font-size:11px;}}


.font-serif{font-family:"Instrument Serif", Georgia, serif !important;}
.font-sans{font-family:"Inter", system-ui, sans-serif !important;}

/* lwc00000h-nav-fix: Xpro header desktop nav was computing display:none/visibility:hidden despite hidden+lg:flex Tailwind classes matching the element - cascade issue never fully root-caused, forcing the intended values directly by element id */
.elementor-element-lwc00000h,.elementor-element-lwc00000h *{visibility:visible !important;}
.elementor-element-lwc00000h{display:none !important;}
@media (min-width:1024px){.elementor-element-lwc00000h{display:flex !important;position:static !important;left:auto !important;transform:none !important;translate:none !important;width:max-content !important;margin-left:auto !important;margin-right:auto !important;}}

/* Global styling system patch: classes used live across the site (Elementor _css_classes)
   that were entirely missing from the generated Tailwind build. Values copied verbatim
   from the Lovable source (src/index.css @layer utilities/components, tailwind.config.ts). */
.font-display{font-family:var(--font-display)}
.text-ink{color:var(--ink)}
.text-ink-light{color:var(--ink-light)}
.text-ink-muted{color:var(--ink-muted)}
.text-burgundy{color:var(--burgundy)}
.bg-divider{background-color:var(--divider)}
.border-divider{border-color:var(--divider)}
.divide-divider > :not([hidden]) ~ :not([hidden]){border-color:var(--divider)}
.hover\:text-plum:hover{color:var(--plum)}
.group:hover .group-hover\:text-plum{color:var(--plum)}
.group:hover .group-hover\:bg-blush{background-color:var(--blush)}
.focus\:bg-background:focus{background-color:var(--background)}
.focus\:text-foreground:focus{color:var(--foreground)}
.focus\:border-ink:focus{border-color:var(--ink)}
.focus-visible\:ring-ring:focus-visible{box-shadow:0 0 0 2px var(--ring)}
.ring-offset-background{--tw-ring-offset-color:var(--background)}
.ease-editorial{transition-timing-function:cubic-bezier(0.16,1,0.3,1)}
.\[\&_svg\]\:ease-editorial svg{transition-timing-function:cubic-bezier(0.16,1,0.3,1)}
.arrow-link{display:inline-flex;align-items:center;gap:0.75rem;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.22em;transition:color 500ms cubic-bezier(0.16,1,0.3,1)}
.arrow-link svg{transition:transform 500ms cubic-bezier(0.16,1,0.3,1)}
.arrow-link:hover svg{transform:translateX(0.375rem)}
.editorial-link{position:relative;display:inline-block}
.editorial-link::after{content:'';position:absolute;bottom:-0.125rem;left:0;width:100%;height:1px;background-color:currentColor;transform-origin:left;transform:scaleX(0);transition:transform 500ms cubic-bezier(0.16,1,0.3,1)}
.editorial-link:hover::after,.editorial-link:focus-visible::after{transform:scaleX(1)}
.img-zoom{transition-property:transform;transition-timing-function:cubic-bezier(0.16,1,0.3,1);transition-duration:1400ms}
.group:hover .img-zoom{transform:scale(1.06)}

/* Button variant classes beyond "default/solid" (Lovable's buttonVariants — cva) in case
   other pages use them; base classes already present, these add the variant-specific ones. */
.bg-destructive{background-color:var(--destructive)}
.text-destructive-foreground{color:var(--destructive-foreground)}
.hover\:bg-destructive\/90:hover{background-color:color-mix(in srgb, var(--destructive) 90%, transparent)}
.border-ink\/25{border-color:color-mix(in srgb, var(--ink) 25%, transparent)}
.hover\:border-plum:hover{border-color:var(--plum)}
.bg-blush{background-color:var(--blush)}
.border-ink\/15{border-color:color-mix(in srgb, var(--ink) 15%, transparent)}
.hover\:bg-plum:hover{background-color:var(--plum)}
.hover\:border-plum:hover{border-color:var(--plum)}
.hover\:text-plum-foreground:hover{color:var(--plum-foreground)}
.text-plum{color:var(--plum)}
.underline-offset-4{text-underline-offset:4px}
.hover\:underline:hover{text-decoration-line:underline}
.tracking-normal{letter-spacing:0}
.normal-case{text-transform:none}
.rounded-none{border-radius:0}
.px-0{padding-left:0;padding-right:0}

/* nav-justify-fix: parent flex row uses justify-content:space-between which fights the nav auto-margins meant to center it - force flex-start so auto-margins are the only spacing mechanism at desktop width */
@media (min-width:1024px){.elementor-element-lwc00000o{justify-content:flex-start !important;}}
