
/* tokens.css */
/**
 * KMHEER Gallery - Design Tokens & Visual Identity System v3.0
 * Ultra-Luxury Fine Art Photography & Museum Editorial Standard
 * With Motion System, Responsive Spacing, & Accessibility
 */

:root {
  /* ═══════════════════════════════════════════
     CORE BRAND COLOR PALETTE
     ═══════════════════════════════════════════ */
  --km-white: #FAF8F5;
  --km-paper: #F3EFE6;
  --km-paper-warm: #EBE5D8;
  --km-card-bg: #FFFFFF;
  --km-ink: #171717;
  --km-ink-light: #2C2A29;
  --km-bronze: #A7834F;
  --km-bronze-hover: #8F6E3E;
  --km-bronze-light: #CBB48E;
  --km-bronze-subtle: rgba(167, 131, 79, 0.08);
  --km-bronze-glow: rgba(167, 131, 79, 0.25);
  --km-stone: #D8D2C7;
  --km-stone-light: #EBE7DF;
  --km-muted: #6F6D68;
  --km-muted-light: #96948F;

  /* Dark Museum Surfaces */
  --km-dark-surface: #121212;
  --km-dark-elevated: #1E1E1E;
  --km-dark-card: #252525;
  --km-border-dark: #2F2F2F;
  --km-border-dark-subtle: rgba(255, 255, 255, 0.08);

  /* Status Colors */
  --km-success: #3A6844;
  --km-success-bg: #EDF5EE;
  --km-error: #9E3B32;
  --km-error-bg: #FAF0EF;
  --km-warning: #B87A24;
  --km-warning-bg: #FDF6EC;
  --km-info: #2B6CB0;
  --km-info-bg: #EBF3FA;

  /* ═══════════════════════════════════════════
     TYPOGRAPHY — Tajawal Primary + Inter Secondary
     ═══════════════════════════════════════════ */
  --font-display: "Tajawal", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-body: "Tajawal", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: "JetBrains Mono", "Fira Code", monospace;

  /* ═══════════════════════════════════════════
     SPACING SCALE (8dp rhythm)
     ═══════════════════════════════════════════ */
  --space-0-5: 4px;
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 40px;
  --space-6: 48px;
  --space-8: 64px;
  --space-9: 72px;
  --space-12: 96px;
  --space-16: 128px;

  /* Section spacing (responsive) */
  --section-py: clamp(48px, 8vw, 96px);
  --section-py-lg: clamp(64px, 10vw, 128px);

  /* ═══════════════════════════════════════════
     LAYOUT & WIDTHS
     ═══════════════════════════════════════════ */
  --content-max: 1380px;
  --content-narrow: 920px;
  --content-wide: 1560px;
  --header-height: 80px;
  --header-mobile-height: 64px;
  --gutter: clamp(16px, 3.5vw, 36px);

  /* ═══════════════════════════════════════════
     BORDERS & RADII
     ═══════════════════════════════════════════ */
  --border-subtle: 1px solid var(--km-stone);
  --border-subtle-light: 1px solid rgba(216, 210, 199, 0.6);
  --border-bronze: 1px solid var(--km-bronze);
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-pill: 9999px;

  /* ═══════════════════════════════════════════
     MOTION SYSTEM — Easing & Duration Tokens
     ═══════════════════════════════════════════ */
  /* Easing curves */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-expo: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out-expo: cubic-bezier(0.87, 0, 0.13, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Duration tokens */
  --dur-instant: 100ms;
  --dur-fast: 180ms;
  --dur-normal: 300ms;
  --dur-slow: 450ms;
  --dur-slower: 600ms;
  --dur-slowest: 800ms;

  /* Composed transitions */
  --transition-fast: var(--dur-fast) var(--ease-out-expo);
  --transition-ui: var(--dur-normal) var(--ease-out-expo);
  --transition-smooth: var(--dur-slow) var(--ease-out-expo);
  --transition-slow: var(--dur-slower) var(--ease-out-expo);
  --transition-spring: var(--dur-normal) var(--ease-spring);

  /* ═══════════════════════════════════════════
     ELEVATION SHADOWS (Multi-Layered)
     ═══════════════════════════════════════════ */
  --shadow-subtle: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0,0,0,0.02);
  --shadow-card: 0 4px 16px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.03);
  --shadow-card-hover: 0 16px 48px rgba(0, 0, 0, 0.1), 0 4px 12px rgba(0, 0, 0, 0.04);
  --shadow-floating: 0 24px 64px rgba(0, 0, 0, 0.14), 0 8px 24px rgba(0,0,0,0.06);
  --shadow-drawer: -6px 0 32px rgba(0, 0, 0, 0.16);
  --shadow-frame: 0 12px 36px rgba(0, 0, 0, 0.12), inset 0 0 0 1px rgba(0, 0, 0, 0.06);
  --shadow-header: 0 2px 12px rgba(0, 0, 0, 0.06);
  --shadow-header-scrolled: 0 4px 20px rgba(0, 0, 0, 0.1);

  /* ═══════════════════════════════════════════
     Z-INDEX HIERARCHY
     ═══════════════════════════════════════════ */
  --z-negative: -1;
  --z-elevate: 1;
  --z-sticky: 100;
  --z-header: 500;
  --z-drawer: 1000;
  --z-modal: 1100;
  --z-toast: 1200;
}

/* ═══════════════════════════════════════════
   ACCESSIBILITY — Reduced Motion
   ═══════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-instant: 0ms;
    --dur-fast: 0ms;
    --dur-normal: 0ms;
    --dur-slow: 0ms;
    --dur-slower: 0ms;
    --dur-slowest: 0ms;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


/* gallery-core.css */
/**
 * KMHEER Gallery - Core UI Architecture v3.0
 * Museum-Grade • Fully Responsive • Animated • Accessible
 * 6 Breakpoints: 375px → 576px → 768px → 992px → 1200px → 1440px
 */

/* ═══════════════════════════════════════════
   RESET & BASE
   ═══════════════════════════════════════════ */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--font-body);
  background-color: var(--km-white);
  color: var(--km-ink);
  line-height: 1.7;
  font-weight: 400;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
  width: 100%;
  overflow-x: clip;
}

::selection {
  background-color: var(--km-bronze);
  color: #fff;
}

/* ═══════════════════════════════════════════
   TYPOGRAPHY HIERARCHY
   ═══════════════════════════════════════════ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.25;
  color: var(--km-ink);
  letter-spacing: -0.01em;
}

h1 { font-size: clamp(1.75rem, 4.5vw, 3.2rem); }
h2 { font-size: clamp(1.5rem, 3.5vw, 2.4rem); }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.7rem); }
h4 { font-size: 1.15rem; }
h5 { font-size: 1rem; }

p {
  margin-bottom: var(--space-2);
  color: var(--km-ink-light);
  font-size: 1rem;
  line-height: 1.75;
}

p.lead {
  font-size: clamp(1rem, 1.8vw, 1.15rem);
  line-height: 1.8;
  color: var(--km-muted);
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-fast), opacity var(--transition-fast);
}

a:hover { color: var(--km-bronze); }

img {
  max-width: 100%;
  height: auto;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
}

/* ═══════════════════════════════════════════
   CONTAINERS
   ═══════════════════════════════════════════ */
.km-container {
  width: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.km-container-narrow {
  width: 100%;
  max-width: var(--content-narrow);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.km-container-wide {
  width: 100%;
  max-width: var(--content-wide);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

/* ═══════════════════════════════════════════
   HEADER & NAVIGATION
   ═══════════════════════════════════════════ */
.km-top-banner {
  position: relative;
  z-index: calc(var(--z-header) + 1);
}

.km-header {
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  background-color: rgba(250, 248, 245, 0.92);
  backdrop-filter: blur(20px) saturate(1.2);
  -webkit-backdrop-filter: blur(20px) saturate(1.2);
  border-bottom: 1px solid rgba(216, 210, 199, 0.5);
  height: var(--header-height);
  display: flex;
  align-items: center;
  transition: background-color var(--transition-slow),
              box-shadow var(--transition-slow),
              height var(--transition-slow),
              border-color var(--transition-slow);
  will-change: background-color, box-shadow;
}

.km-header.scrolled {
  background-color: rgba(250, 248, 245, 0.97);
  box-shadow: var(--shadow-header-scrolled);
  border-color: transparent;
}

.km-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 16px;
}

.km-brand {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-shrink: 0;
  transition: transform var(--transition-ui);
}

.km-brand:hover {
  transform: scale(1.02);
}

.km-brand-logo {
  height: 36px;
  width: auto;
  transition: height var(--transition-slow);
}

.km-header.scrolled .km-brand-logo {
  height: 30px;
}

.km-nav-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  list-style: none;
  gap: clamp(4px, 0.7vw, 16px);
  flex: 1 1 auto;
  min-width: 0;
}

.km-nav-link {
  font-size: clamp(0.76rem, 0.84vw, 0.88rem);
  font-weight: 700;
  color: var(--km-ink);
  position: relative;
  padding: 6px clamp(7px, 0.75vw, 13px) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color var(--transition-fast), background-color var(--transition-fast);
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  border-radius: 6px;
}

.km-nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background-color: var(--km-bronze);
  transition: width var(--transition-ui), left var(--transition-ui);
  border-radius: 1px;
}

.km-nav-link:hover,
.km-nav-link.active {
  color: var(--km-bronze);
  background-color: rgba(167, 131, 79, 0.06);
}

.km-nav-link:hover::after,
.km-nav-link.active::after {
  width: 100%;
  left: 0;
}

.km-header-actions {
  display: flex;
  align-items: center;
  gap: clamp(4px, 1vw, 12px);
  flex-shrink: 0;
}

.km-action-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
  color: var(--km-ink);
  position: relative;
  border-radius: var(--radius-sm);
  transition: color var(--transition-fast),
              background-color var(--transition-fast),
              transform var(--transition-fast);
}

.km-action-btn:hover {
  color: var(--km-bronze);
  background-color: var(--km-bronze-subtle);
}

.km-action-btn:active {
  transform: scale(0.92);
}

.km-badge {
  position: absolute;
  top: 4px;
  right: 4px;
  background-color: var(--km-bronze);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 800;
  min-width: 18px;
  height: 18px;
  border-radius: var(--radius-pill);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  line-height: 1;
  pointer-events: none;
  animation: kmBadgePop 300ms var(--ease-spring) forwards;
}

@keyframes kmBadgePop {
  0% { transform: scale(0); }
  100% { transform: scale(1); }
}

/* ═══════════════════════════════════════════
   BUTTONS & CTAs
   ═══════════════════════════════════════════ */
.km-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
  padding: 12px 28px;
  font-family: var(--font-body);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all var(--transition-ui);
  text-align: center;
  border: 1.5px solid transparent;
  text-decoration: none;
  min-height: 48px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.km-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: currentColor;
  opacity: 0;
  transition: opacity var(--transition-fast);
  z-index: -1;
}

.km-btn:hover::before {
  opacity: 0.06;
}

.km-btn:active {
  transform: scale(0.97);
  transition-duration: var(--dur-instant);
}

.km-btn-primary {
  background-color: var(--km-ink);
  color: #fff;
  border-color: var(--km-ink);
}

.km-btn-primary:hover {
  background-color: var(--km-bronze);
  border-color: var(--km-bronze);
  color: #fff;
  box-shadow: 0 6px 20px rgba(167, 131, 79, 0.3);
}

.km-btn-bronze {
  background-color: var(--km-bronze);
  color: #fff;
  border-color: var(--km-bronze);
}

.km-btn-bronze:hover {
  background-color: var(--km-bronze-hover);
  border-color: var(--km-bronze-hover);
  color: #fff;
  box-shadow: 0 6px 20px rgba(167, 131, 79, 0.35);
  transform: translateY(-1px);
}

.km-btn-outline {
  background-color: transparent;
  color: var(--km-ink);
  border-color: var(--km-stone);
}

.km-btn-outline:hover {
  border-color: var(--km-bronze);
  color: var(--km-bronze);
  background-color: var(--km-bronze-subtle);
}

.km-btn-ghost {
  background-color: transparent;
  color: var(--km-ink);
  padding: 8px 16px;
  border: none;
}

.km-btn-ghost:hover {
  color: var(--km-bronze);
}

.km-btn-sm {
  padding: 8px 18px;
  font-size: 0.84rem;
  min-height: 40px;
  border-radius: var(--radius-xs);
}

.km-btn-lg {
  padding: 16px 36px;
  font-size: 1.02rem;
  min-height: 54px;
  border-radius: var(--radius-md);
}

.km-btn-block { width: 100%; }

/* ═══════════════════════════════════════════
   FORM ELEMENTS
   ═══════════════════════════════════════════ */
.km-form-group {
  margin-bottom: var(--space-3);
}

.km-label {
  display: block;
  font-size: 0.88rem;
  font-weight: 700;
  margin-bottom: 6px;
  color: var(--km-ink);
}

.km-input, .km-select, .km-textarea {
  width: 100%;
  padding: 13px 16px;
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: var(--km-ink);
  background-color: #fff;
  border: 1.5px solid var(--km-stone);
  border-radius: var(--radius-sm);
  transition: border-color var(--transition-fast),
              box-shadow var(--transition-fast),
              background-color var(--transition-fast);
  outline: none;
}

.km-input:hover, .km-select:hover, .km-textarea:hover {
  border-color: var(--km-bronze-light);
}

.km-input:focus, .km-select:focus, .km-textarea:focus {
  border-color: var(--km-bronze);
  box-shadow: 0 0 0 3px var(--km-bronze-subtle);
  background-color: #fff;
}

.km-textarea {
  resize: vertical;
  min-height: 110px;
}

/* ═══════════════════════════════════════════
   SLIDING DRAWERS (Cart & Mobile Nav)
   ═══════════════════════════════════════════ */
.km-drawer-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: var(--z-drawer);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transition-smooth), visibility var(--transition-smooth);
}

.km-drawer-overlay.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.km-drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  width: min(100%, 420px);
  background-color: var(--km-white);
  box-shadow: var(--shadow-drawer);
  z-index: calc(var(--z-drawer) + 1);
  transform: translateX(105%);
  transition: transform var(--transition-smooth);
  display: flex;
  flex-direction: column;
  will-change: transform;
}

.km-drawer-overlay.active .km-drawer {
  transform: translateX(0);
}

.km-drawer-header {
  padding: var(--space-2) var(--space-3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--km-stone-light);
  background-color: #fff;
  min-height: 64px;
}

.km-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: var(--space-3);
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.km-drawer-footer {
  padding: var(--space-2) var(--space-3);
  border-top: 1px solid var(--km-stone-light);
  background-color: var(--km-paper);
}

/* ═══════════════════════════════════════════
   MODALS (Hidden by Default — STRICT)
   ═══════════════════════════════════════════ */
.km-viewer-modal,
.km-room-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: var(--z-modal) !important;
  background-color: rgba(12, 12, 12, 0.94) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  display: none !important;
  pointer-events: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: var(--gutter) !important;
}

.km-viewer-modal.active,
.km-room-modal.active {
  display: flex !important;
  pointer-events: auto !important;
  animation: kmModalIn var(--dur-normal) var(--ease-out-expo) forwards;
}

@keyframes kmModalIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Viewer Modal */
.km-viewer-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 14px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, transparent 100%);
  color: #fff;
  z-index: 10;
}

.km-viewer-canvas-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  cursor: grab;
}

.km-viewer-canvas-wrap:active { cursor: grabbing; }

.km-viewer-canvas-wrap img {
  max-width: 92vw;
  max-height: 88vh;
  object-fit: contain;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
  transition: transform 0.15s ease;
  border-radius: 2px;
}

/* Room Preview Modal */
.km-room-dialog {
  background: #fff;
  border-radius: var(--radius-lg);
  overflow: hidden;
  max-width: 880px;
  width: 100%;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.45);
  animation: kmDialogSlideUp var(--dur-slow) var(--ease-out-expo) forwards;
}

@keyframes kmDialogSlideUp {
  from { opacity: 0; transform: translateY(24px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.km-room-stage-mockup {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #171717;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.km-room-stage-mockup .room-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.km-room-art-overlay {
  position: relative;
  z-index: 2;
  transition: transform var(--transition-smooth);
}

/* ═══════════════════════════════════════════
   TOAST NOTIFICATIONS
   ═══════════════════════════════════════════ */
.km-toast-container {
  position: fixed;
  bottom: var(--space-4);
  right: var(--space-4);
  z-index: var(--z-toast);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  pointer-events: none;
}

.km-toast {
  background-color: var(--km-ink);
  color: #fff;
  padding: 14px 20px;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-floating);
  font-size: 0.88rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 280px;
  max-width: 420px;
  pointer-events: auto;
  animation: kmToastIn 400ms var(--ease-out-expo) forwards;
}

.km-toast.success { border-inline-start: 3px solid var(--km-success); }
.km-toast.error { border-inline-start: 3px solid var(--km-error); }
.km-toast.warning { border-inline-start: 3px solid var(--km-warning); }

@keyframes kmToastIn {
  from { opacity: 0; transform: translateX(24px) scale(0.95); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}

.km-toast.exit {
  animation: kmToastOut 250ms var(--ease-in-expo) forwards;
}

@keyframes kmToastOut {
  from { opacity: 1; transform: translateX(0); }
  to { opacity: 0; transform: translateX(32px); }
}

/* ═══════════════════════════════════════════
   SCROLL REVEAL ANIMATION SYSTEM (Smooth & Non-Blocking)
   ═══════════════════════════════════════════ */
.km-motion-ready [data-km-reveal] {
  opacity: 0;
  transition: opacity var(--dur-slower) var(--ease-out-expo),
              transform var(--dur-slower) var(--ease-out-expo);
  will-change: opacity, transform;
}

.km-motion-ready [data-km-reveal="up"] { transform: translateY(24px); }
.km-motion-ready [data-km-reveal="down"] { transform: translateY(-24px); }
.km-motion-ready [data-km-reveal="left"] { transform: translateX(30px); }
.km-motion-ready [data-km-reveal="right"] { transform: translateX(-30px); }
.km-motion-ready [data-km-reveal="fade"] { transform: none; }
.km-motion-ready [data-km-reveal="scale"] { transform: scale(0.96); }

.km-motion-ready [data-km-reveal].revealed {
  opacity: 1;
  transform: none;
}

/* Stagger children */
.km-motion-ready [data-km-stagger] > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity var(--dur-slow) var(--ease-out-expo),
              transform var(--dur-slow) var(--ease-out-expo);
}

.km-motion-ready [data-km-stagger].revealed > * {
  opacity: 1;
  transform: none;
}

.km-motion-ready [data-km-stagger].revealed > *:nth-child(1) { transition-delay: 0ms; }
.km-motion-ready [data-km-stagger].revealed > *:nth-child(2) { transition-delay: 60ms; }
.km-motion-ready [data-km-stagger].revealed > *:nth-child(3) { transition-delay: 120ms; }
.km-motion-ready [data-km-stagger].revealed > *:nth-child(4) { transition-delay: 180ms; }
.km-motion-ready [data-km-stagger].revealed > *:nth-child(5) { transition-delay: 240ms; }
.km-motion-ready [data-km-stagger].revealed > *:nth-child(6) { transition-delay: 300ms; }
.km-motion-ready [data-km-stagger].revealed > *:nth-child(7) { transition-delay: 360ms; }
.km-motion-ready [data-km-stagger].revealed > *:nth-child(8) { transition-delay: 420ms; }
.km-motion-ready [data-km-stagger].revealed > *:nth-child(n+9) { transition-delay: 480ms; }

/* ═══════════════════════════════════════════
   RESPONSIVE BREAKPOINTS
   ═══════════════════════════════════════════ */

/* ── Small phones (max 576px) ── */
@media (max-width: 576px) {
  .km-header { height: 56px; }
  .km-brand-logo { height: 26px; }
  .km-header-actions { gap: 2px; }
  .km-action-btn { min-width: 38px; min-height: 38px; padding: 6px; }
  .km-action-btn svg { width: 18px; height: 18px; }

  .km-btn { padding: 10px 20px; font-size: 0.88rem; min-height: 44px; }
  .km-btn-lg { padding: 14px 28px; font-size: 0.95rem; min-height: 48px; }

  .km-toast-container { bottom: 12px; right: 12px; left: 12px; }
  .km-toast { min-width: auto; width: 100%; font-size: 0.84rem; padding: 12px 16px; }
}

/* ── Phones (max 768px) ── */
@media (max-width: 768px) {
  :root {
    --gutter: 16px;
    --section-py: clamp(36px, 7vw, 64px);
  }

  .km-room-dialog { border-radius: var(--radius-md); margin: 8px; }
  .km-drawer { width: 100%; max-width: 100%; }
}

/* ── Tablets & Below (max 991px) ── */
@media (max-width: 991px) {
  .km-nav-menu { display: none !important; }
  .km-header { height: var(--header-mobile-height); }
  .km-brand-logo { height: 30px; }

  .km-viewer-canvas-wrap img { max-width: 96vw; max-height: 80vh; }
}

/* ── Desktop & Up (min 992px) ── */
@media (min-width: 992px) {
  .d-lg-none { display: none !important; }
}

/* ── Large Desktop (min 1200px) ── */
@media (min-width: 1200px) {
  :root {
    --gutter: 36px;
  }
}

/* ── XL Desktop (min 1440px) ── */
@media (min-width: 1440px) {
  :root {
    --content-max: 1440px;
  }
}

/* ═══════════════════════════════════════════
   UTILITY CLASSES
   ═══════════════════════════════════════════ */
.text-center { text-align: center; }
.text-start { text-align: start; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}


/* luxury-editorial.css */
/**
 * KMHEER Gallery - Luxury Editorial & Widget Aesthetic Engine v3.0
 * Museum Grade • Fluid Responsive • Micro-Interactions • Liquid Glass & Editorial Design
 */

/* ═══════════════════════════════════════════
   1. SECTION FOUNDATIONS & BACKGROUNDS
   ═══════════════════════════════════════════ */
.km-section-editorial {
  padding: var(--section-py) 0;
  position: relative;
  overflow: hidden;
}

.km-section-paper {
  background-color: var(--km-paper);
}

.km-section-dark {
  background-color: var(--km-dark-surface);
  color: var(--km-white);
}

.km-section-dark h1,
.km-section-dark h2,
.km-section-dark h3,
.km-section-dark p {
  color: var(--km-white);
}

.km-section-header {
  margin-bottom: clamp(28px, 4.5vw, 56px);
  text-align: center;
}

.km-section-header.text-start {
  text-align: start;
}

.km-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--km-bronze);
  margin-bottom: 8px;
}

.km-title-large {
  font-size: clamp(1.75rem, 3.8vw, 3rem);
  line-height: 1.25;
  font-weight: 700;
  color: var(--km-ink);
  margin-bottom: 8px;
}

.km-section-dark .km-title-large {
  color: #FFFFFF;
}

/* ═══════════════════════════════════════════
   2. HERO WIDGET (Cinematic & Fluid)
   ═══════════════════════════════════════════ */
.km-widget-hero {
  position: relative;
  min-height: clamp(480px, 80vh, 860px);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: clip;
  background-color: var(--km-dark-surface);
  color: #fff;
  padding: clamp(60px, 10vw, 120px) 16px;
  touch-action: pan-y;
}

.km-hero-backdrop {
  position: absolute;
  inset: -10% 0 -10% 0;
  z-index: 1;
  pointer-events: none;
  will-change: transform;
}

.km-hero-backdrop img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}
.km-hero-backdrop picture { display:block; width:100%; height:100%; }

.km-hero-scrim {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(18, 18, 18, 0.4) 0%,
    rgba(18, 18, 18, 0.65) 50%,
    rgba(18, 18, 18, 0.92) 100%
  );
  backdrop-filter: blur(1px);
}

.km-hero-content {
  position: relative;
  z-index: 3;
  text-align: center;
  max-width: 900px;
  margin-inline: auto;
  padding-inline: clamp(8px, 3vw, 24px);
}

.km-hero-title {
  font-size: clamp(2rem, 5.2vw, 3.8rem);
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: clamp(12px, 2vw, 18px);
  color: #FFFFFF;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
}

.km-hero-subtitle {
  font-size: clamp(1rem, 2vw, 1.3rem);
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: clamp(24px, 4vw, 36px);
  font-weight: 400;
  max-width: 680px;
  margin-inline: auto;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}

.km-hero-actions {
  display: flex;
  justify-content: center;
  gap: clamp(10px, 2vw, 18px);
  flex-wrap: wrap;
}

/* Organic Desert Dunes Curve / Seamless Integration Divider */
.km-hero-bottom-curve {
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  z-index: 4;
  pointer-events: none;
}

.km-hero-bottom-curve svg {
  position: relative;
  display: block;
  width: 100%;
  height: clamp(38px, 6vw, 92px);
}

/* Interactive Scroll Indicator */
.km-hero-scroll-trigger {
  position: absolute;
  bottom: clamp(48px, 7.5vw, 100px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: all var(--transition-fast);
  cursor: pointer;
}

.km-hero-scroll-trigger:hover {
  color: var(--km-bronze-light);
  transform: translateX(-50%) translateY(-3px);
}

.km-hero-scroll-icon {
  animation: kmHeroBounce 2s infinite ease-in-out;
  color: var(--km-bronze-light);
}

@keyframes kmHeroBounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(6px);
  }
  60% {
    transform: translateY(3px);
  }
}

@media (max-width: 576px) {
  .km-hero-actions {
    flex-direction: column;
    width: 100%;
    max-width: 320px;
    margin-inline: auto;
  }
  .km-hero-actions .km-btn {
    width: 100%;
  }
  .km-hero-scroll-trigger {
    bottom: clamp(36px, 6vw, 60px);
  }
}

/* ═══════════════════════════════════════════
   3. ARTWORK CARDS & GALLERY GRIDS
   ═══════════════════════════════════════════ */
.km-art-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: clamp(20px, 3vw, 36px);
}

@media (max-width: 640px) {
  .km-art-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.km-art-card {
  position: relative;
  background-color: #fff;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--km-stone-light);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  transition: transform var(--transition-ui),
              box-shadow var(--transition-ui),
              border-color var(--transition-ui);
  will-change: transform, box-shadow;
}

.km-art-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-card-hover);
  border-color: var(--km-bronze-light);
}

.km-art-card-media {
  position: relative;
  overflow: hidden;
  background-color: var(--km-paper);
  aspect-ratio: 4 / 3;
}

.km-art-card-media.square {
  aspect-ratio: 1 / 1;
}

.km-art-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms var(--ease-out-expo);
}

.km-art-card:hover .km-art-card-media img {
  transform: scale(1.06);
}

.km-art-card-badges {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 2;
}

.km-card-badge {
  background: rgba(23, 23, 23, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  letter-spacing: 0.04em;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.km-card-badge.limited {
  background: rgba(167, 131, 79, 0.95);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.3);
}

/* Sold artworks remain visible as provenance records, but are unmistakably
   closed for acquisition on every public card surface. */
.km-card-badge.km-card-badge--sold-out {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 11px;
  border:1px solid rgba(255,255,255,.62) !important;
  background:rgba(20,17,14,.94) !important;
  color:#f5dfb9 !important;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.055em;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.km-art-card.is-sold-out .km-art-card-media img,
.km4-curated-card.is-sold-out .km4-curated-card__media img {
  filter:saturate(.58) contrast(.96);
  transition:filter .25s ease,transform .45s ease;
}
.km-art-card.is-sold-out:hover .km-art-card-media img,
.km4-curated-card.is-sold-out:hover .km4-curated-card__media img { filter:saturate(.72) contrast(1); }
.km-art-card.is-sold-out .km-art-card-price,
.km4-curated-card.is-sold-out .km4-curated-card__price { color:#6f5a40; font-weight:800; }

.km-art-card-fav {
  position: absolute;
  bottom: 12px;
  left: 12px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--km-ink);
  cursor: pointer;
  z-index: 2;
  transition: transform var(--transition-fast),
              color var(--transition-fast),
              background-color var(--transition-fast);
}

.km-art-card-fav:hover,
.km-art-card-fav.active {
  color: #E53E3E;
  background: #fff;
  transform: scale(1.12);
  box-shadow: 0 4px 14px rgba(229, 62, 62, 0.25);
}

.km-art-card-info {
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  gap: 12px;
  border-top: 1px solid var(--km-stone-light);
  background: #fff;
}

.km-art-card-title {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--km-ink);
  margin-bottom: 4px;
}

.km-art-card-artist {
  font-size: 0.84rem;
  color: var(--km-muted);
  display: block;
}

.km-art-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.km-art-card-price {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--km-bronze);
  font-family: var(--font-display);
}

/* ═══════════════════════════════════════════
   4. COLLECTIONS & SERIES CARDS
   ═══════════════════════════════════════════ */
.km-col-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(20px, 3vw, 36px);
}

@media (max-width: 480px) {
  .km-col-grid {
    grid-template-columns: 1fr;
  }
}

.km-col-card {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background-color: var(--km-dark-surface);
  box-shadow: var(--shadow-card);
  transition: transform var(--transition-ui), box-shadow var(--transition-ui);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-decoration: none;
}

.km-col-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-card-hover);
}

.km-col-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 800ms var(--ease-out-expo);
}

.km-col-card:hover img {
  transform: scale(1.08);
}

.km-col-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.1) 0%,
    rgba(0, 0, 0, 0.45) 40%,
    rgba(0, 0, 0, 0.9) 100%
  );
  z-index: 1;
  transition: opacity var(--transition-ui);
}

.km-col-card:hover .km-col-card-overlay {
  opacity: 0.95;
}

.km-col-card-content {
  position: relative;
  z-index: 2;
  padding: clamp(18px, 3vw, 28px);
  color: #fff;
}

.km-col-card-title {
  font-size: clamp(1.2rem, 2.5vw, 1.6rem);
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px;
}

.km-col-card-subtitle {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.5;
}

/* ═══════════════════════════════════════════
   5. STATS, TESTIMONIALS & CRAFTSMANSHIP
   ═══════════════════════════════════════════ */
.km-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2.5vw, 28px);
}

@media (max-width: 991px) {
  .km-stats-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
  .km-stats-grid { grid-template-columns: 1fr; }
}

.km-stat-card {
  background: #fff;
  border: 1px solid var(--km-stone-light);
  border-radius: var(--radius-md);
  padding: clamp(24px, 3vw, 36px) 20px;
  text-align: center;
  box-shadow: var(--shadow-card);
  transition: transform var(--transition-ui), box-shadow var(--transition-ui);
}

.km-stat-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}

.km-stat-number {
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  font-weight: 900;
  color: var(--km-bronze);
  line-height: 1;
  margin-bottom: 8px;
  font-family: var(--font-display);
}

.km-stat-label {
  font-size: 1rem;
  font-weight: 700;
  color: var(--km-ink);
  margin-bottom: 4px;
}

.km-stat-desc {
  font-size: 0.82rem;
  color: var(--km-muted);
}

.km-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: clamp(20px, 3vw, 32px);
}

@media (max-width: 480px) {
  .km-testimonial-grid { grid-template-columns: 1fr; }
}

.km-testimonial-card {
  background: #fff;
  border: 1px solid var(--km-stone-light);
  border-radius: var(--radius-md);
  padding: clamp(24px, 3vw, 36px);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform var(--transition-ui), box-shadow var(--transition-ui);
}

.km-testimonial-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}

.km-testimonial-quote {
  font-size: clamp(0.95rem, 1.8vw, 1.1rem);
  line-height: 1.8;
  color: var(--km-ink-light);
  margin-bottom: 20px;
}

.km-testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--km-stone-light);
}

.km-testimonial-avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--km-bronze-subtle);
  color: var(--km-bronze);
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}

.km-craft-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 3vw, 36px);
}

@media (max-width: 991px) {
  .km-craft-grid { grid-template-columns: 1fr; }
}

.km-craft-card {
  background: #fff;
  border: 1px solid var(--km-stone-light);
  border-radius: var(--radius-md);
  padding: clamp(24px, 3vw, 36px);
  box-shadow: var(--shadow-card);
  transition: transform var(--transition-ui), box-shadow var(--transition-ui);
}

.km-craft-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}

.km-craft-icon {
  width: 54px;
  height: 54px;
  border-radius: var(--radius-sm);
  background: var(--km-bronze-subtle);
  color: var(--km-bronze);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}

.km-craft-title {
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.km-craft-desc {
  font-size: 0.92rem;
  color: var(--km-muted);
  line-height: 1.7;
}

/* ═══════════════════════════════════════════
   6. FAQ ACCORDION (Smooth Expanding)
   ═══════════════════════════════════════════ */
.km-faq-list {
  max-width: 860px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.km-faq-item {
  background: #fff;
  border: 1.5px solid var(--km-stone-light);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.km-faq-item:hover {
  border-color: var(--km-bronze-light);
}

.km-faq-item.active {
  border-color: var(--km-bronze);
  box-shadow: var(--shadow-card);
}

.km-faq-question {
  width: 100%;
  padding: 18px 24px;
  background: transparent;
  border: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  text-align: start;
  font-family: var(--font-body);
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--km-ink);
  cursor: pointer;
  transition: color var(--transition-fast);
}

.km-faq-icon {
  transition: transform var(--transition-ui);
  color: var(--km-bronze);
  flex-shrink: 0;
}

.km-faq-item.active .km-faq-icon {
  transform: rotate(180deg);
}

.km-faq-answer {
  display: none;
  padding: 0 24px 20px 24px;
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--km-muted);
  border-top: 1px solid rgba(0, 0, 0, 0.04);
  padding-top: 14px;
}

.km-faq-item.active .km-faq-answer {
  display: block;
  animation: kmFaqSlideDown 250ms var(--ease-out-expo) forwards;
}

@keyframes kmFaqSlideDown {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ═══════════════════════════════════════════
   7. ARTWORK DETAIL VIEW & FRAME SIMULATOR
   ═══════════════════════════════════════════ */
.km-artwork-stage {
  padding-top: clamp(24px, 4vw, 48px);
  padding-bottom: clamp(48px, 6vw, 84px);
  background-color: var(--km-white);
}

.km-artwork-layout {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
}

@media (max-width: 991px) {
  .km-artwork-layout {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

.km-stage-visual {
  position: sticky;
  top: calc(var(--header-height) + 24px);
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (max-width: 991px) {
  .km-stage-visual {
    position: static;
  }
}

.km-frame-stage {
  width: 100%;
  background: radial-gradient(circle at 50% 30%, #F5F2EB 0%, #E6E1D5 100%);
  padding: clamp(20px, 4vw, 56px);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 2px 8px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.03);
  border: 1px solid var(--km-stone-light);
  min-height: clamp(320px, 45vh, 520px);
}

.km-frame-container {
  position: relative;
  max-width: 100%;
  display: inline-flex;
  transition: all 400ms var(--ease-out-expo);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.16), 0 2px 6px rgba(0,0,0,0.08);
}

/* Framing Material Styles */
.km-frame-container.km-frame-natural-oak {
  border: clamp(14px, 2.2vw, 24px) solid #C8A575;
  box-shadow: 
    inset 0 0 0 1px rgba(0,0,0,0.25),
    inset 0 2px 5px rgba(0,0,0,0.3),
    0 18px 48px rgba(0, 0, 0, 0.18),
    0 2px 8px rgba(0,0,0,0.06);
  background: #C8A575;
}

.km-frame-container.km-frame-dark-walnut {
  border: clamp(14px, 2.2vw, 24px) solid #3D2619;
  box-shadow: 
    inset 0 0 0 1px rgba(255,255,255,0.1),
    inset 0 2px 6px rgba(0,0,0,0.5),
    0 20px 52px rgba(0, 0, 0, 0.25),
    0 2px 8px rgba(0,0,0,0.08);
  background: #3D2619;
}

.km-frame-container.km-frame-black-gallery {
  border: clamp(12px, 2vw, 20px) solid #171717;
  box-shadow: 
    inset 0 0 0 1px rgba(255,255,255,0.08),
    inset 0 2px 6px rgba(0,0,0,0.6),
    0 20px 52px rgba(0, 0, 0, 0.25),
    0 2px 8px rgba(0,0,0,0.08);
  background: #171717;
}

.km-frame-container.km-frame-white-minimal {
  border: clamp(12px, 2vw, 20px) solid #FFFFFF;
  box-shadow: 
    inset 0 0 0 1px rgba(0,0,0,0.1),
    inset 0 1px 3px rgba(0,0,0,0.06),
    0 18px 45px rgba(0, 0, 0, 0.14),
    0 2px 6px rgba(0,0,0,0.04);
  background: #FFFFFF;
}

.km-frame-container.km-frame-gold-leaf {
  border: clamp(14px, 2.2vw, 24px) solid #C5A059;
  box-shadow: 
    inset 0 0 0 1px rgba(0,0,0,0.2),
    inset 0 2px 5px rgba(0,0,0,0.3),
    0 20px 50px rgba(197, 160, 89, 0.3);
  background: #C5A059;
}

.km-frame-container.km-frame-none {
  border: none !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.14), 0 2px 6px rgba(0,0,0,0.06);
}

.km-frame-mat {
  background-color: #FAF9F6;
  padding: clamp(12px, 2.5vw, 28px);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.05);
  transition: padding var(--transition-ui);
}

.km-frame-image-wrapper {
  position: relative;
  overflow: hidden;
  max-height: 440px;
  transition: all var(--transition-ui);
}

.km-frame-image-wrapper img {
  display: block;
  max-width: 100%;
  max-height: 440px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Stage Controls */
.km-stage-controls {
  display: flex;
  gap: 12px;
  margin-top: 18px;
  flex-wrap: wrap;
  justify-content: center;
}

.km-stage-btn {
  background: #fff;
  border: 1px solid var(--km-stone);
  border-radius: var(--radius-sm);
  padding: 10px 18px;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--km-ink);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all var(--transition-fast);
  min-height: 44px;
}

.km-stage-btn:hover,
.km-stage-btn.active {
  border-color: var(--km-bronze);
  color: var(--km-bronze);
  background-color: var(--km-bronze-subtle);
  transform: translateY(-1px);
}

/* Acquisition & Customizer Panel */
.km-stage-info {
  background: #fff;
  border: 1px solid var(--km-stone-light);
  border-radius: var(--radius-md);
  padding: clamp(20px, 3.5vw, 36px);
  box-shadow: var(--shadow-card);
}

.km-option-group {
  margin-bottom: 22px;
}

.km-option-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.92rem;
  font-weight: 700;
  margin-bottom: 10px;
  color: var(--km-ink);
}

.km-pills-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 10px;
}

.km-pill {
  background: var(--km-white);
  border: 1.5px solid var(--km-stone);
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  text-align: center;
  cursor: pointer;
  transition: all var(--transition-fast);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 52px;
}

.km-pill:hover {
  border-color: var(--km-bronze-light);
  background-color: #fff;
}

.km-pill.active {
  border-color: var(--km-bronze);
  background-color: var(--km-bronze-subtle);
  box-shadow: 0 0 0 1px var(--km-bronze);
}

.km-pill-sub {
  font-size: 0.75rem;
  color: var(--km-muted);
  display: block;
  margin-top: 2px;
}

.km-cert-badge-box {
  margin-top: 28px;
  padding: 16px 20px;
  background: var(--km-paper);
  border: 1px solid var(--km-stone-light);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  gap: 14px;
}

.km-cert-badge-icon {
  color: var(--km-bronze);
  flex-shrink: 0;
}


/* page-builder.css */
/**
 * KMHEER Gallery - Page Builder Section Widgets Styles v3.0
 * Unified with Luxury Editorial System • Non-Blocking Scroll Architecture
 */

/* Container & Section Spacing for Page Builder Containers */
.km-homepage-experience {
  width: 100%;
  display: block;
}

.km-homepage-experience > section {
  width: 100%;
  position: relative;
}


/* gallery-v3.css */
/**
 * KMHEER Gallery Experience v3
 * Museum editorial system, high-touch commerce, mobile first.
 */

:root {
  --km-white: #fcfbf8;
  --km-paper: #f3efe6;
  --km-paper-warm: #e9e1d3;
  --km-ink: #171613;
  --km-bronze: #a37c45;
  --km-bronze-hover: #805d30;
  --km-muted: #6d685f;
  --km-stone: #d9d1c4;
  --km-content: 1480px;
  --km-reading: 780px;
  --km-soft-shadow: 0 20px 70px rgba(34, 28, 18, .08);
}

html { scroll-behavior: smooth; overflow-x: clip; }
body { background: var(--km-white); color: var(--km-ink); text-rendering: optimizeLegibility; }
body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .32;
  background-image: radial-gradient(rgba(24,20,14,.035) .7px, transparent .7px); background-size: 5px 5px;
}
::selection { background: rgba(163,124,69,.25); color: #111; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(163,124,69,.38) !important; outline-offset: 3px; }
.km-skip-link { position: fixed; inset-inline-start: 20px; top: -80px; z-index: 10000; background: #171613; color: #fff; padding: 12px 18px; border-radius: 0 0 10px 10px; }
.km-skip-link:focus { top: 0; }

.km-container { width: min(calc(100% - clamp(32px, 6vw, 96px)), var(--km-content)); margin-inline: auto; }
.km-container-narrow { max-width: var(--km-reading); }

.km-top-banner { min-height: 38px; display: grid; place-items: center; background: #171613 !important; }
.km-top-banner a { transition: color .2s ease; }
.km-top-banner a:hover { color: #d9bd91 !important; }
.km-header {
  position: sticky; top: 0; z-index: var(--z-header); height: 84px; display: flex; align-items: center;
  background: rgba(252,251,248,.91); border-bottom: 1px solid rgba(84,70,48,.1);
  backdrop-filter: saturate(140%) blur(18px); transition: height .25s ease, box-shadow .25s ease, background .25s ease, transform .28s cubic-bezier(.2,.8,.2,1);
}
.km-header.is-scroll-hidden { transform: translateY(calc(-100% - 2px)); }
.km-header.is-scroll-floating { position: fixed !important; inset: 0 0 auto; width: 100%; z-index: var(--z-header); }
.km-header-scroll-spacer { display: block; height: 0; pointer-events: none; }
.km-header.is-scrolled { height: 70px; background: rgba(252,251,248,.97); box-shadow: 0 12px 40px rgba(27,22,14,.07); }
.km-header-inner { gap: clamp(10px, 1.6vw, 28px); }
.km-brand { flex: 0 0 auto; }
.km-brand-logo { width: 142px; height: auto !important; max-height: 42px; object-fit: contain; }
.km-nav-menu { flex: 1; justify-content: center; gap: clamp(4px, 0.7vw, 16px); }
.km-nav-link {
  position: relative;
  padding: 6px clamp(7px, 0.75vw, 13px) !important;
  color: #37332d;
  font-size: clamp(0.76rem, 0.84vw, 0.88rem);
  font-weight: 700;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.km-nav-link::after { content: ""; position: absolute; inset-inline: 50%; bottom: 0px; height: 2px; background: var(--km-bronze); transition: inset-inline .25s ease; }
.km-nav-link:hover::after, .km-nav-link.active::after { inset-inline: 0; }
.km-header-actions { gap: 4px; }
.km-header-actions .km-action-btn { width: 38px; height: 38px; border-radius: 50% !important; display: grid; place-items: center; transition: background .2s ease, transform .2s ease; }
.km-header-actions .km-action-btn:hover { background: #eee7dc !important; transform: translateY(-1px); }
.km-header-actions select { min-height: 38px; border-radius: 999px !important; padding-inline: 12px !important; }

.km-btn { min-height: 44px; border-radius: 999px; padding-inline: 24px; letter-spacing: .01em; }
.km-btn-primary { background: linear-gradient(135deg, #af8952, #8c6636); border: 0; box-shadow: 0 12px 28px rgba(142,101,54,.22); }
.km-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(142,101,54,.3); }
.km-btn-outline { background: rgba(255,255,255,.65); border-color: rgba(82,66,43,.22); }
.km-input, .km-select, .km-textarea { min-height: 48px; border-radius: 10px; border-color: rgba(76,61,40,.2); background: rgba(255,255,255,.8); }

/* Homepage and reusable editorial sections */
.km-widget-shell {
  position: relative;
  background-color: var(--km-widget-custom-bg);
  color: var(--km-widget-custom-text);
  --km-bronze: var(--km-widget-accent, #b48950);
}
.km-widget-theme-white { background: #fff; }
.km-widget-theme-paper { background: var(--km-paper); }
.km-widget-theme-stone { background: #e9e4db; }
.km-widget-theme-dark { background: #171613; color: #f7f3ea; }
.km-widget-space-compact { padding-block: 24px; }
.km-widget-space-standard { padding-block: 0; }
.km-widget-space-spacious { padding-block: clamp(28px, 5vw, 70px); }
.km-widget-space-extra { padding-block: clamp(48px, 8vw, 112px); }
.km-widget-width-narrow > * { max-width: 900px; margin-inline: auto; }
.km-widget-width-wide > * { max-width: 1600px; margin-inline: auto; }
.km-widget-width-fluid > * { max-width: none !important; width: 100%; }
.km-widget-align-start { text-align: start; }
.km-widget-align-center { text-align: center; }
.km-widget-align-end { text-align: end; }
.km-widget-style-card > *,
.km-widget-style-outline > *,
.km-widget-style-floating > * { width: min(94%, 1440px); margin-inline: auto; }
.km-widget-style-card > * { background: rgba(255,255,255,.84); border: 1px solid rgba(76,61,40,.10); }
.km-widget-style-outline > * { border: 1px solid color-mix(in srgb, var(--km-widget-accent, #b48950) 45%, transparent); }
.km-widget-style-floating > * { background: rgba(255,255,255,.9); border: 1px solid rgba(76,61,40,.08); }
.km-widget-corners-square > * { border-radius: 0 !important; }
.km-widget-corners-soft > * { border-radius: 14px; }
.km-widget-corners-round > * { border-radius: 26px; }
.km-widget-corners-extra > * { border-radius: 42px; }
.km-widget-shadow-soft > * { box-shadow: 0 18px 48px rgba(43,32,17,.10); }
.km-widget-shadow-deep > * { box-shadow: 0 30px 90px rgba(32,23,12,.18); }
.km-widget-shell[style*="--km-widget-custom-bg"] { background: var(--km-widget-custom-bg) !important; }
.km-widget-shell[style*="--km-widget-custom-text"] { color: var(--km-widget-custom-text) !important; }
@media (min-width: 769px) { .km-widget-hide-desktop { display: none !important; } }
@media (max-width: 768px) { .km-widget-hide-mobile { display: none !important; } }
.km-section-editorial { position: relative; padding-block: clamp(70px, 9vw, 132px); }
.km-section-header { margin-bottom: clamp(32px, 5vw, 62px); }
.km-eyebrow { color: var(--km-bronze); letter-spacing: .14em; font-size: .74rem; text-transform: uppercase; }
.km-title-large { font-size: clamp(2rem, 4vw, 4.2rem); line-height: 1.08; letter-spacing: -.035em; }
.km-art-grid { gap: clamp(20px, 2.5vw, 40px); }
.km-art-card { background: transparent; border-radius: 0; }
.km-art-card-media { overflow: hidden; background: #e9e4da; border-radius: 2px; }
.km-art-card-media img { transition: transform .8s cubic-bezier(.16,1,.3,1), filter .8s ease; }
.km-art-card:hover .km-art-card-media img { transform: scale(1.035); filter: contrast(1.03); }
.km-art-card-info { padding-top: 18px; border-top: 1px solid rgba(73,60,41,.16); margin-top: 14px; }

/* Product acquisition experience */
.km-artwork-stage { padding-block: clamp(28px, 5vw, 72px) clamp(70px, 8vw, 120px); background: linear-gradient(150deg,#fdfcf9 0%,#f4efe7 100%); }
.km-artwork-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(390px, .75fr); gap: clamp(36px, 5vw, 86px); align-items: start; }
.km-stage-visual { position: sticky; top: 104px; }
.km-frame-stage { min-height: min(68vh, 740px); padding: clamp(28px, 5vw, 74px); border-radius: 22px; background: radial-gradient(circle at 50% 15%,#fdfbf6,#e7dfd1 78%); border: 1px solid rgba(91,72,45,.09); box-shadow: inset 0 1px rgba(255,255,255,.8), var(--km-soft-shadow); }
.km-frame-container { transition: all .5s cubic-bezier(.16,1,.3,1); }
.km-stage-controls { margin-top: 16px; justify-content: center; gap: 8px; flex-wrap: wrap; }
.km-stage-btn { min-height: 44px; border-radius: 999px; background: rgba(255,255,255,.78); border: 1px solid rgba(75,60,40,.16); padding-inline: 17px; }
.km-stage-btn:hover { border-color: var(--km-bronze); background: #fff; }
.km-stage-info { background: rgba(255,255,255,.82); backdrop-filter: blur(12px); border: 1px solid rgba(84,67,43,.11); border-radius: 22px; padding: clamp(24px, 3vw, 42px); box-shadow: var(--km-soft-shadow); }
.km-stage-info h1 { letter-spacing: -.035em; line-height: 1.15; }
.km-option-group { padding-block: 22px; margin: 0; border-top: 1px solid rgba(72,57,37,.12); }
.km-option-title { margin-bottom: 13px; font-size: .93rem; }
.km-option-step { display: inline-grid; place-items: center; width: 25px; height: 25px; margin-inline-end: 6px; border-radius: 50%; color: #8b6536; background: #eee4d5; font-size: .68rem; }
.km-pills-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.km-pill { min-height: 70px; border-radius: 12px; padding: 13px 14px; background: #fbfaf7; border: 1px solid rgba(72,57,37,.16); cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease; }
.km-pill:hover { border-color: rgba(163,124,69,.7); transform: translateY(-1px); }
.km-pill.active, .km-pill[aria-checked="true"] { border-color: var(--km-bronze); background: #fffdf8; box-shadow: 0 0 0 2px rgba(163,124,69,.13), 0 9px 24px rgba(44,34,20,.07); }
.km-pill strong { font-size: .9rem; line-height: 1.45; }
.km-pill-sub { margin-top: 4px; color: var(--km-muted); }
.km-cert-badge-box { border-radius: 14px; margin-top: 22px; border-color: rgba(163,124,69,.25); background: linear-gradient(135deg,#fbf7ee,#f4ead9); }
.km-acquisition-assurances { display: grid; gap: 8px; margin-top: 18px; color: #69645c; font-size: .78rem; }
.km-mobile-acquire { display: none; }

/* Drawers, footer and generic content */
.km-drawer { width: min(92vw, 430px); border-radius: 22px 0 0 22px; }
[dir="ltr"] .km-drawer { border-radius: 0 22px 22px 0; }
.km-drawer-header { min-height: 76px; }
.km-footer { background: #151411; }
.km-footer a { transition: color .2s ease; }
.km-footer a:hover { color: #d6b47e; }

@media (max-width: 1180px) {
  .km-nav-menu { display: none; }
  .d-lg-none { display: inline-grid !important; }
  .km-header-inner { justify-content: space-between; }
  .km-artwork-layout { grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); gap: 28px; }
}

@media (max-width: 820px) {
  .km-top-banner { min-height: 48px; font-size: .74rem !important; line-height: 1.5; }
  .km-header, .km-header.is-scrolled { height: 68px; }
  .km-container { width: min(calc(100% - 32px), var(--km-content)); }
  .km-brand-logo { width: 116px; }
  .km-header-actions > a[aria-label="Favorites"], .km-header-actions > a[aria-label="Account"] { display: none; }
  .km-artwork-stage { padding-top: 18px; }
  .km-artwork-layout { grid-template-columns: 1fr; }
  .km-stage-visual { position: relative; top: auto; }
  .km-frame-stage { min-height: 48vh; padding: 28px; border-radius: 16px; }
  .km-stage-info { padding: 24px 18px; border-radius: 16px; }
  .km-mobile-acquire { position: fixed; z-index: 490; display: flex; bottom: 10px; inset-inline: 10px; min-height: 66px; padding: 9px 10px 9px 16px; align-items: center; justify-content: space-between; gap: 12px; border-radius: 17px; background: rgba(22,21,18,.96); color: #fff; box-shadow: 0 18px 50px rgba(0,0,0,.3); backdrop-filter: blur(14px); }
  .km-mobile-acquire strong { display: block; font-size: 1rem; }
  .km-mobile-acquire span { display: block; color: #bdb6aa; font-size: .72rem; }
  .km-mobile-acquire .km-btn { min-height: 48px; padding-inline: 20px; flex-shrink: 0; }
  body:has(.km-mobile-acquire) { padding-bottom: 86px; }
}

@media (max-width: 520px) {
  .km-container { width: min(calc(100% - 24px), var(--km-content)); }
  .km-header-inner { gap: 8px; }
  .km-brand-logo { width: 90px; }
  .km-header-actions { gap: 2px; }
  .km-header-actions .km-action-btn { width: 34px; height: 34px; }
  .km-header-actions > a[aria-label="Search"] { display: none; }
  .km-header-actions select { min-height: 34px; padding-inline: 7px !important; }
  .km-pills-grid { grid-template-columns: 1fr; }
  .km-stage-controls .km-stage-btn span { display: none; }
  .km-stage-controls .km-stage-btn { width: 46px; padding: 0; justify-content: center; }
  .km-frame-stage { min-height: 390px; padding: 22px; }
  .km-section-editorial { padding-block: 64px; }
  .km-contact-layout { grid-template-columns: 1fr !important; padding: 24px 18px !important; }
  .km-track-order-form { grid-template-columns: 1fr !important; }
  form > div[style*="grid-template-columns:1fr 1fr"],
  form > div[style*="grid-template-columns:1fr 1fr 100px"] { grid-template-columns: 1fr !important; }
}

@supports not selector(:has(*)) {
  @media (max-width: 820px) { body { padding-bottom: 86px; } }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }


/* gallery-v4.css */
/**
 * KMHEER Gallery Experience v4
 * Immersive art-commerce system with hard mobile guarantees.
 */

:root {
  --km4-ink: #15130f;
  --km4-ink-2: #242019;
  --km4-ivory: #fbf9f4;
  --km4-sand: #f1ebe0;
  --km4-sand-2: #e3d7c5;
  --km4-gold: #ad8145;
  --km4-gold-2: #d4b47d;
  --km4-copy: #575148;
  --km4-line: rgba(42, 34, 24, .14);
  --km4-radius: 26px;
  --km4-shadow: 0 28px 80px rgba(31, 24, 14, .12);
  --km4-display: "Noto Kufi Arabic", "Tajawal", sans-serif;
  --km4-latin-display: "Cormorant Garamond", Georgia, serif;
}

html { overflow-x: hidden; }
body {
  overflow-x: hidden;
  background: var(--km4-ivory);
  color: var(--km4-ink);
  font-family: "Tajawal", sans-serif;
}
body * { box-sizing: border-box; min-width: 0; }
img, svg, video, iframe { max-width: 100%; }
h1, h2, h3, .km-title-large, .km-hero-title {
  font-family: var(--km4-display);
  text-wrap: balance;
}
[dir="ltr"] h1, [dir="ltr"] h2, [dir="ltr"] h3,
[dir="ltr"] .km-title-large, [dir="ltr"] .km-hero-title {
  font-family: var(--km4-latin-display);
}
p { text-wrap: pretty; }

.km-container {
  width: min(calc(100% - clamp(28px, 6vw, 112px)), 1540px);
  max-width: none;
}

/* Header */
.km-top-banner.km4-announcement {
  min-height: 38px;
  padding: 7px 16px !important;
  background: var(--km4-ink) !important;
}
.km4-announcement__inner { display: flex; align-items: center; justify-content: center; gap: 12px; }
.km4-announcement__dot { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: var(--km4-gold-2); box-shadow: 0 0 0 5px rgba(212,180,125,.11); }
.km-header {
  height: 92px;
  background: rgba(251,249,244,.92);
  border-bottom: 1px solid rgba(62,49,31,.1);
  backdrop-filter: blur(22px) saturate(150%);
}
.km-header.is-scrolled { height: 74px; }
.km-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(10px, 1.6vw, 28px);
  width: 100%;
}
.km-brand-logo { width: clamp(140px, 10vw, 178px); max-height: 52px; }
.km-nav-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(4px, 0.7vw, 16px);
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.km-nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px clamp(7px, 0.75vw, 13px) !important;
  font-size: clamp(0.76rem, 0.84vw, 0.88rem);
  font-weight: 700;
  letter-spacing: 0;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  color: #2c2720;
  border-radius: 6px;
  transition: color 0.2s ease, background-color 0.2s ease;
}
.km-nav-link:hover {
  color: var(--km-bronze);
  background-color: rgba(167, 131, 79, 0.06);
}
.km-header-actions { display: flex; flex-direction: row-reverse; align-items: center; flex-shrink: 0; gap: 4px; }
.km-header-actions .km-action-btn,
.km4-menu-toggle {
  width: 42px; height: 42px; min-width: 42px; min-height: 42px;
  border: 1px solid transparent; border-radius: 50%;
}
.km-header-actions .km-action-btn:hover,
.km4-menu-toggle:hover { border-color: var(--km4-line); background: #fff !important; }
.km4-switcher {
  height: 42px; min-height: 42px; padding: 0 13px !important;
  border: 1px solid var(--km4-line) !important; background: rgba(255,255,255,.58) !important;
  border-radius: 999px !important; font-weight: 700;
}
.km4-menu-toggle { display: none; place-items: center; padding: 0; background: transparent; color: var(--km4-ink); }

/* Shared editorial page opening */
.km4-page-shell { padding-block: clamp(46px, 7vw, 104px) clamp(80px, 10vw, 150px); }
.km4-page-hero {
  position: relative; overflow: hidden; padding: clamp(44px, 7vw, 96px);
  margin-bottom: clamp(34px, 6vw, 78px); border-radius: clamp(22px, 3vw, 42px);
  background:
    radial-gradient(circle at 12% 20%, rgba(212,180,125,.26), transparent 27%),
    linear-gradient(132deg, #1a1712 0%, #2d251a 58%, #765735 130%);
  color: #fff; isolation: isolate;
}
.km4-page-hero::after {
  content: ""; position: absolute; z-index: -1; inset: auto -5% -55% 28%; height: 110%;
  border: 1px solid rgba(255,255,255,.09); border-radius: 50%; transform: rotate(-8deg);
}
.km4-page-hero__content { max-width: 820px; }
.km4-page-hero h1 { margin: 12px 0 18px; font-size: clamp(2.3rem, 5.7vw, 6rem); line-height: 1.08; color: #fff; }
.km4-page-hero p { max-width: 680px; margin: 0; font-size: clamp(1rem, 1.5vw, 1.22rem); line-height: 1.9; color: rgba(255,255,255,.72); }
.km4-kicker { display: inline-flex; align-items: center; gap: 10px; color: var(--km4-gold-2); font-size: .76rem; font-weight: 800; letter-spacing: .12em; }
.km4-kicker::before { content: ""; width: 34px; height: 1px; background: currentColor; }

/* Discovery / shop */
.km4-discovery-toolbar {
  position: sticky; top: 86px; z-index: 80; display: flex; align-items: center; justify-content: space-between;
  gap: 14px; margin-bottom: clamp(34px,5vw,64px); padding: 12px;
  border: 1px solid var(--km4-line); border-radius: 18px; background: rgba(251,249,244,.9);
  box-shadow: 0 14px 40px rgba(34,26,15,.07); backdrop-filter: blur(16px);
}
.km4-filter-group { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.km4-discovery-toolbar .km-select { width: auto; min-width: 170px; height: 46px; border-radius: 12px; background: #fff; }
.km4-results-note { display: flex; align-items: center; gap: 8px; padding-inline: 8px; color: var(--km4-copy); font-size: .82rem; white-space: nowrap; }
.km4-results-note::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--km4-gold); }

.km-art-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(24px, 2.7vw, 46px) clamp(16px, 2vw, 34px); }
.km-art-card { position: relative; background: transparent; border: 0; box-shadow: none; }
.km-art-card-media {
  position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 4px;
  background: linear-gradient(145deg, #dfd4c2, #f6f0e7); box-shadow: 0 12px 38px rgba(29,22,13,.08);
}
.km-art-card-media.square { aspect-ratio: 1; }
.km-art-card-media a { display: block; width: 100%; height: 100%; }
.km-art-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.16,1,.3,1), filter .7s ease; }
.km-art-card--true-ratio .km-art-card-media { aspect-ratio: auto; background: linear-gradient(145deg,#eee7dc,#e4d9ca); }
.km-art-card--true-ratio .km-art-card-media > a { display:grid; place-items:center; width:100%; height:auto; aspect-ratio:var(--km-art-ratio,1.5); box-sizing:border-box; padding:clamp(12px,1.55vw,24px); }
.km-art-card--true-ratio .km-art-card-media img { width:100%; height:100%; object-fit:contain; box-shadow:0 10px 28px rgba(34,25,14,.14); }
.km-art-card:hover .km-art-card-media img { transform: scale(1.045); filter: saturate(1.04) contrast(1.03); }
.km-art-card-info { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; padding: 18px 2px 0; margin-top: 0; border-top: 0; }
.km-art-card-title { margin: 0 0 5px; font-size: 1.05rem; line-height: 1.55; }
.km-art-card-artist { color: var(--km4-copy); font-size: .82rem; }
.km-art-card-price { color: var(--km4-gold); font-size: .9rem; font-weight: 800; white-space: nowrap; }
.km-card-badge { padding: 3px 9px; font-size: .65rem; font-weight: 700; border-radius: 999px; letter-spacing: .02em; background: rgba(20,18,14,.75) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.25); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 3px 10px rgba(0,0,0,.15); }
.km-card-badge.limited { background: linear-gradient(135deg, #a7834f, #8d6735) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.35); box-shadow: 0 3px 10px rgba(167,131,79,.3); }
.km-art-card-fav { width: 34px; height: 34px; border-radius: 50%; box-shadow: 0 4px 14px rgba(30,22,12,.12); background: rgba(255,255,255,.9); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1px solid rgba(0,0,0,.06); }

/* Home curated works — unified museum cards */
.km4-curated-section { position:relative; overflow:hidden; background:linear-gradient(180deg,#fff 0%,#f8f4ec 100%); }
.km4-curated-section::before { content:"CURATED"; position:absolute; inset-inline-start:-.02em; top:.04em; color:rgba(29,23,16,.025); font-family:var(--km4-latin-display); font-size:clamp(9rem,20vw,23rem); line-height:1; pointer-events:none; }
.km4-curated-section .km-container { position:relative; z-index:1; }
.km4-curated-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(16px,2vw,28px); align-items:stretch; }
.km4-curated-card { position:relative; min-width:0; display:flex; flex-direction:column; height:100%; overflow:hidden; border:1px solid rgba(71,55,34,.12); border-radius:12px; background:#fff; box-shadow:0 12px 35px rgba(43,31,16,.06); transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,border-color .35s ease; }
.km4-curated-card:hover { transform:translateY(-6px); border-color:rgba(173,129,69,.45); box-shadow:0 20px 50px rgba(43,31,16,.12); }
.km4-curated-card__media { position:relative; width:100%; aspect-ratio:4/5 !important; overflow:hidden; background:#ede5d8; flex-shrink:0; }
.km4-curated-card__media > a { display:block !important; width:100% !important; height:100% !important; aspect-ratio:auto !important; padding:0 !important; }
.km4-curated-card__media img { display:block !important; width:100% !important; height:100% !important; object-fit:cover !important; object-position:center !important; box-shadow:none !important; border-radius:0 !important; transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s ease; }
.km4-curated-card:hover .km4-curated-card__media img { transform:scale(1.04); filter:saturate(1.04) contrast(1.02); }
.km4-curated-card__media::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(12,10,8,.10),transparent 24%,transparent 76%,rgba(12,10,8,.08)); }
.km4-curated-card__number { position:absolute; z-index:2; inset-inline-start:12px; top:10px; color:rgba(255,255,255,.85); font-family:var(--km-font-base,sans-serif); font-size:.72rem; font-weight:700; letter-spacing:.05em; text-shadow:0 1px 4px rgba(0,0,0,.4); }
.km4-curated-card__badges { position:absolute; z-index:3; inset-inline-end:10px; top:10px; }
.km4-curated-card__badges .km-card-badge { padding:3px 9px; font-size:.65rem; font-weight:700; border-radius:999px; letter-spacing:.02em; background:rgba(20,18,14,.72) !important; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); color:#fff !important; border:1px solid rgba(255,255,255,.2); box-shadow:0 3px 10px rgba(0,0,0,.15); }
.km4-curated-card__badges .km-card-badge.limited { background:linear-gradient(135deg,#a7834f,#8d6735) !important; color:#fff !important; border:1px solid rgba(255,255,255,.35); box-shadow:0 3px 10px rgba(167,131,79,.3); }
.km4-curated-card .km-art-card-fav { z-index:3; left:auto; right:auto; inset-inline-start:10px; bottom:10px; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.9); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border:1px solid rgba(0,0,0,.06); box-shadow:0 4px 14px rgba(0,0,0,.1); }
.km4-curated-card__body { min-height:auto; display:flex; flex-direction:column; justify-content:space-between; gap:10px; padding:14px 16px 14px; border-top:2px solid transparent; transition:border-color .25s ease; background:#fff; flex:1 1 auto; }
.km4-curated-card:hover .km4-curated-card__body { border-top-color:var(--km4-gold); }
.km4-curated-card__heading { min-width:0; }
.km4-curated-card__heading h3 { min-height:auto; margin:0 0 3px; color:var(--km4-ink); font-size:clamp(.94rem,1.1vw,1.06rem); line-height:1.4; font-weight:800; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.km4-curated-card__heading h3 a { color:inherit; text-decoration:none; }
.km4-curated-card__heading h3 a:hover { color:#a7834f; }
.km4-curated-card__heading > span { display:block; color:#847a6d; font-size:.76rem; font-weight:600; }
.km4-curated-card__footer { display:flex; align-items:center; padding-top:10px; margin-top:auto; border-top:1px solid rgba(71,55,34,.08); }
.km4-curated-card__price { min-width:0; color:#a7834f; font-size:.92rem; font-weight:850; white-space:nowrap; line-height:1.2; }
.km4-curated-card__price small { display:block; color:#8a8072; font-size:.58rem; font-weight:700; margin-bottom:1px; }
.km4-curated-card__price span { white-space:normal; font-size:.76rem; color:#847a6d; }
.km4-curated-section__action { margin-top:clamp(30px,4vw,48px); text-align:center; }

/* Native FAQ accordion — works without JavaScript and inside live preview */
.km4-faq-section { background:linear-gradient(180deg,#f4efe5 0%,#eee6d8 100%); }
.km4-faq-list { width:min(100%,920px); margin-inline:auto; display:grid; gap:12px; }
.km4-faq-item { overflow:hidden; border:1px solid rgba(73,56,34,.14); border-radius:15px; background:rgba(255,255,255,.8); box-shadow:0 7px 26px rgba(47,34,17,.04); transition:border-color .22s ease,box-shadow .22s ease,background .22s ease; }
.km4-faq-item[open] { border-color:rgba(173,129,69,.58); background:#fff; box-shadow:0 16px 42px rgba(47,34,17,.1); }
.km4-faq-question { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:15px; min-height:70px; padding:16px 19px; color:var(--km4-ink); cursor:pointer; list-style:none; user-select:none; }
.km4-faq-question::-webkit-details-marker { display:none; }
.km4-faq-question::marker { content:""; }
.km4-faq-question:focus-visible { outline:2px solid var(--km4-gold); outline-offset:-4px; border-radius:14px; }
.km4-faq-number { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:var(--km4-gold); background:#f3eadc; font-family:var(--km4-latin-display); font-size:.72rem; }
.km4-faq-question strong { font-size:.94rem; line-height:1.7; }
.km4-faq-icon { position:relative; display:block; width:30px; height:30px; border:1px solid rgba(73,56,34,.18); border-radius:50%; transition:border-color .2s ease,background .2s ease,transform .25s ease; }
.km4-faq-icon i { position:absolute; left:50%; top:50%; width:11px; height:1.5px; border-radius:5px; background:var(--km4-gold); transform:translate(-50%,-50%); transition:transform .25s ease,opacity .2s ease; }
.km4-faq-icon i:last-child { transform:translate(-50%,-50%) rotate(90deg); }
.km4-faq-item[open] .km4-faq-icon { border-color:var(--km4-gold); background:var(--km4-gold); transform:rotate(180deg); }
.km4-faq-item[open] .km4-faq-icon i { background:#fff; }
.km4-faq-item[open] .km4-faq-icon i:last-child { opacity:0; }
.km4-faq-answer { margin-inline:66px 64px; padding:0 0 22px; border-top:1px solid rgba(73,56,34,.1); color:var(--km4-copy); animation:km4FaqReveal .26s cubic-bezier(.2,.8,.2,1); }
.km4-faq-answer p { max-width:760px; margin:0; padding-top:16px; font-size:.9rem; line-height:2; }
@keyframes km4FaqReveal { from { opacity:0; transform:translateY(-7px); } to { opacity:1; transform:translateY(0); } }

/* Artists */
.km4-artists-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,2vw,28px); }
.km4-artist-card {
  display:flex; flex-direction:column; min-width:0; min-height:0;
  overflow: hidden; border: 1px solid var(--km4-line); border-radius: var(--km4-radius); background: #fff;
  box-shadow: 0 16px 60px rgba(38,29,17,.07); transition: transform .45s ease, box-shadow .45s ease;
}
.km4-artist-card:hover { transform: translateY(-7px); box-shadow: var(--km4-shadow); }
.km4-artist-card__media { min-height:0; aspect-ratio:4/5; background:var(--km4-ink); overflow:hidden; }
.km4-artist-card__media a, .km4-artist-card__media img { display:block; width:100%; height:100%; }
.km4-artist-card__media img { object-fit: cover; transition: transform .8s ease; }
.km4-artist-card:hover img { transform: scale(1.035); }
.km4-artist-card__body { display:flex; flex:1; flex-direction:column; padding:clamp(16px,2vw,24px); }
.km4-artist-card__body h2 { margin:7px 0 8px; font-size:clamp(1.18rem,1.7vw,1.75rem); line-height:1.35; }
.km4-artist-card__meta{display:block;margin-bottom:9px;color:var(--km4-gold);font-size:.66rem;font-weight:800}
.km4-artist-card__quote { display:-webkit-box; overflow:hidden; margin:0; color:var(--km4-copy); font-size:.77rem; line-height:1.75; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.km4-artist-card__body .km4-text-link { margin-top:auto; padding-top:15px; font-size:.75rem; }
.km4-text-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 24px; color: var(--km4-ink); font-weight: 800; }
.km4-text-link::after { content: "←"; color: var(--km4-gold); transition: transform .2s ease; }
[dir="ltr"] .km4-text-link::after { content: "→"; }
.km4-text-link:hover::after { transform: translateX(-4px); }

.km4-collections-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(18px,3vw,42px); }
.km4-collection-card { position:relative; min-height:clamp(430px,56vw,720px); overflow:hidden; border-radius:var(--km4-radius); background:var(--km4-ink); color:#fff; box-shadow:0 18px 60px rgba(32,23,12,.12); }
.km4-collection-card:nth-child(3n) { grid-column:1 / -1; min-height:clamp(380px,42vw,620px); }
.km4-collection-card > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1s cubic-bezier(.16,1,.3,1), filter .6s ease; }
.km4-collection-card:hover > img { transform:scale(1.045); filter:saturate(1.08); }
.km4-collection-card__shade { position:absolute; inset:0; background:linear-gradient(180deg,transparent 20%,rgba(12,10,8,.2) 48%,rgba(12,10,8,.92) 100%); }
.km4-collection-card__content { position:absolute; z-index:2; inset-inline:0; bottom:0; padding:clamp(28px,5vw,66px); }
.km4-collection-card__content h2 { margin:12px 0 9px; color:#fff; font-size:clamp(2rem,4vw,4.6rem); }
.km4-collection-card__content p { max-width:680px; color:rgba(255,255,255,.72); }

.km4-artist-profile { background: linear-gradient(180deg, var(--km4-sand) 0, var(--km4-ivory) 86%); padding-block: clamp(38px,6vw,90px); }
.km4-profile-grid { display: grid; grid-template-columns: minmax(320px,.72fr) minmax(0,1.28fr); gap: clamp(38px,7vw,110px); align-items: center; }
.km4-profile-visual { position: relative; padding: 0 0 42px 42px; }
[dir="rtl"] .km4-profile-visual { padding: 0 42px 42px 0; }
.km4-profile-portrait { position: relative; z-index: 1; aspect-ratio: 4/5; overflow: hidden; border-radius: 4px; background: var(--km4-ink); box-shadow: var(--km4-shadow); }
.km4-profile-portrait img { width: 100%; height: 100%; object-fit: cover; }
.km4-profile-visual::after { content:""; position:absolute; inset:42px 42px 0 0; border:1px solid var(--km4-gold); }
[dir="rtl"] .km4-profile-visual::after { inset:42px 0 0 42px; }
.km4-profile-location { position:absolute; z-index:2; inset-inline-end:-18px; bottom:12px; width:min(270px,72%); padding:18px 20px; background:#fff; border:1px solid var(--km4-line); box-shadow:0 12px 38px rgba(36,27,15,.1); }
.km4-profile-copy h1 { margin: 12px 0 24px; font-size: clamp(2.7rem,6vw,6.4rem); line-height:1.05; }
.km4-profile-statement { margin-bottom:28px; padding: 0 22px; border-inline-start: 2px solid var(--km4-gold); font-size:clamp(1.04rem,1.4vw,1.25rem); line-height:2; color:#3e3931; }
.km4-profile-bio { max-width:850px; color:var(--km4-copy); font-size:clamp(.98rem,1.2vw,1.12rem); line-height:2; }
.km4-artist-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.km4-artist-socials a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 11px;border:1px solid var(--km4-line);border-radius:999px;background:#fff;color:var(--km4-ink);font-size:.7rem;transition:.2s ease}.km4-artist-socials a:hover{border-color:var(--km4-gold);transform:translateY(-2px)}.km4-artist-socials span{display:grid;place-items:center;min-width:18px;color:var(--km4-gold);font-family:Arial,sans-serif;font-weight:800}
.km-discussion{margin-top:clamp(55px,8vw,100px);padding-top:34px;border-top:1px solid var(--km4-line)}.km-discussion>header,.km-reviews-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.km-discussion>header h2,.km-reviews-head h2{margin:7px 0 0;font-size:clamp(1.8rem,4vw,3rem)}.km-discussion>header>b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--km4-ink);color:#fff}.km-discussion-form,.km-review-form{display:grid;gap:13px;margin-bottom:26px;padding:20px;border:1px solid var(--km4-line);border-radius:18px;background:#fff}.km-discussion-form label,.km-review-form label{display:grid;gap:7px;font-size:.75rem;font-weight:800}.km-discussion-form button,.km-review-form button{justify-self:start}.km-discussion-login{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px;padding:17px 19px;border:1px solid #decdb3;border-radius:15px;background:#fffaf2}.km-discussion-login p{margin:0;color:var(--km4-copy);font-size:.8rem}.km-discussion-list{display:grid;gap:12px}.km-comment{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:18px;border:1px solid var(--km4-line);border-radius:16px;background:#fff}.km-comment-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#ede2d1;color:#8d6530;font-weight:900}.km-comment-body>header{display:flex;justify-content:space-between;gap:10px}.km-comment-body header time,.km-review-card time{color:#928878;font-size:.64rem}.km-comment-body>p{margin:8px 0 0;color:var(--km4-copy);font-size:.84rem;line-height:1.9}.km-comment--reply{margin-top:13px;padding:13px;background:#faf7f1}.km-comment-reply{margin-top:10px}.km-comment-reply summary{color:var(--km4-gold);font-size:.7rem;font-weight:800;cursor:pointer}.km-comment-reply form{display:grid;gap:8px;margin-top:8px}.km-comment-reply textarea{min-height:80px}.km-discussion-empty{grid-column:1/-1;padding:22px;border:1px dashed #d6c8b5;border-radius:14px;color:var(--km4-copy);text-align:center}.km-reviews-section{background:#f4efe6}.km-review-score{text-align:center}.km-review-score strong{display:block;font:700 2rem var(--km4-latin-display)}.km-review-score span,.km-review-card header span{display:block;color:#b78743;letter-spacing:.08em}.km-review-score small{color:var(--km4-copy);font-size:.66rem}.km-review-form>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.km-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.km-review-card{padding:20px;border:1px solid var(--km4-line);border-radius:18px;background:#fff}.km-review-card>header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center}.km-review-card header small{padding:5px 8px;border-radius:999px;background:#edf4eb;color:#4d6d49;font-size:.6rem;font-weight:800}.km-review-card h3{margin:17px 0 5px;font-size:1rem}.km-review-card>p{color:var(--km4-copy);font-size:.82rem;line-height:1.9}.km-review-card header i{color:#d7d0c7;font-style:normal}@media(max-width:680px){.km-discussion>header,.km-reviews-head{align-items:flex-start}.km-discussion-login{align-items:flex-start;flex-direction:column}.km-comment{grid-template-columns:34px minmax(0,1fr);padding:13px}.km-comment-avatar{width:34px;height:34px}.km-comment-body>header{flex-direction:column;gap:2px}.km-review-form>div,.km-review-grid{grid-template-columns:1fr}.km-review-card>header{grid-template-columns:34px minmax(0,1fr)}.km-review-card header small{grid-column:2}.km-review-score{flex:0 0 auto}}
.km4-portfolio-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:clamp(32px,5vw,62px); }

/* Artwork detail / acquisition */
.km-artwork-stage { padding-top: clamp(22px,4vw,54px); background: linear-gradient(145deg,#fbf9f4 0%,#eee5d7 100%); }
.km-artwork-layout { grid-template-columns:minmax(0,1.08fr) minmax(420px,.82fr); gap:clamp(24px,3vw,46px); }
.km-stage-visual { top: 96px; }
.km-frame-stage { min-width:0; max-width:100%; min-height:min(72vh,790px); padding:clamp(18px,2.5vw,38px); border-radius:var(--km4-radius); background:radial-gradient(circle at 50% 20%,#fff,#e5dac8 78%); overflow:hidden; }
.km-stage-visual,.km-frame-container,.km-frame-mat,.km-frame-image-wrapper { min-width:0; min-height:0; }
.km-frame-container { max-width:none; max-height:none; flex:0 0 auto; box-sizing:content-box; overflow:hidden; border-radius:2px; transition:width .36s cubic-bezier(.2,.8,.2,1),height .36s cubic-bezier(.2,.8,.2,1),border-width .32s cubic-bezier(.2,.8,.2,1),border-color .28s ease,box-shadow .28s ease,background-color .28s ease; }
.km-frame-mat { flex:0 0 auto; box-sizing:border-box; overflow:hidden; border-radius:0; transition:width .36s cubic-bezier(.2,.8,.2,1),height .36s cubic-bezier(.2,.8,.2,1),background-color .3s ease; }
.km-frame-image-wrapper { flex:0 0 auto; max-width:none; max-height:none; overflow:hidden; border-radius:0; transition:width .36s cubic-bezier(.2,.8,.2,1),height .36s cubic-bezier(.2,.8,.2,1); }
.km-frame-image-wrapper img { display:block; max-width:none; max-height:none; border-radius:0; object-fit:contain; }
.km-frame-image-wrapper::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s ease}
.km-frame-mat[data-surface-finish="satin"] .km-frame-image-wrapper::after{opacity:.16;background:linear-gradient(118deg,transparent 15%,rgba(255,255,255,.48) 43%,transparent 67%)}
.km-frame-mat[data-surface-finish="gloss"] .km-frame-image-wrapper::after{opacity:.25;background:linear-gradient(118deg,transparent 12%,rgba(255,255,255,.72) 39%,transparent 61%)}
.km-frame-mat[data-surface-finish="canvas"] .km-frame-image-wrapper::after,.km-frame-mat[data-surface-finish="textured"] .km-frame-image-wrapper::after{opacity:.12;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.35) 0 1px,rgba(35,27,18,.2) 1px 2px),repeating-linear-gradient(90deg,rgba(255,255,255,.25) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}
.km-artwork-dimension-badge { position:absolute; inset-inline-end:8px; bottom:-30px; padding:5px 9px; border:1px solid rgba(116,82,38,.2); border-radius:999px; background:rgba(255,255,255,.9); color:#76552c; font-size:.66rem; font-weight:800; box-shadow:0 5px 14px rgba(45,31,14,.08); white-space:nowrap; }
.km-pill[type="button"] { width:100%; appearance:none; font:inherit; color:inherit; cursor:pointer; }
.km-pill[type="button"]:focus-visible { outline:3px solid rgba(173,129,69,.28); outline-offset:2px; }
.km4-checkout-step.km-checkout-access{background:linear-gradient(135deg,#201b14,#352919);color:#fff}.km-checkout-access .km-eyebrow{color:#d5b47d}.km-checkout-access h3{margin:8px 0 16px;color:#fff}.km-checkout-access__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.km-checkout-access-card{display:flex;flex-direction:column;gap:5px;min-height:92px;padding:17px;border:1px solid rgba(255,255,255,.28);border-radius:15px;background:rgba(255,255,255,.08);color:#fff!important;text-decoration:none;text-align:start;cursor:pointer}.km-checkout-access-card.is-primary{background:#b18648;border-color:#cba86f}.km-checkout-access-card b{display:block;color:#fff!important;font-size:1rem}.km-checkout-access-card span{display:block;color:rgba(255,255,255,.76)!important;font-size:.78rem;line-height:1.7}.km-checkout-access-card:hover,.km-checkout-access-card.is-selected{border-color:#efd09a;background:rgba(255,255,255,.14);transform:translateY(-1px);box-shadow:0 0 0 2px rgba(239,208,154,.12)}.km-checkout-access-card.is-primary:hover{background:#bd9458}
.km-checkout-account-state{display:flex;align-items:center;gap:14px}.km-checkout-account-state__icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid #c79e63;border-radius:50%;color:#e3c28e;font-size:1.35rem}.km-checkout-account-state small,.km-checkout-account-state strong,.km-checkout-account-state span{display:block}.km-checkout-account-state small{color:#c79e63;font-size:.65rem;font-weight:800}.km-checkout-account-state strong{margin:3px 0;font-size:1.15rem}.km-checkout-account-state span{color:#beb6aa;font-size:.78rem}
.km-checkout-saved-addresses{margin-bottom:20px}.km-checkout-saved-addresses__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.km-checkout-saved-addresses__head button{border:0;background:transparent;color:#9a6a30;font-weight:800;cursor:pointer}.km-checkout-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.km-checkout-address-card{display:flex;flex-direction:column;gap:3px;padding:14px;border:1px solid #ddd4c7;border-radius:13px;background:#fbfaf7;color:#27231e;text-align:start;cursor:pointer}.km-checkout-address-card>span{color:#a67536;font-size:.68rem;font-weight:800}.km-checkout-address-card small,.km-checkout-address-card em{color:#756d64;font-size:.74rem;font-style:normal}.km-checkout-address-card.is-selected{border-color:#ad8145;box-shadow:0 0 0 2px rgba(173,129,69,.13)}.km-checkout-save-address{display:flex;align-items:center;gap:8px;margin:10px 0 16px;font-size:.82rem}.km-checkout-shipping-option{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;margin-bottom:8px;border:1px solid #e5e0d6;border-radius:13px;background:#faf9f6;cursor:pointer}.km-checkout-shipping-option>div{display:flex;align-items:center;gap:10px}.km-checkout-shipping-option span strong,.km-checkout-shipping-option span small{display:block}.km-checkout-shipping-option span small{margin-top:3px;color:#7c746b;font-size:.72rem}.km-checkout-shipping-option>b{color:#9a692e;white-space:nowrap}.km-checkout-shipping-option.is-selected{border-color:#ad8145;background:#fffaf2;box-shadow:0 7px 20px rgba(97,67,29,.08)}.km-shipping-loading,.km-shipping-empty{padding:18px;border:1px dashed #d9cbb7;border-radius:12px;color:#756b60;text-align:center}
@media(max-width:680px){.km-checkout-access__choices,.km-checkout-address-grid{grid-template-columns:1fr}.km-checkout-account-state{align-items:flex-start}.km-checkout-shipping-option{align-items:flex-start}}
.km-stage-info { border-radius:var(--km4-radius); border:1px solid var(--km4-line); box-shadow:var(--km4-shadow); }
.km-stage-info h1 { font-size:clamp(2rem,4vw,4rem) !important; line-height:1.15; }
.km4-product-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.km4-acquisition-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 8px; padding:12px; border-radius:14px; background:var(--km4-sand); }
.km4-acquisition-flow span { display:flex; align-items:center; gap:7px; color:var(--km4-copy); font-size:.76rem; font-weight:700; }
.km4-acquisition-flow b { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#fff; color:var(--km4-gold); font-size:.65rem; }
.km-pill { border-radius:14px; }
.km-acquisition-assurances { grid-template-columns:repeat(3,minmax(0,1fr)); padding:16px; border-radius:14px; background:var(--km4-sand); }
.km4-product-artist-link { display:inline-flex; align-items:center; gap:13px; margin:0 0 13px; padding:8px 12px; border:1px solid rgba(173,129,69,.3); border-radius:999px; color:var(--km4-ink); background:#fffaf2; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.km4-product-artist-link span { display:block; }
.km4-product-artist-link small,.km4-product-artist-link strong { display:block; line-height:1.3; }
.km4-product-artist-link small { color:var(--km4-copy); font-size:.56rem; font-weight:700; letter-spacing:.06em; }
.km4-product-artist-link strong { color:var(--km4-gold); font-size:.77rem; }
.km4-product-artist-link svg { color:var(--km4-gold); transition:transform .2s ease; }
[dir="rtl"] .km4-product-artist-link svg { transform:scaleX(-1); }
.km4-product-artist-link:hover { border-color:var(--km4-gold); box-shadow:0 8px 24px rgba(77,55,25,.1); transform:translateY(-1px); }
.km4-product-artist-link:hover svg { transform:translateX(3px); }
[dir="rtl"] .km4-product-artist-link:hover svg { transform:scaleX(-1) translateX(3px); }
.km-mobile-art-preview { min-width:0; flex:1; display:flex; align-items:center; gap:10px; padding:0; border:0; background:transparent; color:inherit; text-align:start; cursor:pointer; }
.km-mobile-art-frame { width:62px; height:54px; flex:0 0 62px; display:grid; place-items:center; overflow:hidden; border:5px solid #c8a575; background:#f8f4ec; box-shadow:0 5px 16px rgba(0,0,0,.3); transition:border-color .25s ease, aspect-ratio .25s ease; }
.km-mobile-art-frame img { width:100%; height:100%; object-fit:cover; }
.km-mobile-art-copy { min-width:0; display:block; }
.km-mobile-art-copy strong, .km-mobile-art-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.km-mobile-art-copy strong { color:#fff; font-size:.82rem; }
.km-mobile-art-copy small { max-width:360px; margin-top:3px; color:#bbb2a4; font-size:.64rem; }
.km-mobile-acquire-actions { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.km-mobile-acquire-actions > strong { color:#fff; font-size:.9rem; white-space:nowrap; }
.km-mobile-acquire {
  position:fixed; z-index:490; left:50%; bottom:10px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  width:min(760px,calc(100vw - 20px)); min-height:78px; padding:9px 10px;
  border:1px solid rgba(255,255,255,.1); border-radius:18px;
  background:rgba(22,21,18,.96); color:#fff; box-shadow:0 18px 50px rgba(0,0,0,.3); backdrop-filter:blur(16px);
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translate(-50%,calc(100% + 28px));
  transition:opacity .22s ease,transform .3s cubic-bezier(.2,.8,.2,1),visibility .22s ease;
}
.km-mobile-acquire.is-active { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
body:has(.km-mobile-acquire.is-active) { padding-bottom:98px; }

/* Desktop acquisition studio: options scroll, artwork remains fixed. */
@media (min-width: 992px) {
  .km-artwork-layout {
    height:calc(100svh - 150px);
    min-height:620px;
    max-height:900px;
    align-items:stretch;
    overflow:visible;
  }
  .km-stage-visual {
    position:relative;
    top:auto;
    min-width:0;
    min-height:0;
    height:100%;
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    gap:12px;
  }
  .km-frame-stage {
    width:100%;
    height:100%;
    min-height:0;
    padding:clamp(28px,4vw,70px);
  }
  .km-frame-container { max-width:none; max-height:none; }
  .km-stage-controls {
    flex:0 0 auto;
    margin:0;
  }
  .km-stage-info {
    height:100%;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
    scrollbar-color:rgba(173,129,69,.58) rgba(55,43,28,.07);
    scroll-behavior:smooth;
  }
  .km-stage-info::-webkit-scrollbar { width:8px; }
  .km-stage-info::-webkit-scrollbar-track { background:rgba(55,43,28,.06); border-radius:20px; }
  .km-stage-info::-webkit-scrollbar-thumb { background:rgba(173,129,69,.58); border:2px solid transparent; border-radius:20px; background-clip:padding-box; }
  .km-stage-info::-webkit-scrollbar-thumb:hover { background:rgba(145,101,43,.78); background-clip:padding-box; }
  .km-stage-info::after {
    content:"";
    display:block;
    height:12px;
  }
}

/* Room visualizer — real interiors, clear loading state, strong mobile layout */
.km-room-dialog { max-width:min(1080px,96vw); max-height:96vh; overflow:auto; border-radius:24px; background:#f7f3eb; scrollbar-width:thin; }
.km-room-dialog__header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 24px; border-bottom:1px solid rgba(63,48,28,.12); background:#fff; }
.km-room-dialog__header h4 { margin:2px 0 0; font-family:var(--font-body); font-size:1.08rem; }
.km-room-dialog__eyebrow { color:var(--km4-gold); font-size:.65rem; font-weight:800; letter-spacing:.08em; }
.km-room-stage-mockup { position:relative; overflow:hidden; aspect-ratio:16/10; background:#ded8ce; }
.km-room-stage-mockup .room-bg { z-index:0; object-position:center; opacity:1; transition:opacity .25s ease; }
.km-room-art-overlay { position:absolute; z-index:2; top:37%; left:50%; transform:translate(-50%,-50%); display:grid; place-items:center; }
.km-room-art-overlay img { display:block; width:100%; max-width:none; height:100%; max-height:none; object-fit:contain; background:#eee; transition:filter .25s ease; }
.km-room-wall-guide { position:absolute; z-index:1; top:35%; left:50%; transform:translate(-50%,-50%); border:1px dashed rgba(255,255,255,.64); background:rgba(255,255,255,.035); pointer-events:none; transition:width .2s ease,height .2s ease; }
.km-room-wall-guide span { position:absolute; inset-inline-start:50%; top:8px; transform:translateX(-50%); padding:4px 8px; border-radius:999px; color:#fff; background:rgba(22,18,13,.66); font-size:.55rem; font-weight:800; white-space:nowrap; }
.km-room-status { position:absolute; inset:0; z-index:4; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; color:#fff; background:rgba(20,17,13,.62); opacity:0; pointer-events:none; transition:opacity .2s ease; }
.km-room-status.is-visible { opacity:1; }
.km-room-status.is-error { background:rgba(75,30,25,.72); }
.km-room-status.is-error .km-room-loader { display:none; }
.km-room-loader { width:30px; height:30px; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; animation:kmRoomSpin .75s linear infinite; }
@keyframes kmRoomSpin { to { transform:rotate(360deg); } }
.km-room-picker { display:flex; align-items:center; gap:16px; padding:15px 20px; background:#fff; }
.km-room-picker > span { flex:0 0 auto; color:var(--km4-copy); font-size:.75rem; font-weight:800; }
.km-room-picker__options { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:8px; width:100%; }
.km-room-choice { display:flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:8px 12px; border:1px solid var(--km4-line); border-radius:13px; background:#fff; color:var(--km4-ink); font:inherit; font-size:.78rem; font-weight:750; cursor:pointer; transition:.2s ease; }
.km-room-choice i { color:var(--km4-gold); font-family:var(--km4-latin-display); font-style:normal; }
.km-room-choice:hover,.km-room-choice.active { border-color:var(--km4-gold); background:#fbf6ed; box-shadow:0 7px 20px rgba(69,49,22,.08); }
.km-room-calibration { display:grid; gap:12px; padding:15px 20px; border-top:1px solid var(--km4-line); border-bottom:1px solid var(--km4-line); background:#fbf8f2; }
.km-room-calibration__heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.km-room-calibration__heading b,.km-room-calibration__heading small { display:block; }
.km-room-calibration__heading b { color:var(--km4-ink); font-size:.82rem; }
.km-room-calibration__heading small { margin-top:3px; color:var(--km4-copy); font-size:.65rem; }
.km-room-calibration__heading>strong { padding:8px 12px; border:1px solid rgba(174,126,67,.28); border-radius:10px; color:#8d612e; background:#fff; font-size:.72rem; white-space:nowrap; }
.km-room-calibration__fields { display:grid; grid-template-columns:150px 150px minmax(260px,1fr); gap:9px; align-items:end; }
.km-room-calibration__fields label { display:grid; gap:5px; }
.km-room-calibration__fields label span { color:var(--km4-copy); font-size:.6rem; font-weight:800; }
.km-room-calibration__fields input { width:100%; min-height:42px; padding:8px 11px; border:1px solid var(--km4-line); border-radius:10px; background:#fff; color:var(--km4-ink); font:inherit; font-size:.78rem; }
.km-room-calibration__presets { display:flex; flex-wrap:wrap; gap:6px; }
.km-room-calibration__presets button { min-height:42px; padding:7px 11px; border:1px solid var(--km4-line); border-radius:10px; color:#76512b; background:#fff; font:inherit; font-size:.68rem; font-weight:800; cursor:pointer; }
.km-room-calibration__presets button:hover { border-color:var(--km4-gold); background:#f5eadb; }
.km-room-scale-readout { display:flex; flex-wrap:wrap; gap:7px; }
.km-room-scale-readout span { padding:6px 9px; border-radius:8px; color:#665c50; background:#efe8dd; font-size:.61rem; font-weight:750; }

/* Artwork story — editorial museum treatment */
.km4-artwork-story { position:relative; overflow:hidden; padding:clamp(80px,10vw,150px) 0; background:#171511; color:#f8f4ec; }
.km4-artwork-story::before { content:"K"; position:absolute; inset-inline-end:-.04em; top:-.18em; color:rgba(255,255,255,.025); font-family:var(--km4-latin-display); font-size:clamp(20rem,46vw,48rem); line-height:1; pointer-events:none; }
.km4-artwork-story .km-container { position:relative; z-index:1; }
.km4-story-heading { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(260px,.7fr); gap:clamp(18px,3vw,42px); align-items:end; margin-bottom:clamp(42px,6vw,82px); padding-bottom:28px; border-bottom:1px solid rgba(255,255,255,.14); }
.km4-story-heading__number { color:#cba76b; font-family:var(--km4-latin-display); font-size:clamp(2.7rem,5vw,5.5rem); line-height:.8; }
.km4-story-heading .km4-kicker { color:#cba76b; }
.km4-story-heading h2 { margin:8px 0 0; color:#fff; font-size:clamp(2.4rem,5vw,5.4rem); line-height:1.08; }
.km4-story-heading p { margin:0; color:rgba(255,255,255,.6); font-size:.95rem; line-height:1.9; }
.km4-story-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); gap:clamp(36px,6vw,96px); align-items:center; }
.km4-story-visual { position:relative; margin:0; padding:0 0 38px 38px; }
[dir="rtl"] .km4-story-visual { padding:0 38px 38px 0; }
.km4-story-visual::before { content:""; position:absolute; inset:38px 38px 0 0; border:1px solid rgba(203,167,107,.55); }
[dir="rtl"] .km4-story-visual::before { inset:38px 0 0 38px; }
.km4-story-visual img { position:relative; z-index:1; display:block; width:100%; aspect-ratio:3/2; object-fit:cover; background:#27231c; box-shadow:0 30px 80px rgba(0,0,0,.42); }
.km4-story-visual figcaption { position:absolute; z-index:2; inset-inline-start:0; bottom:0; min-width:min(330px,82%); padding:15px 18px; background:#f4eee3; color:#171511; box-shadow:0 14px 35px rgba(0,0,0,.24); }
.km4-story-visual figcaption span,.km4-story-visual figcaption strong { display:block; }
.km4-story-visual figcaption span { margin-bottom:3px; color:#9b733e; font-size:.6rem; font-weight:800; letter-spacing:.1em; }
.km4-story-visual figcaption strong { font-size:.88rem; }
.km4-story-copy { position:relative; padding-top:42px; }
.km4-story-quote { position:absolute; top:-32px; inset-inline-start:-10px; color:rgba(203,167,107,.22); font-family:Georgia,serif; font-size:9rem; line-height:1; }
.km4-story-narrative { position:relative; color:rgba(255,255,255,.82); font-size:clamp(1.05rem,1.35vw,1.25rem); line-height:2.15; }
.km4-story-narrative::first-line { color:#fff; font-weight:700; }
.km4-story-artist-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; margin-top:34px; padding:16px; border:1px solid rgba(255,255,255,.15); color:#fff; background:rgba(255,255,255,.045); transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.km4-story-artist-card__mark { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; color:#171511; background:#cba76b; font-family:var(--km4-display); font-size:1.25rem; font-weight:800; }
.km4-story-artist-card small,.km4-story-artist-card strong { display:block; }
.km4-story-artist-card small { margin-bottom:3px; color:#cba76b; font-size:.58rem; font-weight:800; letter-spacing:.08em; }
.km4-story-artist-card strong { color:#fff; font-size:.9rem; }
.km4-story-artist-card svg { color:#cba76b; }
[dir="rtl"] .km4-story-artist-card svg { transform:scaleX(-1); }
.km4-story-artist-card:hover { border-color:#cba76b; background:rgba(203,167,107,.1); transform:translateY(-2px); }
.km4-story-specs { margin-top:clamp(60px,8vw,110px); border-top:1px solid rgba(255,255,255,.14); }
.km4-story-specs__head { display:flex; justify-content:space-between; align-items:end; gap:20px; padding:28px 0; }
.km4-story-specs__head .km4-kicker { color:#cba76b; }
.km4-story-specs__head h3 { margin:0; color:#fff; font-size:clamp(1.4rem,2.5vw,2.4rem); }
.km4-story-specs__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-block:1px solid rgba(255,255,255,.14); }
.km4-story-spec { position:relative; min-height:160px; padding:24px 20px; border-inline-end:1px solid rgba(255,255,255,.14); }
.km4-story-spec:last-child { border-inline-end:0; }
.km4-story-spec > span { position:absolute; inset-inline-end:15px; top:13px; color:rgba(203,167,107,.45); font-family:var(--km4-latin-display); font-size:1.5rem; }
.km4-story-spec small,.km4-story-spec strong { display:block; }
.km4-story-spec small { margin:34px 0 10px; color:rgba(255,255,255,.45); font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.km4-story-spec strong { color:#fff; font-size:.85rem; line-height:1.7; }

/* Cart and checkout */
.km4-cart-layout, .km4-checkout-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); gap:clamp(24px,4vw,58px); align-items:start; }
.km4-commerce-card { padding:clamp(20px,3vw,36px); border:1px solid var(--km4-line); border-radius:22px; background:#fff; box-shadow:0 16px 55px rgba(37,28,16,.06); }
.km4-order-summary { position:sticky; top:96px; background:var(--km4-ink); color:#fff; }
.km4-order-summary h3, .km4-order-summary strong { color:#fff; }
.km4-order-summary .km-btn { width:100%; }
.km4-checkout-step { padding:clamp(22px,3vw,38px); border:1px solid var(--km4-line); border-radius:22px; background:#fff; box-shadow:0 12px 45px rgba(37,28,16,.05); }
.km4-step-title { display:flex; align-items:center; gap:12px; margin-bottom:22px; font-family:var(--km4-display); }
.km4-step-number { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; border-radius:50%; background:var(--km4-ink); color:#fff; font-size:.75rem; }
.km4-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.km4-checkout-step label:has(input[type="radio"]) { border-radius:14px !important; transition:border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.km4-checkout-step label.is-selected { border-color:var(--km4-gold) !important; background:#fffaf1 !important; box-shadow:0 0 0 2px rgba(173,129,69,.1); }

/* Acquisition bag v6.4 */
.km-cart-page {
  position:relative;
  padding:clamp(48px,6vw,86px) 0 clamp(80px,9vw,140px);
  background:
    radial-gradient(circle at 8% 3%,rgba(173,129,69,.1),transparent 28%),
    linear-gradient(180deg,#f7f2e9 0,#fbf9f4 340px);
}
.km-cart-page::before {
  content:"KM";
  position:absolute;
  inset-inline-start:-1vw;
  top:44px;
  color:rgba(73,55,30,.035);
  font-family:var(--km4-latin-display);
  font-size:clamp(9rem,22vw,25rem);
  line-height:.7;
  pointer-events:none;
}
.km-cart-hero {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:40px;
  margin-bottom:clamp(34px,5vw,66px);
}
.km-cart-eyebrow,.km-cart-panel__head > div > span,.km-cart-summary__top > span {
  display:block;
  margin-bottom:10px;
  color:var(--km4-gold);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.12em;
}
.km-cart-hero h1 {
  margin:0;
  font-size:clamp(2.5rem,5.4vw,5.6rem);
  line-height:1.08;
  letter-spacing:-.045em;
}
.km-cart-hero p { max-width:700px; margin:16px 0 0; color:var(--km4-copy); font-size:clamp(.9rem,1.15vw,1.05rem); line-height:1.9; }
.km-cart-journey {
  display:flex;
  align-items:center;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}
.km-cart-journey li { position:relative; display:flex; align-items:center; gap:9px; color:#9c958a; font-size:.72rem; font-weight:700; }
.km-cart-journey li:not(:last-child)::after { content:""; width:clamp(24px,3vw,50px); height:1px; margin-inline:11px; background:#d6cdbf; }
.km-cart-journey i { display:grid; place-items:center; width:34px; height:34px; border:1px solid #d5ccbd; border-radius:50%; font-style:normal; font-family:var(--km4-latin-display); font-size:.68rem; }
.km-cart-journey .is-active { color:var(--km4-ink); }
.km-cart-journey .is-active i { border-color:var(--km4-gold); background:var(--km4-gold); color:#fff; }
.km-cart-empty { position:relative; overflow:hidden; min-height:470px; padding:clamp(60px,9vw,120px) 24px; border:1px solid rgba(60,46,28,.12); border-radius:30px; background:#fff; text-align:center; box-shadow:var(--km4-shadow); }
.km-cart-empty__mark { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); color:rgba(173,129,69,.05); font-family:var(--km4-latin-display); font-size:clamp(11rem,28vw,28rem); line-height:.8; }
.km-cart-empty > *:not(.km-cart-empty__mark) { position:relative; z-index:1; }
.km-cart-empty > span { color:var(--km4-gold); font-size:.7rem; font-weight:800; letter-spacing:.12em; }
.km-cart-empty h2 { margin:15px 0 9px; font-size:clamp(1.8rem,4vw,3.2rem); }
.km-cart-empty p { margin:0 auto 28px; color:var(--km4-copy); }
.km-cart-layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(340px,.62fr); align-items:start; gap:clamp(24px,3vw,48px); }
.km-cart-main { display:flex; flex-direction:column; gap:22px; }
.km-cart-panel { overflow:hidden; border:1px solid rgba(55,42,24,.13); border-radius:28px; background:rgba(255,255,255,.9); box-shadow:0 20px 70px rgba(36,28,17,.07); }
.km-cart-panel__head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:clamp(22px,3vw,34px); border-bottom:1px solid rgba(55,42,24,.1); }
.km-cart-panel__head h2 { margin:0; font-size:clamp(1.15rem,2vw,1.7rem); line-height:1.45; }
.km-cart-panel__head > strong { padding:8px 13px; border:1px solid #ded4c4; border-radius:999px; color:#766d62; font-size:.72rem; white-space:nowrap; }
.km-cart-items { padding:0 clamp(20px,3vw,34px); }
.km-cart-item { display:grid; grid-template-columns:clamp(135px,18vw,205px) minmax(0,1fr); gap:clamp(18px,3vw,32px); padding:clamp(25px,3vw,38px) 0; border-bottom:1px solid rgba(55,42,24,.1); }
.km-cart-item:last-child { border-bottom:0; }
.km-cart-item__visual { position:relative; overflow:hidden; min-height:205px; border-radius:18px; background:#eee7dc; }
.km-cart-item__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 58%,rgba(18,15,11,.55)); opacity:0; transition:opacity .25s ease; }
.km-cart-item__visual img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.km-cart-item__visual > span { position:absolute; z-index:2; inset-inline:18px; bottom:14px; color:#fff; font-size:.72rem; font-weight:700; opacity:0; transform:translateY(6px); transition:.25s ease; }
.km-cart-item__visual:hover img { transform:scale(1.035); }
.km-cart-item__visual:hover::after,.km-cart-item__visual:hover > span { opacity:1; transform:none; }
.km-cart-item__body { display:flex; min-height:100%; flex-direction:column; }
.km-cart-item__heading { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.km-cart-item__artist { display:block; margin-bottom:5px; color:var(--km4-gold); font-size:.7rem; font-weight:800; }
.km-cart-item__heading h3 { margin:0; font-size:clamp(1.15rem,2vw,1.6rem); line-height:1.5; }
.km-cart-item__heading h3 a { color:inherit; }
.km-cart-item__price { color:var(--km4-ink); font-size:1.02rem; white-space:nowrap; }
.km-cart-specs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:20px 0; }
.km-cart-specs > span { min-height:68px; padding:11px 12px; border:1px solid #e6ded2; border-radius:13px; background:#fbf9f5; }
.km-cart-specs small,.km-cart-specs b { display:block; }
.km-cart-specs small { margin-bottom:4px; color:#9b9185; font-size:.62rem; }
.km-cart-specs b { overflow:hidden; color:#4d473f; font-size:.74rem; font-weight:700; line-height:1.55; text-overflow:ellipsis; }
.km-cart-item__footer { display:flex; align-items:end; justify-content:space-between; gap:15px; margin-top:auto; }
.km-cart-edition { display:flex; align-items:center; gap:9px; color:#6b6358; font-size:.71rem; }
.km-cart-edition i { display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px; border-radius:50%; background:#f1e7d7; color:var(--km4-gold); font-style:normal; }
.km-cart-edition span,.km-cart-edition b { display:block; }
.km-cart-edition b { margin-top:1px; color:var(--km4-ink); }
.km-cart-item__actions { display:flex; align-items:center; gap:14px; }
.km-cart-item__actions > span { color:#8e8579; font-size:.69rem; }
.km-cart-item__actions > span b { display:inline-grid; place-items:center; width:25px; height:25px; margin-inline-start:4px; border-radius:50%; background:#eee7dc; color:var(--km4-ink); }
.km-cart-item__actions button { display:inline-flex; align-items:center; gap:6px; padding:7px 0; border:0; background:none; color:#9b493e; cursor:pointer; font:inherit; font-size:.7rem; font-weight:700; transition:opacity .2s ease; }
.km-cart-item__actions button:hover { opacity:.65; }
.km-cart-item__actions button:disabled { opacity:.4; cursor:wait; }
.km-cart-secure-badge { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border-radius:999px; background:#edf3eb; color:#506a4a; font-size:.68rem; font-weight:700; white-space:nowrap; }
.km-cart-secure-badge i { display:grid; place-items:center; width:17px; height:17px; border-radius:50%; background:#6d8b65; color:#fff; font-style:normal; font-size:.58rem; }
.km-cart-shipping-options { display:grid; gap:11px; padding:clamp(20px,3vw,30px); }
.km-shipping-option { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:15px; min-height:108px; padding:17px 18px; border:1px solid #e1d8ca; border-radius:18px; background:#fff; cursor:pointer; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.km-shipping-option:hover { transform:translateY(-1px); border-color:#c5ad88; box-shadow:0 10px 30px rgba(56,42,23,.07); }
.km-shipping-option.is-selected { border-color:var(--km4-gold); background:#fffaf1; box-shadow:0 0 0 3px rgba(173,129,69,.1); }
.km-shipping-option input { position:absolute; opacity:0; pointer-events:none; }
.km-shipping-option__check { position:relative; width:23px; height:23px; border:1.5px solid #bfb3a3; border-radius:50%; background:#fff; }
.km-shipping-option.is-selected .km-shipping-option__check { border-color:var(--km4-gold); }
.km-shipping-option.is-selected .km-shipping-option__check::after { content:""; position:absolute; inset:5px; border-radius:50%; background:var(--km4-gold); }
.km-shipping-option__copy b,.km-shipping-option__copy small,.km-shipping-option__copy em { display:block; }
.km-shipping-option__copy b { margin-bottom:5px; color:var(--km4-ink); font-size:.85rem; }
.km-shipping-option__copy small { max-width:540px; color:#7e756a; font-size:.7rem; line-height:1.7; }
.km-shipping-option__copy em { margin-top:7px; color:#9b7440; font-size:.64rem; font-style:normal; font-weight:700; }
.km-shipping-option__price { min-width:96px; padding-inline-start:15px; border-inline-start:1px solid #e1d8ca; text-align:end; }
.km-shipping-option__price small,.km-shipping-option__price b { display:block; }
.km-shipping-option__price small { margin-bottom:5px; color:#968b7f; font-size:.62rem; }
.km-shipping-option__price b { color:var(--km4-ink); font-size:.82rem; white-space:nowrap; }
.km-cart-delivery__note { display:flex; align-items:center; gap:9px; margin:0; padding:0 clamp(20px,3vw,30px) 24px; color:#7f766b; font-size:.68rem; line-height:1.7; }
.km-cart-delivery__note i { display:grid; place-items:center; width:21px; height:21px; flex:0 0 21px; border:1px solid #d4c8b7; border-radius:50%; color:var(--km4-gold); font-family:serif; font-style:italic; }
.km-cart-shipping-empty { margin:24px; padding:17px; border:1px solid #edc9c3; border-radius:14px; background:#fff5f3; color:#84463c; font-size:.8rem; }
.km-cart-assurances { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:hidden; border:1px solid #ded5c7; border-radius:20px; background:#efe8dc; }
.km-cart-assurances span { display:flex; align-items:center; gap:11px; min-height:76px; padding:15px; border-inline-end:1px solid #d9cebe; }
.km-cart-assurances span:last-child { border-inline-end:0; }
.km-cart-assurances i { color:var(--km4-gold); font-family:var(--km4-latin-display); font-size:1.05rem; font-style:normal; }
.km-cart-assurances b { color:#5d554b; font-size:.68rem; line-height:1.55; }
.km-cart-summary { position:sticky; top:92px; overflow:hidden; border-radius:28px; background:#17140f; color:#fff; box-shadow:0 30px 80px rgba(30,23,14,.2); }
.km-cart-summary::before { content:"KM"; position:absolute; inset-inline-end:-25px; top:-15px; color:rgba(255,255,255,.035); font-family:var(--km4-latin-display); font-size:10rem; line-height:1; pointer-events:none; }
.km-cart-summary__top { position:relative; padding:clamp(25px,3vw,36px); border-bottom:1px solid rgba(255,255,255,.1); }
.km-cart-summary__top h2 { margin:0; color:#fff; font-size:clamp(1.25rem,2vw,1.75rem); }
.km-cart-summary__rows { padding:24px clamp(22px,3vw,34px) 14px; }
.km-cart-summary__rows > div { display:flex; align-items:start; justify-content:space-between; gap:16px; margin-bottom:16px; color:rgba(255,255,255,.62); font-size:.78rem; }
.km-cart-summary__rows span small { display:block; max-width:190px; margin-top:4px; color:rgba(255,255,255,.35); font-size:.6rem; line-height:1.55; }
.km-cart-summary__rows b { color:#fff; font-size:.8rem; text-align:end; white-space:nowrap; }
.km-cart-summary__rows .is-discount,.km-cart-summary__rows .is-discount b { color:#b9d2a7; }
.km-cart-summary__rows .km-cart-tax { padding-top:13px; border-top:1px solid rgba(255,255,255,.09); }
.km-cart-summary__total { display:flex; align-items:end; justify-content:space-between; gap:14px; margin:0 clamp(22px,3vw,34px); padding:20px 0; border-block:1px solid rgba(255,255,255,.13); }
.km-cart-summary__total span { color:rgba(255,255,255,.75); font-size:.8rem; }
.km-cart-summary__total span small { display:block; margin-top:4px; color:rgba(255,255,255,.34); font-size:.58rem; }
.km-cart-summary__total > b { color:#d9b77d; font-size:clamp(1.25rem,2vw,1.65rem); white-space:nowrap; }
.km-cart-coupon { padding:22px clamp(22px,3vw,34px) 0; }
.km-cart-coupon label { display:block; margin-bottom:9px; color:rgba(255,255,255,.68); font-size:.69rem; }
.km-cart-coupon > div { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:7px; }
.km-cart-coupon .km-input { height:46px; border-color:rgba(255,255,255,.16); background:rgba(255,255,255,.07); color:#fff; font-size:.72rem; }
.km-cart-coupon .km-input::placeholder { color:rgba(255,255,255,.33); }
.km-cart-coupon button { min-width:66px; border:1px solid rgba(216,183,125,.55); border-radius:11px; background:transparent; color:#d9b77d; cursor:pointer; font-family:inherit; font-size:.7rem; font-weight:700; }
.km-cart-coupon .km-coupon-warning { margin:0 0 10px; padding:10px 12px; border:1px solid rgba(235,145,123,.42); border-radius:10px; background:rgba(150,45,31,.18); color:#ffd4c8; font-size:.68rem; line-height:1.65; }
.km-cart-integrity-alert { margin:0 0 22px; padding:17px 20px; border:1px solid #d9a79b; border-radius:14px; background:#fff5f1; color:#71352d; }
.km-cart-integrity-alert strong { display:block; margin-bottom:7px; font-size:.9rem; }
.km-cart-integrity-alert p { margin:4px 0; font-size:.76rem; line-height:1.65; }
.km-cart-integrity-alert small { display:block; margin-top:8px; color:#8d5a51; font-size:.68rem; }
.km-cart-checkout-btn { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:72px; margin:22px clamp(22px,3vw,34px); padding:15px 19px; border-radius:16px; background:linear-gradient(135deg,#b5894c,#8f6734); color:#fff; box-shadow:0 14px 32px rgba(142,101,49,.25); transition:transform .2s ease,box-shadow .2s ease; }
.km-cart-checkout-btn:hover { color:#fff; transform:translateY(-2px); box-shadow:0 18px 38px rgba(142,101,49,.34); }
#kmArtworkDynamicPrice.is-calculating {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:52px;
  color:var(--km-bronze);
  font-family:var(--font-body);
  font-size:1rem !important;
}
#kmArtworkDynamicPrice.is-calculating::before {
  content:"";
  width:20px;
  height:20px;
  flex:0 0 20px;
  border:2px solid color-mix(in srgb,var(--km-bronze) 25%,transparent);
  border-top-color:var(--km-bronze);
  border-radius:50%;
  animation:km-price-spin .7s linear infinite;
}
@keyframes km-price-spin { to { transform:rotate(360deg); } }
#kmBtnAddToCart[data-price-pending="1"],#kmMobileAcquireBtn[data-price-pending="1"] {
  cursor:wait;
  opacity:.58;
  filter:saturate(.45);
}
.km-cart-checkout-btn span,.km-cart-checkout-btn small { display:block; }
.km-cart-checkout-btn span { font-size:.86rem; font-weight:800; }
.km-cart-checkout-btn small { margin-top:3px; color:rgba(255,255,255,.68); font-size:.6rem; font-weight:500; }
.km-cart-checkout-btn i { display:grid; place-items:center; width:36px; height:36px; flex:0 0 36px; border:1px solid rgba(255,255,255,.3); border-radius:50%; font-style:normal; }
[dir="ltr"] .km-cart-checkout-btn i { transform:scaleX(-1); }
.km-cart-summary__support { display:flex; align-items:start; gap:11px; padding:19px clamp(22px,3vw,34px) 24px; border-top:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.025); }
.km-cart-summary__support > span { color:#d9b77d; }
.km-cart-summary__support p { margin:0; }
.km-cart-summary__support b,.km-cart-summary__support small { display:block; }
.km-cart-summary__support b { color:rgba(255,255,255,.8); font-size:.68rem; }
.km-cart-summary__support small { margin-top:4px; color:rgba(255,255,255,.38); font-size:.6rem; line-height:1.65; }

/* Home hero v4.2 — calm editorial composition */
.km-widget-hero {
  min-height: clamp(620px, calc(100svh - 130px), 820px);
  justify-content: flex-start;
  isolation: isolate;
  padding: 0;
}
.km-widget-hero::before { content:none; }
.km-hero-backdrop { inset:-3% 0; }
.km-hero-backdrop img { filter:saturate(.86) contrast(1.02); }
.km-hero-scrim {
  background:
    linear-gradient(180deg,rgba(12,10,8,.12),rgba(12,10,8,.34)),
    linear-gradient(90deg,rgba(12,10,8,.26) 0%,rgba(12,10,8,.62) 48%,rgba(12,10,8,.92) 100%);
  backdrop-filter:none;
}
[dir="ltr"] .km-hero-scrim {
  background:
    linear-gradient(180deg,rgba(12,10,8,.12),rgba(12,10,8,.34)),
    linear-gradient(270deg,rgba(12,10,8,.26) 0%,rgba(12,10,8,.62) 48%,rgba(12,10,8,.92) 100%);
}
.km4-hero-layout {
  position:relative; z-index:3;
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(260px,.52fr); align-items:center; gap:clamp(48px,8vw,140px);
  width:min(calc(100% - clamp(32px,7vw,126px)),1540px); min-height:inherit; margin-inline:auto;
  padding-block:clamp(86px,10vw,132px) clamp(110px,12vw,150px);
}
.km-hero-content { width:auto; max-width:780px; margin:0; padding:0; text-align:start; }
.km4-hero-eyebrow {
  display:inline-flex; align-items:center; gap:12px; margin-bottom:18px;
  color:#d7b77f; font-size:.72rem; font-weight:800; letter-spacing:.11em;
}
.km4-hero-eyebrow::before { content:""; width:38px; height:1px; background:currentColor; }
.km-hero-title {
  max-width:780px; margin:0 0 20px;
  color:#fff; font-size:clamp(2.75rem,4.2vw,4.75rem); font-weight:650; line-height:1.24; letter-spacing:-.035em;
  text-shadow:0 5px 28px rgba(0,0,0,.22);
}
.km-hero-title.is-long { font-size:clamp(2.55rem,3.55vw,4rem); line-height:1.3; }
.km-hero-title.is-extra-long { font-size:clamp(2.35rem,3vw,3.45rem); line-height:1.34; }
.km-hero-subtitle { max-width:650px; margin:0 0 30px !important; color:rgba(255,255,255,.78); font-size:clamp(.98rem,1.15vw,1.12rem); line-height:1.9; }
.km-hero-actions { justify-content:flex-start; gap:12px; flex-wrap:wrap; }
.km-hero-actions .km-btn { min-height:52px; padding-inline:26px; font-size:.92rem; }
.km4-hero-secondary { color:#fff; border:1px solid rgba(255,255,255,.42); background:rgba(255,255,255,.06); backdrop-filter:blur(8px); }
.km4-hero-secondary:hover { color:#fff; border-color:rgba(255,255,255,.8); background:rgba(255,255,255,.12); }
.km4-hero-assurances { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:26px; padding-top:20px; border-top:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.66); font-size:.75rem; }
.km4-hero-assurances span { display:inline-flex; align-items:center; gap:8px; }
.km4-hero-assurances span::before { content:""; width:5px; height:5px; border-radius:50%; background:#d7b77f; }
.km4-hero-signature { align-self:stretch; display:flex; flex-direction:column; justify-content:flex-end; padding:30px; border-inline-start:1px solid rgba(255,255,255,.18); color:#fff; }
.km4-hero-monogram { color:rgba(255,255,255,.15); font-family:var(--km4-latin-display); font-size:clamp(7rem,11vw,12rem); line-height:.72; }
.km4-hero-mark { display:block; width:clamp(150px,13vw,245px); height:auto; max-height:245px; object-fit:contain; opacity:.9; filter:brightness(0) invert(1) drop-shadow(0 12px 36px rgba(0,0,0,.18)); }
.km4-hero-signature div { margin-top:26px; }
.km4-hero-signature small { display:block; margin-bottom:7px; color:#d7b77f; font-size:.65rem; letter-spacing:.14em; }
.km4-hero-signature strong { color:rgba(255,255,255,.78); font-size:.72rem; letter-spacing:.09em; }
.km-hero-scroll-trigger { bottom:42px; width:44px; height:44px; justify-content:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:rgba(10,9,7,.18); }
.km-hero-bottom-curve svg { height:clamp(24px,3.4vw,48px); }
.km-section-editorial { padding-block:clamp(72px,10vw,148px); }
.km-section-header { max-width:900px; margin-inline:auto; text-align:center; }
.km-title-large { font-size:clamp(2.2rem,5vw,5.2rem); }

footer.km4-footer { margin-top:auto; padding:clamp(58px,8vw,100px) 0 26px !important; background:#12110e !important; }
.km4-footer-grid { display:grid; grid-template-columns:1.2fr repeat(3,1fr); gap:clamp(30px,5vw,72px); }

@media (max-width: 1180px) {
  .km4-menu-toggle { display:grid; }
  .km-header-inner { grid-template-columns:auto 1fr auto; }
  .km-nav-menu { display:none; }
  .km-art-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .km4-artists-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .km4-collections-grid { grid-template-columns:1fr; }
  .km4-collection-card:nth-child(3n) { grid-column:auto; }
  .km4-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .km4-curated-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .km-top-banner.km4-announcement { min-height:42px; }
  .km4-announcement__inner { font-size:.7rem; line-height:1.5; }
  .km-header, .km-header.is-scrolled { height:66px; }
  .km-header-inner { display:flex; justify-content:space-between; gap:8px; }
  .km-header-inner > div:first-child { display:flex !important; flex:1; }
  .km-brand { position:absolute; left:50%; transform:translateX(-50%); }
  .km-brand-logo { width:112px; }
  .km-header-actions { flex:1; justify-content:flex-end; }
  .km-header-actions .km4-currency, .km-header-actions .km4-language,
  .km-header-actions > a[aria-label="Search"], .km-header-actions > a[aria-label="Favorites"],
  .km-header-actions > a[aria-label="Account"] { display:none !important; }
  .km-container { width:min(calc(100% - 28px),1540px); }
  .km4-page-shell { padding-top:24px; }
  .km4-page-hero { border-radius:22px; padding:42px 24px; }
  .km4-discovery-toolbar { position:relative; top:auto; display:block; padding:14px; }
  .km4-filter-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .km4-discovery-toolbar .km-select { width:100%; min-width:0; }
  .km4-results-note { margin-top:12px; }
  .km-art-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 14px; }
  .km4-artists-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .km4-artist-card { min-height:0; border-radius:16px; }
  .km4-collection-card, .km4-collection-card:nth-child(3n) { min-height:520px; }
  .km4-artist-card__media { aspect-ratio:4/5; min-height:0; }
  .km4-artist-card__body { padding:13px; }
  .km4-artist-card__quote { display:none; }
  .km4-profile-grid { grid-template-columns:1fr; gap:34px; }
  .km4-profile-visual { width:min(100%,520px); margin-inline:auto; }
  .km4-profile-copy { text-align:start; }
  .km4-profile-copy h1 { font-size:clamp(2.35rem,13vw,4.3rem); }
  .km4-portfolio-head { align-items:start; flex-direction:column; }
  .km-artwork-layout { grid-template-columns:1fr; }
  .km-stage-visual { position:relative; top:auto; }
  .km-stage-info { border-radius:20px; }
  .km4-product-breadcrumb { white-space:nowrap; overflow-x:auto; flex-wrap:nowrap; padding-bottom:5px; }
  .km-acquisition-assurances { grid-template-columns:1fr; }
  .km4-cart-layout, .km4-checkout-layout { grid-template-columns:1fr; }
  .km4-order-summary { position:relative; top:auto; }
  .km-cart-page { padding-top:34px; }
  .km-cart-hero { grid-template-columns:1fr; align-items:start; gap:27px; }
  .km-cart-journey { width:100%; justify-content:center; padding:13px; border:1px solid #ddd2c2; border-radius:16px; background:rgba(255,255,255,.64); }
  .km-cart-journey li { flex:1; justify-content:center; }
  .km-cart-journey li:not(:last-child)::after { flex:1; min-width:10px; }
  .km-cart-layout { grid-template-columns:1fr; }
  .km-cart-summary { position:relative; top:auto; }
  .km-cart-assurances { grid-template-columns:1fr; }
  .km-cart-assurances span { border-inline-end:0; border-bottom:1px solid #d9cebe; }
  .km-cart-assurances span:last-child { border-bottom:0; }
  .km4-footer-grid { grid-template-columns:1fr 1fr; }
  .km-widget-hero { min-height:680px; }
  .km4-hero-layout { grid-template-columns:1fr; width:min(calc(100% - 40px),720px); gap:0; padding-block:78px 112px; }
  .km4-hero-signature { display:none; }
  .km-hero-content { max-width:680px; }
  .km-hero-title { font-size:clamp(2.6rem,8vw,4rem); }
  .km-hero-title.is-long { font-size:clamp(2.35rem,7vw,3.45rem); }
  .km-hero-title.is-extra-long { font-size:clamp(2.15rem,6.2vw,3rem); }
  .km-hero-scroll-trigger { bottom:30px; }
  .km4-story-heading { grid-template-columns:auto 1fr; }
  .km4-story-heading p { grid-column:1/-1; }
  .km4-story-layout { grid-template-columns:1fr; }
  .km4-story-copy { padding-top:28px; }
  .km4-story-specs__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .km4-story-spec { border-bottom:1px solid rgba(255,255,255,.14); }
}

@media (max-width: 991px) {
  .km-stage-visual { position:relative; top:auto; }
}

@media (max-width: 560px) {
  .km-container { width:min(calc(100% - 22px),1540px); }
  .km4-filter-group { grid-template-columns:1fr; }
  .km-art-grid { grid-template-columns:1fr; gap:42px; }
  .km-art-card-media, .km-art-card-media.square { aspect-ratio:4/4.6; }
  .km-art-card-info { padding-inline:4px; }
  .km4-page-hero h1 { font-size:clamp(2rem,12vw,3.3rem); }
  .km4-collection-card, .km4-collection-card:nth-child(3n) { min-height:440px; }
  .km4-profile-visual { padding:0 0 26px 26px; }
  [dir="rtl"] .km4-profile-visual { padding:0 26px 26px 0; }
  .km4-profile-visual::after { inset:26px 26px 0 0; }
  [dir="rtl"] .km4-profile-visual::after { inset:26px 0 0 26px; }
  .km4-profile-location { inset-inline-end:-3px; bottom:3px; width:76%; padding:13px 14px; font-size:.8rem; }
  .km4-form-grid { grid-template-columns:1fr; }
  .km4-commerce-card, .km4-checkout-step { padding:18px 15px; border-radius:16px; }
  .km-cart-page { padding:27px 0 74px; }
  .km-cart-hero { margin-bottom:28px; }
  .km-cart-hero h1 { font-size:clamp(2.35rem,14vw,3.4rem); }
  .km-cart-hero p { margin-top:11px; font-size:.82rem; }
  .km-cart-journey { justify-content:space-between; padding:10px 7px; }
  .km-cart-journey li { flex:0 1 auto; gap:5px; font-size:.6rem; }
  .km-cart-journey li:not(:last-child)::after { width:10px; margin-inline:5px; }
  .km-cart-journey i { width:27px; height:27px; font-size:.56rem; }
  .km-cart-panel,.km-cart-summary { border-radius:20px; }
  .km-cart-panel__head { align-items:flex-start; padding:20px 17px; }
  .km-cart-panel__head h2 { font-size:1.06rem; }
  .km-cart-panel__head > strong,.km-cart-secure-badge { padding:6px 8px; font-size:.57rem; }
  .km-cart-items { padding:0 17px; }
  .km-cart-item { grid-template-columns:96px minmax(0,1fr); gap:14px; padding:20px 0; }
  .km-cart-item__visual { min-height:140px; border-radius:13px; }
  .km-cart-item__heading { display:block; }
  .km-cart-item__heading h3 { font-size:1rem; }
  .km-cart-item__price { display:block; margin-top:7px; font-size:.83rem; }
  .km-cart-specs { grid-template-columns:1fr; gap:5px; margin:12px 0; }
  .km-cart-specs > span { min-height:0; padding:8px 9px; }
  .km-cart-specs small { display:inline; margin-inline-end:5px; }
  .km-cart-specs b { display:inline; font-size:.67rem; }
  .km-cart-item__footer { align-items:flex-start; flex-direction:column; }
  .km-cart-edition { font-size:.63rem; }
  .km-cart-item__actions { width:100%; justify-content:space-between; }
  .km-cart-shipping-options { padding:16px; }
  .km-shipping-option { grid-template-columns:auto minmax(0,1fr); gap:11px; padding:14px; }
  .km-shipping-option__price { grid-column:2; display:flex; align-items:center; justify-content:space-between; min-width:0; padding:9px 0 0; border-inline-start:0; border-top:1px solid #e1d8ca; text-align:start; }
  .km-shipping-option__price small { margin:0; }
  .km-cart-delivery__note { padding:0 16px 19px; }
  .km-cart-summary__top,.km-cart-summary__rows,.km-cart-summary__support { padding-inline:20px; }
  .km-cart-summary__total { margin-inline:20px; }
  .km-cart-coupon { padding-inline:20px; }
  .km-cart-checkout-btn { margin-inline:20px; }
  .km-table, .km-table tbody, .km-table tr, .km-table td { display:block; width:100%; }
  .km-table thead { display:none; }
  .km-table tr { padding:14px 0; border-bottom:1px solid var(--km4-line); }
  .km-table td { padding:6px 0; border:0; }
  .km4-footer-grid { grid-template-columns:1fr; }
  .km-widget-hero { min-height:620px; }
  .km4-hero-layout { width:min(calc(100% - 30px),520px); padding-block:66px 100px; }
  .km-hero-content { text-align:start; padding:0; }
  .km-hero-title { font-size:clamp(2.15rem,10.5vw,3rem); line-height:1.3; }
  .km-hero-title.is-long { font-size:clamp(2rem,9.4vw,2.65rem); line-height:1.36; }
  .km-hero-title.is-extra-long { font-size:clamp(1.85rem,8.5vw,2.4rem); line-height:1.4; }
  .km-hero-subtitle { font-size:.95rem; line-height:1.8; }
  .km-hero-actions { justify-content:stretch; }
  .km-hero-actions { display:grid; grid-template-columns:1fr; width:100%; }
  .km-hero-actions .km-btn { width:100%; }
  .km4-hero-assurances { display:grid; grid-template-columns:1fr; gap:9px; margin-top:22px; padding-top:17px; }
  .km-frame-stage { min-height:360px; padding:18px; }
  .km-stage-controls { gap:7px; }
  .km-mobile-acquire { gap:8px; width:calc(100vw - 14px); min-height:74px; bottom:7px; padding:8px; }
  .km-mobile-art-frame { width:54px; height:48px; flex-basis:54px; }
  .km-mobile-art-copy strong { font-size:.75rem; }
  .km-mobile-art-copy small { max-width:145px; font-size:.6rem; }
  .km-mobile-acquire-actions { gap:6px; }
  .km-mobile-acquire-actions > strong { display:none; }
  .km-mobile-acquire-actions .km-btn { min-height:48px; padding-inline:13px; font-size:.75rem; }
  .km-room-modal { padding:8px !important; }
  .km-room-dialog { max-width:100%; border-radius:18px; }
  .km-room-dialog__header { padding:13px 15px; }
  .km-room-dialog__eyebrow { display:none; }
  .km-room-stage-mockup { aspect-ratio:4/5; }
  .km-room-stage-mockup .room-bg { object-fit:cover; }
  .km-room-art-overlay { top:35%; }
  .km-room-art-overlay img { width:100% !important; max-width:none; }
  .km-room-wall-guide span { display:none; }
  .km-room-calibration { padding:11px; }
  .km-room-calibration__heading { align-items:flex-start; flex-direction:column; gap:7px; }
  .km-room-calibration__heading>strong { width:100%; text-align:center; }
  .km-room-calibration__fields { grid-template-columns:1fr 1fr; }
  .km-room-calibration__presets { grid-column:1/-1; }
  .km-room-calibration__presets button { flex:1 1 72px; }
  .km-room-picker { align-items:stretch; flex-direction:column; gap:8px; padding:11px; }
  .km-room-picker__options { gap:6px; }
  .km-room-choice { min-height:50px; padding:7px 5px; flex-direction:column; gap:1px; font-size:.66rem; line-height:1.3; }
  .km4-product-artist-link { width:100%; justify-content:space-between; border-radius:13px; }
  .km4-artwork-story { padding:68px 0; }
  .km4-story-heading { grid-template-columns:1fr; gap:13px; margin-bottom:38px; }
  .km4-story-heading__number { font-size:3rem; }
  .km4-story-heading h2 { font-size:clamp(2.15rem,12vw,3.2rem); }
  .km4-story-heading p { grid-column:auto; }
  .km4-story-visual,[dir="rtl"] .km4-story-visual { padding:0 0 25px 20px; }
  .km4-story-visual::before,[dir="rtl"] .km4-story-visual::before { inset:20px 20px 0 0; }
  .km4-story-visual figcaption { min-width:88%; padding:12px 14px; }
  .km4-story-narrative { font-size:1rem; line-height:2; }
  .km4-story-artist-card { gap:10px; padding:12px; }
  .km4-story-artist-card__mark { width:40px; height:40px; }
  .km4-story-specs__head { align-items:start; flex-direction:column; }
  .km4-story-specs__grid { grid-template-columns:1fr; }
  .km4-story-spec { min-height:125px; border-inline-end:0; }
  .km4-curated-grid { grid-template-columns:1fr; gap:16px; }
  .km4-curated-card__media { aspect-ratio:auto; }
  .km4-curated-card__body { min-height:auto; padding:12px 14px 12px; gap:8px; }
  .km4-curated-card__heading h3 { min-height:auto; font-size:.96rem; }
  .km4-faq-question { grid-template-columns:auto minmax(0,1fr) auto; gap:10px; min-height:64px; padding:13px 12px; }
  .km4-faq-number { width:28px; height:28px; }
  .km4-faq-question strong { font-size:.84rem; }
  .km4-faq-icon { width:27px; height:27px; }
  .km4-faq-answer { margin-inline:50px 48px; padding-bottom:17px; }
  .km4-faq-answer p { font-size:.84rem; line-height:1.9; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
}

/* v8.44 — story-first acquisition flow, dynamic grids and mobile commerce */
.km4-artwork-story--first{
  margin:clamp(18px,3vw,34px) 0 clamp(32px,5vw,64px);padding:clamp(24px,4vw,52px);border-radius:clamp(20px,3vw,34px);
  background:radial-gradient(circle at 88% 12%,rgba(184,139,75,.18),transparent 30%),#171511;color:#f8f4ec;box-shadow:0 25px 80px rgba(37,27,15,.16)
}
.km4-artwork-story--first::before{font-size:clamp(13rem,31vw,31rem);top:-.28em}
.km4-artwork-story--first .km4-story-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(24px,3vw,38px);padding-bottom:18px}
.km4-artwork-story--first .km4-story-heading h2{font-size:clamp(2rem,4vw,4rem)}
.km-story-acquire-link{flex:0 0 auto;padding:10px 14px;border:1px solid rgba(203,167,107,.45);border-radius:999px;color:#f4dfbd;font-size:.72rem;font-weight:800}
.km4-artwork-story--first .km4-story-layout{grid-template-columns:minmax(280px,.92fr) minmax(300px,1.08fr);gap:clamp(26px,4vw,62px);align-items:center}
.km4-artwork-story--first .km4-story-visual,.km4-artwork-story--first[dir="rtl"] .km4-story-visual{display:grid;place-items:center;padding:0;margin:0}
.km4-artwork-story--first .km4-story-visual::before{display:none}
.km4-story-image-stage{display:grid;place-items:center;width:100%;min-height:280px;max-height:min(62vh,650px);padding:16px;overflow:hidden;background:#242019;border:1px solid rgba(203,167,107,.25)}
.km4-artwork-story--first .km4-story-visual img{position:relative;width:auto;height:auto;max-width:100%;max-height:min(58vh,610px);aspect-ratio:auto;object-fit:contain;background:transparent;box-shadow:none}
.km4-artwork-story--first .km4-story-visual.is-portrait .km4-story-image-stage{width:min(100%,470px);justify-self:center}
.km4-artwork-story--first .km4-story-visual figcaption{inset-inline-start:auto;inset-inline-end:12px;bottom:12px;min-width:0;max-width:calc(100% - 24px);padding:10px 13px}
.km4-artwork-story--first .km4-story-copy{padding-top:28px}
.km4-artwork-story--first .km4-story-narrative{font-size:clamp(.96rem,1.18vw,1.13rem);line-height:2}
.km4-artwork-story--first .km4-story-specs{margin-top:clamp(26px,4vw,42px);border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.035);overflow:hidden}
.km4-artwork-story--first .km4-story-specs>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;cursor:pointer;list-style:none}
.km4-artwork-story--first .km4-story-specs>summary::-webkit-details-marker{display:none}
.km4-artwork-story--first .km4-story-specs>summary span small,.km4-artwork-story--first .km4-story-specs>summary span strong{display:block}
.km4-artwork-story--first .km4-story-specs>summary small{margin-bottom:2px;color:#cba76b;font-size:.56rem;font-weight:800;letter-spacing:.08em}
.km4-artwork-story--first .km4-story-specs>summary strong{color:#fff;font-size:.9rem}
.km4-artwork-story--first .km4-story-specs>summary>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#cba76b;color:#171511;font-size:.68rem}
.km4-artwork-story--first .km4-story-specs__grid{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.12);border-bottom:0}
.km4-artwork-story--first .km4-story-spec{min-height:0;padding:14px 15px 15px}
.km4-artwork-story--first .km4-story-spec>span{position:static;float:inline-end;margin-inline-start:8px;font-size:.8rem}
.km4-artwork-story--first .km4-story-spec small{margin:0 0 5px;font-size:.55rem}
.km4-artwork-story--first .km4-story-spec strong{font-size:.76rem;line-height:1.55}

/* v8.45 — compact story placed directly after the acquisition workspace */
.km4-artwork-story--compact{margin:clamp(20px,3vw,34px) 0 8px;padding:clamp(18px,2.7vw,30px);overflow:hidden;border:1px solid #ddd3c4;border-radius:22px;background:linear-gradient(135deg,#fff,#faf7f1);color:#211d18;box-shadow:0 14px 42px rgba(47,35,20,.055)}
.km4-artwork-story--compact::before{display:none}
.km4-artwork-story--compact .km4-story-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 18px;padding:0 0 15px;border-bottom:1px solid #e5ddd1}
.km4-artwork-story--compact .km4-story-heading h2{margin:4px 0 0;color:#1d1914;font-size:clamp(1.45rem,2.5vw,2.35rem);line-height:1.08}
.km4-artwork-story--compact .km4-story-heading p{max-width:390px;margin:0;color:#81786d;font-size:.76rem;line-height:1.65}
.km4-artwork-story--compact .km4-story-layout{display:grid;grid-template-columns:minmax(220px,.56fr) minmax(0,1.44fr);gap:clamp(18px,2.8vw,34px);align-items:center}
.km4-artwork-story--compact .km4-story-visual,.km4-artwork-story--compact[dir="rtl"] .km4-story-visual{display:grid;place-items:center;margin:0;padding:0}
.km4-artwork-story--compact .km4-story-visual::before{display:none}
.km4-artwork-story--compact .km4-story-image-stage{display:grid;place-items:center;width:100%;min-height:180px;max-height:350px;padding:9px;overflow:hidden;border:1px solid #ded3c3;border-radius:14px;background:#eee8de}
.km4-artwork-story--compact .km4-story-visual img{position:relative;display:block;width:auto;height:auto;max-width:100%;max-height:330px;aspect-ratio:auto;object-fit:contain;border-radius:9px;background:transparent;box-shadow:none}
.km4-artwork-story--compact .km4-story-visual.is-portrait .km4-story-image-stage{width:min(100%,270px);justify-self:center}
.km4-artwork-story--compact .km4-story-visual figcaption{position:static;inset:auto;width:100%;min-width:0;margin-top:8px;padding:0 3px;color:#5f5549;background:transparent;box-shadow:none}
.km4-artwork-story--compact .km4-story-visual figcaption span{margin-bottom:2px;color:#a2763e;font-size:.52rem}
.km4-artwork-story--compact .km4-story-visual figcaption strong{font-size:.72rem}
.km4-artwork-story--compact .km4-story-copy{padding:8px 0}
.km4-artwork-story--compact .km4-story-quote{top:-22px;color:rgba(166,119,62,.13);font-size:5.5rem}
.km4-artwork-story--compact .km4-story-narrative{color:#544c43;font-size:clamp(.9rem,1.05vw,1rem);line-height:1.9}
.km4-artwork-story--compact .km4-story-narrative::first-line{color:#211d18}
.km4-artwork-story--compact .km4-story-artist-card{margin-top:18px;padding:11px 13px;border-color:#ded4c6;border-radius:12px;color:#211d18;background:#fff}
.km4-artwork-story--compact .km4-story-artist-card:hover{border-color:#b88b4f;background:#fffaf2}
.km4-artwork-story--compact .km4-story-artist-card__mark{width:38px;height:38px;background:#b88b4f;color:#fff;font-size:1rem}
.km4-artwork-story--compact .km4-story-artist-card small{color:#9a6d36;font-size:.52rem}
.km4-artwork-story--compact .km4-story-artist-card strong{color:#211d18;font-size:.78rem}
.km4-artwork-story--compact .km4-story-specs{margin:18px 0 0;overflow:hidden;border:1px solid #e1d8cc;border-radius:13px;background:#fff}
.km4-artwork-story--compact .km4-story-specs>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;cursor:pointer;list-style:none}
.km4-artwork-story--compact .km4-story-specs>summary::-webkit-details-marker{display:none}
.km4-artwork-story--compact .km4-story-specs>summary span small,.km4-artwork-story--compact .km4-story-specs>summary span strong{display:block}
.km4-artwork-story--compact .km4-story-specs>summary small{margin-bottom:2px;color:#a2763e;font-size:.5rem;font-weight:850;letter-spacing:.08em}
.km4-artwork-story--compact .km4-story-specs>summary strong{color:#29231d;font-size:.76rem}
.km4-artwork-story--compact .km4-story-specs>summary>b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#eee5d8;color:#8b642f;font-size:.62rem}
.km4-artwork-story--compact .km4-story-specs__grid{display:flex;flex-wrap:wrap;gap:7px;padding:9px;border-top:1px solid #ebe4da;border-bottom:0}
.km4-artwork-story--compact .km4-story-spec{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;flex:1 1 155px;min-height:0;padding:8px 10px;border:1px solid #eee6db;border-radius:9px;background:#fcfaf7}
.km4-artwork-story--compact .km4-story-spec>span{display:none}
.km4-artwork-story--compact .km4-story-spec small{grid-column:1/-1;margin:0 0 2px;color:#968b7d;font-size:.46rem;line-height:1.2}
.km4-artwork-story--compact .km4-story-spec strong{grid-column:1/-1;overflow:hidden;color:#332c24;font-size:.66rem;line-height:1.35;text-overflow:ellipsis}

.km-dynamic-card-grid{--km-grid-columns:var(--km-visible-count,4);--km-grid-gap:clamp(12px,2vw,28px);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--km-grid-gap)}
.km-dynamic-card-grid>*{flex:0 1 calc((100% - (var(--km-grid-columns) - 1)*var(--km-grid-gap))/var(--km-grid-columns));min-width:0}
.km-dynamic-card-grid[data-count="1"]{max-width:350px;width:100%;margin-inline:auto}
.km-dynamic-card-grid[data-count="2"]{max-width:740px;width:100%;margin-inline:auto}
.km-dynamic-card-grid[data-count="3"]{max-width:1100px;width:100%;margin-inline:auto}

.km-mobile-primary-menu{display:flex;flex-direction:column;gap:6px;margin:0 0 28px;padding:0;list-style:none;font-size:1.03rem;font-weight:700}
.km-mobile-primary-menu a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:11px 13px;border-radius:12px;color:#171717;background:#fff}
.km-mobile-primary-menu a:hover{background:#faf7f1}
.km-mobile-primary-menu a.is-limited{color:#91652e;background:rgba(167,131,79,.09)}
.km-mobile-primary-menu small{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f1eadf;color:#9b733e;font-size:.56rem}

@media(max-width:760px){
  .km4-artwork-story--compact{margin-top:16px;padding:15px 13px;border-radius:17px}
  .km4-artwork-story--compact .km4-story-heading{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:14px;padding-bottom:11px}
  .km4-artwork-story--compact .km4-story-heading p{max-width:none}
  .km4-artwork-story--compact .km4-story-layout{grid-template-columns:minmax(0,1fr);gap:12px}
  .km4-artwork-story--compact .km4-story-image-stage{min-height:160px;max-height:300px;padding:7px}
  .km4-artwork-story--compact .km4-story-visual img{max-height:284px}
  .km4-artwork-story--compact .km4-story-copy{padding:3px 0}
  .km4-artwork-story--compact .km4-story-specs__grid{display:flex;gap:6px;padding:7px}
  .km4-artwork-story--compact .km4-story-spec{flex-basis:calc(50% - 3px);padding:7px 8px}
  .km4-artwork-story--first{margin-top:12px;padding:21px 15px;border-radius:20px}
  .km4-artwork-story--first .km4-story-heading{align-items:flex-start;flex-direction:column;margin-bottom:22px;padding-bottom:14px}
  .km-story-acquire-link{width:100%;text-align:center}
  .km4-artwork-story--first .km4-story-layout{grid-template-columns:1fr;gap:18px}
  .km4-story-image-stage{min-height:210px;max-height:58vh;padding:9px}
  .km4-artwork-story--first .km4-story-visual img{max-height:54vh}
  .km4-artwork-story--first .km4-story-copy{padding-top:18px}
  .km4-artwork-story--first .km4-story-specs__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .km4-artwork-story--first .km4-story-spec{border-bottom:1px solid rgba(255,255,255,.11)}
  .km-dynamic-card-grid{--km-grid-columns:2;--km-grid-gap:10px;display:flex;gap:var(--km-grid-gap);width:100%!important}
  .km-dynamic-card-grid[data-count="1"]{max-width:320px;width:100%;margin-inline:auto}
  .km-col-grid.km-dynamic-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .km-col-grid.km-dynamic-card-grid .km-col-card{aspect-ratio:4/5;border-radius:14px}
  .km-col-grid.km-dynamic-card-grid .km-col-card-content{padding:12px}
  .km-col-grid.km-dynamic-card-grid .km-col-card-title{font-size:.98rem}
  .km-col-grid.km-dynamic-card-grid .km-col-card-subtitle{display:none}
  .km4-curated-grid.km-dynamic-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
  .km4-curated-grid.km-dynamic-card-grid[data-count="1"]{grid-template-columns:1fr;max-width:320px}
  .km4-curated-grid.km-dynamic-card-grid .km4-curated-card{height:100%!important;display:flex!important;flex-direction:column!important}
  .km4-curated-grid.km-dynamic-card-grid .km4-curated-card__media{aspect-ratio:4/5!important;width:100%!important;flex-shrink:0!important}
  .km4-curated-grid.km-dynamic-card-grid .km4-curated-card__media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
  .km4-curated-grid.km-dynamic-card-grid .km4-curated-card__body{min-height:auto;padding:10px 12px 10px;gap:6px;flex:1 1 auto!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important}
  .km4-curated-grid.km-dynamic-card-grid .km4-curated-card__heading h3{font-size:.86rem;margin:0 0 2px;}
  .km4-curated-grid.km-dynamic-card-grid .km4-curated-card__heading > span{font-size:.68rem;}
  .km4-curated-grid.km-dynamic-card-grid .km4-curated-card__footer{align-items:center;padding-top:8px;margin-top:auto!important}
  .km4-curated-grid.km-dynamic-card-grid .km4-curated-card__price{font-size:.82rem;}
  .km4-collections-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .km4-collection-card,.km4-collection-card:nth-child(3n){grid-column:auto;min-height:0;aspect-ratio:4/5;border-radius:15px}
  .km4-collection-card__content{padding:14px 12px}
  .km4-collection-card__content h2{margin:6px 0 5px;font-size:clamp(1rem,5.3vw,1.35rem)}
  .km4-collection-card__content p{display:none}
  .km4-collection-card__content .km4-text-link{margin-top:8px;font-size:.64rem}
  #kmCartDrawer .km-drawer{inset-block:0;width:100%;max-width:100%;height:100dvh;border-radius:0;display:grid;grid-template-rows:auto minmax(0,1fr)}
  #kmCartDrawer .km-drawer-body{min-height:0;max-height:none;padding-bottom:calc(24px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
  .km-mobile-acquire{left:7px;right:7px;width:auto;max-width:none;transform:translateY(calc(100% + 28px));border-radius:16px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
  .km-mobile-acquire.is-active{transform:translateY(0)}
}

@media(max-width:390px){
  .km4-story-specs__grid{grid-template-columns:1fr!important}
  .km4-collections-grid,.km-col-grid.km-dynamic-card-grid,.km4-curated-grid.km-dynamic-card-grid{gap:8px}
  .km4-collection-card__content{padding:11px 9px}
  .km4-collection-card__content .km4-kicker{font-size:.48rem}
}
/* ========================================================================== 
   Protected enlarged artwork viewer — watermark is intentionally viewer-only
   ========================================================================== */
.km-viewer-modal { isolation: isolate; }
.km-viewer-bar {
  min-height: 78px;
  padding: 12px clamp(12px, 3vw, 30px);
  background: linear-gradient(180deg, rgba(7,7,7,.94), rgba(7,7,7,.25), transparent);
}
.km-viewer-heading { display: flex; align-items: center; gap: 11px; min-width: 0; }
.km-viewer-heading__mark {
  display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px;
  border: 1px solid rgba(210,174,116,.42); border-radius: 50%; color: #d4b179;
  font: 600 .7rem/1 Georgia,serif; letter-spacing: .12em;
}
.km-viewer-heading strong,.km-viewer-heading small { display: block; }
.km-viewer-heading strong { color: #fff; font-size: .86rem; }
.km-viewer-heading small { margin-top: 2px; color: rgba(255,255,255,.55); font-size: .67rem; }
.km-viewer-controls { display: flex; gap: 7px; }
.km-viewer-controls .km-stage-btn {
  display: grid; place-items: center; width: 42px; height: 42px; padding: 0;
  border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: rgba(18,18,18,.62);
  color: #fff; backdrop-filter: blur(9px);
}
.km-viewer-controls .km-stage-btn:hover { border-color: rgba(210,174,116,.7); background: rgba(167,123,64,.3); }
.km-viewer-controls .km-viewer-close { background: #f3efe7; color: #171511; }
.km-viewer-canvas-wrap {
  position: relative; padding: 84px 3vw 50px; user-select: none; -webkit-user-select: none;
  touch-action: none; overscroll-behavior: contain;
}
.km-viewer-art-stage {
  position: relative; display: inline-flex; max-width: 92vw; max-height: 84vh; overflow: hidden;
  border-radius: 3px; background: #151515; box-shadow: 0 28px 90px rgba(0,0,0,.6);
  transform-origin: center; transition: transform .12s ease-out; will-change: transform;
}
.km-viewer-modal.is-loading .km-viewer-art-stage { opacity: .28; }
.km-viewer-modal.is-loading .km-viewer-canvas-wrap::after {
  content: ""; position: fixed; z-index: 9; width: 38px; height: 38px; inset: 50% auto auto 50%;
  margin: -19px 0 0 -19px; border: 2px solid rgba(255,255,255,.18); border-top-color: #d2ae74;
  border-radius: 50%; animation: kmProtectedPreviewSpin .8s linear infinite;
}
@keyframes kmProtectedPreviewSpin { to { transform: rotate(360deg); } }
.km-viewer-art-stage #kmViewerImage {
  display: block; width: auto; height: auto; max-width: 92vw; max-height: 84vh;
  border-radius: 0; box-shadow: none; object-fit: contain; pointer-events: none;
  transform: none !important; transition: none; -webkit-user-drag: none;
}
.km-viewer-watermark {
  position: absolute; z-index: 3; inset: -8%; display: grid;
  grid-template-columns: repeat(2, minmax(160px, 1fr)); grid-template-rows: repeat(2,1fr);
  align-items: center; justify-items: center; gap: clamp(18px,4vw,58px);
  overflow: hidden; pointer-events: none; transform: rotate(-18deg) scale(1.08);
  mix-blend-mode: luminosity;
}

/* Checkout clarity, keyboard access, and policy acknowledgement. */
.km-visually-hidden {
  position:absolute !important; width:1px !important; height:1px !important;
  padding:0 !important; margin:-1px !important; overflow:hidden !important;
  clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important;
}
.km-checkout-terms {
  display:flex; align-items:flex-start; gap:10px; margin-top:20px; padding:14px;
  border:1px solid rgba(167,131,79,.4); border-radius:12px; background:#fffaf1;
  color:#32291f; font-size:.78rem; line-height:1.75;
}
.km-checkout-terms input { flex:0 0 auto; width:18px; height:18px; margin-top:3px; accent-color:#76562f; }
.km-checkout-terms a { color:#69481f; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.km-checkout-warning { padding:14px; border:1px solid #bb6b54; border-radius:12px; background:#fff3ef; color:#7f2f1d; font-weight:700; line-height:1.7; }
.km-field-help { margin-top:8px; color:#5d5953; font-size:.76rem; line-height:1.7; }
.km-payment-method-option {
  display:flex; align-items:center; gap:12px; min-height:72px; margin-bottom:8px; padding:11px 14px;
  border:1px solid #e5e0d6; border-radius:14px; background:#faf9f6; cursor:pointer;
}
.km-payment-method-option input { flex:0 0 auto; width:18px; height:18px; accent-color:#8c6637; }
.km-payment-method-option__logo { display:grid; place-items:center; width:48px; height:48px; flex:0 0 48px; overflow:hidden; border:1px solid #e2dbcf; border-radius:12px; background:#fff; }
.km-payment-method-option__logo img { width:100%; height:100%; object-fit:contain; }
.km-payment-method-option__copy { display:block; min-width:0; }
.km-payment-method-option__copy strong,.km-payment-method-option__copy small { display:block; }
.km-payment-method-option__copy strong { font-size:.95rem; }
.km-payment-method-option__copy small { margin-top:3px; color:#69645d; font-size:.76rem; line-height:1.55; }
.km-payment-instruction-box { margin:0 0 13px; padding:18px; border:1px solid #e2ddd5; border-radius:16px; background:#faf9f6; font-size:.88rem; line-height:1.75; }
.km-payment-instruction-copy { white-space:pre-line; }
.km-payment-action-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(160px,210px); gap:15px; align-items:center; margin-top:15px; padding-top:15px; border-top:1px solid #e5ddd0; }
.km-payment-action-grid.has-link-only { grid-template-columns:1fr; }
.km-custom-size-card { background:#fff; border:var(--border-subtle); border-radius:var(--radius-xs); padding:clamp(20px,4vw,36px); box-shadow:var(--shadow-card); }
.km-custom-size-dimensions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(96px,.42fr); gap:12px; }
.km-custom-size-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.km-payment-direct-action { padding:16px; border:1px solid #d9c39f; border-radius:14px; background:#fffaf1; }
.km-payment-direct-action span,.km-payment-direct-action small { display:block; }
.km-payment-direct-action span { color:#6f4e25; font-size:.72rem; font-weight:900; }
.km-payment-direct-action a { display:inline-flex; align-items:center; justify-content:center; min-height:45px; margin:8px 0; padding:10px 18px; border-radius:999px; background:#1c1813; color:#fff; font-weight:900; text-decoration:none; }
.km-payment-direct-action a:hover { background:#9b713b; color:#fff; }
.km-payment-direct-action small { color:#6b655d; font-size:.68rem; }
.km-payment-qr { margin:0; padding:10px; border:1px solid #dfd8cd; border-radius:14px; background:#fff; text-align:center; }
.km-payment-qr img { display:block; width:min(100%,180px); aspect-ratio:1; margin:0 auto; object-fit:contain; image-rendering:auto; }
.km-payment-qr figcaption { margin-top:7px; color:#5f5a53; font-size:.67rem; font-weight:700; line-height:1.5; }
a:not(.km-btn):focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline:3px solid #7a5429; outline-offset:3px;
}
.km-btn:disabled { opacity:.52; cursor:not-allowed; filter:grayscale(.25); }

@media (max-width:560px) {
  .km-checkout-access__choices { grid-template-columns:1fr !important; }
  .km-checkout-terms { font-size:.74rem; }
  .km-payment-action-grid { grid-template-columns:1fr; }
  .km-payment-method-option { padding:10px; }
  .km-payment-method-option__logo { width:42px; height:42px; flex-basis:42px; }
  .km-payment-instruction-box { padding:13px; }
}

.km-about-process,.km-policy-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:34px;
}
.km-about-process article,.km-policy-grid article {
  position:relative; padding:24px; border:1px solid #ded5c7; border-radius:16px; background:#fff;
}
.km-about-process article > span,.km-policy-grid article > span { color:#76562f; font-weight:900; font-size:.72rem; letter-spacing:.08em; }
.km-about-process h3,.km-policy-grid h2 { margin:8px 0; font-size:1.05rem; }
.km-about-process p,.km-policy-grid p { margin:0; color:#55514b; font-size:.86rem; line-height:1.85; }
.km-legal-identity { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:18px; padding:16px 20px; border:1px solid #d7c8ad; border-radius:12px; background:#fffaf1; }
.km-footer-socials,.km-footer-legal { display:flex; flex-wrap:wrap; gap:10px 14px; margin-top:12px; }
.km-footer-socials a,.km-footer-legal a { color:#dedbd5; font-size:.78rem; text-decoration:underline; text-underline-offset:4px; }
.km-footer-legal-identity { display:flex; flex-wrap:wrap; gap:5px 12px; margin-top:9px; color:#c8c5bf; font-size:.75rem; }
.km-curated-empty { width:min(100%,760px); margin:20px auto; padding:clamp(28px,5vw,58px); border:1px solid #d9cebe; border-radius:22px; background:#fff; text-align:center; }
.km-curated-empty > span { display:grid; place-items:center; width:54px; height:54px; margin:0 auto 18px; border:1px solid #a7834f; border-radius:50%; color:#76562f; font-family:Georgia,serif; font-weight:800; }
.km-curated-empty h2 { margin-bottom:9px; font-size:clamp(1.3rem,3vw,2rem); }
.km-curated-empty p { max-width:590px; margin:0 auto 20px; color:#5f5a53; }
.km-art-card-price small,.km4-curated-card__price small { display:block; color:#665b4c; font-size:.58rem; font-weight:800; }
@media (max-width:640px) { .km-about-process,.km-policy-grid { grid-template-columns:1fr; } }
@media (max-width:640px) {
  .km-custom-size-dimensions,.km-custom-size-contact-grid { grid-template-columns:1fr; }
}
.km-viewer-watermark span {
  color: rgba(255,255,255,.22); text-shadow: 0 1px 1px rgba(0,0,0,.22);
  font: 700 clamp(.48rem,.75vw,.68rem)/1.35 'Tajawal',sans-serif; letter-spacing: .16em;
  white-space: nowrap; text-align: center;
}
.km-viewer-watermark b { display: block; margin-top: 3px; font-size: .66em; font-weight: 500; letter-spacing: .1em; }
.km-viewer-protection-note {
  position: fixed; z-index: 8; inset-inline-start: 50%; bottom: 14px; transform: translateX(-50%);
  max-width: calc(100vw - 30px); padding: 8px 13px; border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px; background: rgba(9,9,9,.65); color: rgba(255,255,255,.64);
  font-size: .64rem; font-weight: 600; white-space: nowrap; backdrop-filter: blur(10px);
}

@media (max-width: 640px) {
  .km-viewer-bar { min-height: 68px; padding: 9px 10px; }
  .km-viewer-heading__mark { width: 36px; height: 36px; flex-basis: 36px; }
  .km-viewer-heading small { display: none; }
  .km-viewer-heading strong { max-width: 118px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .72rem; }
  .km-viewer-controls { gap: 4px; }
  .km-viewer-controls .km-stage-btn { width: 36px; height: 36px; font-size: .76rem; }
  .km-viewer-canvas-wrap { padding: 72px 2vw 44px; }
  .km-viewer-art-stage,.km-viewer-art-stage #kmViewerImage { max-width: 96vw; max-height: 78vh; }
  .km-viewer-watermark { grid-template-columns: repeat(2,minmax(130px,1fr)); }
}

/* ========================================================================== 
   Artists discovery and profile — compact catalogue + aligned biography
   ========================================================================== */
.km4-artists-page .km4-page-hero { margin-bottom:22px; }
.km4-artist-discovery {
  position:sticky; z-index:30; top:112px; display:grid;
  grid-template-columns:minmax(260px,1.45fr) repeat(3,minmax(135px,.62fr)) auto;
  gap:9px; align-items:end; margin:0 0 13px; padding:12px;
  border:1px solid #ddd4c7; border-radius:17px; background:rgba(255,253,249,.94);
  box-shadow:0 14px 38px rgba(44,34,22,.08); backdrop-filter:blur(16px);
}
.km4-artist-discovery label>span { display:block; margin:0 0 5px; color:#756d62; font-size:.61rem; font-weight:900; }
.km4-artist-search { position:relative; }
.km4-artist-search>span { position:absolute; z-index:2; inset-inline-start:14px; top:50%; color:#9b713e; font-size:1.2rem; transform:translateY(-50%); }
.km4-artist-search input,.km4-artist-discovery select {
  width:100%; min-height:46px; padding:9px 13px; border:1px solid #d8d0c4; border-radius:12px;
  outline:0; background:#fff; color:#26221d; font:700 .75rem/1.4 var(--font-body);
}
.km4-artist-search input { padding-inline-start:42px; }
.km4-artist-search input:focus,.km4-artist-discovery select:focus { border-color:#9b713e; box-shadow:0 0 0 3px rgba(155,113,62,.11); }
.km4-artist-filter-reset { min-height:46px; padding:9px 13px; border:1px solid #cdb994; border-radius:12px; background:#f7efe2; color:#755225; font-weight:900; cursor:pointer; white-space:nowrap; }
.km4-artist-results-bar { display:flex; align-items:baseline; gap:6px; margin:0 2px 18px; color:#81786c; font-size:.7rem; }
.km4-artist-results-bar strong { color:#9a6d35; font:800 1.15rem/1 var(--km4-latin-display); }
.km4-artists-grid {
  grid-template-columns:repeat(auto-fit,minmax(190px,245px)); justify-content:center;
  gap:16px; align-items:start;
}
.km4-artist-card { border-radius:17px; box-shadow:0 10px 30px rgba(38,29,17,.06); }
.km4-artist-card[hidden] { display:none!important; }
.km4-artist-card:hover { transform:translateY(-4px); }
.km4-artist-card__media { aspect-ratio:1/1.08; }
.km4-artist-card__body { min-height:154px; padding:13px 14px 14px; }
.km4-artist-card__body .km4-kicker { font-size:.56rem; }
.km4-artist-card__body h2 { margin:5px 0; font-size:clamp(1rem,1.25vw,1.3rem); }
.km4-artist-card__meta { margin-bottom:6px; font-size:.59rem; }
.km4-artist-card__quote { font-size:.68rem; line-height:1.65; }
.km4-artist-card__body .km4-text-link { padding-top:10px; font-size:.66rem; }
.km4-artist-filter-empty { padding:45px 20px; border:1px dashed #d3c4ae; border-radius:20px; background:#fff; text-align:center; }
.km4-artist-filter-empty[hidden] { display:none; }
.km4-artist-filter-empty>span { display:grid; place-items:center; width:48px; height:48px; margin:0 auto 12px; border-radius:50%; background:#eee3d3; color:#8f6532; font-size:1.3rem; }
.km4-artist-filter-empty h2 { margin:0 0 7px; font-size:1.25rem; }
.km4-artist-filter-empty p { margin:0 0 17px; color:var(--km4-copy); }

.km4-profile-grid { grid-template-columns:minmax(300px,430px) minmax(0,1fr); align-items:start; gap:clamp(38px,5vw,76px); }
.km4-profile-visual { position:sticky; top:118px; width:100%; max-width:430px; justify-self:center; }
.km4-profile-portrait { aspect-ratio:4/4.85; }
.km4-profile-copy { padding-top:4px; }
.km4-profile-copy h1 { margin:10px 0 18px; font-size:clamp(2.6rem,5.1vw,5.4rem); }
.km4-profile-statement { margin-bottom:20px; font-size:clamp(.98rem,1.25vw,1.15rem); }
.km4-profile-connect { display:grid; gap:11px; margin:22px 0 0; padding:16px; border:1px solid #ddd2c2; border-radius:17px; background:rgba(255,255,255,.62); }
.km4-profile-actions { display:flex; flex-wrap:wrap; gap:8px; }
.km4-profile-action { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; min-height:46px; padding:10px 16px; border:1px solid #d8cbb8; border-radius:12px; background:#fff; color:#28231d; font-size:.74rem; font-weight:900; text-decoration:none; transition:.2s ease; }
.km4-profile-action i { color:#a17439; font-style:normal; font-size:.85rem; }
.km4-profile-action.is-primary { border-color:#9e733d; background:#9e733d; color:#fff; }
.km4-profile-action.is-primary i { color:#fff; }
.km4-profile-action:hover { border-color:#9e733d; transform:translateY(-2px); box-shadow:0 8px 20px rgba(82,57,27,.1); }
.km4-profile-connect .km4-artist-socials { margin:0; padding-top:11px; border-top:1px solid #e1d8cb; }
.km4-artist-socials a { min-height:36px; padding:6px 10px; border-radius:10px; box-shadow:0 4px 12px rgba(45,34,20,.035); }
.km4-artist-socials a span { width:21px; min-width:21px; height:21px; border-radius:7px; background:#f0e4d2; font-size:.63rem; }
.km4-artist-socials a b { font-size:.63rem; }
.km4-profile-biography { margin-top:28px; padding-top:24px; border-top:1px solid #d9cebe; }
.km4-profile-biography>span { display:block; margin-bottom:10px; color:#9b6f37; font-size:.63rem; font-weight:900; letter-spacing:.08em; }
.km4-profile-bio { max-width:900px; font-size:clamp(.9rem,1.05vw,1rem); line-height:2.05; }

@media (max-width: 980px) {
  .km4-artist-discovery { position:relative; top:auto; grid-template-columns:1fr 1fr; }
  .km4-artist-search { grid-column:1/-1; }
  .km4-artist-filter-reset { align-self:end; }
}
@media (max-width: 820px) {
  .km4-artists-grid { grid-template-columns:repeat(3,minmax(0,1fr)); justify-content:stretch; gap:12px; }
  .km4-profile-grid { grid-template-columns:1fr; gap:28px; }
  .km4-profile-visual { position:relative; top:auto; width:min(100%,390px); }
  .km4-profile-copy { padding-top:0; }
}
@media (max-width: 620px) {
  .km4-artists-page .km4-page-hero { padding:30px 18px; }
  .km4-artist-discovery { grid-template-columns:1fr 1fr; padding:10px; }
  .km4-artist-discovery label:nth-of-type(3) { grid-column:1/-1; }
  .km4-artist-filter-reset { grid-column:1/-1; width:100%; }
  .km4-artists-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .km4-artist-card__media { aspect-ratio:1/1.04; }
  .km4-artist-card__body { min-height:127px; padding:10px; }
  .km4-artist-card__body h2 { font-size:.98rem; }
  .km4-artist-card__quote { display:none; }
  .km4-profile-actions { display:grid; grid-template-columns:1fr 1fr; }
  .km4-profile-action { padding:9px 11px; }
  .km4-profile-connect { padding:12px; }
  .km4-artist-socials { gap:6px; }
}
@media (max-width: 400px) {
  .km4-artist-discovery { grid-template-columns:1fr; }
  .km4-artist-search,.km4-artist-discovery label:nth-of-type(3),.km4-artist-filter-reset { grid-column:auto; }
  .km4-profile-actions { grid-template-columns:1fr; }
}

/* Curated artworks maintain uniform 4:5 luxury ratio */

/* Mobile live configurator: keep the artwork treatment and final price visible. */
.km-mobile-art-mat{display:grid;place-items:center;width:100%;height:100%;box-sizing:border-box;overflow:hidden;transition:padding .24s ease,background-color .24s ease}
.km-mobile-art-mat img{display:block;width:100%;height:100%;object-fit:contain!important}
.km-mobile-final-price{display:grid;justify-items:end;line-height:1.25;white-space:nowrap}.km-mobile-final-price small{color:#b9ad9d;font-size:.54rem;font-weight:700}.km-mobile-final-price strong{margin-top:2px;color:#e2bd7b;font-size:.78rem;font-weight:900}
@media(max-width:700px){
  .km-mobile-acquire{gap:10px;min-height:92px;padding:9px 10px!important}
  .km-mobile-art-preview{gap:9px}
  .km-mobile-art-frame{width:82px;height:auto;min-height:58px;max-height:76px;flex:0 0 82px;box-sizing:border-box;background:transparent}
  .km-mobile-art-copy strong{font-size:.74rem}.km-mobile-art-copy small{max-width:130px;font-size:.56rem;line-height:1.45}
  .km-mobile-acquire-actions{align-items:stretch;flex-direction:column;gap:5px}
  .km-mobile-acquire-actions>.km-mobile-final-price{display:grid}
  .km-mobile-acquire-actions .km-btn{min-width:94px;min-height:40px;padding:8px 11px;font-size:.7rem}
  body:has(.km-mobile-acquire.is-active){padding-bottom:116px}
}
@media(max-width:390px){.km-mobile-art-frame{width:72px;flex-basis:72px}.km-mobile-art-copy small{display:none}.km-mobile-acquire-actions .km-btn{min-width:88px}.km-mobile-final-price strong{font-size:.7rem}}


/* content-pages-v1.css */
.km-content-page{--page-accent:#b48747;background:linear-gradient(180deg,#f5f0e7 0,#fbfaf7 42%,#f4eee4 100%);padding:clamp(64px,8vw,112px) 0}.km-content-page__shell{width:min(1240px,calc(100% - 36px));margin:auto}.km-content-hero{text-align:center;max-width:920px;margin:0 auto clamp(36px,6vw,72px)}.km-content-hero__eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--page-accent);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.km-content-hero__eyebrow:before,.km-content-hero__eyebrow:after{content:"";width:34px;height:1px;background:currentColor}.km-content-hero h1{font-size:clamp(2.5rem,6vw,5.4rem);line-height:.98;letter-spacing:-.045em;margin:18px 0}.lang-en .km-content-hero h1{font-family:"Cormorant Garamond",serif;font-weight:700}.km-content-hero p{max-width:700px;margin:auto;color:#766f65;font-size:clamp(.98rem,1.5vw,1.18rem);line-height:1.85}.km-content-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:clamp(28px,5vw,72px);align-items:start}.km-content-page--minimal .km-content-grid{grid-template-columns:1fr;max-width:900px;margin:auto}.km-content-page--split .km-content-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}.km-content-visual{position:sticky;top:120px;border-radius:28px;overflow:hidden;background:#ddd3c3;box-shadow:0 28px 75px rgba(36,27,18,.16);isolation:isolate}.km-content-visual:after{content:"KMHEER";position:absolute;inset:auto 24px 20px auto;color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.25em;text-shadow:0 1px 10px #000}.km-content-visual img{display:block;width:100%;height:clamp(320px,48vw,620px);object-fit:cover}.km-content-page--image-compact .km-content-visual{max-width:480px;margin:auto}.km-content-page--image-compact .km-content-visual img{height:360px}.km-content-page--image-wide .km-content-visual{grid-column:1/-1;position:relative;top:auto}.km-content-page--image-wide .km-content-visual img{height:clamp(330px,48vw,660px)}.km-image-pos-top img{object-position:center top}.km-image-pos-center img{object-position:center center}.km-image-pos-bottom img{object-position:center bottom}.km-content-copy{background:rgba(255,255,255,.84);backdrop-filter:blur(12px);border:1px solid rgba(177,151,113,.28);border-radius:28px;padding:clamp(28px,5vw,58px);box-shadow:0 18px 60px rgba(63,49,31,.08)}.km-content-copy,.km-content-copy p{font-size:1rem;line-height:2;color:#3f3932}.km-content-copy h2,.km-content-copy h3{color:#171512;line-height:1.25;margin:1.5em 0 .6em}.km-content-copy p:first-child{margin-top:0}.km-content-copy a{color:#91652e;text-decoration:underline;text-underline-offset:4px}.km-content-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.km-contact-showcase{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:22px}.km-contact-card{background:#18140f;color:#f5efe5;border-radius:28px;padding:clamp(28px,4vw,48px);min-height:100%;display:flex;flex-direction:column;justify-content:space-between}.km-contact-card h2{font-size:clamp(1.6rem,3vw,2.5rem);color:#fff}.km-contact-card p,.km-contact-card a{color:#cfc5b7}.km-contact-list{display:grid;gap:16px;margin-top:32px}.km-contact-list div{border-top:1px solid rgba(255,255,255,.14);padding-top:16px}.km-contact-list small{display:block;color:#a88a60;margin-bottom:5px}.km-contact-form{background:#fff;border:1px solid #e4d8c7;border-radius:28px;padding:clamp(28px,4vw,48px);box-shadow:0 20px 60px rgba(56,43,26,.08)}.km-contact-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.km-contact-form .km-form-group:last-of-type{grid-column:1/-1}.km-faq-list{max-width:980px;margin:auto;display:grid;gap:14px}.km-faq-item{background:rgba(255,255,255,.9);border:1px solid #e3d6c3;border-radius:18px;padding:0 24px;box-shadow:0 12px 34px rgba(60,45,26,.05)}.km-faq-item summary{display:flex;align-items:center;gap:18px;cursor:pointer;list-style:none;padding:24px 0;font-weight:750;font-size:1rem}.km-faq-item summary::-webkit-details-marker{display:none}.km-faq-item summary span:first-child{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f2e8d8;color:#a4773e;font-size:.72rem;flex:none}.km-faq-item summary:after{content:"+";font-size:1.35rem;margin-inline-start:auto;color:#a4773e}.km-faq-item[open] summary:after{content:"−"}.km-faq-item__answer{padding:0 52px 24px;line-height:1.9;color:#6e665b}.km-journal-card__localized-empty{font-style:italic;color:#8d857a}@media(max-width:850px){.km-content-grid,.km-content-page--split .km-content-grid,.km-contact-showcase{grid-template-columns:1fr}.km-content-visual{position:relative;top:auto;order:-1}.km-content-page--image-compact .km-content-visual{max-width:none}.km-content-visual img,.km-content-page--image-compact .km-content-visual img{height:clamp(260px,75vw,440px)}.km-contact-form__grid{grid-template-columns:1fr}.km-contact-form .km-form-group:last-of-type{grid-column:auto}}@media(max-width:560px){.km-content-page__shell{width:min(100% - 22px,1240px)}.km-content-hero h1{font-size:clamp(2.4rem,13vw,4rem)}.km-content-copy,.km-contact-card,.km-contact-form{border-radius:20px;padding:24px}.km-faq-item{padding:0 16px}.km-faq-item summary{padding:20px 0}.km-faq-item__answer{padding:0 0 20px}.km-content-hero__eyebrow:before,.km-content-hero__eyebrow:after{width:20px}}


/* content-pages-v2.css */
/* KMHEER editorial content pages v2 — About museum layout */
.km-about-page {
  --about-ink:#181510;
  --about-copy:#5f584f;
  --about-gold:#ad8145;
  --about-line:rgba(70,53,31,.15);
  overflow:hidden;
  padding:clamp(48px,6vw,96px) 0 clamp(72px,9vw,145px);
  background:
    radial-gradient(circle at 8% 4%,rgba(173,129,69,.12),transparent 27%),
    linear-gradient(180deg,#f4eee4 0,#fbfaf7 42%,#f1e9dc 100%);
  color:var(--about-ink);
}
.km-about-shell { width:calc(100% - clamp(28px,5vw,96px)); margin-inline:auto; }
.km-about-hero {
  display:grid;
  grid-template-columns:minmax(390px,.82fr) minmax(560px,1.18fr);
  align-items:stretch;
  min-height:min(720px,72vh);
  border:1px solid var(--about-line);
  border-radius:34px;
  background:#fff;
  box-shadow:0 35px 100px rgba(40,29,15,.11);
}
.km-about-hero__copy {
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(40px,6vw,105px);
}
.km-about-eyebrow { display:flex; align-items:center; gap:13px; color:var(--about-gold); font-size:.68rem; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.km-about-eyebrow::before { content:""; width:42px; height:1px; background:currentColor; }
.km-about-hero h1 { max-width:760px; margin:25px 0 22px; color:var(--about-ink); font-size:clamp(3rem,5.3vw,6.4rem); line-height:.95; letter-spacing:-.05em; }
.lang-en .km-about-hero h1 { font-family:"Cormorant Garamond",serif; font-weight:700; }
.lang-ar .km-about-hero h1 { line-height:1.18; }
.km-about-hero__copy>p { max-width:690px; margin:0; color:var(--about-copy); font-size:clamp(1rem,1.22vw,1.2rem); line-height:1.95; }
.km-about-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.km-about-visual { position:relative; min-height:560px; margin:0; overflow:hidden; border-radius:0 33px 33px 0; background:#33291e; }
[dir="rtl"] .km-about-visual { border-radius:33px 0 0 33px; }
.km-about-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(18,14,9,.05),transparent 50%,rgba(18,14,9,.64)); pointer-events:none; }
.km-about-visual img { display:block; width:100%; height:100%; min-height:560px; object-fit:cover; }
.km-about-visual figcaption { position:absolute; z-index:2; inset-inline:clamp(24px,4vw,58px); bottom:clamp(22px,4vw,50px); display:flex; align-items:end; justify-content:space-between; gap:20px; color:#fff; }
.km-about-visual figcaption span { font-family:"Cormorant Garamond",serif; font-size:clamp(2rem,3.5vw,4.4rem); letter-spacing:.08em; }
.km-about-visual figcaption b { max-width:180px; padding-top:12px; border-top:1px solid rgba(255,255,255,.55); font-size:.6rem; line-height:1.65; letter-spacing:.12em; text-align:end; }
.km-about-body { display:grid; grid-template-columns:minmax(285px,.38fr) minmax(0,1.62fr); gap:clamp(34px,6vw,105px); align-items:start; padding:clamp(64px,8vw,135px) clamp(0px,3.5vw,68px); }
.km-about-principles { position:sticky; top:110px; padding:28px; border:1px solid var(--about-line); border-radius:23px; background:rgba(255,255,255,.74); box-shadow:0 18px 55px rgba(44,33,19,.06); }
.km-about-principles>span { color:var(--about-gold); font-size:.62rem; font-weight:850; letter-spacing:.13em; }
.km-about-principles ol { display:grid; gap:0; margin:22px 0 0; padding:0; list-style:none; }
.km-about-principles li { display:grid; grid-template-columns:38px minmax(0,1fr); gap:13px; padding:20px 0; border-top:1px solid var(--about-line); }
.km-about-principles i { color:var(--about-gold); font-family:"Cormorant Garamond",serif; font-size:1.25rem; font-style:normal; }
.km-about-principles b,.km-about-principles small { display:block; }
.km-about-principles b { margin-bottom:5px; font-size:.82rem; }
.km-about-principles small { color:var(--about-copy); font-size:.7rem; line-height:1.75; }
.km-about-narrative {
  min-width:0;
  width:100%;
  max-width:1120px;
  color:var(--about-copy);
  font-size:clamp(1rem,1.12vw,1.17rem);
  line-height:2.08;
  direction:inherit;
  text-align:start;
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
}
.km-about-narrative>h2:first-child { margin-top:0; }
.km-about-narrative h2 { break-after:avoid; margin:1.7em 0 .65em; color:var(--about-ink); font-size:clamp(2rem,3.7vw,4.2rem); line-height:1.1; letter-spacing:-.035em; }
.lang-en .km-about-narrative h2 { font-family:"Cormorant Garamond",serif; }
.km-about-narrative h3 { break-after:avoid; margin:1.6em 0 .5em; color:var(--about-ink); font-size:clamp(1.25rem,2vw,2rem); }
.km-about-narrative p { display:block; width:100%; max-width:980px; margin:0 0 1.35em; color:inherit; font-size:inherit; line-height:inherit; }
.km-about-narrative strong { color:var(--about-ink); }
.km-about-narrative a { color:#8b612e; text-underline-offset:4px; }
.km-about-closing { display:grid; grid-template-columns:auto minmax(0,1fr); gap:clamp(25px,7vw,120px); align-items:center; padding:clamp(34px,5vw,70px); border-radius:28px; background:#19150f; color:#fff; }
.km-about-closing span { color:#c49b61; font:.7rem/1.4 "Cormorant Garamond",serif; letter-spacing:.2em; white-space:nowrap; }
.km-about-closing strong { max-width:1100px; font-size:clamp(1.45rem,3vw,3.6rem); font-weight:650; line-height:1.35; }
@media (min-width:1200px) {
  .km-about-narrative { column-count:1 !important; columns:auto !important; }
  .km-about-narrative h2,.km-about-narrative h3,.km-about-narrative p { break-inside:auto; }
}
@media (max-width:980px) {
  .km-about-hero { grid-template-columns:1fr; }
  .km-about-visual,[dir="rtl"] .km-about-visual { order:-1; min-height:clamp(330px,64vw,560px); border-radius:33px 33px 0 0; }
  .km-about-visual img { min-height:clamp(330px,64vw,560px); }
  .km-about-body { grid-template-columns:1fr; }
  .km-about-principles { position:relative; top:auto; }
  .km-about-principles ol { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  .km-about-principles li { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .km-about-page { padding-top:18px; }
  .km-about-shell { width:calc(100% - 20px); }
  .km-about-hero { border-radius:22px; }
  .km-about-visual,[dir="rtl"] .km-about-visual { border-radius:21px 21px 0 0; }
  .km-about-hero__copy { padding:30px 22px 35px; }
  .km-about-hero h1 { margin-block:18px 15px; font-size:clamp(2.45rem,13vw,4rem); }
  .km-about-actions { display:grid; grid-template-columns:1fr; }
  .km-about-actions .km-btn { width:100%; }
  .km-about-body { padding-block:45px; }
  .km-about-principles ol { grid-template-columns:1fr; }
  .km-about-principles li { grid-template-columns:38px 1fr; }
  .km-about-closing { grid-template-columns:1fr; border-radius:20px; }
}
/* Guard against abnormally wide CSS viewports caused by extreme browser zoom. */
@media (min-width:2400px) {
  .km-about-hero__copy>p,.km-about-narrative { font-size:clamp(1.15rem,.72vw,2rem); }
  .km-about-principles { font-size:clamp(1rem,.55vw,1.55rem); }
  .km-about-principles b { font-size:.95em; }
  .km-about-principles small { font-size:.76em; }
}


/* patron-portal.css */
/* KMHEER Patron Portal v5 — private collector experience */
:root {
  --patron-ink: #171511;
  --patron-night: #11100d;
  --patron-bronze: #aa7b3e;
  --patron-gold: #d3ae73;
  --patron-paper: #f5f0e7;
  --patron-mist: #ebe4d8;
  --patron-line: rgba(40, 33, 24, .13);
  --patron-green: #356a55;
}

.km-auth-page,
.km-patron-page { background: var(--patron-paper); color: var(--patron-ink); }

.km-auth-page { min-height: 760px; padding: clamp(24px, 4vw, 62px) 0; }
.km-auth-shell {
  width: min(1180px, calc(100% - 32px)); margin: 0 auto; min-height: 680px;
  display: grid; grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr);
  background: #fff; border: 1px solid var(--patron-line); border-radius: 30px;
  overflow: hidden; box-shadow: 0 30px 90px rgba(34, 27, 19, .12);
}
.km-auth-visual { position: relative; min-height: 680px; color: #fff; overflow: hidden; background: var(--patron-night); }
.km-auth-visual > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; opacity: .7; transform: scale(1.02); }
.km-auth-visual::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(8,8,7,.12), rgba(8,8,7,.24) 40%, rgba(8,8,7,.92)); }
.km-auth-visual::after { content: "K"; position: absolute; inset-inline-start: -20px; top: 2%; z-index: 1; font: 600 clamp(15rem, 28vw, 28rem)/1 "Cormorant Garamond", serif; color: rgba(255,255,255,.07); }
.km-auth-visual__content { position: absolute; inset: auto clamp(28px, 5vw, 62px) clamp(32px, 6vw, 70px); z-index: 2; }
.km-auth-mark { display: inline-flex; align-items: center; gap: 9px; color: var(--patron-gold); font-size: .72rem; font-weight: 700; letter-spacing: .1em; margin-bottom: 20px; }
.km-auth-mark::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.km-auth-visual h2 { color: #fff; font-size: clamp(2.1rem, 4vw, 4.2rem); line-height: 1.08; max-width: 620px; margin: 0 0 18px; }
.km-auth-visual p { color: rgba(255,255,255,.74); max-width: 500px; line-height: 1.9; margin: 0 0 26px; }
.km-auth-benefits { display: flex; flex-wrap: wrap; gap: 9px; }
.km-auth-benefits span { border: 1px solid rgba(255,255,255,.24); background: rgba(10,10,9,.25); backdrop-filter: blur(8px); border-radius: 999px; padding: 9px 13px; font-size: .72rem; }

.km-auth-panel { display: flex; align-items: center; padding: clamp(30px, 6vw, 76px); background: #fff; }
.km-auth-card { width: 100%; max-width: 520px; margin: auto; }
.km-auth-card__head { margin-bottom: 28px; }
.km-auth-card__eyebrow { display: block; color: var(--patron-bronze); font-size: .74rem; letter-spacing: .08em; font-weight: 800; margin-bottom: 9px; }
.km-auth-card h1 { font-size: clamp(2rem, 3vw, 3.05rem); line-height: 1.2; margin: 0 0 10px; }
.km-auth-card__head p { color: #746d62; line-height: 1.8; margin: 0; font-size: .9rem; }
.km-auth-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.km-auth-field { margin-bottom: 16px; }
.km-auth-field label { display: flex; justify-content: space-between; gap: 12px; font-weight: 700; font-size: .78rem; margin-bottom: 8px; color: #37322c; }
.km-auth-field label a { color: var(--patron-bronze); font-weight: 700; }
.km-auth-input { position: relative; }
.km-auth-input input,
.km-auth-input select,
.km-patron-form input,
.km-patron-form select,
.km-patron-form textarea {
  width: 100%; min-height: 52px; border: 1px solid #dcd4c8; border-radius: 12px; background: #fbfaf8;
  color: var(--patron-ink); padding: 12px 15px; font: inherit; font-size: .88rem; outline: none; transition: .2s ease;
}
.km-auth-input input:focus,
.km-auth-input select:focus,
.km-patron-form input:focus,
.km-patron-form select:focus,
.km-patron-form textarea:focus { border-color: var(--patron-bronze); background: #fff; box-shadow: 0 0 0 4px rgba(170,123,62,.09); }
.km-auth-input input[type="password"], .km-auth-input input[data-password] { padding-inline-end: 50px; }
.km-password-toggle { position: absolute; inset-inline-end: 7px; top: 7px; width: 38px; height: 38px; border: 0; border-radius: 9px; background: transparent; color: #766e63; cursor: pointer; }
.km-password-toggle:hover { background: var(--patron-paper); color: var(--patron-ink); }
.km-password-meter { height: 4px; background: #eee9e1; border-radius: 9px; margin-top: 8px; overflow: hidden; }
.km-password-meter span { display: block; width: 0; height: 100%; background: #b34c43; transition: width .25s ease, background .25s ease; }
.km-password-hint { display: block; font-size: .69rem; color: #8b8378; margin-top: 7px; }
.km-auth-check { display: flex; align-items: flex-start; gap: 9px; color: #696157; font-size: .75rem; line-height: 1.7; margin: 4px 0 18px; }
.km-auth-check input { accent-color: var(--patron-bronze); margin-top: 5px; }
.km-auth-check a { color: var(--patron-ink); text-decoration: underline; }
.km-auth-submit { width: 100%; min-height: 54px; border: 0; border-radius: 12px; background: var(--patron-ink); color: #fff; font: inherit; font-weight: 800; cursor: pointer; transition: .25s ease; }
.km-auth-submit:hover { background: var(--patron-bronze); transform: translateY(-1px); box-shadow: 0 13px 28px rgba(87,61,29,.17); }
.km-auth-switch { margin-top: 23px; padding-top: 20px; border-top: 1px solid var(--patron-line); text-align: center; color: #736b60; font-size: .82rem; }
.km-auth-switch a { color: var(--patron-bronze); font-weight: 800; margin-inline-start: 5px; }
.km-auth-trust { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 18px; color: #90877b; font-size: .7rem; }
.km-auth-trust svg { color: var(--patron-green); }
.km-otp-orbit { width: 74px; height: 74px; display: grid; place-items: center; margin: 0 auto 20px; border: 1px solid #d8c4a6; border-radius: 50%; color: var(--patron-bronze); background: #f8f4ed; box-shadow: inset 0 0 0 8px #fff; }
.km-otp-card .km-auth-card__head { text-align: center; }
.km-otp-email { display: inline-block; direction: ltr; color: var(--patron-ink); font-weight: 800; }
.km-otp-input { width: 100%; height: 72px; border: 1px solid #d9cdbb; border-radius: 14px; background: #fbfaf8; color: var(--patron-ink); text-align: center; direction: ltr; font: 800 2rem/1 Arial,sans-serif; letter-spacing: .55em; padding: 0 0 0 .55em; outline: none; transition: .2s ease; }
.km-otp-input:focus { border-color: var(--patron-bronze); background: #fff; box-shadow: 0 0 0 5px rgba(170,123,62,.1); }
.km-otp-expiry { display: flex; justify-content: center; align-items: center; gap: 7px; margin: 11px 0 20px; color: #80776c; font-size: .71rem; }
.km-otp-expiry b { direction: ltr; color: var(--patron-bronze); }
.km-otp-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 7px 15px; margin-top: 19px; color: #776e63; font-size: .74rem; }
.km-otp-actions form { display: inline; }
.km-otp-actions button, .km-otp-actions a { border: 0; padding: 0; background: transparent; color: var(--patron-bronze); font: inherit; font-weight: 800; cursor: pointer; }

.km-patron-page { padding: clamp(24px, 4vw, 58px) 0 clamp(54px, 7vw, 100px); min-height: 720px; }
.km-patron-wrap { width: min(1240px, calc(100% - 32px)); margin: 0 auto; }
.km-patron-masthead { position: relative; padding: clamp(25px, 4vw, 46px); color: #fff; background: radial-gradient(circle at 10% 15%, rgba(189,143,75,.25), transparent 30%), linear-gradient(125deg, #171510, #282219); border-radius: 27px; overflow: hidden; box-shadow: 0 22px 60px rgba(35,26,15,.14); }
.km-patron-masthead::after { content: "KM"; position: absolute; inset-inline-end: -15px; top: -37px; font: 600 11rem/1 "Cormorant Garamond", serif; color: rgba(255,255,255,.045); pointer-events: none; }
.km-patron-identity { position: relative; z-index: 1; display: flex; align-items: center; gap: 18px; }
.km-patron-avatar { width: 68px; height: 68px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: var(--patron-gold); background: rgba(255,255,255,.06); font: 700 1.45rem "Cormorant Garamond", serif; text-transform: uppercase; }
.km-patron-identity__text { min-width: 0; }
.km-patron-identity__text small { color: var(--patron-gold); font-weight: 700; font-size: .7rem; letter-spacing: .09em; }
.km-patron-identity__text h1 { color: #fff; font-size: clamp(1.55rem, 3vw, 2.7rem); line-height: 1.2; margin: 4px 0 3px; }
.km-patron-identity__text p { color: rgba(255,255,255,.55); font-size: .78rem; margin: 0; direction: ltr; text-align: start; overflow: hidden; text-overflow: ellipsis; }
.km-patron-signout { position: absolute; z-index: 2; inset-inline-end: clamp(20px, 4vw, 46px); top: clamp(22px, 4vw, 42px); }
.km-patron-signout button { display: inline-flex; align-items: center; gap: 7px; min-height: 39px; padding: 0 13px; color: rgba(255,255,255,.82); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); border-radius: 999px; font: inherit; font-size: .73rem; cursor: pointer; }
.km-patron-signout button:hover { background: rgba(255,255,255,.13); color: #fff; }
.km-patron-nav { position: relative; z-index: 2; display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; margin: 30px -7px -46px; padding: 0 7px; }
.km-patron-nav::-webkit-scrollbar { display: none; }
.km-patron-nav a { white-space: nowrap; min-height: 46px; display: inline-flex; align-items: center; gap: 8px; padding: 0 15px; border-radius: 13px 13px 0 0; color: rgba(255,255,255,.65); font-size: .76rem; font-weight: 700; }
.km-patron-nav a:hover { color: #fff; }
.km-patron-nav a.is-active { color: var(--patron-ink); background: var(--patron-paper); }
.km-patron-nav svg { width: 17px; height: 17px; }

.km-patron-content { margin-top: 28px; }
.km-patron-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 0 3px 22px; }
.km-patron-heading small { color: var(--patron-bronze); font-size: .7rem; font-weight: 800; letter-spacing: .08em; }
.km-patron-heading h2 { font-size: clamp(1.45rem, 2.5vw, 2.25rem); margin: 4px 0 0; }
.km-patron-heading p { margin: 0; max-width: 530px; color: #766e63; line-height: 1.8; font-size: .82rem; }
.km-patron-link { display: inline-flex; align-items: center; gap: 7px; color: var(--patron-bronze); font-weight: 800; font-size: .76rem; }

.km-patron-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-bottom: 26px; }
.km-patron-stat { position: relative; min-height: 150px; padding: 21px; background: rgba(255,255,255,.8); border: 1px solid var(--patron-line); border-radius: 18px; overflow: hidden; }
.km-patron-stat__icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: var(--patron-bronze); background: #f0e7d8; }
.km-patron-stat strong { display: block; margin-top: 17px; font: 700 2rem/1 "Cormorant Garamond", serif; }
.lang-ar .km-patron-stat strong { font-family: "Tajawal", sans-serif; }
.km-patron-stat span { display: block; color: #766e63; font-size: .72rem; margin-top: 7px; }

.km-patron-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .65fr); gap: 18px; }
.km-patron-panel { background: #fff; border: 1px solid var(--patron-line); border-radius: 20px; padding: clamp(20px, 3vw, 30px); }
.km-patron-panel--dark { color: #fff; background: var(--patron-night); border-color: var(--patron-night); }
.km-patron-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 19px; }
.km-patron-panel__head h3 { font-size: 1.1rem; margin: 0; }
.km-patron-panel--dark .km-patron-panel__head h3 { color: #fff; }
.km-patron-empty { min-height: 210px; display: grid; place-items: center; text-align: center; padding: 25px; }
.km-patron-empty svg { width: 38px; height: 38px; color: var(--patron-bronze); margin-bottom: 12px; }
.km-patron-empty h3 { margin: 0 0 7px; font-size: 1rem; }
.km-patron-empty p { color: #80776c; max-width: 440px; font-size: .8rem; line-height: 1.8; margin: 0 0 16px; }
.km-patron-action { display: flex; align-items: center; gap: 13px; padding: 15px 0; color: #fff; border-bottom: 1px solid rgba(255,255,255,.1); }
.km-patron-action:last-child { border: 0; }
.km-patron-action__icon { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; color: var(--patron-gold); }
.km-patron-action b { display: block; font-size: .78rem; }
.km-patron-action small { display: block; color: rgba(255,255,255,.47); margin-top: 3px; font-size: .66rem; }
.km-patron-action i { margin-inline-start: auto; font-style: normal; color: rgba(255,255,255,.4); }

.km-order-list { display: grid; gap: 13px; }
.km-order-card { display: grid; grid-template-columns: minmax(160px, .7fr) 1fr auto; align-items: center; gap: 20px; padding: 18px 20px; background: #fff; border: 1px solid var(--patron-line); border-radius: 16px; transition: .2s ease; }
.km-order-card:hover { transform: translateY(-2px); border-color: rgba(170,123,62,.45); box-shadow: 0 13px 30px rgba(49,38,23,.07); }
.km-order-number small, .km-order-meta small { display: block; color: #8a8176; font-size: .66rem; margin-bottom: 5px; }
.km-order-number strong { font-size: .92rem; letter-spacing: .03em; }
.km-order-meta { display: grid; grid-template-columns: repeat(3, minmax(90px, 1fr)); gap: 15px; }
.km-order-meta b { font-size: .78rem; }
.km-order-actions { display: flex; gap: 7px; }
.km-order-actions a, .km-patron-btn { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 13px; border: 1px solid #d7cfc2; border-radius: 10px; color: var(--patron-ink); background: #fff; font-size: .72rem; font-weight: 800; cursor: pointer; }
.km-order-actions a:first-child, .km-patron-btn--primary { color: #fff; border-color: var(--patron-ink); background: var(--patron-ink); }
.km-patron-btn--bronze { color: #fff; background: var(--patron-bronze); border-color: var(--patron-bronze); }

.km-certificate-grid, .km-address-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.km-certificate { position: relative; padding: 26px; background: #fff; border: 1px solid var(--patron-line); border-radius: 19px; overflow: hidden; }
.km-certificate::before { content: ""; position: absolute; inset: 9px; border: 1px solid #e7dfd3; border-radius: 13px; pointer-events: none; }
.km-certificate > * { position: relative; z-index: 1; }
.km-certificate__top { display: flex; justify-content: space-between; gap: 10px; color: var(--patron-bronze); font-size: .68rem; font-weight: 800; }
.km-certificate h3 { font-size: 1.25rem; margin: 25px 0 5px; }
.km-certificate > p { color: #766e63; font-size: .78rem; }
.km-certificate__data { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 19px 0; padding: 14px; background: var(--patron-paper); border-radius: 12px; }
.km-certificate__data small { display: block; color: #8a8176; font-size: .62rem; margin-bottom: 4px; }
.km-certificate__data b { font-size: .76rem; }

.km-profile-layout, .km-address-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 18px; align-items: start; }
.km-patron-form { background: #fff; border: 1px solid var(--patron-line); border-radius: 20px; padding: clamp(20px, 3.5vw, 34px); }
.km-patron-form__section + .km-patron-form__section { margin-top: 30px; padding-top: 27px; border-top: 1px solid var(--patron-line); }
.km-patron-form__section h3 { font-size: 1.05rem; margin: 0 0 5px; }
.km-patron-form__section > p { color: #81786d; font-size: .74rem; margin: 0 0 19px; line-height: 1.7; }
.km-patron-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.km-patron-form-grid .is-wide { grid-column: 1/-1; }
.km-patron-form-field label { display: block; font-size: .73rem; font-weight: 800; margin-bottom: 7px; }
.km-patron-form-field small { display: block; color: #8c8378; font-size: .66rem; margin-top: 6px; }
.km-patron-form textarea { min-height: 100px; resize: vertical; }
.km-profile-aside { display: grid; gap: 14px; }
.km-profile-card { padding: 23px; color: #fff; border-radius: 19px; background: var(--patron-night); }
.km-profile-card--light { color: var(--patron-ink); background: #fff; border: 1px solid var(--patron-line); }
.km-profile-card h3 { color: inherit; font-size: .98rem; margin: 0 0 10px; }
.km-profile-card p { color: rgba(255,255,255,.57); font-size: .74rem; line-height: 1.8; margin: 0; }
.km-profile-card--light p { color: #7c7368; }
.km-profile-card ul { list-style: none; padding: 0; margin: 16px 0 0; }
.km-profile-card li { display: flex; gap: 8px; color: rgba(255,255,255,.72); font-size: .7rem; margin-top: 9px; }

.km-address-card { padding: 22px; background: #fff; border: 1px solid var(--patron-line); border-radius: 18px; }
.km-address-card__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 15px; }
.km-address-card h3 { font-size: .95rem; margin: 0; }
.km-address-badge { padding: 5px 8px; color: var(--patron-green); background: #e8f1ec; border-radius: 999px; font-size: .62rem; font-weight: 800; }
.km-address-card address { color: #71695f; font-style: normal; font-size: .75rem; line-height: 1.9; }
.km-address-card__actions { display: flex; gap: 7px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--patron-line); }
.km-address-card__actions button { min-height: 35px; border: 1px solid #d9d1c5; background: #fff; border-radius: 9px; padding: 0 11px; color: var(--patron-ink); font: inherit; font-size: .68rem; font-weight: 700; cursor: pointer; }
.km-address-card__actions .is-danger { color: #9e3b32; }

.km-patron-favorites-head { margin-bottom: 22px; }
.km-guest-favorite-note { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; padding: 18px 20px; background: #fff; border: 1px solid var(--patron-line); border-radius: 15px; }
.km-guest-favorite-note p { margin: 0; color: #71695f; font-size: .78rem; }

.km-order-detail-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; padding: 27px 30px; color: #fff; background: var(--patron-night); border-radius: 20px; }
.km-order-detail-hero small { color: var(--patron-gold); font-size: .68rem; font-weight: 800; letter-spacing: .08em; }
.km-order-detail-hero h2 { color: #fff; margin: 5px 0 4px; font-size: clamp(1.35rem, 2.5vw, 2.2rem); }
.km-order-detail-hero p { margin: 0; color: rgba(255,255,255,.55); font-size: .75rem; }
.km-order-detail-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .65fr); gap: 18px; align-items: start; }
.km-order-detail-main, .km-order-detail-aside { display: grid; gap: 16px; }
.km-order-timeline { position: relative; display: grid; gap: 0; }
.km-order-timeline::before { content: ""; position: absolute; top: 14px; bottom: 14px; inset-inline-start: 8px; width: 1px; background: #d9c4a5; }
.km-order-timeline__item { position: relative; padding-inline-start: 36px; padding-bottom: 24px; }
.km-order-timeline__item:last-child { padding-bottom: 0; }
.km-order-timeline__item::before { content: ""; position: absolute; top: 4px; inset-inline-start: 2px; width: 13px; height: 13px; border: 3px solid #fff; border-radius: 50%; background: var(--patron-bronze); box-shadow: 0 0 0 1px var(--patron-bronze); }
.km-order-timeline__item b { display: block; font-size: .82rem; }
.km-order-timeline__item time { display: block; color: #8b8277; font-size: .66rem; margin-top: 3px; }
.km-order-timeline__item p { color: #71695e; font-size: .74rem; line-height: 1.7; margin: 6px 0 0; }
.km-order-item { display: grid; grid-template-columns: 82px 1fr auto; gap: 15px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--patron-line); }
.km-order-item:last-child { border: 0; padding-bottom: 0; }
.km-order-item img { width: 82px; height: 82px; object-fit: cover; border-radius: 11px; background: var(--patron-paper); }
.km-order-item h4 { margin: 0 0 4px; font-size: .92rem; }
.km-order-item p { margin: 0; color: #81786d; font-size: .7rem; line-height: 1.7; }
.km-order-item em { display: block; color: var(--patron-bronze); font-style: normal; font-size: .68rem; font-weight: 800; margin-top: 4px; }
.km-order-item__price { white-space: nowrap; font-size: .8rem; }
.km-bank-card { padding: 25px; color: #fff; background: linear-gradient(145deg, #171510, #2b241b); border-radius: 19px; }
.km-bank-card h3 { color: #fff; font-size: 1.02rem; margin: 0 0 12px; }
.km-bank-card__heading { display:flex; align-items:center; gap:11px; margin-bottom:13px; }
.km-bank-card__heading img { width:46px; height:46px; flex:0 0 46px; object-fit:contain; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:#fff; }
.km-bank-card__heading small { display:block; margin-bottom:2px; color:#cdb58f; font-size:.59rem; font-weight:800; }
.km-bank-card__heading h3 { margin:0; }
.km-bank-card__instructions { color: rgba(255,255,255,.66); white-space: pre-line; font-size: .74rem; line-height: 1.85; }
.km-bank-card__pay-link { display:flex; align-items:center; justify-content:center; min-height:44px; margin-top:14px; padding:9px 13px; border-radius:999px; background:var(--patron-gold); color:#211a12; font-size:.72rem; font-weight:900; text-decoration:none; }
.km-bank-card__pay-link:hover { background:#e0c08a; color:#17130e; }
.km-bank-card__qr { width:min(100%,210px); margin:15px auto 0; padding:10px; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:#fff; text-align:center; }
.km-bank-card__qr img { display:block; width:100%; aspect-ratio:1; object-fit:contain; }
.km-bank-card__qr figcaption { margin-top:7px; color:#51483e; font-size:.62rem; font-weight:800; line-height:1.5; }
.km-receipt-box { margin-top: 18px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.12); }
.km-receipt-box h4 { color: #fff; font-size: .8rem; margin: 0 0 8px; }
.km-receipt-box input { width: 100%; padding: 9px; color: rgba(255,255,255,.7); border: 1px dashed rgba(255,255,255,.25); border-radius: 9px; font-size: .68rem; }
.km-receipt-box button { width: 100%; margin-top: 8px; color: var(--patron-ink); background: var(--patron-gold); border-color: var(--patron-gold); }
.km-shipping-card { padding: 22px; background: #fff; border: 1px solid var(--patron-line); border-radius: 18px; }
.km-shipping-card h3 { font-size: .9rem; margin: 0 0 11px; }
.km-shipping-card p { color: #71695e; margin: 0; font-size: .72rem; line-height: 1.85; }

@media (max-width: 1000px) {
  .km-auth-shell { grid-template-columns: 1fr 1.1fr; }
  .km-patron-stats { grid-template-columns: 1fr 1fr; }
  .km-patron-grid { grid-template-columns: 1fr; }
  .km-profile-layout, .km-address-layout { grid-template-columns: 1fr; }
  .km-order-detail-layout { grid-template-columns: 1fr; }
  .km-profile-aside { grid-template-columns: 1fr 1fr; }
  .km-order-card { grid-template-columns: 150px 1fr; }
  .km-order-actions { grid-column: 1/-1; }
}

@media (max-width: 760px) {
  .km-auth-page { padding: 0; min-height: auto; }
  .km-auth-shell { width: 100%; min-height: 0; grid-template-columns: 1fr; border: 0; border-radius: 0; box-shadow: none; }
  .km-auth-visual { min-height: 270px; }
  .km-auth-visual__content { inset: auto 24px 25px; }
  .km-auth-visual h2 { font-size: 2rem; margin-bottom: 7px; }
  .km-auth-visual p { display: none; }
  .km-auth-benefits span:nth-child(n+3) { display: none; }
  .km-auth-panel { padding: 34px 22px 46px; }
  .km-auth-grid { grid-template-columns: 1fr; gap: 0; }
  .km-patron-page { padding-top: 18px; }
  .km-patron-wrap { width: min(100% - 20px, 1240px); }
  .km-patron-masthead { padding: 22px 18px 0; border-radius: 20px; }
  .km-patron-identity { padding-inline-end: 47px; gap: 12px; }
  .km-patron-avatar { width: 51px; height: 51px; font-size: 1.1rem; }
  .km-patron-signout { inset-inline-end: 14px; top: 18px; }
  .km-patron-signout button { width: 38px; padding: 0; justify-content: center; }
  .km-patron-signout button span { display: none; }
  .km-patron-nav { margin: 22px -18px 0; padding: 0 13px; }
  .km-patron-nav a { min-height: 49px; padding: 0 12px; }
  .km-patron-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
  .km-patron-stats { gap: 9px; }
  .km-patron-stat { min-height: 130px; padding: 16px; }
  .km-order-card { grid-template-columns: 1fr; gap: 14px; padding: 17px; }
  .km-order-meta { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .km-order-actions { grid-column: auto; }
  .km-order-actions a { flex: 1; }
  .km-certificate-grid, .km-address-grid { grid-template-columns: 1fr; }
  .km-profile-aside { grid-template-columns: 1fr; }
  .km-patron-form-grid { grid-template-columns: 1fr; }
  .km-patron-form-grid .is-wide { grid-column: auto; }
  .km-guest-favorite-note { align-items: flex-start; flex-direction: column; }
  .km-order-detail-hero { align-items: flex-start; flex-direction: column; padding: 22px; }
  .km-order-item { grid-template-columns: 67px 1fr; }
  .km-order-item img { width: 67px; height: 67px; }
  .km-order-item__price { grid-column: 2; }
}

@media (max-width: 430px) {
  .km-patron-stats { grid-template-columns: 1fr 1fr; }
  .km-patron-stat { min-height: 118px; }
  .km-patron-stat__icon { width: 32px; height: 32px; }
  .km-patron-stat strong { margin-top: 12px; font-size: 1.65rem; }
  .km-order-meta { grid-template-columns: 1fr 1fr; }
  .km-order-meta > div:last-child { grid-column: 1/-1; }
}

@media (prefers-reduced-motion: reduce) {
  .km-auth-submit, .km-order-card { transition: none; }
}
.km-order-certificates-ready{border-color:rgba(177,126,62,.28)!important;background:linear-gradient(145deg,#fffaf2,#f4eadb)!important}.km-order-certificates-ready .km-patron-panel__head small{display:block;color:var(--patron-bronze);font-size:.58rem;font-weight:900;letter-spacing:.08em}.km-order-certificates-ready__list{display:grid;gap:9px}.km-order-certificates-ready__list article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(150,106,52,.18);border-radius:13px;background:rgba(255,255,255,.7);padding:11px}.km-order-certificates-ready__list article div{display:grid}.km-order-certificates-ready__list article small{color:#877b6e;font-size:.6rem}.km-order-certificates-ready__list article strong{color:#8f5f27}.km-order-certificates-ready__list article span{font-size:.72rem}@media(max-width:560px){.km-order-certificates-ready__list article{align-items:stretch;flex-direction:column}.km-order-certificates-ready__list .km-patron-btn{text-align:center}}
.km-order-shipment-list{display:grid;gap:12px}.km-order-shipment-list article{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #e8dfd3;border-radius:14px;padding:14px}.km-order-shipment-list article>div{display:grid;gap:5px}.km-order-shipment-list small,.km-order-return-status{color:#81766b}.km-return-request-form{display:grid;gap:12px;margin-top:14px}.km-return-request-form label{display:grid;gap:6px;font-weight:800}.km-patron-panel details summary{cursor:pointer;color:#97682f;font-weight:900;padding:10px 0}@media(max-width:640px){.km-order-shipment-list article{display:grid}}


/* notifications.css */
.km-notification-shell{position:relative;z-index:12000}.km-notification-bell{position:fixed;inset-inline-end:22px;bottom:22px;display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:#171511;color:#cda76f;box-shadow:0 14px 35px rgba(0,0,0,.24);cursor:pointer;font-size:24px}.km-notification-bell b{position:absolute;inset-inline-end:-2px;top:-3px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:99px;background:#b78343;color:#fff;font:800 10px/1 Arial}.km-notification-drawer{position:fixed;z-index:2;inset-block:0;inset-inline-end:0;width:min(420px,94vw);display:flex;flex-direction:column;background:#fbfaf7;box-shadow:0 0 60px rgba(0,0,0,.2);transform:translateX(calc((1 - 2 * var(--km-rtl,1))*105%));transition:transform .3s ease}.lang-en .km-notification-drawer{--km-rtl:0}.km-notification-shell.is-open .km-notification-drawer{transform:none}.km-notification-drawer>header{display:flex;align-items:center;justify-content:space-between;padding:26px 24px;background:#171511;color:#fff}.km-notification-drawer header small{color:#b88950;font-size:10px;letter-spacing:1px}.km-notification-drawer header h3{margin:5px 0 0;font-size:23px}.km-notification-drawer header button{border:0;background:none;color:#fff;font-size:28px;cursor:pointer}.km-notification-permission{display:flex;align-items:center;gap:12px;margin:15px;padding:15px;border:1px solid #e4dacb;border-radius:14px;background:#fff}.km-notification-permission div{flex:1}.km-notification-permission strong,.km-notification-permission span{display:block}.km-notification-permission span{margin-top:4px;color:#7d7469;font-size:11px;line-height:1.5}.km-notification-permission button{border:0;border-radius:9px;background:#b18145;color:#fff;padding:9px 12px;font-weight:800;cursor:pointer}.km-notification-list{flex:1;overflow:auto;padding:0 15px}.km-notification-list>a{display:flex;gap:12px;padding:15px 10px;border-bottom:1px solid #eae3d8;color:#26211b;text-decoration:none}.km-notification-list>a.is-unread{border-radius:11px;background:#f2e9da}.km-notification-list>a>i{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#fff;color:#a8793f;font-style:normal}.km-notification-list>a>span{min-width:0}.km-notification-list strong,.km-notification-list small,.km-notification-list time{display:block}.km-notification-list small{margin-top:4px;color:#70685e;font-size:11px;line-height:1.6}.km-notification-list time{margin-top:6px;color:#9a9186;font-size:9px}.km-notification-empty{padding:45px 15px;text-align:center;color:#81786d}.km-notification-drawer>footer{display:flex;justify-content:space-between;gap:10px;padding:15px 20px;border-top:1px solid #e5ddd2}.km-notification-drawer>footer button,.km-notification-drawer>footer a{border:0;background:none;color:#9b6c34;text-decoration:none;font-size:11px;font-weight:800;cursor:pointer}.km-notification-backdrop{position:fixed;inset:0;display:none;border:0;background:rgba(12,10,8,.56)}.km-notification-shell.is-open .km-notification-backdrop{display:block}.km-notification-settings-page{padding-bottom:70px}.km-notification-preferences{display:grid;gap:10px;margin:25px 0}.km-notification-preferences>label{display:flex;align-items:center;gap:18px;padding:18px 20px;border:1px solid #e0d8cc;border-radius:15px;background:#fff;cursor:pointer}.km-notification-preferences>label span{flex:1}.km-notification-preferences strong,.km-notification-preferences small{display:block}.km-notification-preferences small{margin-top:5px;color:#82796e}.km-notification-preferences input{position:absolute;opacity:0}.km-notification-preferences i{width:46px;height:25px;padding:3px;border-radius:99px;background:#ccc}.km-notification-preferences i:after{content:'';display:block;width:19px;height:19px;border-radius:50%;background:#fff;transition:.2s}.km-notification-preferences input:checked+i{background:#a97a3f}.km-notification-preferences input:checked+i:after{transform:translateX(-21px)}.lang-en .km-notification-preferences input:checked+i:after{transform:translateX(21px)}.km-notification-history{margin-top:35px}.km-notification-history>a{display:flex;gap:13px;padding:17px;border-bottom:1px solid #e5ddd2;color:#241f19;text-decoration:none}.km-notification-history>a.is-unread{background:#f5ede1}.km-notification-history a p{margin:4px 0;color:#766e64}.km-notification-history time{color:#9b9185;font-size:10px}@media(max-width:700px){.km-notification-bell{inset-inline-end:14px;bottom:14px}.km-notification-drawer{width:100vw}.km-notification-preferences>label{padding:15px}}


/* pwa.css */
.km-pwa-toast{position:fixed;z-index:99999;right:18px;bottom:max(18px,env(safe-area-inset-bottom));width:min(430px,calc(100vw - 36px));padding:14px;display:flex;align-items:flex-start;gap:12px;border:1px solid rgba(196,154,96,.35);border-radius:18px;background:rgba(24,22,18,.96);color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.28);backdrop-filter:blur(18px);opacity:0;transform:translateY(20px);transition:.3s ease}.km-pwa-toast.is-visible{opacity:1;transform:none}.km-pwa-toast>div{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:11px;flex:1}.km-pwa-toast>div>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid #b98b4c;border-radius:12px;color:#d9b57e;font:700 15px Georgia,serif}.km-pwa-toast p{margin:0;color:#e6e0d6;font:600 .78rem/1.75 Tahoma,Arial,sans-serif}.km-pwa-toast>button{border:0;background:transparent;color:#aaa;font-size:22px;cursor:pointer}.km-pwa-network{display:inline-flex;align-items:center;gap:6px;color:#5a675a;font-size:.68rem}.km-pwa-network i{width:7px;height:7px;border-radius:50%;background:#55a268;box-shadow:0 0 0 4px rgba(85,162,104,.1)}.km-pwa-network.is-offline{color:#9a4d43}.km-pwa-network.is-offline i{background:#b95d51;box-shadow:0 0 0 4px rgba(185,93,81,.1)}.km-is-offline [data-pwa-state-dot]{background:#b95d51!important}.km-pwa-installed [data-pwa-install]{display:none!important}
.km-notification-pwa{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-bottom:1px solid rgba(60,49,35,.09);background:#faf7f1}.km-notification-pwa span{display:flex;align-items:center;gap:8px;color:#5e584f;font-size:.72rem;font-weight:800}.km-notification-pwa i{width:7px;height:7px;border-radius:50%;background:#58a56c;box-shadow:0 0 0 4px rgba(88,165,108,.1)}.km-notification-pwa button{padding:7px 10px;border:1px solid #d9c8ae;border-radius:9px;background:#fff;color:#8a6334;font-size:.68rem;font-weight:800;cursor:pointer}
.km-patron-pwa-card{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-radius:18px;background:radial-gradient(circle at 10% 0,rgba(183,139,75,.28),transparent 38%),#1b1813;color:#fff}.km-patron-pwa-card small{color:#c99c5e;font-size:.62rem;font-weight:900;letter-spacing:.1em}.km-patron-pwa-card h3{margin:7px 0 5px;color:#fff}.km-patron-pwa-card p{margin:0;color:#aaa196;font-size:.75rem;line-height:1.7}.km-patron-pwa-card button{padding:12px 16px;border:0;border-radius:12px;background:#b68a4e;color:#fff;font-weight:900;white-space:nowrap;cursor:pointer}
@media(max-width:600px){.km-pwa-toast{right:10px;bottom:max(80px,calc(env(safe-area-inset-bottom) + 68px));width:calc(100vw - 20px)}.km-patron-pwa-card{align-items:stretch;flex-direction:column}.km-patron-pwa-card button{width:100%}}


/* brand-identity-v13.css */
/* KMHEER public identity system v13 — stronger, consistent and mobile-safe. */

/* Primary navigation brand */
.km-header-brand-group {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}
.km-header,
.km-header.is-scrolled,
.km-header.scrolled { height: 98px; }
.km-header.is-scrolled,
.km-header.scrolled { height: 80px; }
.km-header .km-brand {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: clamp(150px, 11vw, 210px);
  min-height: 56px;
  padding: 4px 6px;
  transform: none;
}
.km-header .km-brand::after {
  content: "";
  position: absolute;
  inset-inline: 13%;
  bottom: 1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(166,121,61,.42), transparent);
  transform: scaleX(.45);
  opacity: .35;
  transition: transform .45s cubic-bezier(.16,1,.3,1), opacity .3s ease;
}
.km-header .km-brand:hover { transform: none; }
.km-header .km-brand:hover::after { transform: scaleX(1); opacity: 1; }
.km-header .km-brand-logo {
  display: block;
  width: clamp(145px, 10vw, 205px);
  height: auto !important;
  max-height: 56px;
  object-fit: contain;
  filter: none;
  opacity: 1;
  transition: width .3s ease, filter .3s ease, transform .45s cubic-bezier(.16,1,.3,1);
}
.km-header .km-brand:hover .km-brand-logo { transform: translateY(-1px) scale(1.025); filter: drop-shadow(0 8px 15px rgba(68,48,23,.12)); }
.km-brand-mobile-lockup { display: none; }

/* Shared page identity seal */
.km4-page-hero { min-height: clamp(300px, 30vw, 440px); display: flex; align-items: center; }
.km4-page-hero__content { position: relative; z-index: 3; width: min(68%, 840px); }
.km4-page-hero::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset-inline-end: clamp(34px, 7vw, 112px);
  top: 50%;
  width: clamp(155px, 17vw, 260px);
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  background:
    url("/assets/images/KMHEER_Symbol_Exact.png") center / 48% auto no-repeat,
    radial-gradient(circle, transparent 31%, rgba(255,255,255,.08) 31.5%, transparent 32.2%),
    radial-gradient(circle, transparent 49%, rgba(211,174,115,.2) 49.5%, transparent 50.2%);
  box-shadow: inset 0 0 70px rgba(255,255,255,.025), 0 20px 70px rgba(0,0,0,.13);
  filter: brightness(0) invert(1);
  opacity: .82;
  transform: translateY(-50%);
}
[dir="ltr"] .km4-page-hero::before { transform: translateY(-50%); }

/* Limited-edition opening uses the same visual language. */
.km-limited-identity-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 0%, rgba(193,143,73,.2), transparent 34%),
    linear-gradient(135deg, #17130e, #2a2117 70%, #4f3922) !important;
}
.km-limited-identity-hero::before,
.km-limited-identity-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 50%;
}
.km-limited-identity-hero::before { width: 42vw; aspect-ratio: 1; inset-inline-start: -17vw; top: -25vw; }
.km-limited-identity-hero::after { width: 34vw; aspect-ratio: 1; inset-inline-end: -15vw; bottom: -24vw; }
.km-page-brand-badge {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin: 0 auto 26px;
  padding: 8px 15px 8px 9px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,.045);
  box-shadow: 0 13px 36px rgba(0,0,0,.16);
  backdrop-filter: blur(12px);
}
[dir="rtl"] .km-page-brand-badge { padding: 8px 9px 8px 15px; }
.km-page-brand-badge img { width: 58px; height: 58px; object-fit: contain; filter: brightness(0) invert(1); }
.km-page-brand-badge span, .km-page-brand-badge b, .km-page-brand-badge small { display: block; text-align: start; }
.km-page-brand-badge b { font: 700 .84rem/1 "Cormorant Garamond", Georgia, serif; letter-spacing: .2em; }
.km-page-brand-badge small { margin-top: 6px; color: rgba(255,255,255,.57); font-size: .48rem; font-weight: 700; letter-spacing: .12em; }

/* Footer and mobile drawer retain the same clear brand presence. */
.km-footer-brand-logo {
  display: block;
  /* The horizontal source contains generous transparent canvas space; size the
     element generously so the visible mark reads at gallery scale. */
  width: min(340px, 100%);
  height: auto;
  max-height: 92px;
  margin-bottom: 26px;
  filter: brightness(0) invert(1);
}
.km-footer-bottom {
  direction:ltr;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:22px;
  padding-top:24px;
  border-top:1px solid #2B2B2B;
  color:#888;
  font-size:.82rem;
}
.km-footer-bottom__meta { min-width:0; }
.km-footer-bottom__actions {
  display:grid;
  justify-items:end;
  gap:10px;
  min-width:0;
}
.km-footer-bottom__actions .km-footer-legal { justify-content:flex-end; margin-top:0; }
.km-footer-copyright { margin:0; color:#888; }
.km-footer-developer-credit {
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin:0;
  padding:7px 11px;
  border:1px solid rgba(211,174,115,.25);
  border-radius:999px;
  color:rgba(245,243,239,.68);
  font-size:.72rem;
  line-height:1.35;
  text-decoration:none;
  transition:color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}
.km-footer-developer-credit:hover,
.km-footer-developer-credit:focus-visible {
  border-color:rgba(211,174,115,.72);
  background:rgba(211,174,115,.08);
  color:#fff;
  transform:translateY(-1px);
}
.km-footer-developer-credit strong { color:#d3ae73; font-weight:800; }
.km-footer-developer-credit__arrow { color:#d3ae73; font-size:.9rem; }
.km-mobile-drawer-logo {
  display: block;
  width: 174px;
  height: auto;
  max-height: 54px;
  object-fit: contain;
}
.km-drawer-header { min-height: 76px; gap: 14px; }

@media (max-width: 1180px) {
  .km-header .km-brand { min-width: 176px; }
  .km-header .km-brand-logo { width: 176px; }
}

@media (max-width: 820px) {
  .km-header,
  .km-header.is-scrolled,
  .km-header.scrolled { height: 76px; }
  .km-header .km-header-inner {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    align-items: center;
    gap: 8px;
  }
  /* Override the legacy first-child flex rule from gallery-v4.css. Keeping the
     group as contents lets the menu, logo and cart occupy their own grid cells. */
  .km-header .km-header-inner > .km-header-brand-group { display: contents !important; }
  .km-header .km4-menu-toggle { grid-column: 1; justify-self: center; }
  .km-header .km-brand {
    position: static;
    grid-column: 2;
    justify-self: center;
    min-width: 0;
    min-height: 58px;
    width: min(100%, 220px);
    padding: 3px 4px;
    transform: none;
  }
  .km-header .km-brand-logo { width: 205px; max-width: 100%; max-height: 68px; }
  .km-header .km-brand-logo { display: none; }
  .km-header .km-brand-mobile-lockup {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: var(--km-ink, #171511);
    white-space: nowrap;
  }
  .km-header .km-brand-mobile-lockup > img { width: 46px; height: 46px; object-fit: contain; }
  .km-header .km-brand-mobile-lockup > span { display: block; text-align: start; }
  .km-header .km-brand-mobile-lockup b { display: block; font: 700 .9rem/1 "Cormorant Garamond", Georgia, serif; letter-spacing: .18em; }
  .km-header .km-brand-mobile-lockup small { display: block; margin-top: 4px; color: #81776a; font-size: .42rem; font-weight: 800; letter-spacing: .08em; }
  .km-header .km-header-actions {
    grid-column: 3;
    justify-self: center;
    justify-content: center;
    width: 42px;
    min-width: 42px;
  }
  .km-header .km-header-actions > button[data-drawer-target="kmCartDrawer"] { width: 42px; height: 42px; }
  .km-header .km-brand::after { inset-inline: 19%; }

  .km4-page-hero { min-height: 310px; padding: 46px 24px 38px; align-items: flex-end; }
  .km4-page-hero__content { width: 100%; padding-top: 92px; }
  .km4-page-hero::before {
    top: 27px;
    inset-inline-end: 24px;
    width: 112px;
    opacity: .9;
    transform: none;
  }
  [dir="ltr"] .km4-page-hero::before { transform: none; }
}

@media (max-width: 640px) {
  .km-header .km-header-inner { grid-template-columns: 40px minmax(0, 1fr) 40px; gap: 5px; }
  .km-header .km-brand { width: min(100%, 200px); }
  .km-header .km-brand-logo { width: 190px; max-width: 100%; max-height: 64px; }
  .km-header .km-brand-mobile-lockup > img { width: 42px; height: 42px; }
  .km-header .km-brand-mobile-lockup b { font-size: .82rem; }
  .km-header .km-brand-mobile-lockup small { font-size: .37rem; }
  .km-header .km4-menu-toggle,
  .km-header .km-header-actions > button[data-drawer-target="kmCartDrawer"] { width: 40px; height: 40px; min-width: 40px; }
  .km4-page-hero { min-height: 300px; padding-inline: 20px; }
  .km4-page-hero__content { padding-top: 82px; }
  .km4-page-hero::before { width: 98px; inset-inline-end: 18px; }
  .km-page-brand-badge img { width: 50px; height: 50px; }
  .km-page-brand-badge span { display: none; }
  .km-page-brand-badge { padding: 7px; }
  .km-mobile-drawer-logo { width: 154px; max-height: 48px; }
  .km-footer-brand-logo { width: min(280px, 100%); max-height: 76px; margin-bottom: 22px; }
  .km-footer-bottom { grid-template-columns:1fr;align-items:start;gap:14px; }
  .km-footer-bottom__actions { width:100%;justify-items:start; }
  .km-footer-bottom__actions .km-footer-legal { justify-content:flex-start; }
  .km-footer-developer-credit { max-width:100%; font-size:.68rem; }
}

@media (prefers-reduced-motion: reduce) {
  .km-header .km-brand-logo,
  .km-header .km-brand::after { transition: none; }
}

/* Transparent, calm charity disclosure used at the final purchase decision. */
.km-charity-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 18px 0 4px;
  padding: 14px 15px;
  border: 1px solid rgba(167, 131, 79, .25);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(247, 241, 230, .95), rgba(255, 255, 255, .84));
  color: #6c604f;
  line-height: 1.8;
  font-size: .78rem;
}
.km-charity-note > span { color: #a6783e; font-size: 1rem; line-height: 1.5; flex: 0 0 auto; }
.km-charity-note p { margin: 0; }
.km-charity-note__content { display: flex; flex: 1 1 auto; align-items: center; flex-wrap: wrap; gap: 8px 12px; min-width: 0; }
.km-charity-note__content p { flex: 1 1 220px; }
.km-nature-egypt-link { display: inline-flex; align-items: center; gap: 6px; min-height: 29px; padding: 5px 9px; border: 1px solid rgba(166,120,62,.3); border-radius: 999px; color: #8f642f; font-size: .62rem; font-weight: 850; text-decoration: none; white-space: nowrap; transition: background .2s ease,color .2s ease,transform .2s ease; }
.km-nature-egypt-link:hover { background: #a6783e; color: #fff; transform: translateY(-1px); }
[dir="rtl"] .km-charity-note { border-inline-start: 3px solid #b48950; }

.km-product-charity-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: -8px 0 26px;
  padding: 15px 16px;
  border: 1px solid rgba(167,131,79,.28);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(250,246,238,.96), rgba(255,255,255,.9));
  color: var(--km-ink, #171511);
}
.km-product-charity-note__mark { color: #a6783e; font-size: 1.1rem; line-height: 1.5; }
.km-product-charity-note strong { display: block; font-size: .9rem; margin-bottom: 4px; }
.km-product-charity-note p { margin: 0; color: var(--km-muted, #756d63); font-size: .78rem; line-height: 1.8; }
.km-charity-commitment{position:relative;overflow:hidden;padding:clamp(54px,7vw,104px) 0;background:radial-gradient(circle at 12% 18%,rgba(180,137,80,.1),transparent 26%),linear-gradient(135deg,#f4eee4,#fffdf9 58%,#f0e8dc)}
.km-charity-commitment::before{content:"KMHEER";position:absolute;inset-inline-end:-.02em;bottom:-.24em;color:rgba(106,76,38,.035);font:500 clamp(7rem,19vw,20rem)/.8 Georgia,serif;letter-spacing:.02em;pointer-events:none}
.km-charity-commitment__inner{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(32px,6vw,92px);align-items:center;padding:clamp(34px,5vw,68px);border:1px solid rgba(167,131,79,.24);border-radius:30px;background:rgba(255,255,255,.78);box-shadow:0 28px 80px rgba(71,52,29,.1),inset 0 1px rgba(255,255,255,.9);backdrop-filter:blur(12px)}
.km-charity-commitment--reverse .km-charity-commitment__copy{order:2}.km-charity-commitment--reverse .km-charity-commitment__allocation{order:1}
.km-charity-commitment__eyebrow{display:flex;align-items:center;gap:10px}.km-charity-commitment__leaf{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(180,137,80,.32);border-radius:50%;color:var(--km-widget-accent,#ad7d40)}.km-charity-commitment__leaf svg{width:18px;height:18px}
.km-charity-commitment__copy h2{max-width:760px;margin:16px 0 15px;color:var(--km-widget-custom-text,var(--km-ink,#171511));font-family:var(--km4-latin-display,Georgia,serif);font-size:clamp(2rem,4.4vw,4.3rem);font-weight:500;line-height:1.04;letter-spacing:-.035em}[dir="rtl"] .km-charity-commitment__copy h2{font-family:inherit;letter-spacing:0;font-weight:800;line-height:1.2}
.km-charity-commitment__copy p{max-width:650px;margin:0;color:var(--km-muted,#756d63);font-size:clamp(.92rem,1.2vw,1.06rem);line-height:1.95}.km-charity-commitment__cta{display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:12px 18px;border:1px solid rgba(150,105,48,.28);border-radius:999px;color:var(--km-widget-accent,#986b32);font-size:.78rem;font-weight:850;text-decoration:none;transition:transform .25s ease,background .25s ease,color .25s ease}.km-charity-commitment__cta:hover{transform:translateY(-2px);background:var(--km-widget-accent,#a7773c);color:#fff}
.km-charity-commitment__partner{margin-inline-end:8px}
.km-charity-commitment__allocation{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;min-height:236px;padding:clamp(24px,3vw,40px);overflow:hidden;border-radius:26px;background:linear-gradient(145deg,#191610,#0f0e0b);color:#fff;box-shadow:0 24px 55px rgba(28,21,13,.23);isolation:isolate}.km-charity-commitment__allocation::after{content:"";position:absolute;inset:-40% -20% auto 30%;height:190px;background:radial-gradient(circle,rgba(205,158,91,.24),transparent 66%);z-index:-1}
.km-charity-commitment__orbit{position:absolute;inset:50% auto auto 12%;width:190px;aspect-ratio:1;transform:translate(-50%,-50%);opacity:.26;z-index:-1}[dir="rtl"] .km-charity-commitment__orbit{inset:50% 12% auto auto;transform:translate(50%,-50%)}.km-charity-commitment__orbit i{position:absolute;border:1px solid rgba(216,174,111,.45);border-radius:50%;inset:0;animation:kmCharityOrbit 18s linear infinite}.km-charity-commitment__orbit i:nth-child(2){inset:18%;animation-direction:reverse;animation-duration:12s;border-style:dashed}.km-charity-commitment__orbit i:nth-child(3){inset:37%;animation-duration:8s}
.km-charity-commitment__share{min-width:122px;text-align:center}.km-charity-commitment__share strong{display:block;color:var(--km-widget-accent,#d7ad6d);font:700 clamp(3.4rem,7vw,5.8rem)/.88 Georgia,serif;letter-spacing:-.06em}.km-charity-commitment__share span{display:block;max-width:125px;margin:10px auto 0;color:rgba(255,255,255,.62);font-size:.68rem;line-height:1.55}.km-charity-commitment__lines{min-width:0;display:grid;gap:14px;padding-inline-start:22px;border-inline-start:1px solid rgba(255,255,255,.15)}.km-charity-commitment__lines small{color:var(--km-widget-accent,#d7ad6d);font-size:.58rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.km-charity-commitment__lines div{display:grid;gap:7px}.km-charity-commitment__lines b{color:#fff;font-size:1.15rem}.km-charity-commitment__lines span{color:rgba(255,255,255,.76);font-size:.78rem;line-height:1.65}
.km-charity-commitment--editorial .km-charity-commitment__inner{background:transparent;border-inline:0;border-radius:0;box-shadow:none}.km-charity-commitment--minimal{background:#fff}.km-charity-commitment--minimal .km-charity-commitment__inner{padding-inline:0;border:0;border-radius:0;background:transparent;box-shadow:none}.km-charity-commitment--minimal .km-charity-commitment__allocation{min-height:190px;border:1px solid rgba(167,131,79,.25);background:transparent;color:#171511;box-shadow:none}.km-charity-commitment--minimal .km-charity-commitment__lines{border-color:rgba(23,21,17,.14)}.km-charity-commitment--minimal .km-charity-commitment__lines b{color:#171511}.km-charity-commitment--minimal .km-charity-commitment__lines span,.km-charity-commitment--minimal .km-charity-commitment__share span{color:#756d63}
.km-charity-commitment--dark{background:linear-gradient(135deg,#0e0d0b,#201a13)}.km-charity-commitment--dark .km-charity-commitment__inner{border-color:rgba(214,170,103,.22);background:rgba(255,255,255,.035);box-shadow:0 34px 90px rgba(0,0,0,.28)}.km-charity-commitment--dark .km-charity-commitment__copy h2{color:#fff}.km-charity-commitment--dark .km-charity-commitment__copy p{color:rgba(255,255,255,.62)}
@keyframes kmCharityOrbit{to{transform:rotate(360deg)}}
@media(max-width:700px){.km-charity-commitment{padding:44px 0}.km-charity-commitment__inner{grid-template-columns:1fr;padding:25px 20px;border-radius:22px;gap:24px}.km-charity-commitment--reverse .km-charity-commitment__copy,.km-charity-commitment--reverse .km-charity-commitment__allocation{order:initial}.km-charity-commitment__copy h2{font-size:clamp(1.8rem,9vw,2.7rem)}.km-charity-commitment__allocation{grid-template-columns:1fr;min-height:0;padding:24px 20px;text-align:center}.km-charity-commitment__lines{padding:18px 0 0;border-inline-start:0;border-top:1px solid rgba(255,255,255,.15)}.km-charity-commitment__share span{max-width:none}}
@media(prefers-reduced-motion:reduce){.km-charity-commitment__orbit i{animation:none!important}}


/* footer-experience-v15.css */
/* KMHEER footer experience v15 — spacious, editorial, responsive */
.km-footer-v15 {
  position: relative;
  overflow: hidden;
  margin-top: auto;
  padding: clamp(54px, 7vw, 92px) 0 22px !important;
  border-top: 0 !important;
  background:
    radial-gradient(circle at 84% 0%, rgba(183, 135, 68, .16), transparent 28%),
    linear-gradient(145deg, #191713 0%, #11100e 66%, #0c0c0a 100%) !important;
  color: #f5f1e9;
}
.km-footer-v15::before {
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(215, 177, 112, .72), transparent);
  content: "";
}
.km-footer-v15::after {
  position: absolute;
  inset: auto -90px -145px auto;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(214, 174, 105, .12);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.km-footer-v15 .km-container { position: relative; z-index: 1; }
.km-footer-v15__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr);
  align-items: end;
  gap: clamp(28px, 7vw, 110px);
  margin-bottom: clamp(40px, 6vw, 70px);
  padding-bottom: clamp(26px, 3vw, 38px);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.km-footer-v15__eyebrow,
.km-footer-v15__column-label {
  display: block;
  color: #d3aa68;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.km-footer-v15__intro h2 {
  max-width: 720px;
  margin: 11px 0 0;
  color: #fff;
  font-family: var(--km4-latin-display, Georgia, serif);
  font-size: clamp(1.9rem, 4.2vw, 3.7rem);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -.035em;
}
.km-footer-v15__intro > p { max-width: 360px; margin: 0; color: rgba(255, 255, 255, .58); font-size: .8rem; line-height: 1.9; }
.km-footer-v15__grid { display: grid; grid-template-columns: minmax(250px, 1.18fr) repeat(2, minmax(150px, .72fr)) minmax(230px, .96fr); gap: clamp(24px, 4vw, 72px); margin-bottom: clamp(24px, 3vw, 36px); }
.km-footer-v15__brand { min-width: 0; }
.km-footer-v15 .km-footer-brand-logo { display: block; width: min(250px, 100%); max-height: 82px; margin: 0 0 21px; object-fit: contain; object-position: 0 50%; }
.km-footer-v15__tagline { max-width: 310px; margin: 0 0 22px; color: rgba(255, 255, 255, .58); font-size: .78rem; line-height: 1.9; }
.km-footer-v15__contact-list { display: grid; gap: 10px; }
.km-footer-v15__contact-list p { display: grid; gap: 2px; margin: 0; color: rgba(255, 255, 255, .56); font-size: .72rem; line-height: 1.5; }
.km-footer-v15__contact-list p > span { color: rgba(255, 255, 255, .38); font-size: .59rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.km-footer-v15__contact-list a { color: #e1bc7c; text-decoration: none; }
.km-footer-v15__contact-list a:hover { color: #fff; }
.km-footer-v15__contact-list .km-footer-legal-identity { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 4px; color: rgba(255,255,255,.48); }
.km-footer-v15__contact-list .km-footer-legal-identity strong { color: rgba(255,255,255,.72); }
.km-footer-v15__socials { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 22px; }
.km-footer-v15__socials a { display: inline-flex; align-items: center; gap: 6px; min-height: 29px; padding: 5px 9px 5px 6px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: rgba(255,255,255,.7); font-size: .6rem; text-decoration: none; transition: .2s ease; }
.km-footer-v15__socials a span { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: rgba(211,170,104,.18); color: #d3aa68; font-size: .57rem; font-weight: 900; }
.km-footer-v15__socials a:hover { border-color: #d3aa68; color: #fff; transform: translateY(-2px); }
.km-footer-v15__column ul { display: grid; gap: 11px; margin: 17px 0 0; padding: 0; list-style: none; }
.km-footer-v15__column li { margin: 0; }
.km-footer-v15__column li a { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.57); font-size: .74rem; line-height: 1.45; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.km-footer-v15__column li a::before { width: 0; color: #d3aa68; content: "↗"; opacity: 0; transition: width .2s ease, opacity .2s ease; }
.km-footer-v15__column li a:hover { color: #fff; transform: translateX(3px); }
.km-footer-v15__column li a:hover::before { width: 10px; opacity: 1; }
.km-footer-v15__column li a.is-featured { color: #d3aa68; font-weight: 800; }
.km-footer-v15__concierge { align-self: stretch; padding: 21px 22px 23px; border: 1px solid rgba(211, 170, 104, .3); border-radius: 17px; background: linear-gradient(150deg, rgba(211,170,104,.13), rgba(255,255,255,.035)); }
.km-footer-v15__concierge h3 { margin: 15px 0 8px; color: #fff; font-size: clamp(1.1rem, 1.7vw, 1.45rem); line-height: 1.35; }
.km-footer-v15__concierge p { margin: 0 0 20px; color: rgba(255,255,255,.58); font-size: .75rem; line-height: 1.85; }
.km-footer-v15__cta { display: inline-flex !important; align-items: center; gap: 8px; max-width: 100%; min-height: 43px; padding-inline: 16px !important; border: 0 !important; white-space: normal; }
.km-footer-v15__signature {
  display: block;
  margin: 0 0 10px;
}
.km-footer-v15__signature .km-footer-developer-credit {
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  min-height: 0;
  margin: 0;
  padding: 6px 8px;
  border: 1px solid rgba(211,174,115,.28);
  border-radius: 11px;
  background: linear-gradient(135deg, rgba(211,174,115,.095), rgba(255,255,255,.025));
  box-shadow: inset 0 1px rgba(255,255,255,.04);
  color: rgba(255,255,255,.62);
  text-decoration: none;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
[dir="rtl"] .km-footer-v15__signature .km-footer-developer-credit { margin-left: auto; }
[dir="ltr"] .km-footer-v15__signature .km-footer-developer-credit { margin-right: auto; }
.km-footer-v15__signature .km-footer-developer-credit:hover,
.km-footer-v15__signature .km-footer-developer-credit:focus-visible {
  border-color: rgba(211,174,115,.62);
  background: linear-gradient(135deg, rgba(211,174,115,.15), rgba(255,255,255,.04));
  color: #fff;
  transform: translateY(-2px);
}
.km-footer-developer-credit__mark {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(211,174,115,.42);
  border-radius: 9px;
  background: rgba(9,9,8,.34);
  color: #e0b975;
  font: 800 .61rem/1 ui-monospace, SFMono-Regular, Consolas, monospace;
}
.km-footer-developer-credit__copy { min-width: 0; }
.km-footer-developer-credit__copy small,
.km-footer-developer-credit__copy strong { display: block; }
.km-footer-developer-credit__copy small { margin-bottom: 2px; color: rgba(255,255,255,.4); font-size: .44rem; font-weight: 800; letter-spacing: .07em; }
.km-footer-developer-credit__copy strong { overflow: hidden; color: #e1bc7c; font-size: .62rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.km-footer-v15__bottom {
  direction: inherit;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  min-height: 52px;
  padding-top: 17px;
  border-top: 1px solid rgba(255,255,255,.12);
}
.km-footer-v15__bottom .km-footer-copyright { color: rgba(255,255,255,.43); font-size: .68rem; }
.km-footer-v15__bottom .km-footer-bottom__actions { display: block; min-width: 0; }
.km-footer-v15__bottom .km-footer-legal { justify-content: flex-end; gap: 8px 17px; margin: 0; }
.km-footer-v15__bottom .km-footer-legal a { color: rgba(255,255,255,.5); font-size: .64rem; text-decoration: none; }
.km-footer-v15__bottom .km-footer-legal a:hover { color: #d3aa68; }

@media (max-width: 980px) {
  .km-footer-v15__grid { grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(140px, .8fr)); }
  .km-footer-v15__concierge { grid-column: 1 / -1; }
  .km-footer-v15__concierge p { max-width: 600px; }
}
@media (max-width: 680px) {
  .km-footer-v15 { padding: 46px 0 18px !important; }
  .km-footer-v15__intro { grid-template-columns: 1fr; gap: 14px; margin-bottom: 34px; padding-bottom: 25px; }
  .km-footer-v15__intro h2 { font-size: clamp(2rem, 10vw, 2.8rem); line-height: 1.1; }
  .km-footer-v15__intro > p { max-width: 100%; font-size: .75rem; }
  .km-footer-v15__grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; margin-bottom: 25px; }
  .km-footer-v15__brand, .km-footer-v15__concierge { grid-column: 1 / -1; }
  .km-footer-v15__brand { padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,.11); }
  .km-footer-v15 .km-footer-brand-logo { width: min(240px, 82vw); max-height: 74px; margin-bottom: 17px; }
  .km-footer-v15__column ul { gap: 10px; }
  .km-footer-v15__column li a { font-size: .7rem; }
  .km-footer-v15__concierge { padding: 18px; }
  .km-footer-v15__signature { margin-bottom: 9px; }
  .km-footer-v15__signature .km-footer-developer-credit { width: max-content; max-width: 100%; min-height: 0; gap: 7px; padding: 6px 7px; border-radius: 10px; }
  .km-footer-developer-credit__mark { width: 29px; height: 29px; border-radius: 8px; }
  .km-footer-v15__bottom { grid-template-columns: 1fr; align-items: start; gap: 10px; min-height: 0; padding-top: 15px; }
  .km-footer-v15__bottom .km-footer-bottom__actions { width: 100%; }
  .km-footer-v15__bottom .km-footer-legal { justify-content: flex-start; gap: 10px 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .km-footer-v15__socials a, .km-footer-v15__column li a, .km-footer-v15__signature .km-footer-developer-credit { transition: none; }
}


/* footer-experience-v16.css */
/* KMHEER footer experience v16 — compact mobile information architecture */
.km-footer-v15__nav-toggle > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  list-style: none;
  cursor: default;
}
.km-footer-v15__nav-toggle > summary::-webkit-details-marker { display: none; }
.km-footer-v15__nav-toggle > summary > i { display: none; font-style: normal; }
.km-footer-v15__nav-toggle > ul { display: grid; }
.km-footer-v15__cta-mobile { display: none; }

@media (max-width: 680px) {
  .km-footer-v15 {
    padding: 27px 0 12px !important;
  }
  .km-footer-v15::after { display: none; }
  .km-footer-v15 .km-container { width: min(100% - 28px, var(--container-max)); }

  .km-footer-v15__intro {
    display: block;
    margin-bottom: 17px;
    padding-bottom: 15px;
  }
  .km-footer-v15__eyebrow { font-size: .53rem; letter-spacing: .1em; }
  .km-footer-v15__intro h2 {
    max-width: 360px;
    margin-top: 7px;
    font-size: clamp(1.42rem, 7.2vw, 1.85rem);
    line-height: 1.25;
    letter-spacing: -.025em;
  }
  .km-footer-v15__intro > p { display: none; }

  .km-footer-v15__grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 13px;
  }
  .km-footer-v15__brand,
  .km-footer-v15__concierge { grid-column: auto; }
  .km-footer-v15__brand {
    display: grid;
    grid-template-columns: minmax(104px, 128px) minmax(0, 1fr);
    align-items: center;
    column-gap: 14px;
    padding: 0 0 14px;
  }
  .km-footer-v15 .km-footer-brand-logo {
    width: 100%;
    max-height: 49px;
    margin: 0;
  }
  [dir="rtl"] .km-footer-v15 .km-footer-brand-logo { object-position: 100% 50%; }
  [dir="ltr"] .km-footer-v15 .km-footer-brand-logo { object-position: 0 50%; }
  .km-footer-v15__tagline { display: none; }
  .km-footer-v15__contact-list { gap: 5px; }
  .km-footer-v15__contact-list p { gap: 1px; font-size: .62rem; line-height: 1.35; }
  .km-footer-v15__contact-list p > span { font-size: .48rem; }
  .km-footer-v15__contact-list .km-footer-legal-identity { display: none; }
  .km-footer-v15__socials {
    grid-column: 1 / -1;
    justify-content: center;
    gap: 6px;
    margin-top: 10px;
  }
  .km-footer-v15__socials a {
    justify-content: center;
    width: 30px;
    min-height: 30px;
    padding: 0;
    overflow: hidden;
    font-size: 0;
  }
  .km-footer-v15__socials a span { width: 20px; height: 20px; font-size: .56rem; }

  .km-footer-v15__column {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 12px;
    background: rgba(255,255,255,.025);
  }
  .km-footer-v15__nav-toggle > summary {
    min-height: 42px;
    padding: 9px 12px;
    cursor: pointer;
  }
  .km-footer-v15__nav-toggle > summary > i {
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: rgba(211,170,104,.13);
    color: #d3aa68;
    font-size: .9rem;
    line-height: 1;
    transition: transform .2s ease;
  }
  .km-footer-v15__nav-toggle[open] > summary > i { transform: rotate(45deg); }
  .km-footer-v15__column-label { font-size: .56rem; letter-spacing: .08em; }
  .km-footer-v15__column ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 12px;
    margin: 0;
    padding: 2px 12px 12px;
    border-top: 1px solid rgba(255,255,255,.07);
  }
  .km-footer-v15__column li a { font-size: .6rem; line-height: 1.45; }

  .km-footer-v15__concierge {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2px 10px;
    padding: 12px 13px;
    border-radius: 13px;
  }
  .km-footer-v15__concierge h3 {
    margin: 4px 0 0;
    font-size: .82rem;
    line-height: 1.45;
  }
  .km-footer-v15__concierge p { display: none; }
  .km-footer-v15__cta {
    grid-column: 2;
    grid-row: 1 / span 2;
    min-height: 35px;
    padding-inline: 11px !important;
    border-radius: 999px !important;
    font-size: .58rem !important;
    white-space: nowrap;
  }
  .km-footer-v15__cta svg { width: 15px; height: 15px; }
  .km-footer-v15__cta-full { display: none; }
  .km-footer-v15__cta-mobile { display: inline; }

  .km-footer-v15__signature { margin: 0 0 7px; }
  .km-footer-v15__signature .km-footer-developer-credit {
    gap: 5px;
    padding: 4px 6px;
    border-radius: 8px;
  }
  .km-footer-developer-credit__mark { width: 24px; height: 24px; border-radius: 7px; font-size: .5rem; }
  .km-footer-developer-credit__copy small { display: none; }
  .km-footer-developer-credit__copy strong { font-size: .53rem; }

  .km-footer-v15__bottom {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
    min-height: 0;
    padding-top: 10px;
  }
  .km-footer-v15__bottom .km-footer-copyright { font-size: .52rem; line-height: 1.55; }
  .km-footer-v15__bottom .km-footer-legal { justify-content: flex-end; gap: 7px; }
  .km-footer-v15__bottom .km-footer-legal a { font-size: .51rem; }
}

@media (max-width: 390px) {
  .km-footer-v15__brand { grid-template-columns: 104px minmax(0, 1fr); column-gap: 10px; }
  .km-footer-v15__concierge { grid-template-columns: 1fr; }
  .km-footer-v15__cta { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 7px; }
  .km-footer-v15__bottom { grid-template-columns: 1fr; }
  .km-footer-v15__bottom .km-footer-legal { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .km-footer-v15__nav-toggle > summary > i { transition: none; }
}


/* notification-header-v1.css */
/* KMHEER notification entry point: header bell instead of a floating action. */
.km-notification-header-button {
  position: relative !important;
}

.km-notification-header-button[aria-expanded="true"] {
  color: #a8793f !important;
  background: #f2e9da !important;
}

.km-notification-header-count {
  position: absolute;
  inset-inline-end: 1px;
  top: 1px;
  display: grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border: 2px solid #fbfaf7;
  border-radius: 99px;
  background: #b78343;
  color: #fff;
  font: 800 9px/1 Arial, sans-serif;
}

.km-notification-header-count[hidden] {
  display: none !important;
}

.km-admin-icon-action .km-notification-header-count {
  inset-inline-end: -5px;
  top: -5px;
  min-width: 20px;
  height: 20px;
  border-color: #fff;
}

@media (max-width: 820px) {
  /* Equal outer columns preserve the exact centre of the mobile logo. */
  .km-header .km-header-inner {
    grid-template-columns: 88px minmax(0, 1fr) 88px !important;
  }

  .km-header .km-header-actions {
    width: 88px !important;
    min-width: 88px !important;
    gap: 4px !important;
  }

  .km-header .km-notification-header-button,
  .km-header .km-header-actions > button[data-drawer-target="kmCartDrawer"] {
    width: 42px;
    height: 42px;
    min-width: 42px;
  }
}

@media (max-width: 640px) {
  .km-header .km-header-inner {
    grid-template-columns: 84px minmax(0, 1fr) 84px !important;
    gap: 4px !important;
  }

  .km-header .km-header-actions {
    width: 84px !important;
    min-width: 84px !important;
  }

  .km-header .km-notification-header-button,
  .km-header .km-header-actions > button[data-drawer-target="kmCartDrawer"] {
    width: 40px;
    height: 40px;
    min-width: 40px;
  }
}


/* offers-experience-v21.css */
.km-card-badge--offer{background:#9a6730!important;color:#fff!important;border-color:#d6ac73!important}.km-art-card-price del,.km4-curated-card__price del{color:#958d82;font-size:.7rem;text-decoration-thickness:1px}.km-art-card-price strong,.km4-curated-card__price strong{color:#9b672b}.km-purchase-checkout-summary__price del{display:block;color:#9b9389;font-size:.78rem;margin-top:3px}.km-product-offer{display:inline-flex;margin-top:7px;border-radius:99px;background:#2a2217;color:#efd1a4;padding:4px 9px;font-size:.68rem;font-weight:800}.km-applied-offer{display:flex!important;justify-content:space-between;gap:12px;margin:-4px 0 9px!important;padding:7px 10px;border-radius:9px;background:#f7efe2;color:#6c5639;font-size:.74rem}.km-applied-offer small{font-weight:800;color:#9a6730}


/* homepage-experience-v1.css */
/** KMHEER homepage rhythm v1: compact, content-led, builder-safe. */
.km-homepage-experience { display:grid; grid-template-columns:minmax(0,1fr); width:100%; }
.km-homepage-experience > .km-widget-shell { min-width:0; margin:0; }
.km-homepage-experience > .km-widget-shell:not(:first-child) { content-visibility:auto; contain-intrinsic-size:1px 620px; }
.km-homepage-experience > .km-widget-shell:empty { display:none; }
.km-homepage-experience > .km-widget-shell .km-section-editorial { padding-block:clamp(44px,5.5vw,76px); }
.km-homepage-experience > .km-widget-shell + .km-widget-shell .km-section-editorial { border-top:1px solid rgba(66,52,33,.055); }
.km-homepage-experience .km-section-header { margin-bottom:clamp(24px,3.4vw,42px); }
@media(max-width:700px){
  .km-homepage-experience > .km-widget-shell .km-section-editorial { padding-block:clamp(32px,9vw,48px); }
  .km-homepage-experience .km-section-header { margin-bottom:24px; }
}


/* homepage-experience-v2.css */
/* KMHEER Gallery experience v2 — coherent discovery, rhythm and editorial cards. */
.km-homepage-experience{background:#f7f3eb;color:#191611;overflow:clip}.km-homepage-experience>.km-widget-shell{margin:0}.km-homepage-experience .km-section-editorial{padding-block:clamp(54px,7vw,94px)}.km-homepage-experience .km-section-header{max-width:780px;margin:0 auto clamp(28px,4vw,50px)}.km-homepage-experience .km-section-header .lead{font-size:clamp(.9rem,1.25vw,1.05rem);line-height:1.85;color:#6f685e}.km-homepage-experience .km-title-large{font-size:clamp(2rem,4vw,4.5rem);line-height:1.02;letter-spacing:-.035em}.km-homepage-experience .km-eyebrow{letter-spacing:.14em;font-weight:800}
.km6-discovery{position:relative;padding:clamp(34px,5vw,72px) 0;background:#f7f3eb}.km6-discovery:before{content:"";position:absolute;inset-inline:4%;top:0;height:1px;background:linear-gradient(90deg,transparent,#c8ae86,transparent)}.km6-discovery__head{display:grid;grid-template-columns:minmax(120px,.45fr) minmax(0,1.55fr);gap:clamp(20px,5vw,82px);align-items:start;margin-bottom:clamp(24px,4vw,42px)}.km6-discovery__head>span{color:#9c733d;font-size:.68rem;font-weight:900;letter-spacing:.14em;padding-top:9px}.km6-discovery__head h2{margin:0 0 10px;font-size:clamp(1.85rem,3vw,3.2rem);line-height:1.08}.km6-discovery__head p{margin:0;color:#756d61;font-size:.95rem;line-height:1.75}.km6-discovery__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid #dacdbb}.km6-discovery__item{position:relative;min-height:245px;padding:24px 22px;display:flex;flex-direction:column;color:inherit;border-inline-start:1px solid #dacdbb;transition:background .28s ease,color .28s ease,transform .28s ease}.km6-discovery__item:last-child{border-inline-end:1px solid #dacdbb}.km6-discovery__item:hover{z-index:1;background:#1d1913;color:#fff;transform:translateY(-6px);box-shadow:0 22px 50px rgba(36,25,12,.15)}.km6-discovery__number{font:600 .78rem/1 'Cormorant Garamond',serif;color:#aa814a}.km6-discovery__item div{margin:auto 0}.km6-discovery__item h3{font-size:clamp(1.15rem,1.7vw,1.55rem);margin:0 0 10px}.km6-discovery__item p{margin:0;color:#756d61;font-size:.79rem;line-height:1.7}.km6-discovery__item:hover p{color:#cfc7bb}.km6-discovery__item small{color:#958b7e;font-size:.67rem}.km6-discovery__item i{position:absolute;inset-inline-end:20px;top:20px;font-style:normal;color:#a77f48;font-size:1.1rem}
.km5-curated-grid{align-items:stretch}.km5-curated-card{display:flex;flex-direction:column;height:100%;background:#fff;border-color:#d9c8af!important;box-shadow:0 12px 36px rgba(49,35,18,.07)!important;transition:transform .3s ease,box-shadow .3s ease!important}.km5-curated-card:hover{transform:translateY(-7px);box-shadow:0 24px 56px rgba(49,35,18,.13)!important}.km5-curated-card .km4-curated-card__media{height:auto!important;min-height:0!important;aspect-ratio:4/5!important;background:#eee8de}.km5-curated-card .km4-curated-card__media>a{height:100%!important}.km5-curated-card .km4-curated-card__media img{display:block;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important}.km5-curated-card .km4-curated-card__body{display:flex;flex:1;flex-direction:column;justify-content:space-between;padding:20px 20px 18px}.km5-curated-card .km4-curated-card__heading h3{font-size:1.05rem}.km5-curated-card .km4-curated-card__price{font-size:1rem;font-weight:800;color:#9a6b2f}
.km-col-grid{gap:clamp(14px,2vw,28px)}.km-col-card{min-height:clamp(360px,42vw,590px);border-radius:2px!important;box-shadow:0 14px 34px rgba(35,25,14,.11);transition:transform .35s ease}.km-col-card:hover{transform:translateY(-7px)}.km-col-card img{transition:transform .8s cubic-bezier(.2,.8,.2,1)}.km-col-card:hover img{transform:scale(1.035)}
.km6-journal__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,34px);margin-inline:auto}.km6-journal__grid[data-count="1"]{max-width:880px;grid-template-columns:1fr}.km6-journal__grid[data-count="2"]{max-width:1120px;grid-template-columns:repeat(2,minmax(0,1fr))}.km6-journal__card{background:#fff;border:1px solid #ded4c5;overflow:hidden;box-shadow:0 12px 34px rgba(35,25,14,.06);display:flex;flex-direction:column}.km6-journal__media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#eee8de}.km6-journal__media>a{display:block;width:100%;height:100%}.km6-journal__media img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.km6-journal__card:hover .km6-journal__media img{transform:scale(1.045)}.km6-journal__body{padding:clamp(20px,2.5vw,32px);flex:1;display:flex;flex-direction:column;justify-content:space-between}
.km-builder-public-page{background:var(--km-page-custom-bg,#f7f3eb);color:var(--km-page-custom-text,#171511);--km-widget-accent:var(--km-page-custom-accent,#b48950)}.km-page-theme-light{--km-page-custom-bg:#fff}.km-page-theme-paper{--km-page-custom-bg:#f1ece2}.km-page-theme-contrast{--km-page-custom-bg:#17130f;--km-page-custom-text:#f8f3ea}.km-builder-public-page .km-builder-public-sections{display:grid;gap:0}.km-page-gap-compact .km-builder-public-sections{gap:0}.km-page-gap-balanced .km-builder-public-sections{gap:clamp(0px,1vw,18px)}.km-page-gap-airy .km-builder-public-sections{gap:clamp(14px,3vw,48px)}.km-page-width-standard .km-widget-shell>.km-section-editorial,.km-page-width-standard .km-widget-shell>.km6-discovery{--km-page-max-width:1280px}.km-page-heading-modern h1,.km-page-heading-modern h2,.km-page-heading-modern h3{font-family:'Tajawal',sans-serif}.km-page-heading-serif h1,.km-page-heading-serif h2,.km-page-heading-serif h3{font-family:'Cormorant Garamond','Noto Kufi Arabic',serif}.km-page-body-kufi{font-family:'Noto Kufi Arabic',sans-serif}.km-page-body-editorial{font-family:'Cormorant Garamond','Tajawal',serif}
@media(max-width:980px){.km6-discovery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.km6-discovery__item:nth-child(3){border-top:1px solid #dacdbb}.km6-discovery__item:nth-child(4){border-top:1px solid #dacdbb}.km6-journal__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.km-homepage-experience .km-section-editorial{padding-block:44px}.km6-discovery{padding-block:38px}.km6-discovery__head{grid-template-columns:1fr;gap:7px}.km6-discovery__head>span{padding:0}.km6-discovery__grid{grid-template-columns:1fr}.km6-discovery__item{min-height:190px;border-inline-end:1px solid #dacdbb;border-top:1px solid #dacdbb;padding:20px}.km6-discovery__item:first-child{border-top:0}.km6-journal__grid,.km6-journal__grid[data-count="2"]{grid-template-columns:1fr}.km5-curated-card .km4-curated-card__media img{max-height:none}.km-homepage-experience .km-title-large{font-size:clamp(1.8rem,10vw,2.7rem)}}
@media(prefers-reduced-motion:reduce){.km6-discovery__item,.km5-curated-card,.km-col-card,.km6-journal__media img{transition:none!important}}

/* v8.61.3 — continuous homepage rhythm
   Seamless bands now meet edge-to-edge and use one spacing layer only. */
.km-homepage-experience > .km-widget-shell {
  min-width: 0;
  margin: 0;
}

.km-homepage-experience > .km-widget-shell.km-widget-style-seamless {
  padding-block: 0;
}

.km-homepage-experience > .km-widget-shell.km-widget-style-seamless > * {
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.km-homepage-experience > .km-widget-shell + .km-widget-shell {
  margin-top: -1px;
}

.km-homepage-experience > .km-widget-shell .km-section-editorial {
  padding-block: clamp(40px, 5vw, 68px);
}

.km-homepage-experience .km-section-header {
  margin-bottom: clamp(22px, 3vw, 36px);
}

.km-homepage-experience .km5-home-entry {
  padding-top: clamp(44px, 5.5vw, 74px);
}

.km-homepage-experience .km6-discovery {
  padding-block: clamp(30px, 4vw, 54px);
}

/* A restrained join makes adjacent light sections feel connected without
   drawing a hard horizontal divider across the gallery. */
.km-homepage-experience > .km-widget-shell + .km-widget-shell > .km-section-editorial::after,
.km-homepage-experience > .km-widget-shell + .km-widget-shell > .km6-discovery::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  inset-inline: clamp(18px, 6vw, 110px);
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(132, 98, 52, .12), transparent);
}

.km-homepage-experience > .km-widget-shell.km-widget-theme-dark + .km-widget-shell.km-widget-theme-dark > *::after {
  background: linear-gradient(90deg, transparent, rgba(224, 190, 136, .12), transparent);
}

@media (max-width: 620px) {
  .km-homepage-experience > .km-widget-shell .km-section-editorial {
    padding-block: 34px;
  }

  .km-homepage-experience .km-section-header {
    margin-bottom: 22px;
  }

  .km-homepage-experience .km5-home-entry {
    padding-top: 38px;
  }

  .km-homepage-experience .km6-discovery {
    padding-block: 30px;
  }
}


/* commerce-integrity-v29.css */
/* v29: edition hierarchy, checkout clarity, and return evidence. */
.km-card-badge--ultra-rare,.km-edition-availability.is-ultra-rare,.km-checkout-edition.is-ultra-rare{color:#fff7df!important;border-color:#d7ad61!important;background:linear-gradient(135deg,#5c3518,#17130f)!important;box-shadow:0 8px 24px rgba(76,43,18,.28)}
.km-card-badge--ultra-rare{padding:8px 12px!important;font-weight:900!important;letter-spacing:.02em}
.km-payment-due{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:11px 13px;border:1px solid rgba(173,126,65,.25);border-radius:12px;background:#fbf6ed}
.km-payment-due small{color:#796d60;font-size:.68rem}.km-payment-due b{color:#8d5f29;font-size:1rem}
.km-payment-instruction-total{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(164,125,75,.2)}
.km-payment-instruction-total strong{color:#9a6a31}
.km-order-item em.is-ultra-rare{display:inline-flex;margin-top:7px;padding:5px 9px;border-radius:999px;color:#fff3d7;background:#342315;font-style:normal;font-weight:800}
.km-return-evidence{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.km-return-evidence a{display:block;border:1px solid #dbc49f;border-radius:10px;overflow:hidden}.km-return-evidence img{display:block;width:76px;height:76px;object-fit:cover}
.km-return-shipment{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;padding:11px;border-radius:11px;background:#f4ede2}.km-return-shipment span{color:#70665b;font-size:.72rem}.km-return-shipment a{margin-inline-start:auto;color:#8e612d;font-weight:800}
.km-reverse-shipping-form{width:100%;margin-top:14px;padding:15px;border:1px dashed #ccb086;border-radius:14px;background:#fcf9f4}.km-reverse-shipping-form h4{margin:0 0 12px}
.km-return-request-form input[type=file]{width:100%;padding:12px;border:1px dashed #caae82;border-radius:10px;background:#fff}
@media(max-width:700px){.km-payment-due,.km-payment-instruction-total{align-items:flex-start;flex-direction:column}.km-return-evidence img{width:64px;height:64px}.km-reverse-shipping-form .km-form-grid{grid-template-columns:1fr}}

/* Checkout summary: high contrast, readable configuration, unmistakable total. */
.km4-order-summary{--summary-text:#f7f2e9;--summary-muted:#c6bbab;--summary-line:rgba(232,216,190,.22);color:var(--summary-text)}
.km-checkout-summary-head{margin-bottom:22px;padding-bottom:17px;border-bottom:1px solid var(--summary-line)}
.km-checkout-summary-head>span{display:block;margin-bottom:7px;color:#d5ad6f;font-size:.66rem;font-weight:900;letter-spacing:.14em}
.km4-order-summary .km-checkout-summary-head h3{margin:0;color:#fff;font-size:1.42rem;line-height:1.25}
.km-checkout-summary-head p{margin:8px 0 0;color:var(--summary-muted);font-size:.76rem;line-height:1.7}
.km-checkout-summary-items{display:grid;gap:12px;margin-bottom:18px}
.km-checkout-summary-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:13px;padding:13px;border:1px solid var(--summary-line);border-radius:15px;background:rgba(255,255,255,.045)}
[dir=rtl] .km-checkout-summary-item{grid-template-columns:minmax(0,1fr) 72px}.km-checkout-summary-item>img{width:72px;height:72px;grid-column:1;grid-row:1;object-fit:cover;border:1px solid rgba(211,171,107,.55);border-radius:10px;background:#231d17}
[dir=rtl] .km-checkout-summary-item>img{grid-column:2}.km-checkout-summary-item__body{grid-column:2;min-width:0}[dir=rtl] .km-checkout-summary-item__body{grid-column:1;grid-row:1}
.km4-order-summary .km-checkout-summary-item h4{margin:0 0 9px;color:#fff;font-size:.95rem;line-height:1.35}
.km-checkout-summary-item dl{display:grid;gap:5px;margin:0}.km-checkout-summary-item dl>div{display:grid;grid-template-columns:58px minmax(0,1fr);gap:7px;align-items:start}.km-checkout-summary-item dt{color:#d2ad73;font-size:.65rem;font-weight:800}.km-checkout-summary-item dd{margin:0;color:#e2d9cc;font-size:.69rem;line-height:1.55;overflow-wrap:anywhere}
.km-checkout-dimensions{display:inline-block;color:#fff;font-weight:800;unicode-bidi:isolate;white-space:nowrap}
.km-checkout-summary-item__footer{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:11px;padding-top:10px;border-top:1px solid var(--summary-line)}
.km4-order-summary .km-checkout-summary-item__footer strong{flex:0 0 auto;color:#f4c97f;font-size:.92rem}.km-checkout-summary-item__footer .km-checkout-edition{max-width:68%;font-size:.65rem;line-height:1.4}
.km-checkout-totals{display:grid;gap:2px;padding:15px 0;border-block:1px solid var(--summary-line)}
.km-checkout-total-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:7px 2px;color:var(--summary-muted);font-size:.84rem}
.km4-order-summary .km-checkout-total-row strong{color:#fff;font-size:.88rem;white-space:nowrap}.km-checkout-total-row.is-discount,.km4-order-summary .km-checkout-total-row.is-discount strong{color:#80d09a}
.km4-order-summary .km-applied-offer{margin:4px 0 8px;color:#493119;background:#f4e7d3}.km4-order-summary .km-applied-offer span,.km4-order-summary .km-applied-offer small{color:#6b4823;font-weight:800}
.km-checkout-grand-total{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin:18px 0 8px;padding:18px;border:1px solid #dfb879;border-radius:16px;background:linear-gradient(135deg,#f7ead6,#e9c58e);box-shadow:0 13px 32px rgba(0,0,0,.22);color:#25180d}
.km-checkout-grand-total span,.km-checkout-grand-total small{display:block}.km-checkout-grand-total span{font-size:.82rem;font-weight:900}.km-checkout-grand-total small{margin-top:4px;color:#725637;font-size:.62rem;line-height:1.45}
.km4-order-summary .km-checkout-grand-total strong{color:#21150a;font-size:clamp(1.32rem,2.4vw,1.75rem);font-weight:900;white-space:nowrap}
@media(max-width:520px){.km-checkout-summary-item{grid-template-columns:58px minmax(0,1fr)}[dir=rtl] .km-checkout-summary-item{grid-template-columns:minmax(0,1fr) 58px}.km-checkout-summary-item>img{grid-column:1;width:58px;height:58px}[dir=rtl] .km-checkout-summary-item>img{grid-column:2}.km-checkout-summary-item__body{grid-column:2}[dir=rtl] .km-checkout-summary-item__body{grid-column:1}.km-checkout-summary-item dl>div{grid-template-columns:50px minmax(0,1fr)}.km-checkout-summary-item__footer{align-items:flex-start;flex-direction:column}.km-checkout-summary-item__footer .km-checkout-edition{max-width:100%}.km-checkout-grand-total{grid-template-columns:1fr;gap:10px}.km4-order-summary .km-checkout-grand-total strong{font-size:1.55rem}}

/* Checkout payment journey: method -> transfer -> explicit notice. */
.km-payment-instruction-box[hidden],.km-payment-completion[hidden],.km-payment-submit-wrap[hidden]{display:none!important}
.km-checkout-experience .km4-checkout-layout>div:first-child{gap:16px!important}
.km-payment-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:-4px 0 13px}
.km-payment-journey span{display:flex;align-items:center;gap:7px;min-height:38px;padding:7px 9px;border:1px solid #e6ded1;border-radius:11px;background:#faf8f4;color:#5f584f;font-size:.69rem;font-weight:800}
.km-payment-journey b{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:#211b14;color:#fff;font-size:.62rem}
.km-payment-lead{margin:0 0 15px;padding:10px 12px;border-inline-start:3px solid #b48649;background:#f8f3eb;color:#5f574c;font-size:.76rem;line-height:1.7}
.km-checkout-payment-step.has-payment-method .km-payment-journey span:first-child,.km-checkout-payment-step.has-payment-method .km-payment-journey span:nth-child(2){border-color:#d4b17b;background:#fff8ed;color:#704c20}
.km-checkout-payment-step.is-payment-declared .km-payment-journey span:nth-child(3){border-color:#83b48e;background:#f1faf2;color:#2e6f3e}
.km-payment-method-option__copy{flex:1 1 auto}
.km-payment-completion{margin-top:16px;padding:18px;border:1px solid #cba56c;border-radius:18px;background:linear-gradient(145deg,#fffaf1,#f6eddf);box-shadow:0 15px 36px rgba(82,58,29,.08)}
.km-payment-completion__head{margin-bottom:14px;padding-bottom:13px;border-bottom:1px solid #dfcfb7}
.km-payment-completion__head>span{display:block;color:#9b692e;font-size:.63rem;font-weight:900;letter-spacing:.12em}
.km-payment-completion__head h4{margin:5px 0 6px;color:#211b14;font-size:1.08rem}
.km-payment-completion__head p{margin:0;color:#675e53;font-size:.75rem;line-height:1.7}
.km-payment-proof-field{margin-bottom:13px}.km-payment-proof-field .km-label{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.km-payment-proof-field .km-label small,.km-payment-notes .km-label small{color:#847a6e;font-size:.62rem;font-weight:500}
.km-payment-proof-field input[type=file]{padding:9px 10px;background:#fff}.km-payment-proof-field img{display:block;max-width:150px;max-height:150px;margin-top:9px;border:1px solid #d9c9b2;border-radius:10px;object-fit:contain;background:#fff}
.km-payment-notes{margin-bottom:13px}.km-payment-notes textarea{min-height:76px;resize:vertical}
.km-payment-declaration{display:flex;align-items:flex-start;gap:11px;margin:0;padding:13px!important;border:1px solid #b88a4d!important;border-radius:13px!important;background:#fff!important;color:#2b2117;cursor:pointer}
.km-payment-declaration input{width:19px;height:19px;flex:0 0 19px;margin-top:2px;accent-color:#9a6a31}.km-payment-declaration b,.km-payment-declaration small{display:block}.km-payment-declaration b{font-size:.82rem}.km-payment-declaration small{margin-top:3px;color:#6e6255;font-size:.68rem;line-height:1.55}
.km-payment-completion .km-checkout-terms{margin-top:10px;padding:11px 12px;background:rgba(255,255,255,.72);font-size:.72rem;line-height:1.6}
.km-payment-submit-wrap{margin-top:12px;text-align:center}.km-payment-submit-wrap .km-btn{min-height:52px;font-weight:900}.km-payment-submit-wrap>small{display:block;margin-top:7px;color:#756a5d;font-size:.65rem;line-height:1.5}

/* Compact order review without sacrificing the configuration details. */
.km4-order-summary{padding:22px}
.km-checkout-summary-head{margin-bottom:13px;padding-bottom:11px}.km-checkout-summary-head>span{margin-bottom:4px}.km4-order-summary .km-checkout-summary-head h3{font-size:1.2rem}.km-checkout-summary-head p{margin-top:5px;font-size:.68rem;line-height:1.5}
.km-checkout-summary-items{gap:8px;margin-bottom:11px}.km-checkout-summary-item{grid-template-columns:60px minmax(0,1fr);gap:10px;padding:10px;border-radius:12px}[dir=rtl] .km-checkout-summary-item{grid-template-columns:minmax(0,1fr) 60px}.km-checkout-summary-item>img{width:60px;height:60px;border-radius:8px}.km4-order-summary .km-checkout-summary-item h4{margin-bottom:6px;font-size:.86rem}.km-checkout-summary-item dl{gap:2px}.km-checkout-summary-item dl>div{grid-template-columns:52px minmax(0,1fr);gap:5px}.km-checkout-summary-item dt{font-size:.6rem}.km-checkout-summary-item dd{font-size:.64rem;line-height:1.4}.km-checkout-summary-item__footer{margin-top:7px;padding-top:7px}.km4-order-summary .km-checkout-summary-item__footer strong{font-size:.82rem}
.km-checkout-totals{padding:9px 0}.km-checkout-total-row{padding:5px 2px;font-size:.76rem}.km4-order-summary .km-checkout-total-row strong{font-size:.8rem}.km-checkout-grand-total{margin:12px 0 6px;padding:13px 14px;border-radius:13px}.km-checkout-grand-total span{font-size:.76rem}.km-checkout-grand-total small{font-size:.58rem}.km4-order-summary .km-checkout-grand-total strong{font-size:1.3rem}
.km4-order-summary .km-charity-note{gap:8px;margin:10px 0 0;padding:9px 10px;border-radius:11px;font-size:.66rem;line-height:1.5}.km4-order-summary .km-charity-note__content{gap:5px 8px}.km4-order-summary .km-nature-egypt-link{min-height:25px;padding:3px 7px;font-size:.57rem}
@media(max-width:560px){.km-payment-journey{gap:5px}.km-payment-journey span{display:grid;justify-items:center;gap:4px;padding:7px 4px;text-align:center;font-size:.6rem}.km-payment-completion{padding:14px;border-radius:15px}.km-payment-proof-field .km-label{display:block}.km-payment-proof-field .km-label small{display:block;margin-top:3px}.km4-order-summary{padding:16px}.km-checkout-summary-head p{display:none}.km-checkout-summary-item{grid-template-columns:52px minmax(0,1fr);padding:9px}[dir=rtl] .km-checkout-summary-item{grid-template-columns:minmax(0,1fr) 52px}.km-checkout-summary-item>img{width:52px;height:52px}.km-checkout-summary-item__footer{flex-direction:row;align-items:center}.km-checkout-summary-item__footer .km-checkout-edition{max-width:65%}.km-checkout-grand-total{grid-template-columns:minmax(0,1fr) auto;gap:8px}.km4-order-summary .km-checkout-grand-total strong{font-size:1.18rem}}
@media(max-width:820px){.km-checkout-experience .km4-checkout-layout>.km4-order-summary{order:-1}.km-checkout-experience .km4-checkout-layout>div:first-child{order:1}}

/* Mobile checkout experience v2: compact review, guided stages, calm forms. */
.km-checkout-page-head{text-align:center;margin-bottom:var(--space-6)}
.km-checkout-page-head h1{margin:7px 0 5px;font-size:clamp(1.8rem,3.5vw,2.6rem)}
.km-checkout-page-head p{margin:0;color:#756d62;font-size:.78rem}
.km-checkout-form-column{display:flex;flex-direction:column;gap:16px}
.km-mobile-checkout-progress,.km-mobile-step-help,.km-mobile-step-next,.km-mobile-summary-toggle{display:none}

@media(max-width:820px){
  .km-checkout-experience{padding:22px 0 72px!important;overflow:visible}
  .km-checkout-experience>.km-container{width:min(calc(100% - 18px),1540px)}
  .km-checkout-page-head{margin-bottom:14px;padding:0 8px;text-align:start}
  .km-checkout-page-head .km-eyebrow{font-size:.57rem;letter-spacing:.1em}
  .km-checkout-page-head h1{margin:4px 0 2px;font-size:1.55rem;line-height:1.25}
  .km-checkout-page-head p{font-size:.68rem;line-height:1.5}
  .km4-checkout-layout{gap:10px}
  .km-checkout-form-column{order:1;gap:10px!important}
  .km4-checkout-layout>.km4-order-summary{order:-1}

  .km-mobile-checkout-progress{display:grid;grid-template-columns:1fr 20px 1fr 20px 1fr;align-items:center;padding:10px 12px;border:1px solid #ded4c5;border-radius:15px;background:rgba(255,255,255,.92);box-shadow:0 9px 28px rgba(55,42,24,.07)}
  .km-mobile-checkout-progress button{display:grid;justify-items:center;gap:3px;padding:0;border:0;background:transparent;color:#8b8277;font:inherit;cursor:pointer}
  .km-mobile-checkout-progress button b{display:grid;place-items:center;width:27px;height:27px;border:1px solid #d4c7b5;border-radius:50%;background:#faf7f2;color:#6f665b;font-size:.65rem;transition:.2s}
  .km-mobile-checkout-progress button span{font-size:.6rem;font-weight:800}
  .km-mobile-checkout-progress button.is-active{color:#855a29}.km-mobile-checkout-progress button.is-active b{border-color:#ae7c3f;background:#ae7c3f;color:#fff;box-shadow:0 5px 12px rgba(132,88,36,.23)}
  .km-mobile-checkout-progress>i{display:block;height:1px;background:#d8cebf}

  .km4-checkout-step{scroll-margin-top:82px;padding:15px 14px;border-radius:16px;box-shadow:0 8px 26px rgba(55,42,24,.055)}
  .km4-step-title{gap:9px;margin:0 0 5px;font-size:1.02rem;line-height:1.35}
  .km4-step-number{width:29px;height:29px;flex-basis:29px;font-size:.65rem}
  .km-mobile-step-help{display:block;margin:0 38px 14px 0;color:#7b7267;font-size:.67rem;line-height:1.55}
  [dir=rtl] .km-mobile-step-help{margin:0 38px 14px 0}[dir=ltr] .km-mobile-step-help{margin:0 0 14px 38px}
  .km4-checkout-step .km-form-group{margin-bottom:12px}
  .km4-checkout-step .km-label{margin-bottom:5px;font-size:.76rem}
  .km4-checkout-step .km-input,.km4-checkout-step .km-select,.km4-checkout-step .km-textarea,.km-city-picker__trigger{min-height:46px;padding:11px 12px;border-width:1px;border-radius:11px;font-size:.84rem}
  .km-mobile-step-next{display:flex;width:100%;min-height:45px;align-items:center;justify-content:center;gap:9px;margin-top:3px;border:1px solid #c7a474;border-radius:12px;background:#fffaf2;color:#765126;font:800 .76rem inherit;cursor:pointer}
  .km-mobile-step-next span{font-size:.95rem}.km-mobile-step-next:active{transform:translateY(1px)}

  .km-checkout-access{padding:12px 13px!important;border-radius:15px!important}
  .km-checkout-account-state{align-items:center;gap:10px}.km-checkout-account-state__icon{width:42px;height:42px;font-size:1rem}.km-checkout-account-state small{font-size:.56rem}.km-checkout-account-state strong{margin:1px 0;font-size:.92rem}.km-checkout-account-state span{font-size:.65rem;line-height:1.45}
  .km-checkout-access>.km-eyebrow{font-size:.56rem}.km-checkout-access>h3{margin:4px 0 10px;font-size:1rem}
  .km-checkout-access__choices{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .km-checkout-access-card{min-height:0!important;gap:2px!important;padding:10px!important;border-radius:11px!important}
  .km-checkout-access-card:last-child{grid-column:1/-1}.km-checkout-access-card b{font-size:.78rem}.km-checkout-access-card span{font-size:.6rem!important;line-height:1.4!important}

  .km-checkout-saved-addresses{margin-bottom:13px}.km-checkout-saved-addresses__head{margin-bottom:7px}.km-checkout-saved-addresses__head b,.km-checkout-saved-addresses__head button{font-size:.7rem}.km-checkout-address-grid{gap:7px}.km-checkout-address-card{padding:10px;border-radius:11px}.km-checkout-address-card>span{font-size:.6rem}.km-checkout-address-card b{font-size:.78rem}.km-checkout-address-card small,.km-checkout-address-card em{font-size:.65rem}
  .km-checkout-save-address{margin:5px 0 12px;font-size:.7rem}
  .km-checkout-shipping-option{align-items:flex-start!important;gap:9px!important;margin-bottom:7px!important;padding:11px!important;border-radius:12px!important}
  .km-checkout-shipping-option>div{align-items:flex-start!important;min-width:0}.km-checkout-shipping-option input{margin-top:3px}.km-checkout-shipping-option strong{font-size:.78rem!important;line-height:1.4}.km-checkout-shipping-option span{font-size:.66rem!important;line-height:1.45}.km-checkout-shipping-option>span,.km-checkout-shipping-option>b{font-size:.72rem!important}
  .km-field-help{margin-top:6px;font-size:.65rem;line-height:1.55}
  .km-city-picker__panel{max-height:min(58vh,430px);border-radius:13px}.km-city-picker__options{max-height:260px}

  .km4-order-summary{padding:0!important;border-color:#252018;border-radius:16px;background:#17140f;box-shadow:0 13px 35px rgba(38,29,18,.16)}
  .km4-order-summary .km-checkout-summary-head{margin:0;padding:0;border:0}
  .km4-order-summary .km-checkout-summary-head>span,.km4-order-summary .km-checkout-summary-head>h3,.km4-order-summary .km-checkout-summary-head>p{display:none}
  .km-mobile-summary-toggle{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:9px;padding:13px 14px;border:0;background:transparent;color:#fff;text-align:start;cursor:pointer}
  .km-mobile-summary-toggle span small,.km-mobile-summary-toggle span b{display:block}.km-mobile-summary-toggle span small{color:#c99c5a;font-size:.55rem;font-weight:900;letter-spacing:.09em}.km-mobile-summary-toggle span b{margin-top:2px;color:#fff;font-size:.78rem}
  .km4-order-summary .km-mobile-summary-toggle>strong{color:#f1c77f;font-size:1rem;white-space:nowrap}.km-mobile-summary-toggle>i{display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(255,255,255,.2);border-radius:50%;font-size:.8rem;font-style:normal;transition:transform .2s}
  .km4-order-summary:not(.is-mobile-collapsed) .km-mobile-summary-toggle>i{transform:rotate(180deg)}
  .km4-order-summary.is-mobile-collapsed .km-checkout-summary-body{display:none}
  .km-checkout-summary-body{padding:0 12px 12px;border-top:1px solid rgba(232,216,190,.15)}
  .km-checkout-summary-items{margin-top:10px}.km4-order-summary .km-charity-note{margin-bottom:0}

  .km-payment-journey{margin-top:10px}.km-payment-lead{margin-bottom:11px;font-size:.68rem;line-height:1.55}
  .km-payment-method-option{min-height:62px;margin-bottom:7px;padding:9px 10px}.km-payment-method-option__logo{width:40px;height:40px;flex-basis:40px}.km-payment-method-option__copy strong{font-size:.82rem}.km-payment-method-option__copy small{font-size:.66rem}.km-payment-due{margin-top:7px;padding:7px 9px}.km-payment-due small{font-size:.6rem}.km-payment-due b{font-size:.85rem}
  .km-payment-instruction-box{margin-bottom:9px;padding:12px;border-radius:13px;font-size:.73rem;line-height:1.6}.km-payment-instruction-total{gap:8px;margin-bottom:9px;padding-bottom:8px;font-size:.7rem}.km-payment-action-grid{gap:10px;margin-top:10px;padding-top:10px}.km-payment-direct-action{padding:11px}.km-payment-direct-action a{min-height:40px;margin:6px 0;padding:8px 13px;font-size:.75rem}.km-payment-qr img{width:min(100%,150px)}
  .km-payment-completion{margin-top:11px;padding:13px}.km-payment-completion__head{margin-bottom:10px;padding-bottom:9px}.km-payment-completion__head h4{font-size:.92rem}.km-payment-completion__head p{font-size:.67rem;line-height:1.55}.km-payment-declaration{padding:10px!important}.km-payment-declaration b{font-size:.75rem}.km-payment-declaration small{font-size:.62rem}.km-payment-completion .km-checkout-terms{font-size:.65rem}.km-payment-submit-wrap .km-btn{min-height:48px;font-size:.76rem}
}

@media(max-width:560px){
  .km4-form-grid{gap:0}
  .km-checkout-summary-item dl>div{grid-template-columns:46px minmax(0,1fr)}
  .km-checkout-summary-item dt{font-size:.56rem}.km-checkout-summary-item dd{font-size:.6rem}
  .km-checkout-grand-total{padding:11px 12px}.km-checkout-grand-total small{display:none}
}

/* Checkout experience v3: the same guided, predictable journey everywhere. */
.km-payment-methods{display:grid;gap:8px}
.km-payment-instructions{margin-top:10px}
.km-checkout-shipping-option>div>div{min-width:0}.km-checkout-shipping-option>div>div>strong,.km-checkout-shipping-option>div>div>span{display:block}.km-checkout-shipping-option>div>div>strong{font-size:.88rem}.km-checkout-shipping-option>div>div>span{margin-top:3px;color:#746c62;font-size:.72rem;line-height:1.5}.km-checkout-shipping-option>b{color:#96652d;font-size:.86rem;white-space:nowrap}
.km-payment-submit-wrap{margin-top:14px;padding:15px;border:1px solid #ddd2c1;border-radius:16px;background:#f7f3ec;text-align:center;transition:border-color .2s,background .2s,box-shadow .2s}
.km-checkout-submit-status{display:flex;align-items:center;gap:9px;margin-bottom:10px;color:#665e54;text-align:start;font-size:.72rem;line-height:1.55}
.km-checkout-submit-status i{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border:1px solid #bda785;border-radius:50%;color:#896133;font-size:.65rem;font-style:normal;font-weight:900}
.km-payment-submit-wrap .km-btn:disabled{background:#c9c1b6!important;color:#fff!important;opacity:1;box-shadow:none;cursor:not-allowed}
.km-payment-submit-wrap.is-ready{border-color:#b68648;background:#fff9ef;box-shadow:0 12px 30px rgba(112,76,32,.1)}.km-payment-submit-wrap.is-ready .km-checkout-submit-status{color:#39734a}.km-payment-submit-wrap.is-ready .km-checkout-submit-status i{border-color:#65a275;background:#edf8ef;color:#39734a}
.km-payment-submit-wrap>small{display:block;margin-top:7px;color:#756a5d;font-size:.65rem;line-height:1.5}

@media(min-width:821px){
  .km-mobile-checkout-progress{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:center;padding:13px 16px;border:1px solid #ded4c5;border-radius:17px;background:#fff;box-shadow:0 10px 34px rgba(55,42,24,.06)}
  .km-mobile-checkout-progress button{display:flex;align-items:center;justify-content:center;gap:8px;padding:0;border:0;background:transparent;color:#8a8175;font:inherit;cursor:pointer}.km-mobile-checkout-progress button b{display:grid;place-items:center;width:29px;height:29px;border:1px solid #d3c6b4;border-radius:50%;background:#faf7f2;color:#6e655a;font-size:.67rem}.km-mobile-checkout-progress button span{font-size:.72rem;font-weight:800}.km-mobile-checkout-progress button.is-active{color:#835727}.km-mobile-checkout-progress button.is-active b{border-color:#aa783b;background:#aa783b;color:#fff}.km-mobile-checkout-progress>i{height:1px;background:#d8cebf}
  .km-mobile-step-help{display:block;margin:-12px 0 19px 46px;color:#7b7267;font-size:.73rem;line-height:1.6}[dir=rtl] .km-mobile-step-help{margin:-12px 46px 19px 0}
  .km-mobile-step-next{display:flex;width:max-content;min-height:43px;align-items:center;justify-content:center;gap:9px;margin:3px 0 0 auto;padding:9px 17px;border:1px solid #c7a474;border-radius:999px;background:#fffaf2;color:#765126;font:800 .74rem inherit;cursor:pointer}[dir=rtl] .km-mobile-step-next{margin:3px auto 0 0}.km-mobile-step-next:hover{border-color:#9f6d32;background:#9f6d32;color:#fff}
  .km-checkout-access__choices{grid-template-columns:repeat(2,minmax(0,1fr))}.km-checkout-access-card:last-child{grid-column:1/-1;min-height:70px}
  .km-payment-methods:has(.km-payment-method-option:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}.km-payment-methods .km-payment-method-option{height:100%;margin:0}
  .km-payment-instruction-box{margin-bottom:10px}
  .km-payment-submit-wrap{padding:17px 18px}.km-payment-submit-wrap .km-btn{min-height:54px}
}

@media(max-width:820px){
  .km-payment-submit-wrap{margin-top:11px;padding:12px;border-radius:14px}.km-checkout-submit-status{margin-bottom:8px;font-size:.65rem}.km-payment-submit-wrap>small{font-size:.59rem}
  .km-payment-methods{gap:7px}.km-payment-instructions{margin-top:8px}
}


/* public-polish-v19.css */
/* KMHEER v8.67 — navigation, footer, collection cards and image motion polish. */

.km-mobile-language-nav {
  display: none;
}

.km-mobile-nav-tools {
  display: contents;
}

/* Homepage collections keep a cinematic landscape ratio without stretching art. */
.km-homepage-experience .km-col-grid.km-dynamic-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  align-items: stretch;
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
}

.km-homepage-experience .km-col-grid.km-dynamic-card-grid[data-count="1"] {
  max-width: 760px;
  grid-template-columns: 1fr;
}

.km-homepage-experience .km-col-grid.km-dynamic-card-grid[data-count="2"] {
  max-width: 1000px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.km-homepage-experience .km-col-grid.km-dynamic-card-grid .km-col-card {
  min-height: 0 !important;
  aspect-ratio: 16 / 10 !important;
  border-radius: 18px !important;
  overflow: hidden;
}

.km-homepage-experience .km-col-grid.km-dynamic-card-grid .km-col-card-content {
  inset-inline: 0;
  width: 100%;
  padding: clamp(18px, 3vw, 34px);
  box-sizing: border-box;
  text-align: center;
  display: grid;
  justify-items: center;
}

.km-homepage-experience .km-col-grid.km-dynamic-card-grid .km-col-card-title,
.km-homepage-experience .km-col-grid.km-dynamic-card-grid .km-col-card-subtitle {
  max-width: 34rem;
  margin-inline: auto;
  text-align: center;
}

/* One typographic rhythm and centered alignment across the public footer. */
.km4-footer.km-footer-v15,
.km4-footer.km-footer-v15 button,
.km4-footer.km-footer-v15 input,
.km4-footer.km-footer-v15 select,
.km4-footer.km-footer-v15 textarea {
  font-family: "Tajawal", "Noto Kufi Arabic", Arial, sans-serif;
}

html.lang-en .km4-footer.km-footer-v15 h2,
html.lang-en .km4-footer.km-footer-v15 h3 {
  font-family: "Cormorant Garamond", Georgia, serif;
}

html.lang-ar .km4-footer.km-footer-v15 h2,
html.lang-ar .km4-footer.km-footer-v15 h3 {
  font-family: "Tajawal", "Noto Kufi Arabic", Arial, sans-serif;
  letter-spacing: 0;
}

.km-footer-v15__intro {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 12px;
  text-align: center;
}

.km-footer-v15__intro > div,
.km-footer-v15__intro > p {
  width: min(100%, 700px);
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
}

.km-footer-v15__grid {
  text-align: center;
}

.km-footer-v15__brand,
.km-footer-v15__column,
.km-footer-v15__concierge {
  justify-items: center;
  text-align: center;
}

.km-footer-v15__brand .km-footer-brand-logo,
.km-footer-v15__tagline,
.km-footer-v15__contact-list,
.km-footer-v15__concierge > p,
.km-footer-v15__concierge > h3,
.km-footer-v15__cta,
.km-footer-v15__signature {
  margin-inline: auto !important;
}

.km-footer-v15__signature .km-footer-developer-credit {
  margin-inline: auto !important;
}

.km-footer-v15__contact-list p,
.km-footer-v15__column summary,
.km-footer-v15__column ul,
.km-footer-v15__column li,
.km-footer-v15__column li a {
  justify-content: center;
  justify-items: center;
  text-align: center;
}

.km-footer-v15__socials {
  justify-content: center;
}

.km-footer-v15__socials a span {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
}

.km-footer-v15__socials a span svg {
  display: block;
  width: 14px;
  height: 14px;
  fill: currentColor;
}

.km-footer-v15__bottom {
  grid-template-columns: 1fr !important;
  justify-items: center;
  text-align: center;
}

.km-footer-bottom__meta,
.km-footer-bottom__actions,
.km-footer-legal {
  justify-content: center !important;
  justify-items: center;
  text-align: center;
}

/* Gentle, consistent motion for discoverable imagery. */
.km-col-card,
.km4-collection-card,
.km5-curated-card .km4-curated-card__media,
.km6-journal__media,
.km-soft-image,
.km-art-card-media {
  overflow: hidden;
}

.km-col-card img,
.km4-collection-card img,
.km5-curated-card .km4-curated-card__media img,
.km6-journal__media img,
.km-soft-image img,
.km-art-card-media img {
  transition: transform .72s cubic-bezier(.16, 1, .3, 1), filter .6s ease, opacity .35s ease !important;
  transform-origin: center;
}

@media (hover: hover) and (pointer: fine) {
  .km-col-card:hover img,
  .km4-collection-card:hover img,
  .km5-curated-card:hover .km4-curated-card__media img,
  .km6-journal__card:hover .km6-journal__media img,
  .km-soft-image:hover img,
  .km-art-card:hover .km-art-card-media img {
    transform: scale(1.035) !important;
    filter: saturate(1.04) contrast(1.025);
  }
}

@media (max-width: 820px) {
  .km-header .km-header-inner > .km-header-brand-group {
    display: contents !important;
  }

  .km-header .km-mobile-nav-tools {
    display: flex;
    grid-column: 1;
    align-items: center;
    justify-content: center;
    justify-self: stretch;
    gap: 3px;
    min-width: 0;
  }

  .km-header .km-mobile-nav-tools .km4-menu-toggle {
    grid-column: auto;
    justify-self: auto;
    width: 42px;
    min-width: 42px;
  }

  .km-mobile-language-nav {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border: 1px solid rgba(55, 42, 27, .2);
    border-radius: 50%;
    background: rgba(255, 255, 255, .88);
    color: #17130e;
    box-shadow: 0 6px 18px rgba(32, 24, 14, .07);
    font-family: "Tajawal", Arial, sans-serif;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }

  .km-mobile-language-nav:active {
    transform: scale(.96);
  }

  .km-homepage-experience .km-col-grid.km-dynamic-card-grid,
  .km-homepage-experience .km-col-grid.km-dynamic-card-grid[data-count="2"] {
    grid-template-columns: 1fr;
    max-width: 620px;
  }

  .km-homepage-experience .km-col-grid.km-dynamic-card-grid .km-col-card {
    aspect-ratio: 4 / 3 !important;
    border-radius: 15px !important;
  }

  .km-footer-v15__intro > p {
    display: block;
  }

  .km-footer-v15__grid {
    grid-template-columns: 1fr !important;
    justify-items: center;
  }

  .km-footer-v15__brand,
  .km-footer-v15__column,
  .km-footer-v15__concierge {
    width: min(100%, 520px) !important;
    grid-column: auto !important;
  }

  .km-footer-v15__brand,
  .km-footer-v15__concierge {
    grid-template-columns: 1fr !important;
    justify-items: center;
  }

  .km-footer-v15__concierge .km-footer-v15__cta {
    grid-column: auto;
    grid-row: auto;
  }

  .km-footer-v15__column summary {
    justify-content: center !important;
    gap: 8px;
  }

  .km-footer-v15__column summary i {
    position: static !important;
  }

  .km-footer-v15__socials a {
    width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 0;
    justify-content: center;
    font-size: 0;
  }

  .km-footer-v15__socials a span {
    width: 30px;
    height: 30px;
  }

  .km-footer-v15__socials a span svg {
    width: 16px;
    height: 16px;
  }
}

@media (max-width: 640px) {
  .km-header .km-mobile-nav-tools .km4-menu-toggle {
    width: 40px;
    min-width: 40px;
  }

  .km-mobile-language-nav {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .km-mobile-language-nav,
  .km-col-card img,
  .km4-collection-card img,
  .km5-curated-card .km4-curated-card__media img,
  .km6-journal__media img,
  .km-soft-image img,
  .km-art-card-media img {
    transition: none !important;
  }
}
/* v20 — post-checkout confirmation, transparent totals, and mobile order clarity. */
.km-order-success{min-height:70vh;padding:clamp(35px,6vw,80px) 0 90px;background:linear-gradient(180deg,#f6f1e8,#fff 45%)}
.km-order-success__wrap{display:grid;gap:24px}.km-order-success__hero{display:grid;justify-items:center;padding:clamp(30px,5vw,58px);border-radius:28px;color:#fff;text-align:center;background:radial-gradient(circle at 50% 0,rgba(207,163,94,.25),transparent 33%),linear-gradient(135deg,#17130f,#302519);box-shadow:0 25px 65px rgba(37,27,16,.16)}.km-order-success__mark{display:grid;width:62px;aspect-ratio:1;place-items:center;margin-bottom:16px;border:1px solid rgba(226,187,126,.55);border-radius:50%;color:#e7bf7e;font-size:1.45rem;background:rgba(255,255,255,.05)}.km-order-success__hero small{color:#d5ad70;font-size:.68rem;font-weight:900;letter-spacing:.12em}.km-order-success__hero h1{max-width:760px;margin:10px 0;color:#fff;font-size:clamp(1.75rem,4vw,3.3rem)}.km-order-success__hero p{max-width:650px;margin:0;color:rgba(255,255,255,.66);font-size:.82rem;line-height:1.8}.km-order-success__hero>strong{margin-top:18px;color:#e8c58e;font-size:clamp(1.1rem,2.2vw,1.45rem)}.km-order-success__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.km-order-success__actions .km-btn{min-width:190px}.km-order-success__actions .km-btn-outline{border-color:rgba(255,255,255,.32);color:#fff;background:rgba(255,255,255,.04)}
.km-order-success__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.55fr);gap:20px;align-items:start}.km-order-success__items,.km-order-success__summary{padding:clamp(20px,3vw,32px);border:1px solid #ded3c4;border-radius:22px;background:#fff;box-shadow:0 14px 38px rgba(43,32,19,.055)}.km-order-success__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid #ece4d8}.km-order-success__heading small,.km-order-success__summary>small{color:#a27238;font-size:.63rem;font-weight:900;letter-spacing:.1em}.km-order-success__heading h2,.km-order-success__summary h2{margin:5px 0 0;font-size:1.35rem}.km-order-success__heading>span{display:grid;min-width:32px;height:32px;place-items:center;border-radius:50%;color:#fff;background:#a7783e;font-size:.72rem;font-weight:900}.km-order-success__item{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #eee7dc}.km-order-success__item:last-child{padding-bottom:0;border-bottom:0}.km-order-success__item img{width:96px;height:96px;border-radius:13px;object-fit:contain;background:#f0ebe3}.km-order-success__item h3{margin:0 0 10px;font-size:1rem}.km-order-success__item dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 15px;margin:0}.km-order-success__item dl div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px}.km-order-success__item dt{color:#8b7f72;font-size:.62rem}.km-order-success__item dd{margin:0;color:#372f27;font-size:.68rem;font-weight:750}.km-order-success__item>strong{color:#98652c;white-space:nowrap}.km-order-success__summary{position:sticky;top:95px;background:#211a13;color:#fff}.km-order-success__summary h2{margin-bottom:16px;color:#fff}.km-order-success__summary>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.62);font-size:.75rem}.km-order-success__summary b{color:#fff;white-space:nowrap}.km-order-success__summary .is-discount,.km-order-success__summary .is-discount b{color:#83d29f}.km-order-success__summary .is-total{margin-top:7px;padding:17px 0;color:#fff;font-weight:900}.km-order-success__summary .is-total b{color:#e5bd7d;font-size:1.25rem}.km-order-success__summary p{margin:13px 0 0;color:rgba(255,255,255,.45);font-size:.64rem;line-height:1.75}
.km-order-payment-summary dl{display:grid;gap:2px;margin:0}.km-order-payment-summary dl>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 2px;border-bottom:1px solid #eee6da;color:#74695d}.km-order-payment-summary dt{font-size:.74rem}.km-order-payment-summary dd{margin:0;color:#2c251e;font-size:.78rem;font-weight:850;white-space:nowrap}.km-order-payment-summary .is-discount,.km-order-payment-summary .is-discount dd{color:#2d8151}.km-order-payment-summary .is-total{margin-top:6px;padding:17px 14px;border:1px solid #d9b77d;border-radius:13px;background:#f7ead6;color:#322419}.km-order-payment-summary .is-total dt{font-weight:900}.km-order-payment-summary .is-total dd{color:#8f5d25;font-size:1.08rem}.km-order-works-first .km-order-item img{object-fit:contain;background:#f0ebe3}
@media(max-width:900px){.km-order-success__grid{grid-template-columns:1fr}.km-order-success__summary{position:static;order:-1}.km-order-detail-layout{grid-template-columns:1fr}.km-order-detail-main{order:1}.km-order-detail-aside{order:2}}

/* v21 — configurable archives, compact Arabic navigation and clearer editorial/card imagery. */
.km-public-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin:clamp(28px,5vw,58px) auto 0}.km-public-pagination>div{display:flex;align-items:center;justify-content:center;gap:7px}.km-public-pagination a{display:grid;min-width:42px;height:42px;place-items:center;padding:0 10px;border:1px solid #ded4c5;border-radius:12px;background:#fff;color:#3b332a;text-decoration:none;font-size:.78rem;font-weight:850;box-shadow:0 5px 16px rgba(44,33,20,.045);transition:.2s ease}.km-public-pagination a:hover,.km-public-pagination a.is-active{border-color:#a9793f;background:#a9793f;color:#fff;transform:translateY(-1px)}.km-public-pagination__arrow{font-size:1.2rem!important}.km-public-pagination a.is-disabled{pointer-events:none;opacity:.35}.km-public-pagination__gap{display:grid;width:28px;place-items:center;color:#94887a}

@media(min-width:821px) and (max-width:1380px){.km-header .km4-menu-toggle{display:grid}.km-header .km-nav-menu{display:none}.km-header .km-header-inner{grid-template-columns:auto minmax(0,1fr) auto}.km-header .km-brand{min-width:176px}.km-header .km-brand-logo{width:176px}}
@media(min-width:821px) and (max-width:1820px){[dir="rtl"] .km-header .km4-menu-toggle{display:grid}[dir="rtl"] .km-header .km-nav-menu{display:none}[dir="rtl"] .km-header .km-header-inner{grid-template-columns:auto minmax(0,1fr) auto}[dir="rtl"] .km-header .km-brand{min-width:176px}[dir="rtl"] .km-header .km-brand-logo{width:176px}}

.km-journal-index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),420px));justify-content:center;align-items:start;gap:clamp(18px,3vw,34px)}.km-journal-index-card{width:100%;overflow:hidden;border:var(--border-subtle);border-radius:14px;background:#fff;box-shadow:var(--shadow-subtle)}.km-journal-index-card__media{width:100%;height:clamp(180px,18vw,235px);overflow:hidden;background:#e9e4dc}.km-journal-index-card__media a{display:block;width:100%;height:100%}.km-journal-index-card__media img{display:block;width:100%;height:100%;object-fit:cover}.km-journal-index-card__body{padding:clamp(18px,2.2vw,24px)}.km-journal-index-card__meta{display:block;margin-bottom:7px;color:var(--km-bronze);font-size:.72rem;font-weight:700;text-transform:uppercase}.km-journal-index-card h3{margin:0 0 10px;font-size:clamp(1.08rem,1.5vw,1.3rem)}.km-journal-index-card p{margin:0 0 16px;color:var(--km-muted);font-size:.84rem;line-height:1.8}.km-journal-index-card__link{color:var(--km-ink);font-size:.84rem;font-weight:750}.km-journal-cover{display:flex;align-items:center;justify-content:center;max-width:760px;min-height:180px;margin:0 auto var(--space-8);overflow:hidden;border:1px solid rgba(111,87,51,.12);border-radius:18px;background:#f2eee7;box-shadow:var(--shadow-card)}.km-journal-cover img{display:block;width:auto;max-width:100%;height:auto;max-height:min(55vh,460px);object-fit:contain}.km-journal-content img{display:block;width:auto!important;max-width:min(100%,760px)!important;height:auto!important;max-height:min(62vh,560px);margin:clamp(22px,4vw,42px) auto;object-fit:contain;border-radius:12px}.km-journal-content figure{max-width:100%;margin-inline:auto}.km-journal-content figure img{margin-bottom:10px}

.km-art-card-badges{align-items:flex-start}.km-card-badge--offer{display:inline-flex!important;align-items:center;gap:6px;padding:8px 12px!important;border:1px solid rgba(255,236,196,.8)!important;border-radius:9px!important;background:linear-gradient(135deg,#b83b2f,#7d1f1a)!important;color:#fff!important;font-size:.66rem!important;font-weight:950!important;letter-spacing:.015em!important;box-shadow:0 8px 20px rgba(91,23,18,.3)!important;text-shadow:0 1px 2px rgba(0,0,0,.28)}.km-card-badge--offer::before{content:"%";display:grid;width:18px;height:18px;place-items:center;border-radius:50%;background:#fff2d7;color:#8b241d;font-size:.62rem;font-weight:950}.km-card-badge--pinned{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:8px 12px!important;border-color:#e7c37f!important;background:linear-gradient(135deg,#bd8741,#7c5424)!important;color:#fff!important;font-size:.68rem!important;font-weight:950!important;box-shadow:0 8px 22px rgba(103,71,30,.28)!important}.km-card-badge--pinned>span{font-size:.78rem;color:#fff4cf!important}

@media(max-width:640px){.km-public-pagination{gap:5px}.km-public-pagination>div{gap:4px}.km-public-pagination a{min-width:36px;height:38px;padding:0 7px;border-radius:10px}.km-public-pagination__gap{width:18px}.km-journal-index-grid{grid-template-columns:minmax(0,1fr)}.km-journal-index-card__media{height:clamp(170px,56vw,220px)}.km-journal-cover{max-width:100%;min-height:130px;margin-bottom:28px;border-radius:12px}.km-journal-cover img{max-height:38vh}.km-journal-content img{max-height:45vh;margin:24px auto}.km-card-badge--offer,.km-card-badge--pinned{padding:5px 8px!important;font-size:.52rem!important}.km-card-badge--offer::before{width:15px;height:15px;font-size:.5rem}}

/* v23 — artwork status belongs to the card, never on top of the artwork. */
.km-art-card>.km-art-card-badges,.km4-curated-card>.km4-curated-card__badges{position:static!important;inset:auto!important;z-index:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start;flex-wrap:wrap;gap:6px!important;min-height:38px;margin:0!important;padding:7px 10px!important;border-block:1px solid #e4d8c7;background:linear-gradient(90deg,#f8f3ea,#fffaf2);box-sizing:border-box}.km-art-card>.km-art-card-badges .km-card-badge,.km4-curated-card>.km4-curated-card__badges .km-card-badge{display:inline-flex!important;align-items:center!important;justify-content:center;min-height:25px!important;max-width:100%;padding:5px 9px!important;border:1px solid #ccb58e!important;border-radius:7px!important;background:#5a4630!important;color:#fff!important;font-size:.58rem!important;font-weight:900!important;line-height:1.25!important;letter-spacing:0!important;white-space:normal;text-align:center;box-shadow:none!important;text-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.km-art-card>.km-art-card-badges .limited,.km4-curated-card>.km4-curated-card__badges .limited{border-color:#c39a5e!important;background:#8a6332!important;color:#fffaf0!important}.km-art-card>.km-art-card-badges .km-card-badge--offer,.km4-curated-card>.km4-curated-card__badges .km-card-badge--offer{border-color:#b94f43!important;background:#8f2f27!important;color:#fff!important}.km-art-card>.km-art-card-badges .km-card-badge--offer::before,.km4-curated-card>.km4-curated-card__badges .km-card-badge--offer::before{content:none!important;display:none!important}.km-art-card>.km-art-card-badges .km-card-badge--pinned{border-color:#b88a4d!important;background:#725127!important}.km-art-card>.km-art-card-badges .km-card-badge--sold-out,.km4-curated-card>.km4-curated-card__badges .km-card-badge--sold-out{border-color:#4b4034!important;background:#211b15!important;color:#f2d8a8!important}.km-artworks-page .km-art-card>.km-art-card-badges .limited:not(:only-child){display:inline-flex!important}.km4-curated-card>.km4-curated-card__badges+.km4-curated-card__body{border-top:0}.km-art-card>.km-art-card-badges+.km-art-card-info{padding-top:12px}
@media(max-width:640px){.km-art-card>.km-art-card-badges,.km4-curated-card>.km4-curated-card__badges{min-height:32px;gap:4px!important;padding:5px 6px!important}.km-art-card>.km-art-card-badges .km-card-badge,.km4-curated-card>.km4-curated-card__badges .km-card-badge{min-height:22px!important;padding:4px 6px!important;border-radius:6px!important;font-size:.48rem!important}.km-art-card>.km-art-card-badges+.km-art-card-info{padding-top:9px}}
@media(min-width:821px){.km-art-card>.km-art-card-badges,.km4-curated-card>.km4-curated-card__badges{position:absolute!important;z-index:4!important;inset:14px 14px auto auto!important;display:flex!important;width:auto;min-height:0;margin:0!important;padding:0!important;border:0;background:transparent;align-items:flex-end!important;flex-direction:column!important;gap:6px!important}.km4-curated-card>.km4-curated-card__badges{inset:10px 10px auto auto!important}[dir="rtl"] .km-art-card>.km-art-card-badges{inset:14px auto auto 14px!important}[dir="rtl"] .km4-curated-card>.km4-curated-card__badges{inset:10px auto auto 10px!important}.km-art-card>.km-art-card-badges .km-card-badge,.km4-curated-card>.km4-curated-card__badges .km-card-badge{min-height:28px!important;padding:6px 10px!important;border:1px solid rgba(255,255,255,.48)!important;border-radius:999px!important;background:rgba(31,27,22,.88)!important;color:#fff!important;font-size:.62rem!important;box-shadow:0 7px 18px rgba(0,0,0,.22)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}.km-art-card>.km-art-card-badges .limited,.km4-curated-card>.km4-curated-card__badges .limited{background:linear-gradient(135deg,rgba(151,107,53,.96),rgba(92,61,27,.96))!important}.km-art-card>.km-art-card-badges .km-card-badge--offer,.km4-curated-card>.km4-curated-card__badges .km-card-badge--offer{border-color:#e1a99e!important;background:linear-gradient(135deg,#a83a30,#74241f)!important}.km-art-card>.km-art-card-badges .km-card-badge--pinned{border-color:#e7c37f!important;background:linear-gradient(135deg,#ae7a38,#714b20)!important}.km-art-card>.km-art-card-badges+.km-art-card-info{padding-top:18px}.km4-curated-card>.km4-curated-card__badges+.km4-curated-card__body{border-top:2px solid transparent}}
.km-art-card-offer-layer{position:absolute;z-index:5;inset:12px auto auto 12px;pointer-events:none}.km-art-card-offer-layer .km-card-badge--offer{display:inline-flex!important;align-items:center;justify-content:center;min-height:28px;padding:6px 10px!important;border:1px solid rgba(255,226,217,.82)!important;border-radius:999px!important;background:linear-gradient(135deg,#a83a30,#74241f)!important;color:#fff!important;font-size:.61rem!important;font-weight:950!important;line-height:1.1;text-align:center;unicode-bidi:plaintext;box-shadow:0 7px 18px rgba(62,17,13,.25)!important}.km-art-card-offer-layer .km-card-badge--offer::before{content:none!important;display:none!important}[dir="rtl"] .km-art-card-offer-layer{inset:12px 12px auto auto}.km4-curated-card__media .km-art-card-offer-layer{inset-block-start:10px}
@media(max-width:820px){.km-art-card-offer-layer{inset:9px auto auto 9px}.km-art-card-offer-layer .km-card-badge--offer{width:43px;height:43px;min-width:43px;min-height:43px;padding:4px!important;border:2px solid rgba(255,244,235,.9)!important;border-radius:50%!important;font-size:.48rem!important;line-height:1.15!important;white-space:normal;box-shadow:0 5px 14px rgba(62,17,13,.28)!important}[dir="rtl"] .km-art-card-offer-layer{inset:9px 9px auto auto}}
@media(max-width:560px){.km-order-success{padding:22px 0 65px}.km-order-success__hero{padding:28px 17px;border-radius:19px}.km-order-success__hero h1{font-size:1.75rem}.km-order-success__actions{width:100%}.km-order-success__actions .km-btn{width:100%;min-width:0}.km-order-success__items,.km-order-success__summary{padding:16px;border-radius:17px}.km-order-success__item{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:12px}.km-order-success__item img{width:72px;height:72px}.km-order-success__item>strong{grid-column:1/-1;padding-top:10px;border-top:1px solid #eee7dc}.km-order-success__item dl{grid-template-columns:1fr}.km-order-success__item dl div{grid-template-columns:78px minmax(0,1fr)}.km-order-detail-hero{margin-bottom:12px}.km-order-works-first,.km-order-payment-summary{padding:17px}.km-order-works-first .km-order-item{grid-template-columns:74px minmax(0,1fr);gap:12px;padding:15px 0}.km-order-works-first .km-order-item img{width:74px;height:74px}.km-order-works-first .km-order-item h4{font-size:.95rem}.km-order-works-first .km-order-item p,.km-order-works-first .km-order-item small{font-size:.72rem;line-height:1.75}.km-order-works-first .km-order-item__price{grid-column:1/-1;padding:10px 12px;border-radius:10px;background:#f5eee3;color:#8d5d28;font-size:.9rem}.km-order-payment-summary dl>div{padding:11px 2px}.km-order-payment-summary dt,.km-order-payment-summary dd{font-size:.76rem}.km-order-payment-summary .is-discount{padding:12px 10px;border-radius:10px;background:#edf8f1}.km-order-payment-summary .is-total{padding:15px 12px}}
