.elementor-kit-5{--e-global-color-primary:#CAB298;--e-global-color-secondary:#756F65;--e-global-color-text:#24231F;--e-global-color-accent:#34312B;--e-global-color-2d72d3f:#C9C1B4;--e-global-color-322f3d1:#F2EEE6;--e-global-typography-primary-font-family:"Instrument Serif";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Noto Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"IBM Plex Serif";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --font-body:IBM Plex Serif; --font-heading:Instrument Serif; --font-mono:JetBrains Mono; --text-xs:clamp(0.75rem, 0.72rem + 0.15vw, 0.875rem); --text-sm:clamp(0.875rem, 0.84rem + 0.18vw, 1rem); --text-base:clamp(1rem, 0.96rem + 0.2vw, 1.125rem); --text-lg:clamp(1.125rem, 1.06rem + 0.35vw, 1.375rem); --text-xl:clamp(1.375rem, 1.22rem + 0.75vw, 1.875rem); --text-2xl:clamp(1.75rem, 1.4rem + 1.4vw, 2.75rem); --text-3xl:clamp(2.25rem, 1.7rem + 2.4vw, 4rem); --text-4xl:clamp(2.75rem, 1.9rem + 3.8vw, 5.5rem); --color-1:#2563EB; --color-2:#1D4ED8; --color-accent:#F97316; --font-eyebrow:Noto Sans; --color-text:#172033; --color-text-muted:#5F6B7A; --color-heading:#0F172A; --color-border:#D9E1EA; --color-surface:#ffffff; --color-surface-muted:#F5F7FA; --color-page:#FAFBFC; --color-dark:#111827; --color-on-dark:#F8FAFC; --color-success:#15803D; --color-error:#B91C1C; --container-narrow:720px; --container-default:1200px; --container-wide:1440px; --content-max:65ch; --section-space-sm:clamp(3rem, 2rem + 4vw, 5rem); --section-space-md:clamp(4rem, 2.5rem + 6vw, 7rem); --section-space-lg:clamp(5rem, 3rem + 9vw, 10rem); --color-3:#ffffff; --skills-number:#c9c1b4; --background-cream:#CAB298; --color-4:#F2EEE6; }
/* Start custom CSS */:root {
  /* Typography 
  --font-body: "IBM Plex Sans", Arial, sans-serif;
  --font-heading: "Instrument Serif", Georgia, serif;
  --font-mono: "IBM Plex Mono", Consolas, monospace;
*/

  --text-xs: clamp(.75rem, .72rem + .15vw, .875rem);
  --text-sm: clamp(.875rem, .84rem + .18vw, 1rem);
  --text-base: clamp(1rem, .96rem + .2vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1.06rem + .35vw, 1.375rem);
  --text-xl: clamp(1.375rem, 1.22rem + .75vw, 1.875rem);
  --text-2xl: clamp(1.75rem, 1.4rem + 1.4vw, 2.75rem);
  --text-3xl: clamp(2.25rem, 1.7rem + 2.4vw, 4rem);
  --text-4xl: clamp(2.75rem, 1.9rem + 3.8vw, 5.5rem);

  /* Colors */
  --color-primary: #2563EB;
  --color-primary-hover: #1D4ED8;
  --color-accent: #F97316;
  --color-text: #172033;
  --color-text-muted: #5F6B7A;
  --color-heading: #0F172A;
  --color-border: #D9E1EA;
  --color-surface: #FFFFFF;
  --color-surface-muted: #F5F7FA;
  --color-page: #FAFBFC;
  --color-dark: #111827;
  --color-on-dark: #F8FAFC;

  /* Layout */
  --container-default: 1200px;
  --container-wide: 1440px;
  --content-max: 65ch;
  --section-space-md: clamp(4rem, 2.5rem + 6vw, 7rem);
  --section-space-lg: clamp(5rem, 3rem + 9vw, 10rem);
  --gutter: clamp(1rem, .6rem + 2vw, 2rem);

  /* UI */
  --button-height-md: 3rem;
  --button-padding-x-md: 1.25rem;
  --button-text-md: 1rem;
  --radius-md: .625rem;
  --radius-lg: 1rem;
  --shadow-md: 0 8px 24px rgb(15 23 42 / .10);
}

body {
  margin: 0;
  background: var(--color-page);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--text-base);
}

h1, h2, h3 {
  margin-top: 0;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-weight: 700;
  letter-spacing: -.04em;
}

h1 { font-size: var(--text-4xl); line-height: .95; }
h2 { font-size: var(--text-3xl); line-height: 1; }
h3 { font-size: var(--text-2xl); line-height: 1.1; }

.eyebrow,
.project-type,
.case-note {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: .08em;
  line-height: 1.5;
  text-transform: uppercase;
}

.nav {
  max-width: var(--container-wide);
  min-height: 84px;
  margin: auto;
  padding: 0 var(--gutter);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--color-border);
}

.nav-links {
  display: flex;
  gap: clamp(1rem, 2vw, 2.75rem);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.nav-links a {
  color: var(--color-text);
  text-decoration: none;
}

.nav-links a:hover,
.nav-links .active {
  color: var(--color-primary);
  border-bottom: 2px solid var(--color-primary);
}

.section {
  max-width: var(--container-default);
  margin: auto;
  padding: var(--section-space-md) var(--gutter);
  border-top: 1px solid var(--color-border);
}

.body-copy {
  max-width: var(--content-max);
  color: var(--color-text-muted);
  font-size: var(--text-lg);
  line-height: 1.65;
}

.dark-section {
  background: var(--color-dark);
  color: var(--color-on-dark);
  padding: var(--section-space-lg) var(--gutter);
}

.dark-section h1,
.dark-section h2,
.dark-section h3 {
  color: var(--color-on-dark);
}

.button {
  min-height: var(--button-height-md);
  padding: 0 var(--button-padding-x-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--radius-md);
  background: var(--color-primary);
  color: #fff;
  font-family: var(--font-body);
  font-size: var(--button-text-md);
  font-weight: 600;
  text-decoration: none;
}

.button:hover {
  background: var(--color-primary-hover);
}

.card {
  padding: clamp(1.25rem, 1rem + 1vw, 2rem);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.muted-section {
  background: var(--color-surface-muted);
}/* End custom CSS */