/* WIT design tokens, ported from the design handoff. */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:200;font-display:swap;src:url(../fonts/montserrat-latin-200-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:200;font-display:swap;src:url(../fonts/montserrat-latin-ext-200-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/montserrat-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/montserrat-latin-ext-300-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/montserrat-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+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/montserrat-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-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+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-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+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-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+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-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+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/manrope-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/manrope-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/archivo-latin-900-normal.woff2) format('woff2')}
@font-face{font-family:'Syne';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/syne-latin-600-normal.woff2) format('woff2')}

:root {
  /* ---- Base neutrals: white first ---- */
  --wit-white: #FFFFFF;        /* the whitest white: the canvas */
  --wit-paper: #FFFFFF;        /* default page background */
  --wit-mist:  #F5F6F8;        /* subtle raised surface */
  --wit-cloud: #ECEEF2;        /* deeper surface / hover fill */
  --wit-line:  #E4E6EC;        /* hairline borders */
  --wit-line-strong: #D3D6DE;

  /* ---- Ink ---- */
  --wit-ink:        #0B0B0C;   /* near-black, the wordmark ink */
  --wit-ink-soft:   #26282D;   /* body on white */
  --wit-ink-muted:  #6A6E77;   /* secondary / captions */
  --wit-ink-faint:  #9AA0A9;   /* disabled / placeholder */

  /* ---- Spray accents  ---- */
  --wit-cyan:   #14C4E3;       /* aqua / sky */
  --wit-violet: #7A3FF2;       /* electric purple */
  --wit-pink:   #FF2E8B;       /* hot magenta */
  --wit-coral:  #FF5A3C;       /* warm coral-red */
  --wit-lime:   #CDF73A;       /* neon chartreuse: the sharp accent */

  /* tinted washes for large fills / chip backgrounds */
  --wit-cyan-wash:   #E1F8FC;
  --wit-violet-wash: #ECE4FE;
  --wit-pink-wash:   #FFE3F0;
  --wit-coral-wash:  #FFE7E1;
  --wit-lime-wash:   #F6FDD5;

  /* text-safe deep tints: use for coloured text and links under 24px */
  --wit-cyan-deep:   #07697A;
  --wit-violet-deep: #5B27C4;
  --wit-pink-deep:   #C4166A;
  --wit-coral-deep:  #B8331B;
  --wit-lime-deep:   #5A6B00;

  /* ---- Signature gradients (the "spray") ---- */
  --wit-spray:      linear-gradient(100deg, #14C4E3 0%, #7A3FF2 48%, #FF2E8B 100%); /* @kind other */
  --wit-spray-full: linear-gradient(105deg, #14C4E3 0%, #7A3FF2 38%, #FF2E8B 70%, #FF5A3C 100%); /* @kind other */
  --wit-spray-soft: linear-gradient(120deg, #E1F8FC 0%, #ECE4FE 50%, #FFE3F0 100%); /* @kind other */

  /* ---- Semantic aliases ---- */
  --bg-page:       var(--wit-paper);
  --bg-surface:    var(--wit-white);
  --bg-raised:     var(--wit-mist);
  --bg-sunken:     var(--wit-cloud);

  --text-strong:   var(--wit-ink);
  --text-body:     var(--wit-ink-soft);
  --text-muted:    var(--wit-ink-muted);
  --text-faint:    var(--wit-ink-faint);
  --text-onaccent: var(--wit-white);

  --border-hair:   var(--wit-line);
  --border-strong: var(--wit-line-strong);

  --accent:            var(--wit-pink);   /* primary interactive accent */
  --accent-secondary:  var(--wit-cyan);
  --accent-tertiary:   var(--wit-violet);
  --accent-pop:        var(--wit-lime);   /* high-energy highlight */

  --focus-ring: var(--wit-violet);

  /* status: kept on-brand, borrowed from the spray */
  --status-info:    var(--wit-cyan);
  --status-success: #22B27A;
  --status-warning: var(--wit-coral);
  --status-danger:  #E11D48;
}
:root {
  --font-display: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body:    'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;

  /* Display weights lean thin: the wordmark is a hairline geometric sans */
  --fw-hair: 100;     /* @kind font */
  --fw-thin: 200;     /* @kind font */
  --fw-light: 300;    /* @kind font */
  --fw-regular: 400;  /* @kind font */
  --fw-medium: 500;   /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold: 700;     /* @kind font */
  --fw-black: 800;    /* @kind font */

  /* Type scale (px). Display uses tight tracking; body relaxed. */
  --fs-display: 92px;   --lh-display: 0.98; /* @kind other */ --ls-display: -0.03em; /* @kind other */
  --fs-h1: 60px;        --lh-h1: 1.02;      /* @kind other */ --ls-h1: -0.02em;      /* @kind other */
  --fs-h2: 42px;        --lh-h2: 1.06;      /* @kind other */ --ls-h2: -0.015em;     /* @kind other */
  --fs-h3: 30px;        --lh-h3: 1.12;      /* @kind other */ --ls-h3: -0.01em;      /* @kind other */
  --fs-h4: 22px;        --lh-h4: 1.2;       /* @kind other */ --ls-h4: -0.005em;     /* @kind other */
  --fs-lead: 20px;      --lh-lead: 1.5;     /* @kind other */
  --fs-body: 17px;      --lh-body: 1.6;     /* @kind other */
  --fs-small: 15px;     --lh-small: 1.5;    /* @kind other */
  --fs-caption: 13px;   --lh-caption: 1.45; /* @kind other */
  --fs-overline: 12px;  --lh-overline: 1.3; /* @kind other */ --ls-overline: 0.16em; /* @kind other */

  /* semantic */
  --text-display-font: var(--font-display);
  --text-heading-font: var(--font-display);
  --text-body-font: var(--font-body);
}
:root {
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;

  /* Corner radii: the brand favours crisp, lightly-rounded forms.
     Sharp chevrons/arrows are square; UI surfaces are gently rounded. */
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 28px;
  --radius-pill: 999px;

  /* Layout */
  --container-max: 1200px;
  --container-wide: 1440px;
  --gutter: 24px;
  --section-y: 96px;
}
:root {
  --shadow-xs: 0 1px 2px rgba(11,11,12,0.05);
  --shadow-sm: 0 2px 6px rgba(11,11,12,0.06);
  --shadow-md: 0 8px 24px rgba(11,11,12,0.08);
  --shadow-lg: 0 20px 48px rgba(11,11,12,0.10);
  /* coloured glow: used sparingly on hero/CTA moments */
  --shadow-pink:   0 12px 34px rgba(255,46,139,0.28);
  --shadow-cyan:   0 12px 34px rgba(20,196,227,0.26);
  --shadow-violet: 0 12px 34px rgba(122,63,242,0.26);

  --border-width: 1px;
  --border-width-bold: 2px;

  /* Motion: quick, confident, a hint of spring. No slow fades. */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);      /* @kind other */
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* @kind other */
  --ease-inout: cubic-bezier(0.65, 0, 0.35, 1);    /* @kind other */
  --dur-fast: 120ms; /* @kind other */
  --dur-base: 200ms; /* @kind other */
  --dur-slow: 360ms; /* @kind other */

  --focus-ring-width: 3px;
  --focus-ring-offset: 2px;
}
