/* Tidewell design system for Tailwind CSS v4. Load the fonts: <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600&display=swap"> */
@import "tailwindcss";

@custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *, .dark, .dark *));

:root {
  --background:            #fdd4bd;
  --foreground:            #15171c;
  --body:                  #685b56;
  --surface:               #fee6d9;
  --surface-foreground:    #15171c;
  --muted:                 #f3ccb5;
  --muted-foreground:      #685b56;
  --border:                #ffffffbf;
  --border-strong:         #15171c47;
  --input:                 #ffffff8c;
  --input-background:      #fef0e7;
  --ring:                  #5a82b3;
  --primary:               #15171c;
  --primary-foreground:    #ffffff;
  --secondary:             #eb5324;
  --secondary-foreground:  #15171c;
  --accent:                #eb5324;
  --accent-foreground:     #15171c;
  --inverse:               #15171c;
  --inverse-foreground:    #fdd4bd;
  --inverse-muted:         #a58c80;
  --inverse-border:        #fdd4bd29;
  --destructive:           #eb5324;
  --destructive-foreground: #111111;
}
[data-theme="dark"], .dark {
  --background:            #15171c;
  --foreground:            #ffffff;
  --body:                  #afb0b2;
  --surface:               #212327;
  --surface-foreground:    #ffffff;
  --muted:                 #2b2b2b;
  --muted-foreground:      #afb0b2;
  --border:                #ffffff38;
  --border-strong:         #ffffff47;
  --input:                 #ffffff1f;
  --input-background:      #212327;
  --ring:                  #5a82b3;
  --primary:               #fdd4bd;
  --primary-foreground:    #15171c;
  --secondary:             #eb5324;
  --secondary-foreground:  #15171c;
  --accent:                #fdd4bd;
  --accent-foreground:     #15171c;
  --inverse:               #ffffff;
  --inverse-foreground:    #15171c;
  --inverse-muted:         #6e6f72;
  --inverse-border:        #15171c29;
  --destructive:           #ed683e;
  --destructive-foreground: #111111;
}

@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-jasper-red:            #eb5324;
  --color-seashell-pink:         #fdd4bd;
  --color-olympic-blue:          #5a82b3;
  --font-display:                Onest, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body:                   Onest, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --text-display:                clamp(48px, 7.2vw, 110px);
  --text-display--line-height:   0.96;
  --text-display--letter-spacing: -0.052em;
  --text-display--font-weight:   600;
  --text-h1:                     clamp(42px, 5.6vw, 84px);
  --text-h1--line-height:        0.98;
  --text-h1--letter-spacing:     -0.045em;
  --text-h1--font-weight:        600;
  --text-h2:                     clamp(36px, 4.6vw, 66px);
  --text-h2--line-height:        1;
  --text-h2--letter-spacing:     -0.045em;
  --text-h2--font-weight:        600;
  --text-h3:                     clamp(17px, 1.4vw, 20px);
  --text-h3--line-height:        1.55;
  --text-h3--letter-spacing:     -0.02em;
  --text-h3--font-weight:        600;
  --text-lead:                   clamp(17px, 1.4vw, 20px);
  --text-lead--line-height:      1.5;
  --text-lead--letter-spacing:   0em;
  --text-lead--font-weight:      400;
  --text-body:                   16.5px;
  --text-body--line-height:      1.55;
  --text-body--letter-spacing:   0em;
  --text-body--font-weight:      400;
  --text-small:                  13.5px;
  --text-small--line-height:     1.55;
  --text-small--letter-spacing:  0em;
  --text-small--font-weight:     400;
  --text-eyebrow:                12.5px;
  --text-eyebrow--line-height:   1.55;
  --text-eyebrow--letter-spacing: 0em;
  --text-eyebrow--font-weight:   600;
  --spacing:                     0.25rem;
  --container-page:              1240px;
  --radius-sm:                   14px;
  --radius-md:                   32px;
  --radius-lg:                   clamp(28px, 3vw, 44px);
  --radius-pill:                 9999px;
  --shadow-sm:                   rgba(21, 23, 28, 0.5) 0px 6px 16px -10px, rgba(255, 255, 255, 0.75) 0px 1px 0px 0px inset;
  --shadow-md:                   rgb(235, 83, 36) 0px 10px 22px -12px;
  --shadow-lg:                   rgba(21, 23, 28, 0.6) 0px 20px 40px -14px;
  --shadow-ring:                 rgba(255, 255, 255, 0.75) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.4) 0px 0px 0px 1px inset, rgba(21, 23, 28, 0.3) 0px 30px 60px -30px;
  --ease-out:                    cubic-bezier(.22, .8, .2, 1);
  --ease-in-out:                 cubic-bezier(.76, 0, .24, 1);
  --breakpoint-sm:               760px;
  --breakpoint-md:               900px;
  --breakpoint-lg:               960px;
  --breakpoint-xl:               1080px;
}

@utility container-page { max-width: var(--container-page); margin-inline: auto; padding-inline: clamp(16px, 3vw, 40px); }
@utility section-y { padding-block: clamp(88px, 10vw, 150px); }
@utility duration-base { transition-duration: 500ms; }

@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); }
}
