/**
 * Massage Olofström — Soft Spa tokens
 * Plus Jakarta Sans throughout. Surface inks, never pine on pastels.
 * Prefix --mo-
 */

@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/plus-jakarta-sans-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/plus-jakarta-sans-latin-400-italic.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/plus-jakarta-sans-latin-500-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/plus-jakarta-sans-latin-500-italic.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/plus-jakarta-sans-latin-600-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/plus-jakarta-sans-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --mo-jade: #3F9C8A;
  --mo-jade-deep: #2E7566;
  --mo-jade-tint: #D8EDE6;
  --mo-jade-ink: #2A6B5E;
  --mo-clay: #B86B4A;
  --mo-clay-deep: #8E4A32;
  --mo-clay-tint: #F3D9CB;
  --mo-ochre: #C9A04A;
  --mo-ochre-tint: #F3E4C2;
  --mo-ochre-ink: #5C4314;
  --mo-blush: #F0D8CC;
  --mo-blush-ink: #6B3328;
  --mo-pine: #2C241E;
  --mo-paper: #F3E6D8;
  --mo-paper-ink: #3A2C24;
  --mo-sand: #EFE0D0;
  --mo-white: #F3E6D8;
  --mo-body: #4A3D36;
  --mo-muted: #5C4A42;
  --mo-line: rgba(58, 44, 36, 0.14);
  --mo-line-soft: rgba(58, 44, 36, 0.08);
  --mo-glass: rgba(243, 230, 216, 0.72);
  --mo-overlay: rgba(44, 36, 30, 0.48);

  --mo-ink: var(--mo-paper-ink);
  --mo-accent: var(--mo-clay-deep);

  --mo-font-head: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mo-font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

  --mo-step--1: clamp(0.8125rem, 0.78rem + 0.15vw, 0.875rem);
  --mo-step-0:  clamp(0.975rem, 0.93rem + 0.22vw, 1.0625rem);
  --mo-step-1:  clamp(1.15rem, 1.05rem + 0.4vw, 1.35rem);
  --mo-step-2:  clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --mo-step-3:  clamp(1.5rem, 1.25rem + 1vw, 2rem);
  --mo-step-4:  clamp(1.9rem, 1.4rem + 1.8vw, 2.85rem);
  --mo-step-5:  clamp(2.5rem, 1.7rem + 2.8vw, 3.9rem);
  --mo-step-6:  clamp(3.2rem, 2rem + 7vw, 7rem);
  --mo-step-h2: clamp(2.4rem, 5vw, 4.4rem);
  --mo-step-h3: clamp(1.45rem, 2vw, 1.9rem);

  --mo-leading-tight: 1.08;
  --mo-leading-snug:  1.22;
  --mo-leading-body:  1.7;
  --mo-tracking-tight: -0.02em;
  --mo-tracking-wide:  0.16em;
  --mo-descender-pad: 0.08em;

  --mo-space-1:  0.25rem;
  --mo-space-2:  0.5rem;
  --mo-space-3:  0.75rem;
  --mo-space-4:  1rem;
  --mo-space-5:  1.25rem;
  --mo-space-6:  1.5rem;
  --mo-space-8:  2rem;
  --mo-space-10: 2.5rem;
  --mo-space-12: 3rem;
  --mo-space-16: 4rem;
  --mo-space-20: 5rem;

  --mo-section-y: clamp(5.5rem, 11vw, 10.5rem);
  --mo-container: 72rem;
  --mo-gutter: clamp(1.2rem, 4.5vw, 3.25rem);
  --mo-maxw-text: 62ch;

  --mo-radius-sm: 14px;
  --mo-radius-md: 16px;
  --mo-radius-lg: 32px;
  --mo-radius-xl: 48px;
  --mo-radius-pill: 999px;

  --mo-shadow-soft: 0 10px 32px -18px rgba(44, 36, 30, 0.22);
  --mo-shadow-card: 0 32px 80px -40px rgba(44, 36, 30, 0.28);
  --mo-shadow-nav:  0 10px 32px -18px rgba(44, 36, 30, 0.16);

  --mo-ease-breath: cubic-bezier(0.33, 0, 0.15, 1);
  --mo-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --mo-dur-fast: 0.28s;
  --mo-dur-base: 0.55s;
  --mo-dur-slow: 1.05s;

  --mo-header-h: 84px;
  --mo-z-nav: 100;
  --mo-z-float: 90;
  --mo-z-consent: 1080;
  --mo-z-modal: 1100;
  --mo-z-preloader: 2000;

  --mo-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='48' viewBox='0 0 180 48'%3E%3Cpath d='M0 28c22-14 32-14 45 0s28 14 45 0 28-14 45 0 28 14 45 0' fill='none' stroke='%233A2C24' stroke-width='1.25' stroke-opacity='.08'/%3E%3Cpath d='M0 36c22-10 32-10 45 0s28 10 45 0 28-10 45 0 28 10 45 0' fill='none' stroke='%233A2C24' stroke-width='1' stroke-opacity='.05'/%3E%3C/svg%3E");
}

@media (width < 900px) {
  :root { --mo-header-h: 68px; }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --mo-dur-fast: 0.01ms;
    --mo-dur-base: 0.01ms;
    --mo-dur-slow: 0.01ms;
  }
}
