/* Theme: minimal-curation (minimal-curation) */
/* A comfortable, highly curated website layout combining warm terracotta and soft peach tones with dramatic editorial serif typography and completely flat, pill-shaped interactive elements. */

@tailwind base;
@tailwind components;
@tailwind utilities;

@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

@layer base {
  :root {
    /* Observed neutral ramp carrying the brand's cool-grey signature. */
    --palette-neutral-100: #FAFAFB;
    --palette-neutral-150: #F8F9FA;
    --palette-neutral-200: #F3F4F6;
    --palette-neutral-250: #EBECEF;
    --palette-neutral-300: #DFE1E5;
    --palette-neutral-350: #D0D3D8;
    --palette-neutral-400: #BEC1C8;
    --palette-neutral-450: #A8ADB5;
    --palette-neutral-500: #91959E;
    --palette-neutral-550: #717783;
    --palette-neutral-600: #585E69;
    --palette-neutral-650: #444952;
    --palette-neutral-700: #343840;
    --palette-neutral-750: #272B31;
    --palette-neutral-800: #1E2126;
    --palette-neutral-850: #191B20;
    --palette-neutral-900: #171A1D;
    /* Vivid warm terracotta red representing primary action and brand presence. */
    --palette-brand-100: #FEF9F9;
    --palette-brand-150: #FEF7F6;
    --palette-brand-200: #FDF1EE;
    --palette-brand-250: #FCE6E2;
    --palette-brand-300: #F9D7D0;
    --palette-brand-350: #F6C4BA;
    --palette-brand-400: #F2AD9F;
    --palette-brand-450: #EE927F;
    --palette-brand-500: #E7725B;
    --palette-brand-550: #E14323;
    --palette-brand-600: #B63218;
    --palette-brand-650: #8E2712;
    --palette-brand-700: #6E1D0D;
    --palette-brand-750: #54160A;
    --palette-brand-800: #411108;
    --palette-brand-850: #360E06;
    --palette-brand-900: #330D06;
    --palette-danger-100: #FEF9F9;
    --palette-danger-150: #FDF7F6;
    --palette-danger-200: #FCF1EF;
    --palette-danger-250: #F9E7E4;
    --palette-danger-300: #F6D9D4;
    --palette-danger-350: #F1C7C0;
    --palette-danger-400: #EBB1A7;
    --palette-danger-450: #E4988A;
    --palette-danger-500: #DB7A69;
    --palette-danger-550: #D14D36;
    --palette-danger-600: #AA3A26;
    --palette-danger-650: #852C1D;
    --palette-danger-700: #672216;
    --palette-danger-750: #4F1A10;
    --palette-danger-800: #3E140D;
    --palette-danger-850: #34110A;
    --palette-danger-900: #30100A;
    --palette-warning-100: #FDFAF6;
    --palette-warning-150: #FDF8F3;
    --palette-warning-200: #FBF3EA;
    --palette-warning-250: #F8E9DA;
    --palette-warning-300: #F3DCC3;
    --palette-warning-350: #EDCCA7;
    --palette-warning-400: #E5B784;
    --palette-warning-450: #DC9F5C;
    --palette-warning-500: #D0832E;
    --palette-warning-550: #A96A24;
    --palette-warning-600: #86541C;
    --palette-warning-650: #694115;
    --palette-warning-700: #503210;
    --palette-warning-750: #3D260C;
    --palette-warning-800: #2F1D09;
    --palette-warning-850: #271808;
    --palette-warning-900: #251707;
    --palette-success-100: #F6FBF9;
    --palette-success-150: #F3FAF7;
    --palette-success-200: #EAF7F1;
    --palette-success-250: #DBF1E7;
    --palette-success-300: #C7E9D9;
    --palette-success-350: #ACDEC7;
    --palette-success-400: #8CD1B1;
    --palette-success-450: #67C197;
    --palette-success-500: #44A679;
    --palette-success-550: #368661;
    --palette-success-600: #2B6B4D;
    --palette-success-650: #21533C;
    --palette-success-700: #193F2E;
    --palette-success-750: #133023;
    --palette-success-800: #0F251B;
    --palette-success-850: #0C1F16;
    --palette-success-900: #0B1D15;
    --palette-info-100: #F8FAFF;
    --palette-info-150: #F5F9FF;
    --palette-info-200: #EDF4FF;
    --palette-info-250: #E1ECFE;
    --palette-info-300: #CFE1FE;
    --palette-info-350: #B8D2FD;
    --palette-info-400: #9DC1FC;
    --palette-info-450: #7DACFA;
    --palette-info-500: #5894F7;
    --palette-info-550: #196DF6;
    --palette-info-600: #0754D1;
    --palette-info-650: #0541A4;
    --palette-info-700: #033280;
    --palette-info-750: #022763;
    --palette-info-800: #021F4E;
    --palette-info-850: #011A42;
    --palette-info-900: #01183E;
    --palette-accent-100: #FDFAF6;
    --palette-accent-150: #FDF8F3;
    --palette-accent-200: #FBF3EA;
    --palette-accent-250: #F8E9DA;
    --palette-accent-300: #F3DCC3;
    --palette-accent-350: #EDCCA7;
    --palette-accent-400: #E5B784;
    --palette-accent-450: #DC9F5C;
    --palette-accent-500: #D0832E;
    --palette-accent-550: #A96A24;
    --palette-accent-600: #86541C;
    --palette-accent-650: #694115;
    --palette-accent-700: #503210;
    --palette-accent-750: #3D260C;
    --palette-accent-800: #2F1D09;
    --palette-accent-850: #271808;
    --palette-accent-900: #251707;
  }

  :root {
    --radius: 1rem;
    --radius-sm: calc(var(--radius) - 4px);
    --radius-md: calc(var(--radius) - 2px);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius) + 4px);
    --background: #ECEDEE;
    --foreground: #0A0A0B;
    --card: #ECEDEE;
    --card-foreground: #0A0A0B;
    --popover: #ECEDEE;
    --popover-foreground: #0A0A0B;
    --primary: var(--palette-brand-600);
    --primary-foreground: #FEF9F9;
    --secondary: var(--palette-neutral-200);
    --secondary-foreground: var(--palette-neutral-900);
    --muted: var(--palette-neutral-200);
    --muted-foreground: var(--palette-neutral-700);
    --accent: var(--palette-accent-500);
    --accent-foreground: var(--palette-neutral-900);
    --destructive: var(--palette-danger-600);
    --destructive-foreground: #FEF9F9;
    --border: var(--palette-neutral-200);
    --input: var(--palette-neutral-200);
    --ring: var(--palette-brand-600);
    --chart-1: var(--palette-brand-500);
    --chart-2: var(--palette-accent-500);
    --chart-3: var(--palette-info-500);
    --chart-4: var(--palette-success-500);
    --chart-5: var(--palette-warning-500);
    --sidebar: #ECEDEE;
    --sidebar-foreground: #0A0A0B;
    --sidebar-primary: var(--palette-brand-600);
    --sidebar-primary-foreground: #FEF9F9;
    --sidebar-accent: var(--palette-neutral-200);
    --sidebar-accent-foreground: #0A0A0B;
    --sidebar-border: var(--palette-neutral-200);
    --sidebar-ring: var(--palette-brand-600);
    --font-sans: "DM Sans", system-ui, sans-serif;
    --font-display: "DM Serif Display", system-ui, sans-serif;
    --font-mono: "DM Mono", ui-monospace, monospace;
    --text-hero: 350 4.625rem/4.625rem var(--font-display);
    --text-hero-tracking: -0.05em;
    --text-title: 400 2.0625rem/2.1875rem var(--font-sans);
    --text-title-transform: uppercase;
    --text-heading: 400 1.625rem/1.625rem var(--font-sans);
    --text-heading-tracking: -0.02em;
    --text-body: 400 1rem/1.5rem var(--font-sans);
    --text-caption: 400 1rem/1rem var(--font-sans);
    --text-caption-tracking: -0.01em;
    --text-label: 500 0.875rem/1.125rem var(--font-sans);
    --text-label-tracking: -0.02em;
    --text-overline: 600 0.75rem/1rem var(--font-sans);
    --text-overline-tracking: 0.08em;
    --text-overline-transform: uppercase;
    --shadow-xs: none;
    --shadow-sm: none;
    --shadow-md: none;
    --shadow-lg: none;
    --shadow-xl: none;
    --gradient-brand_wash: linear-gradient(135deg, #BC361B 0%, #EAC7A0 100%);
    --gradient-scrim_white: linear-gradient(to top, rgb(255, 255, 255) 0%, rgba(255, 255, 255) 44%);
    --gradient-scrim_beige: linear-gradient(rgba(249, 247, 243, 0) 0%, rgb(249, 247, 243) 44%);
  }

  .dark {
    --background: #0A0A0B;
    --foreground: #ECEDEE;
    --card: #212326;
    --card-foreground: #ECEDEE;
    --popover: #212326;
    --popover-foreground: #ECEDEE;
    --primary: var(--palette-brand-550);
    --primary-foreground: #0A0A0B;
    --secondary: var(--palette-neutral-800);
    --secondary-foreground: var(--palette-neutral-100);
    --muted: var(--palette-neutral-800);
    --muted-foreground: var(--palette-neutral-400);
    --accent: var(--palette-accent-500);
    --accent-foreground: var(--palette-neutral-900);
    --destructive: var(--palette-danger-500);
    --destructive-foreground: #0A0A0B;
    --border: var(--palette-neutral-700);
    --input: var(--palette-neutral-700);
    --ring: var(--palette-brand-550);
    --chart-1: var(--palette-brand-500);
    --chart-2: var(--palette-accent-500);
    --chart-3: var(--palette-info-500);
    --chart-4: var(--palette-success-500);
    --chart-5: var(--palette-warning-500);
    --sidebar: #212326;
    --sidebar-foreground: #ECEDEE;
    --sidebar-primary: var(--palette-brand-550);
    --sidebar-primary-foreground: #0A0A0B;
    --sidebar-accent: var(--palette-neutral-800);
    --sidebar-accent-foreground: #ECEDEE;
    --sidebar-border: var(--palette-neutral-700);
    --sidebar-ring: var(--palette-brand-550);
  }
}

@layer base {
  * { border-color: var(--border); }
  body { background-color: var(--background); color: var(--foreground); font-family: var(--font-sans); }
}

@layer components {
  .text-hero {
    font: var(--text-hero);
    letter-spacing: var(--text-hero-tracking);
  }
  .text-title {
    font: var(--text-title);
    text-transform: var(--text-title-transform);
  }
  .text-heading {
    font: var(--text-heading);
    letter-spacing: var(--text-heading-tracking);
  }
  .text-body {
    font: var(--text-body);
  }
  .text-caption {
    font: var(--text-caption);
    letter-spacing: var(--text-caption-tracking);
  }
  .text-label {
    font: var(--text-label);
    letter-spacing: var(--text-label-tracking);
  }
  .text-overline {
    font: var(--text-overline);
    letter-spacing: var(--text-overline-tracking);
    text-transform: var(--text-overline-transform);
  }
}