/* ==========================================================================
   Lakeshore Loans USA — Design tokens, reset, typography
   Part of the modular "Shoreline" design system. Load order: base → layout → components → sections.
   ========================================================================== */

/* ==========================================================================
   Lakeshore Loans USA — Editorial Review Site
   Design tokens: "Shoreline" system
   Display: Fraunces (editorial serif) / Body: Public Sans / Data: IBM Plex Mono
   ========================================================================== */

:root{
  /* Morning Mist palette — soft slate blue, powder teal, soft gold */
  --lake-navy: #3A5670;
  --lake-navy-2: #4A6680;
  --lake-teal: #5C8090;
  --lake-teal-light: #7FA8B3;
  --shore-sand: #EFEAE0;
  --shore-sand-2: #FAF8F4;
  --driftwood: #6B6B66;
  --ink: #2B3946;
  --ink-soft: #566578;
  --amber-tide: #D9A86C;
  --amber-tide-dark: #B68749;
  --alert-rust: #B14834;
  --alert-rust-bg: #FBEEE9;
  --good-green: #3C6E47;
  --good-green-bg: #EDF3EC;
  --white: #FFFFFF;
  --line: rgba(43,57,70,0.14);
  --line-soft: rgba(43,57,70,0.08);
  --shadow-1: 0 1px 2px rgba(43,57,70,0.05), 0 8px 24px rgba(43,57,70,0.06);

  --display: "Fraunces", Georgia, serif;
  --body: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", "Courier New", monospace;

  --max-w: 1180px;
  --radius: 3px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:20px; }
body{
  margin:0;
  font-family:var(--body);
  color:var(--ink);
  background:var(--shore-sand-2);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }
h1,h2,h3,h4{
  font-family:var(--display);
  font-weight:600;
  line-height:1.15;
  color:var(--lake-navy);
  margin:0 0 .5em;
}
h1{ font-size:clamp(2.1rem, 1.6rem + 2vw, 3.4rem); font-weight:560; letter-spacing:-0.01em; }
h2{ font-size:clamp(1.5rem, 1.3rem + 1vw, 2.1rem); }
h3{ font-size:1.25rem; }
p{ margin:0 0 1em; color:var(--ink-soft); }
.lede{ font-size:1.15rem; color:var(--ink-soft); max-width:62ch; }
strong{ color:var(--ink); }
.container{ max-width:var(--max-w); margin:0 auto; padding:0 24px; }
.visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

:focus-visible{ outline:2.5px solid var(--amber-tide-dark); outline-offset:3px; }
