@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-latin-var.woff2") format("woff2")}


@font-face {
  font-family: "GT Flexa";
  src: url("../fonts/gt-flexa-light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
/* Map remaining display weights onto GT Flexa Light until heavier
   weights are licensed; the brand uses Light heavily anyway. */
@font-face {
  font-family: "GT Flexa";
  src: url("../fonts/gt-flexa-light.woff2") format("woff2");
  font-weight: 400 600;
  font-style: normal;
  font-display: swap;
}

:root {
  /* ────── Color · Neutrals ────── */
  --ds-ink:            #1D1D1B;   /* primary text, navbar, footer */
  --ds-ink-soft:       #34373E;   /* secondary text */
  --ds-ink-muted:      #444444;   /* tertiary text */
  --ds-ink-quiet:      #989898;   /* muted, captions */
  --ds-ink-faint:      #DCDCDC;   /* hairlines, borders, disabled */
  --ds-ink-deep:       #1B2947;   /* deep navy alt for dense data */

  --ds-bg:             #F6F6F6;   /* page background */
  --ds-bg-alt:         #EFEFEF;   /* secondary band */
  --ds-bg-cream:       #F7F4F3;   /* warm tinted band */
  --ds-surface:        #FFFFFF;   /* cards, modals */
  --ds-black:          #000000;
  --ds-white:          #FFFFFF;

  /* ────── Color · Brand ────── */
  --ds-coral:          #FF6666;   /* PRIMARY brand red */
  --ds-coral-light:    #FFA0A0;   /* secondary shape layer */
  --ds-coral-pale:     #FFE1E1;   /* pale chips, washes */
  --ds-coral-deep:     #BB0000;   /* pressed, dense */
  --ds-coral-wine:     #6F0000;   /* logo border accent */
  --ds-red-hot:        #FF0000;   /* alerts (rare) */

  /* ────── Color · Support tints (data viz / accents) ────── */
  --ds-teal-deep:      #00463D;
  --ds-green-near-black: #022016;
  --ds-blue:           #5484FF;
  --ds-mint:           #B2E5E2;
  --ds-mint-bright:    #70F5C6;
  --ds-lavender:       #D9CCEE;
  --ds-peach:          #FFCFB8;
  --ds-green-pale:     #EEFBEE;
  --ds-green-soft:     #C8FFC8;

  /* ────── Color · Semantic ────── */
  --ds-fg-1:           var(--ds-ink);
  --ds-fg-2:           var(--ds-ink-soft);
  --ds-fg-3:           var(--ds-ink-muted);
  --ds-fg-4:           var(--ds-ink-quiet);
  --ds-fg-on-coral:    var(--ds-white);
  --ds-fg-on-dark:     var(--ds-white);

  --ds-bg-page:        var(--ds-bg);
  --ds-bg-card:        var(--ds-surface);
  --ds-bg-inverse:     var(--ds-ink);

  --ds-border:         var(--ds-ink-faint);
  --ds-border-strong:  var(--ds-ink);

  --ds-accent:         var(--ds-coral);
  --ds-accent-hover:   var(--ds-coral-deep);
  --ds-accent-soft:    var(--ds-coral-pale);

  --ds-focus-ring:     0 0 0 4px rgba(255, 102, 102, 0.20);

  /* ────── Type · Families (GT Flexa shipped locally; body/mono via Google) ────── */
  --ds-font-display:   "GT Flexa", system-ui, sans-serif;
  --ds-font-body:      "Inter", "General Sans", system-ui, sans-serif;
  --ds-font-mono:      ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Consolas, monospace, ui-monospace, "SFMono-Regular", monospace;

  /* ────── Type · Sizes ────── */
  --ds-text-xs:        12px;
  --ds-text-sm:        14px;
  --ds-text-base:      16px;
  --ds-text-md:        18px;
  --ds-text-lg:        20px;
  --ds-text-xl:        24px;
  --ds-text-2xl:       32px;
  --ds-text-3xl:       40px;
  --ds-text-4xl:       54px;
  --ds-text-5xl:       60px;
  --ds-text-6xl:       78px;
  --ds-text-7xl:       96px;
  --ds-text-8xl:       112px;
  --ds-text-9xl:       150px;

  /* ────── Type · Line heights ────── */
  --ds-lh-tight:       1.0;
  --ds-lh-snug:        1.1;
  --ds-lh-display:     1.05;
  --ds-lh-base:        1.5;
  --ds-lh-loose:       1.65;

  /* ────── Type · Tracking ────── */
  --ds-tracking-tight: -0.02em;
  --ds-tracking-normal: 0;
  --ds-tracking-mono-eyebrow: 0.08em;

  /* ────── Spacing scale (8-pt) ────── */
  --ds-space-1:  4px;
  --ds-space-2:  8px;
  --ds-space-3:  12px;
  --ds-space-4:  16px;
  --ds-space-5:  24px;
  --ds-space-6:  32px;
  --ds-space-7:  48px;
  --ds-space-8:  64px;
  --ds-space-9:  96px;
  --ds-space-10: 120px;
  --ds-space-11: 160px;

  /* ────── Radii ────── */
  --ds-radius-0:    0px;
  --ds-radius-sm:   4px;
  --ds-radius-md:   6px;
  --ds-radius-lg:   8px;
  --ds-radius-xl:   12px;
  --ds-radius-2xl:  16px;
  --ds-radius-3xl:  24px;
  --ds-radius-pill: 9999px;
  /* "Stadium-top" arch: top-left & top-right round, bottom flat */
  --ds-radius-arch: 9999px 9999px 0 0;

  /* ────── Borders ────── */
  --ds-border-width: 1px;

  /* ────── Shadows ────── */
  --ds-shadow-none:  none;
  --ds-shadow-soft:  0 1px 0 rgba(29, 29, 27, 0.04),
                     0 4px 16px rgba(29, 29, 27, 0.04);
  --ds-shadow-card:  0 1px 0 rgba(29, 29, 27, 0.06);
  --ds-shadow-pill:  0 0 0 1px rgba(255, 255, 255, 0.25) inset;

  /* ────── Motion ────── */
  --ds-ease:           cubic-bezier(0.22, 0.61, 0.36, 1);
  --ds-ease-in-out:    cubic-bezier(0.65, 0, 0.35, 1);
  --ds-dur-micro:      120ms;
  --ds-dur-fast:       200ms;
  --ds-dur-base:       400ms;
  --ds-dur-slow:       600ms;
  --ds-dur-hero:       800ms;

  /* ────── Layout ────── */
  --ds-page-max:       1440px;
  --ds-page-pad-x:     64px;
  --ds-page-pad-mobile: 24px;
}

/* ────────────────────────────────────────────────────────────────
   Base reset / element defaults
   ──────────────────────────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--ds-font-body);
  font-size: var(--ds-text-md);
  line-height: var(--ds-lh-base);
  color: var(--ds-fg-1);
  background: var(--ds-bg-page);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* ────────────────────────────────────────────────────────────────
   Semantic type — drop-in element styles
   ──────────────────────────────────────────────────────────────── */

.ds-display,
h1.ds-h1 {
  font-family: var(--ds-font-display);
  font-weight: 300;
  font-size: clamp(54px, 8vw, var(--ds-text-8xl));
  line-height: var(--ds-lh-display);
  letter-spacing: var(--ds-tracking-tight);
  color: var(--ds-fg-1);
  margin: 0;
}

.ds-h1 {
  font-family: var(--ds-font-display);
  font-weight: 400;
  font-size: clamp(40px, 5.4vw, var(--ds-text-6xl));
  line-height: var(--ds-lh-display);
  letter-spacing: var(--ds-tracking-tight);
  color: var(--ds-fg-1);
  margin: 0;
}

.ds-h2 {
  font-family: var(--ds-font-display);
  font-weight: 400;
  font-size: clamp(32px, 4vw, var(--ds-text-5xl));
  line-height: var(--ds-lh-snug);
  letter-spacing: var(--ds-tracking-tight);
  color: var(--ds-fg-1);
  margin: 0;
}

.ds-h3 {
  font-family: var(--ds-font-display);
  font-weight: 400;
  font-size: clamp(24px, 2.4vw, var(--ds-text-3xl));
  line-height: var(--ds-lh-snug);
  color: var(--ds-fg-1);
  margin: 0;
}

.ds-h4 {
  font-family: var(--ds-font-display);
  font-weight: 500;
  font-size: var(--ds-text-xl);
  line-height: var(--ds-lh-snug);
  color: var(--ds-fg-1);
  margin: 0;
}

.ds-eyebrow {
  font-family: var(--ds-font-mono);
  font-weight: 400;
  font-size: var(--ds-text-xs);
  text-transform: uppercase;
  letter-spacing: var(--ds-tracking-mono-eyebrow);
  color: var(--ds-fg-2);
  margin: 0;
}

.ds-p,
p.ds-p {
  font-family: var(--ds-font-body);
  font-weight: 400;
  font-size: var(--ds-text-md);
  line-height: var(--ds-lh-loose);
  color: var(--ds-fg-2);
  margin: 0;
}

.ds-caption {
  font-family: var(--ds-font-body);
  font-size: var(--ds-text-sm);
  line-height: var(--ds-lh-base);
  color: var(--ds-fg-3);
  margin: 0;
}

.ds-mono {
  font-family: var(--ds-font-mono);
  font-size: var(--ds-text-sm);
  letter-spacing: 0.02em;
  color: var(--ds-fg-2);
}

.ds-number {
  font-family: var(--ds-font-display);
  font-weight: 500;
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: -0.01em;
  color: var(--ds-fg-1);
}

/* ────────────────────────────────────────────────────────────────
   Brand utility classes
   ──────────────────────────────────────────────────────────────── */

.ds-arch {
  border-radius: var(--ds-radius-arch);
  overflow: hidden;
}

.ds-pill {
  border-radius: var(--ds-radius-pill);
}

.ds-card {
  background: var(--ds-bg-card);
  border: var(--ds-border-width) solid var(--ds-border);
  border-radius: var(--ds-radius-xl);
  padding: var(--ds-space-5);
}

.ds-divider {
  height: 1px;
  background: var(--ds-border);
  border: 0;
}

::selection {
  background: var(--ds-coral);
  color: var(--ds-white);
}

.k-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;flex:1 1 420px;min-width:0}
.k-form .k-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.k-form .k-field.large{grid-column:1/-1}
.k-form label{font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:500;color:#1D1D1B}
.k-form input,.k-form textarea{font:inherit;font-family:Inter,system-ui,sans-serif;font-size:15px;color:#1D1D1B;background:#FFFFFF;border:1px solid #C9B7B7;border-radius:10px;padding:11px 12px;min-height:44px;box-sizing:border-box;width:100%}
.k-form textarea{resize:vertical;min-height:88px}
.k-form input:focus,.k-form textarea:focus{outline:2px solid #1D1D1B;outline-offset:1px;border-color:#1D1D1B}
.k-form [aria-invalid=true]{border-color:#BB0000}
.k-form .field__error{font-size:12.5px;color:#BB0000}
.k-form .k-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}
.k-form #form-status{font-family:Inter,system-ui,sans-serif;font-size:14px;margin:0;color:#34373E}
.k-form #form-status[data-state=success]{color:#14532D;font-weight:500}
.k-form #form-status[data-state=error]{color:#BB0000}
.k-form .k-mention{grid-column:1/-1;font-family:Inter,system-ui,sans-serif;font-size:12.5px;line-height:1.5;color:#444444;margin:0}
.k-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.k-legal{max-width:760px;margin:0 auto;padding:64px 24px 96px;box-sizing:border-box}
.k-legal h1{font-family:"GT Flexa",system-ui,sans-serif;font-weight:300;font-size:clamp(36px,5vw,56px);line-height:1.05;letter-spacing:-.02em;margin:0 0 12px}
.k-legal h2{font-family:"GT Flexa",system-ui,sans-serif;font-weight:400;font-size:24px;margin:36px 0 10px}
.k-legal p,.k-legal li{font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.7;color:#34373E;margin:0 0 10px}
@media (max-width:700px){.k-form{grid-template-columns:1fr}}
.k-btn{white-space:nowrap}
@media (max-width:1100px){.k-navlinks{display:none!important}}
