/* Luma Strategy design tokens — generated from design_handoff_luma_homepage/tokens */
/* Google Fonts substitutes (latin subset), self-hosted. No brand font files were supplied.
   Outfit ≈ thin wide geometric caps of the wordmark. */
@font-face{font-family:'DM Sans';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/DMSans-400-italic.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/DMSans-400-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/DMSans-500-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/DMSans-600-normal.woff2') format('woff2');}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/InstrumentSerif-400-italic.woff2') format('woff2');}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/InstrumentSerif-400-normal.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/JetBrainsMono-400-normal.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/JetBrainsMono-500-normal.woff2') format('woff2');}
@font-face{font-family:'Outfit';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/Outfit-300-normal.woff2') format('woff2');}
@font-face{font-family:'Outfit';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/Outfit-400-normal.woff2') format('woff2');}
@font-face{font-family:'Outfit';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/Outfit-500-normal.woff2') format('woff2');}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/Outfit-600-normal.woff2') format('woff2');}
/* Luma Strategy — Brand Color System (source: Luma_Strategy_Brand_Color_System.pdf)
   Mix: Neutrals ~60%, Teal family ~30%, Raspberry + Gold accents ~10%. */
:root{
/* Primary brand */
--luma-raspberry:#D8466B;
--luma-gold:#F6BE55;
--luma-teal:#52BCB8;
/* Complementary & depth */
--luma-wine:#8F2D47;
--luma-burnished-gold:#C9973A;
--luma-ocean:#1F7F7B;
--luma-dusty-rose:#E6A3B3;
--luma-sand:#EAD7A8;
--luma-seafoam:#A9DCD8;
/* Structural neutrals */
--luma-charcoal:#2A2E33;
--luma-blue-black:#12181C;
--luma-porcelain:#F7F4F1;
--luma-stone:#EEE9E2;
--luma-white:#FFFFFF;
/* Derived neutral steps (mixes of charcoal into porcelain) */
--luma-stone-2:#E2DCD3;
--luma-ink-60:#5A5F64;
--luma-ink-45:#7C8084;

/* Semantic — text */
--fg-1:var(--luma-blue-black);
--fg-2:var(--luma-charcoal);
--fg-3:var(--luma-ink-60);
--fg-muted:var(--luma-ink-45);
--fg-on-dark:var(--luma-porcelain);
--fg-on-dark-2:#B9BDC0;
--fg-accent:var(--luma-ocean);
--fg-link:var(--luma-ocean);
--fg-link-hover:var(--luma-wine);

/* Semantic — surfaces */
--surface-page:var(--luma-porcelain);
--surface-card:var(--luma-white);
--surface-sunken:var(--luma-stone);
--surface-dark:var(--luma-blue-black);
--surface-dark-2:var(--luma-charcoal);
--surface-teal:var(--luma-ocean);
--surface-teal-soft:var(--luma-seafoam);
--surface-rose-soft:var(--luma-dusty-rose);
--surface-sand-soft:var(--luma-sand);

/* Semantic — borders */
--border-subtle:var(--luma-stone-2);
--border-strong:var(--luma-charcoal);
--border-on-dark:rgba(247,244,241,.16);
--focus-ring:var(--luma-teal);

/* Semantic — actions */
--action-primary:var(--luma-ocean);
--action-primary-hover:#196A67;
--action-primary-press:#145654;
--action-accent:var(--luma-raspberry);
--action-accent-hover:#C23A5E;
--action-accent-press:var(--luma-wine);

/* Semantic — status (mapped onto brand hues) */
--status-success:var(--luma-ocean);
--status-success-bg:#DDF1EF;
--status-warning:var(--luma-burnished-gold);
--status-warning-bg:#FBF0D8;
--status-danger:var(--luma-wine);
--status-danger-bg:#F7E1E7;
--status-info:var(--luma-charcoal);
--status-info-bg:var(--luma-stone);
}
:root{
--font-display:'Outfit','Helvetica Neue',Arial,sans-serif;
--font-body:'DM Sans','Helvetica Neue',Arial,sans-serif;
--font-serif-accent:'Instrument Serif',Georgia,serif;
--font-mono:'JetBrains Mono',ui-monospace,Menlo,monospace;

--weight-light:300;
--weight-regular:400;
--weight-medium:500;
--weight-semibold:600;

/* Type scale (px) */
--text-display-xl:88px;
--text-display-l:64px;
--text-h1:48px;
--text-h2:36px;
--text-h3:26px;
--text-h4:20px;
--text-body-l:19px;
--text-body:16px;
--text-body-s:14px;
--text-caption:12px;
--text-eyebrow:12px;

--leading-tight:1.04;
--leading-snug:1.18;
--leading-body:1.58;
--tracking-display:-0.025em;
--tracking-heading:-0.01em;
--tracking-eyebrow:0.18em;
--tracking-wordmark:0.08em;

/* Semantic roles */
--type-display:var(--weight-light) var(--text-display-l)/var(--leading-tight) var(--font-display);
--type-heading:var(--weight-regular) var(--text-h2)/var(--leading-snug) var(--font-display);
--type-body:var(--weight-regular) var(--text-body)/var(--leading-body) var(--font-body);
--type-caption:var(--weight-regular) var(--text-caption)/1.4 var(--font-body);
}
:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;
--container-max:1200px;
--gutter:24px;
--section-y:var(--space-9);
}
:root{
/* Radii — echo the softened corners of the logo's linked diamonds */
--radius-xs:4px;
--radius-sm:8px;
--radius-md:14px;
--radius-lg:22px;
--radius-xl:32px;
--radius-pill:999px;

/* Borders */
--border-w:1px;
--border-w-strong:2px;

/* Shadows — warm-tinted from blue-black, low and soft */
--shadow-1:0 1px 2px rgba(18,24,28,.06),0 1px 1px rgba(18,24,28,.04);
--shadow-2:0 6px 18px -6px rgba(18,24,28,.14),0 2px 4px rgba(18,24,28,.05);
--shadow-3:0 22px 48px -18px rgba(18,24,28,.28),0 4px 10px rgba(18,24,28,.06);
--shadow-focus:0 0 0 3px rgba(82,188,184,.45);

/* Motion */
--ease-out:cubic-bezier(.2,.8,.2,1); /* @kind other */
--ease-in-out:cubic-bezier(.65,0,.35,1); /* @kind other */
--dur-fast:120ms; /* @kind other */
--dur-base:220ms; /* @kind other */
--dur-slow:480ms; /* @kind other */
}
