/* ============================================================
   COLORS — Alejandro Macias Law
   Longhorn Orange signature accent + warm charcoal ink + warm neutrals
   ============================================================ */

:root {
  /* --- Brand: Longhorn Orange --------------------------------- */
  --orange-50:  #FDF4EC;
  --orange-100: #FAE3CE;
  --orange-200: #F1C195;
  --orange-300: #E59C5A;
  --orange-400: #D67A28;
  --orange-500: #BF5700; /* signature primary */
  --orange-600: #A24800;
  --orange-700: #7F3900;
  --orange-800: #5C2A00;
  --orange-900: #3D1C00;

  /* --- Ink: Warm charcoal ------------------------------------- */
  --ink-50:  #F4F1ED;
  --ink-100: #E4DFD8;
  --ink-200: #C5BDB2;
  --ink-300: #9C9388;
  --ink-400: #71685D;
  --ink-500: #524A42;
  --ink-600: #3B342D;
  --ink-700: #2A2520; /* raised dark surface / inset box */
  --ink-800: #1E1A16; /* primary dark surface */
  --ink-900: #14110E; /* deepest (footer) */

  /* --- Warm neutrals ------------------------------------------ */
  --white:      #FFFFFF;
  --warm-white: #FAF7F2; /* default page background */
  --neutral-50:  #F4F0E9;
  --neutral-100: #EBE6DC;
  --neutral-200: #DBD3C5;
  --neutral-300: #C3B9A8;
  --neutral-400: #A19785;
  --neutral-500: #7C7363;
  --neutral-600: #5B5448;
  --neutral-700: #423D33;
  --neutral-800: #2A2620;
  --neutral-900: #1A1813;

  /* --- Semantic (muted, professional) ------------------------- */
  --success-500: #2E7D52;
  --success-50:  #E8F2EC;
  --warning-500: #C58A1A;
  --warning-50:  #FAF1DD;
  --danger-500:  #B23B2E;
  --danger-50:   #F8E8E6;
  --info-500:    #2F6DA3;
  --info-50:     #E7EFF6;

  /* ============================================================
     SEMANTIC ALIASES
     ============================================================ */

  /* Brand */
  --brand:           var(--orange-500);
  --brand-hover:     var(--orange-600);
  --brand-active:    var(--orange-700);
  --brand-subtle:    var(--orange-50);
  --brand-contrast:  var(--white);

  /* Surfaces */
  --surface-page:     var(--warm-white);
  --surface-card:     var(--white);
  --surface-raised:   var(--white);
  --surface-sunken:   var(--neutral-50);
  --surface-inverse:  var(--ink-800);
  --surface-inverse-deep: var(--ink-900);

  /* Text */
  --text-strong:    var(--ink-800);
  --text-body:      var(--neutral-700);
  --text-muted:     var(--neutral-500);
  --text-subtle:    var(--neutral-400);
  --text-inverse:   var(--warm-white);
  --text-inverse-muted: var(--ink-300);
  --text-brand:     var(--orange-600);
  --text-on-brand:  var(--white);

  /* Borders & lines */
  --border-subtle:  var(--neutral-200);
  --border-default: var(--neutral-300);
  --border-strong:  var(--neutral-400);
  --border-brand:   var(--orange-500);
  --border-inverse: var(--ink-600);

  /* Focus ring */
  --focus-ring: var(--orange-400);
}

/* ============================================================
   TYPOGRAPHY — Alejandro Macias Law
   Source Serif 4 (authoritative display) + Public Sans (accessible body)
   ============================================================ */

:root {
  /* --- Families ------------------------------------------------ */
  --font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-sans:  "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:  "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;

  /* Roles */
  --font-display: var(--font-serif); /* headings, hero, big numbers */
  --font-body:    var(--font-sans);  /* paragraphs, UI, labels */
  --font-eyebrow: var(--font-sans);  /* uppercase kickers */

  /* --- Weights ------------------------------------------------- */
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;

  /* --- Type scale (fluid where useful) ------------------------- */
  --text-display-xl: clamp(3rem, 1.6rem + 4.4vw, 5rem); /* @kind spacing */
  --text-display-l:  clamp(2.4rem, 1.6rem + 2.6vw, 3.5rem); /* @kind spacing */
  --text-display-m:  clamp(2rem, 1.5rem + 1.6vw, 2.75rem);  /* @kind spacing */
  --text-h1: 2.25rem;   /* 36 */
  --text-h2: 1.75rem;   /* 28 */
  --text-h3: 1.375rem;  /* 22 */
  --text-h4: 1.125rem;  /* 18 */
  --text-lg:   1.125rem; /* 18 lead */
  --text-base: 1rem;     /* 16 body */
  --text-sm:   0.875rem; /* 14 */
  --text-xs:   0.75rem;  /* 12 labels */

  /* --- Line heights -------------------------------------------- */
  --leading-tight:   1.1;
  --leading-snug:    1.25;
  --leading-normal:  1.5;
  --leading-relaxed: 1.65;

  /* --- Letter spacing ------------------------------------------ */
  --tracking-tight:   -0.02em;
  --tracking-normal:  0;
  --tracking-wide:    0.04em;
  --tracking-eyebrow: 0.14em; /* uppercase kickers */
}

/* ============================================================
   SPACING, RADIUS, SHADOW, MOTION, LAYOUT
   ============================================================ */

:root {
  /* --- Spacing scale (4px base) -------------------------------- */
  --space-0:  0;
  --space-1:  0.25rem;  /* 4  */
  --space-2:  0.5rem;   /* 8  */
  --space-3:  0.75rem;  /* 12 */
  --space-4:  1rem;     /* 16 */
  --space-5:  1.5rem;   /* 24 */
  --space-6:  2rem;     /* 32 */
  --space-7:  3rem;     /* 48 */
  --space-8:  4rem;     /* 64 */
  --space-9:  6rem;     /* 96 */
  --space-10: 8rem;     /* 128 */

  /* --- Radius -------------------------------------------------- */
  --radius-xs:   2px;
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   18px;
  --radius-pill: 999px;

  /* --- Shadows (warm, soft, layered) -------------------------- */
  --shadow-xs: 0 1px 2px rgba(16, 30, 44, 0.06);
  --shadow-sm: 0 1px 3px rgba(16, 30, 44, 0.08), 0 1px 2px rgba(16, 30, 44, 0.04);
  --shadow-md: 0 4px 12px rgba(16, 30, 44, 0.08), 0 2px 4px rgba(16, 30, 44, 0.05);
  --shadow-lg: 0 12px 28px rgba(16, 30, 44, 0.12), 0 4px 8px rgba(16, 30, 44, 0.06);
  --shadow-xl: 0 24px 56px rgba(16, 30, 44, 0.16), 0 8px 16px rgba(16, 30, 44, 0.08);
  --shadow-brand: 0 8px 22px rgba(191, 87, 0, 0.26);

  /* --- Motion -------------------------------------------------- */
  --ease-out:   cubic-bezier(0.22, 0.61, 0.36, 1); /* @kind other */
  --ease-in-out: cubic-bezier(0.45, 0, 0.2, 1); /* @kind other */
  --duration-fast:   140ms; /* @kind other */
  --duration-normal: 220ms; /* @kind other */
  --duration-slow:   360ms; /* @kind other */

  /* --- Layout -------------------------------------------------- */
  --container-sm: 640px;
  --container-md: 880px;
  --container-lg: 1120px;
  --container-xl: 1280px;
  --gutter: clamp(1.25rem, 1rem + 3vw, 4rem); /* @kind spacing */
}

/* ============================================================
   BASE — light element defaults built on the tokens.
   Optional for consumers, but keeps specimens consistent.
   ============================================================ */

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

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--surface-page);
  color: var(--text-body);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
  font-weight: var(--weight-regular);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--text-strong);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  margin: 0 0 var(--space-4);
  text-wrap: balance;
}

h1 { font-size: var(--text-h1); }
h2 { font-size: var(--text-h2); }
h3 { font-size: var(--text-h3); }
h4 { font-size: var(--text-h4); font-weight: var(--weight-semibold); }

p { margin: 0 0 var(--space-4); text-wrap: pretty; }

a {
  color: var(--text-brand);
  text-decoration-color: color-mix(in srgb, var(--brand) 35%, transparent);
  text-underline-offset: 2px;
  transition: color var(--duration-fast) var(--ease-out);
}
a:hover { color: var(--brand-active); }

/* Uppercase kicker / eyebrow */
.eyebrow {
  font-family: var(--font-eyebrow);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--text-brand);
}

:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

::selection {
  background: color-mix(in srgb, var(--brand) 22%, transparent);
}

html{scroll-behavior:smooth}html,body{margin:0;background:var(--surface-page)}a{-webkit-tap-highlight-color:transparent}
.aml-mobile-panel:not([hidden]){display:flex}
@media (max-width:1240px){.aml-desktop-nav{display:none!important}.aml-mobile-toggle{display:inline-flex!important}}
@media (max-width:900px){.aml-split{grid-template-columns:1fr!important}.aml-footer-grid{grid-template-columns:1fr 1fr!important}.aml-hero-logo{order:-1}.aml-hero-logo img{max-width:320px!important}}
@media (max-width:600px){.aml-header-cta{display:none!important}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
