/* Nijimi design system for Tailwind CSS v4. Load the fonts: <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500&family=Zen+Kaku+Gothic+New:wght@400;500&display=swap"> */
@import "tailwindcss";

@custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *, .dark, .dark *));

:root {
  --background:            #f3f2ee;
  --foreground:            #051230;
  --body:                  #66676a;
  --surface:               #fbfbf9;
  --surface-foreground:    #051230;
  --muted:                 #eeede9;
  --muted-foreground:      #66676a;
  --border:                #0810311f;
  --border-strong:         #05123238;
  --input:                 #0810311f;
  --input-background:      #fbfbf9;
  --ring:                  #762c19;
  --primary:               #051230;
  --primary-foreground:    #f3f2ee;
  --secondary:             #762c19;
  --secondary-foreground:  #ffffff;
  --accent:                #051230;
  --accent-foreground:     #f3f2ee;
  --inverse:               #66676a;
  --inverse-foreground:    #f3f2ee;
  --inverse-muted:         #bdbdbc;
  --inverse-border:        #f3f2ee29;
  --destructive:           #762c19;
  --destructive-foreground: #ffffff;
}
[data-theme="dark"], .dark {
  --background:            #051230;
  --foreground:            #f3f2ee;
  --body:                  #a6a7aa;
  --surface:               #111d39;
  --surface-foreground:    #f3f2ee;
  --muted:                 #0e1b37;
  --muted-foreground:      #a6a7aa;
  --border:                #f0f0f021;
  --border-strong:         #f2f2ee3d;
  --input:                 #f0f0f021;
  --input-background:      #111d39;
  --ring:                  #762c19;
  --primary:               #f3f2ee;
  --primary-foreground:    #051230;
  --secondary:             #762c19;
  --secondary-foreground:  #ffffff;
  --accent:                #762c19;
  --accent-foreground:     #ffffff;
  --inverse:               #f3f2ee;
  --inverse-foreground:    #051230;
  --inverse-muted:         #5f6778;
  --inverse-border:        #05123029;
  --destructive:           #864535;
  --destructive-foreground: #ffffff;
}

@theme inline {
  --color-background:            var(--background);
  --color-foreground:            var(--foreground);
  --color-body:                  var(--body);
  --color-surface:               var(--surface);
  --color-surface-foreground:    var(--surface-foreground);
  --color-muted:                 var(--muted);
  --color-muted-foreground:      var(--muted-foreground);
  --color-border:                var(--border);
  --color-border-strong:         var(--border-strong);
  --color-input:                 var(--input);
  --color-input-background:      var(--input-background);
  --color-ring:                  var(--ring);
  --color-primary:               var(--primary);
  --color-primary-foreground:    var(--primary-foreground);
  --color-secondary:             var(--secondary);
  --color-secondary-foreground:  var(--secondary-foreground);
  --color-accent:                var(--accent);
  --color-accent-foreground:     var(--accent-foreground);
  --color-inverse:               var(--inverse);
  --color-inverse-foreground:    var(--inverse-foreground);
  --color-inverse-muted:         var(--inverse-muted);
  --color-inverse-border:        var(--inverse-border);
  --color-destructive:           var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);
}

@theme {
  --color-madder-brown:          #762c19;
  --color-deep-indigo:           #051230;
  --font-display:                "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", ui-serif, Georgia, serif;
  --font-body:                   "Zen Kaku Gothic New", "Hiragino Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --text-display:                clamp(42px, 5.6vw, 92px);
  --text-display--line-height:   1.08;
  --text-display--letter-spacing: -0.025em;
  --text-display--font-weight:   500;
  --text-h2:                     clamp(30px, 3.2vw, 50px);
  --text-h2--line-height:        1.16;
  --text-h2--letter-spacing:     -0.01em;
  --text-h2--font-weight:        500;
  --text-h3:                     clamp(22px, 1.9vw, 30px);
  --text-h3--line-height:        1.3;
  --text-h3--letter-spacing:     -0.01em;
  --text-h3--font-weight:        500;
  --text-lead:                   clamp(17px, 1.3vw, 20px);
  --text-lead--line-height:      1.75;
  --text-lead--letter-spacing:   0.009em;
  --text-lead--font-weight:      400;
  --text-body:                   16px;
  --text-body--line-height:      1.75;
  --text-body--letter-spacing:   0.01em;
  --text-body--font-weight:      400;
  --text-small:                  14px;
  --text-small--line-height:     1.75;
  --text-small--letter-spacing:  0.011em;
  --text-small--font-weight:     400;
  --text-eyebrow:                12.5px;
  --text-eyebrow--line-height:   1.75;
  --text-eyebrow--letter-spacing: 0.14em;
  --text-eyebrow--font-weight:   500;
  --spacing:                     0.25rem;
  --container-page:              1600px;
  --radius-sm:                   2px;
  --radius-md:                   3px;
  --radius-lg:                   3px;
  --shadow-ring:                 rgba(5, 18, 48, 0.22) 0px 0px 0px 1px inset;
  --ease-in-out:                 cubic-bezier(.65, 0, .35, 1);
  --ease-out:                    cubic-bezier(.22, .61, .36, 1);
  --breakpoint-sm:               560px;
  --breakpoint-md:               900px;
  --breakpoint-lg:               960px;
  --breakpoint-xl:               1100px;
}

@utility container-page { max-width: var(--container-page); margin-inline: auto; padding-inline: clamp(20px, 5.2vw, 96px); }
@utility section-y { padding-block: clamp(96px, 11vw, 184px); }
@utility duration-base { transition-duration: 900ms; }

@layer base {
  body { background: var(--color-background); color: var(--color-body); font-family: var(--font-body); }
  h1, h2, h3, h4 { font-family: var(--font-display); color: var(--color-foreground); }
}
