/* Shorea Solutions — website tokens.
   Colour: Brand Guidelines v1.0, September 2026.
   Type: Website Typography guideline — one family, three weights (300 / 400 / 700). */
@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@300;400;700&display=swap');

:root {
  --shorea-ink: #101A33;
  --shorea-gold: #C49B66;
  --shorea-ground: #F7F5EF;
  --shorea-white: #FFFFFF;
  --shorea-ink-80: #3E4659;
  --shorea-ink-60: #6C727E;
  --shorea-ink-40: #9B9DA4;
  --shorea-ink-20: #C9C9C9;
  --shorea-ink-10: #E0DFDC;
  --shorea-gold-40: #E3D1B8;
  --shorea-gold-20: #EDE3D4;
  --shorea-gold-10: #F2ECE1;

  --shorea-font: "Libre Franklin", Arial, sans-serif;
  --display: clamp(2.875rem, 5.4vw, 4.5rem);
  --h1: clamp(2.5rem, 4.5vw, 3.75rem);
  --h2: clamp(2rem, 3.2vw, 2.75rem);
  --h3: clamp(1.5rem, 2.1vw, 1.875rem);
  --h4: clamp(1.25rem, 1.6vw, 1.375rem);
  --lead: clamp(1.125rem, 1.5vw, 1.25rem);
  --body: 1rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--shorea-ground);
  color: var(--shorea-ink);
  font: 400 var(--body)/1.6875 var(--shorea-font);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; }
p { max-width: 68ch; }
ul, ol { padding: 0; list-style: none; }
img { display: block; max-width: 100%; }
a { color: var(--shorea-ink); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--shorea-ink-80); }
button { font: inherit; color: inherit; }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--shorea-gold); outline-offset: 2px; }
::selection { background: var(--shorea-gold-40); }
summary { list-style: none; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
summary::marker { content: ""; }
details[open] summary [data-chev] { transform: rotate(45deg); }
.metric { font-variant-numeric: tabular-nums; }
