/* ==========================================================================
   Peak Hire Services — Base: reset, fonts, typography, a11y
   ========================================================================== */

/* --- Self-hosted webfonts -------------------------------------------------
   Source Serif 4 (Adobe) and Inter (Rasmus Andersson), both SIL Open Font
   License 1.1 — see assets/fonts/OFL-*.txt. Variable, subset to latin with a
   separate latin-ext file the browser fetches only if such a glyph appears.
   No third-party request: these are served from this origin.
   ------------------------------------------------------------------------- */
@font-face{
  font-family:'Source Serif 4';
  src:url('../fonts/source-serif-4-variable.woff2') format('woff2');
  font-weight:400 600; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20B9,U+2122,U+2212;
}
@font-face{
  font-family:'Source Serif 4';
  src:url('../fonts/source-serif-4-variable-latin-ext.woff2') format('woff2');
  font-weight:400 600; font-style:normal; font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Inter';
  src:url('../fonts/inter-variable.woff2') format('woff2');
  font-weight:400 700; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20B9,U+2122,U+2212;
}
@font-face{
  font-family:'Inter';
  src:url('../fonts/inter-variable-latin-ext.woff2') format('woff2');
  font-weight:400 700; font-style:normal; font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--bg);
  color:var(--fg-body);
  font-family:var(--sans);
  font-size:var(--t-body);
  line-height:var(--lh-body);
  font-synthesis-weight:none;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }

h1,h2,h3,h4,h5{ margin:0; color:var(--fg); text-wrap:balance; }
p{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
img,svg{ display:block; max-width:100%; }
img{ height:auto; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
strong{ font-weight:650; color:var(--fg); }

/* --- Display / serif: statements ---------------------------------------- */
.display,.h1,.h2{
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.021em;
  font-feature-settings:'kern' 1,'liga' 1;
}
.display{ font-size:var(--t-display); line-height:var(--lh-tight); }
.h1{ font-size:var(--t-h1); line-height:1.08; }
.h2{ font-size:var(--t-h2); line-height:var(--lh-head); }

/* --- Sans: operations ---------------------------------------------------- */
.h3{ font-family:var(--sans); font-size:var(--t-h3); font-weight:600; line-height:1.32; letter-spacing:-.012em; }
.h4{ font-family:var(--sans); font-size:var(--t-h4); font-weight:600; line-height:1.4; letter-spacing:-.008em; }

.lead{ font-size:var(--t-lead); line-height:1.62; color:var(--fg-body); max-width:56ch; }
.body{ font-size:var(--t-body); line-height:var(--lh-body); max-width:var(--measure); }
.small{ font-size:var(--t-small); line-height:1.6; color:var(--fg-soft); }
.data{ font-size:var(--t-data); font-variant-numeric:tabular-nums; }

.label{
  font-family:var(--sans);
  font-size:var(--t-label);
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1.4;
  color:var(--accent-ink);
}
.label--soft{ color:var(--fg-soft); }
.label--dark{ color:var(--gold-light); }

.numeral{
  font-family:var(--serif);
  font-variant-numeric:tabular-nums;
  font-weight:400;
  letter-spacing:.01em;
  color:var(--gold-ink);
  line-height:1;
}
.numeral--dark{ color:var(--gold); }

/* --- Text colours on dark ------------------------------------------------ */
.on-dark{ color:var(--fg-dark); }
.on-dark .h2,.on-dark .h1,.on-dark .display,.on-dark .h3,.on-dark .h4{ color:var(--fg-dark); }
.on-dark .lead,.on-dark .body,.on-dark p{ color:var(--fg-dark-soft); }
.on-dark strong{ color:var(--fg-dark); }

/* --- Accessibility ------------------------------------------------------- */
.skip-link{
  position:absolute; left:var(--s4); top:-100px; z-index:200;
  background:var(--ink-navy); color:#fff; padding:12px 20px;
  border-radius:var(--radius); font-size:15px; font-weight:600;
  transition:top var(--dur-micro) var(--ease);
}
.skip-link:focus{ top:var(--s4); }

:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; border-radius:1px; }
.on-dark :focus-visible,.site-header--dark :focus-visible{ outline-color:var(--gold-light); }

.visually-hidden{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

::selection{ background:rgba(197,150,55,.26); color:var(--ink-navy); }

/* --- Motion preference --------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important; animation-iteration-count:1!important;
    transition-duration:.01ms!important; scroll-behavior:auto!important;
  }
}
