/* Hallmark · macrostructure: Split Studio · tone: editorial hospitality · anchor hue: 160
 * theme: Studio · nav: N6 Masthead · footer: Ft1 Mast-headed
 * audience: hotel owners, investors, tourism organizations · use: discuss a project
 * enrichment: licensed Adriatic photography · motion: functional button press only
 */
@font-face { font-family: 'Somnium Display'; src: url('/fonts/fraunces-200.woff2') format('woff2'); font-weight: 200; font-style: normal; font-display: swap; }
@font-face { font-family: 'Somnium Display'; src: url('/fonts/fraunces-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Somnium Sans'; src: url('/fonts/plex-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Somnium Sans'; src: url('/fonts/plex-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Somnium Display Fallback'; src: local('Georgia'); size-adjust: 101%; ascent-override: 98%; descent-override: 25%; line-gap-override: 0%; }
@font-face { font-family: 'Somnium Sans Fallback'; src: local('Arial'); size-adjust: 100%; ascent-override: 103%; descent-override: 27%; line-gap-override: 0%; }
:root {
  --color-paper: oklch(98% 0.005 160);
  --color-paper-2: oklch(94% 0.009 160);
  --color-paper-3: oklch(89% 0.014 160);
  --color-ink: oklch(23% 0.027 160);
  --color-muted: oklch(44% 0.017 160);
  --color-rule: oklch(80% 0.011 160);
  --color-boundary: oklch(57% 0.014 160);
  --color-accent: oklch(39% 0.087 160);
  --color-accent-ink: oklch(98% 0.005 160);
  --color-focus: oklch(54% 0.15 45);
  --color-error: oklch(42% 0.14 26);
  --color-success: oklch(39% 0.087 160);
  --color-transparent: oklch(98% 0.005 160 / 0);
  --font-display: 'Somnium Display', 'Somnium Display Fallback', serif;
  --font-body: 'Somnium Sans', 'Somnium Sans Fallback', sans-serif;
  --space-2xs: 0.25rem; --space-xs: 0.5rem; --space-sm: 0.75rem; --space-md: 1rem;
  --space-lg: 1.5rem; --space-xl: 2.5rem; --space-2xl: 4rem; --space-3xl: 6rem; --space-4xl: 9rem;
  --space-gutter: clamp(1.25rem, 4vw, 4rem);
  --text-small: 0.875rem; --text-body: 1rem; --text-lede: 1.125rem;
  --text-heading: clamp(2rem, 3.1vw, 3rem);
  --text-display: clamp(2.5rem, 4.8vw, 4.5rem);
  --text-display-s: clamp(2.25rem, 4.2vw, 4rem);
  --text-wordmark: clamp(2rem, 3vw, 2.75rem);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); --ease-in: cubic-bezier(0.7, 0, 0.84, 0); --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms; --dur-short: 220ms; --dur-long: 420ms;
  --rule-hair: 1px; --radius-sm: 2px; --control-height: 3.25rem;
  --z-base: 1; --z-raised: 10; --z-dropdown: 100; --z-sticky: 200; --z-modal: 400;
}

/* Shared theme-picker tokens; preview swatches remain stable across themes. */
:root {
  --font-brand: 'Somnium Display', 'Somnium Display Fallback', serif;
  --color-picker-paper: oklch(98% 0.007 85);
  --color-picker-ink: oklch(25% 0.024 250);
  --color-picker-muted: oklch(46% 0.02 250);
  --color-picker-rule: oklch(79% 0.018 85);
  --color-picker-hover: oklch(93% 0.013 85);
  --color-picker-focus: oklch(43% 0.14 250);
  --color-picker-shadow: oklch(18% 0.02 250 / 0.18);
  --color-swatch-modern: oklch(24% 0.039 250);
  --color-swatch-classic: oklch(39% 0.087 160);
  --color-swatch-medditeranean: oklch(40% 0.095 245);
  --radius-picker: 12px;
  --radius-swatch: 50%;
  --text-picker: 0.875rem;
}

/* Modern · Midnight palette · dark / sans / cool.
 * The existing locally hosted Plex family supplies the contemporary display voice.
 */
:root[data-theme='modern'] {
  color-scheme: dark;
  --color-paper: oklch(21% 0.032 250);
  --color-paper-2: oklch(26% 0.039 250);
  --color-paper-3: oklch(33% 0.04 250);
  --color-ink: oklch(96% 0.009 235);
  --color-muted: oklch(78% 0.022 235);
  --color-rule: oklch(43% 0.034 250);
  --color-boundary: oklch(66% 0.03 235);
  --color-accent: oklch(82% 0.085 205);
  --color-accent-ink: oklch(21% 0.032 250);
  --color-focus: oklch(78% 0.14 75);
  --color-error: oklch(80% 0.115 30);
  --color-success: oklch(82% 0.085 205);
  --font-display: var(--font-body);
  --text-display: clamp(2.5rem, 4.6vw, 4.25rem);
  --text-display-s: clamp(2.25rem, 4vw, 3.75rem);
  --text-heading: clamp(1.875rem, 3vw, 2.75rem);
  --radius-sm: 6px;
}

/* Mediterranean · Atelier palette · light / serif / sea-blue. */
:root[data-theme='medditeranean'] {
  --color-paper: oklch(96% 0.027 85);
  --color-paper-2: oklch(92% 0.037 85);
  --color-paper-3: oklch(85% 0.048 85);
  --color-ink: oklch(31% 0.062 245);
  --color-muted: oklch(45% 0.04 245);
  --color-rule: oklch(76% 0.041 85);
  --color-boundary: oklch(56% 0.045 245);
  --color-accent: oklch(40% 0.095 245);
  --color-accent-ink: oklch(97% 0.019 85);
  --color-focus: oklch(46% 0.13 40);
  --color-error: oklch(42% 0.14 26);
  --color-success: oklch(39% 0.087 160);
  --text-display: clamp(2.5rem, 4vw, 3.75rem);
  --text-display-s: clamp(2.25rem, 4vw, 3.75rem);
  --radius-sm: 0px;
}
