/* ==========================================================================
   Peak Hire Services — Homepage v2
   Scoped to the homepage only. Loads instead of home.css.
   Shared tokens.css / base.css / layout.css / components.css are NOT modified,
   and no shared custom property is overridden — v2 values are namespaced.
   Palette stays brand-derived: logo gold #C59637, gold-ink #8A5F14 for small
   text on light. V2's #C5A56A is deliberately not used.
   ========================================================================== */

/* Italic face for the hero word "Delivered." Same SIL OFL 1.1 release as the
   roman family. Declared here so no other page pays for it. */
@font-face{
  font-family:'Source Serif 4';
  src:url('../fonts/source-serif-4-variable-italic.woff2') format('woff2');
  font-weight:400 600; font-style:italic; 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;
}

.v2{
  --v2-max:1320px;                       /* matches shared .container */
  --v2-gutter:clamp(20px,.97rem + 1.14vw,32px);  /* matches shared --gutter   */
  --v2-section:clamp(56px,6.3vw,96px);
  --v2-sub:clamp(24px,2.6vw,40px);
  --v2-hero:clamp(44px,1.78rem + 4.13vw,88px);
  --v2-h2:clamp(34px,1.69rem + 1.88vw,54px);
  --v2-intro:clamp(18px,1.04rem + .38vw,22px);
  --v2-rule-light:#DED6C8;
  --v2-rule-dark:rgba(214,222,231,.16);
}

.v2-container{ width:100%; max-width:var(--v2-max); margin-inline:auto; padding-inline:var(--v2-gutter); }

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

.v2-h2{
  font-family:var(--serif); font-weight:400; font-size:var(--v2-h2);
  line-height:1.05; letter-spacing:-.025em; color:var(--ink-navy); text-wrap:balance;
}
.v2-h2--dark{ color:#F2F4F7; }
.v2-intro{ font-size:var(--v2-intro); line-height:1.5; color:var(--charcoal); }
.v2-body{ font-size:16px; line-height:1.65; color:var(--charcoal); }
.on-dark .v2-intro,.on-dark .v2-body{ color:var(--fg-dark-soft); }

/* ── 1 · Hero ─────────────────────────────────────────────────────────── */
.v2-hero{ background:var(--midnight); color:var(--fg-dark); position:relative; }
.v2-hero__grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(32px,4.4vw,64px); align-items:center;
  padding-block:calc(var(--header-h) + clamp(32px,4vw,60px)) clamp(32px,3.6vw,52px);
}
@media (max-width:900px){
  .v2-hero__grid{ grid-template-columns:minmax(0,1fr); gap:var(--v2-sub);
    padding-block:calc(var(--header-h) + 32px) 36px; }
}
.v2-hero__title{
  font-family:var(--serif); font-weight:400; font-size:var(--v2-hero);
  line-height:1.02; letter-spacing:-.035em; color:#F6F7F9; margin-top:var(--s5);
}
.v2-hero__title .line{ display:block; }
.v2-hero__title .delivered{ font-style:italic; color:var(--gold); }
.v2-hero__lead{ margin-top:clamp(20px,2.2vw,28px); max-width:38ch; font-size:var(--v2-intro); line-height:1.45; color:#E4E8EC; }
.v2-hero__sub{ margin-top:var(--s4); max-width:54ch; font-size:16px; line-height:1.65; color:#9FADBB; }
.v2-hero__actions{ margin-top:clamp(26px,3vw,38px); display:flex; flex-wrap:wrap; gap:var(--s5); align-items:center; }

.v2-linkcta{
  position:relative; font-size:15px; font-weight:500; color:#E4E8EC;
  display:inline-flex; align-items:center; gap:10px;
  min-height:44px; padding-block:11px;   /* standalone target, must clear 44px */
}
.v2-linkcta::after{ content:""; position:absolute; left:0; right:0; bottom:9px; height:1px; background:var(--gold); }
.v2-linkcta:hover{ color:#fff; }
.v2-linkcta .ar{ transition:transform var(--dur-micro) var(--ease); }
.v2-linkcta:hover .ar{ transform:translateX(4px); }

/* Photo with offset gold corner frame */
.v2-hero__figure{ position:relative; margin:0; }
.v2-hero__figure::before,.v2-hero__figure::after{
  content:""; position:absolute; width:clamp(48px,5vw,84px); height:clamp(48px,5vw,84px);
  border:2px solid var(--gold); pointer-events:none;
}
.v2-hero__figure::before{ top:clamp(-22px,-1.4vw,-14px); left:clamp(-22px,-1.4vw,-14px); border-right:0; border-bottom:0; }
.v2-hero__figure::after{ right:clamp(-22px,-1.4vw,-14px); bottom:clamp(6px,1.6vw,20px); border-left:0; border-top:0; }
.v2-hero__img{ width:100%; aspect-ratio:5/4; object-fit:cover; object-position:50% 50%; display:block; }
@media (max-width:900px){ .v2-hero__img{ aspect-ratio:4/5; } }
.v2-hero__caption{
  margin-top:var(--s4); text-align:right; font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--gold-light);
}
@media (max-width:900px){ .v2-hero__caption{ text-align:left; } }

.v2-hero__rule{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:var(--s5);
  padding-bottom:clamp(20px,2.4vw,32px);
}
.v2-hero__rule span[aria-hidden]{ height:1px; background:rgba(197,150,55,.42); }
.v2-hero__rule p{ font-size:14.5px; letter-spacing:.02em; color:var(--gold-light); text-align:center; }
@media (max-width:760px){
  .v2-hero__rule{ grid-template-columns:1fr; gap:var(--s3); }
  .v2-hero__rule span[aria-hidden]{ display:none; }
  .v2-hero__rule p{ text-align:left; }
}

/* ── 2 · Capability strip ─────────────────────────────────────────────── */
.v2-strip{ background:var(--ivory); border-bottom:1px solid var(--v2-rule-light); }
.v2-strip__grid{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  padding-block:clamp(36px,4vw,60px);
}
.v2-strip__item{ padding-inline:clamp(16px,2vw,32px); text-align:center; border-left:1px solid var(--v2-rule-light); }
.v2-strip__item:first-child{ border-left:0; padding-left:0; }
.v2-strip__item:last-child{ padding-right:0; }
.v2-strip__icon{ width:46px; height:46px; margin:0 auto var(--s5); display:block; }
.v2-strip__name{
  font-family:var(--serif); font-weight:400; font-size:clamp(18px,.95rem + .55vw,23px);
  line-height:1.2; letter-spacing:-.015em; color:var(--ink-navy);
}
.v2-strip__note{ margin-top:10px; font-size:14.5px; line-height:1.5; color:var(--slate); }
@media (max-width:860px){
  .v2-strip__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s6) 0; }
  .v2-strip__item:nth-child(odd){ border-left:0; padding-left:0; }
  .v2-strip__item:nth-child(even){ padding-right:0; }
}
@media (max-width:460px){
  .v2-strip__grid{ grid-template-columns:minmax(0,1fr); }
  .v2-strip__item{ border-left:0; padding-inline:0; }
}

/* ── 3 · Solutions ────────────────────────────────────────────────────── */
.v2-solutions{ background:var(--ivory); padding-block:var(--v2-section); }
.v2-solutions__grid{ display:grid; grid-template-columns:44fr 56fr; gap:clamp(32px,4.4vw,72px); align-items:start; }
@media (max-width:900px){ .v2-solutions__grid{ grid-template-columns:minmax(0,1fr); gap:var(--v2-sub); } }
.v2-solutions__intro{ margin-top:var(--s5); max-width:42ch; }
.v2-rows{ border-top:1px solid var(--v2-rule-light); }
.v2-row{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:baseline;
  gap:var(--s4) clamp(16px,2vw,28px); padding-block:clamp(16px,1.8vw,22px);
  border-bottom:1px solid var(--v2-rule-light);
  transition:background var(--dur-micro) var(--ease);
}
.v2-row:hover{ background:rgba(197,150,55,.06); }
.v2-row__num{
  font-family:var(--serif); font-weight:400; font-size:clamp(22px,1.1rem + .7vw,28px);
  line-height:1; color:var(--gold-deep); font-variant-numeric:tabular-nums;
}
.v2-row__title{ display:block; font-size:17px; font-weight:600; color:var(--ink-navy); letter-spacing:-.008em; }
.v2-row__desc{ display:block; margin-top:5px; font-size:14.5px; line-height:1.5; color:var(--slate); }
.v2-row__arrow{ color:var(--gold-deep); font-size:18px; transition:transform var(--dur-micro) var(--ease); }
.v2-row:hover .v2-row__arrow{ transform:translateX(4px); }
.v2-rows__note{ margin-top:var(--s5); font-size:14px; line-height:1.6; color:var(--slate); }

/* ── 4 · Specialist ───────────────────────────────────────────────────── */
.v2-specialist{ background:var(--midnight); color:var(--fg-dark); padding-block:var(--v2-section); }
.v2-specialist__top{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,4.4vw,72px); align-items:start; }
@media (max-width:900px){ .v2-specialist__top{ grid-template-columns:minmax(0,1fr); gap:var(--v2-sub); } }
.v2-specialist__heading{ font-size:clamp(34px,1.6rem + 2.4vw,62px); line-height:1.02; letter-spacing:-.03em; margin-top:var(--s5); }
.v2-rac{ border-left:2px solid var(--gold); padding-left:clamp(20px,2.2vw,32px); }
.v2-rac__title{
  font-family:var(--serif); font-weight:400; font-size:clamp(24px,1.1rem + 1.25vw,34px);
  line-height:1.1; letter-spacing:-.022em; color:var(--gold-light);
}
.v2-rac__copy{ margin-top:var(--s4); font-size:16px; line-height:1.6; color:var(--fg-dark-soft); max-width:46ch; }
.v2-rac__disciplines{
  margin-top:var(--s5); padding-top:var(--s4); border-top:1px solid var(--v2-rule-dark);
  font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  line-height:1.9; color:#C8D2DB;
}
.v2-rac__disciplines b{ font-weight:600; color:var(--gold-light); }

.v2-families{
  margin-top:clamp(32px,3.4vw,48px); display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid var(--v2-rule-dark);
}
.v2-family{ padding:clamp(24px,2.6vw,36px) clamp(12px,1.4vw,22px) 0 0; border-right:1px solid var(--v2-rule-dark); }
.v2-family:last-child{ border-right:0; }
.v2-family__icon{ width:34px; height:34px; display:block; margin-bottom:var(--s4); }
.v2-family__name{ font-size:15px; font-weight:600; color:var(--fg-dark); line-height:1.35; letter-spacing:-.006em; }
.v2-family__note{ margin-top:8px; font-size:13.5px; line-height:1.5; color:var(--fg-dark-soft); }
@media (max-width:1023px){
  .v2-families{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v2-family{ border-right:0; border-bottom:1px solid var(--v2-rule-dark); padding-bottom:var(--s5); }
}
@media (max-width:520px){ .v2-families{ grid-template-columns:minmax(0,1fr); } }
.v2-specialist__cta{ margin-top:clamp(36px,4vw,56px); display:flex; justify-content:center; }

/* ── 5 · Approach ─────────────────────────────────────────────────────── */
.v2-approach{ background:var(--ivory); padding-block:var(--v2-section); text-align:center; }
.v2-approach__head{ max-width:760px; margin-inline:auto; }
.v2-approach__copy{ margin-top:var(--s5); max-width:62ch; margin-inline:auto; }
.v2-stages{
  margin-top:clamp(40px,5vw,72px); position:relative;
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr));
}
.v2-stages::before{
  content:""; position:absolute; left:8%; right:8%; top:23px; height:1px;
  background:var(--gold); opacity:.5;
}
.v2-stage{ display:flex; flex-direction:column; align-items:center; gap:var(--s4); position:relative; }
.v2-stage__dot{
  width:46px; height:46px; border-radius:50%; border:1px solid var(--gold);
  background:var(--ivory); display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-size:14px; color:var(--gold-ink); font-variant-numeric:tabular-nums;
}
.v2-stage__name{ font-size:14.5px; font-weight:600; color:var(--ink-navy); }
@media (max-width:820px){
  .v2-approach{ text-align:left; }
  .v2-approach__head,.v2-approach__copy{ margin-inline:0; }
  .v2-stages{ grid-template-columns:minmax(0,1fr); margin-top:var(--v2-sub); }
  .v2-stages::before{ left:23px; right:auto; top:12px; bottom:12px; width:1px; height:auto; }
  .v2-stage{ flex-direction:row; align-items:center; gap:var(--s5); padding-block:10px; }
  .v2-stage__dot{ width:46px; height:46px; flex:0 0 46px; }
}

/* ── 6 · Quality + reach ──────────────────────────────────────────────── */
.v2-quality{ background:var(--ivory); padding-block:var(--v2-section); }
.v2-quality__grid{ display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(32px,4.4vw,72px); align-items:start; }
@media (max-width:900px){ .v2-quality__grid{ grid-template-columns:minmax(0,1fr); gap:var(--v2-sub); } }
.v2-quality__figure{ margin:0; }
.v2-quality__img{ width:100%; aspect-ratio:4/5; object-fit:cover; display:block; }
@media (max-width:900px){ .v2-quality__img{ aspect-ratio:16/10; } }
.v2-quality__caption{ margin-top:var(--s3); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--slate); }
.v2-groups{ margin-top:clamp(28px,3vw,44px); border-top:1px solid var(--v2-rule-light); }
.v2-group{
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--s4) clamp(16px,2vw,26px);
  padding-block:clamp(16px,1.8vw,22px); border-bottom:1px solid var(--v2-rule-light); align-items:baseline;
}
.v2-group__num{ font-family:var(--serif); font-size:clamp(20px,1rem + .6vw,26px); line-height:1; color:var(--gold-deep); font-variant-numeric:tabular-nums; }
.v2-group__title{ display:block; font-size:16.5px; font-weight:600; color:var(--ink-navy); letter-spacing:-.008em; }
.v2-group__desc{ display:block; margin-top:5px; font-size:14.5px; line-height:1.55; color:var(--slate); }

.v2-reach{
  margin-top:clamp(40px,5vw,72px); padding-top:clamp(24px,2.6vw,36px);
  border-top:1px solid var(--ink-navy);
  display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr); gap:var(--s4) clamp(24px,4vw,64px); align-items:baseline;
}
@media (max-width:820px){ .v2-reach{ grid-template-columns:minmax(0,1fr); } }
.v2-reach__title{ font-family:var(--serif); font-weight:400; font-size:clamp(20px,1rem + .95vw,28px); line-height:1.15; letter-spacing:-.02em; color:var(--ink-navy); }
@media (max-width:820px){ .v2-reach__title{ max-width:22ch; } }
.v2-reach__markets{ display:flex; flex-wrap:wrap; gap:6px 0; font-size:14.5px; color:var(--charcoal); justify-content:flex-end; }
@media (max-width:820px){ .v2-reach__markets{ justify-content:flex-start; } }
.v2-reach__markets li + li::before{ content:"·"; color:var(--gold-deep); padding-inline:var(--s4); }
.v2-reach__note{ grid-column:1 / -1; margin-top:var(--s3); font-size:13px; color:var(--slate); text-align:right; }
@media (max-width:820px){ .v2-reach__note{ text-align:left; } }

/* ── 7 · Panorama ─────────────────────────────────────────────────────── */
.v2-panorama{ background:var(--ivory); }
.v2-panorama__img{ width:100%; aspect-ratio:4.5/1; object-fit:cover; object-position:50% 50%; display:block; }
@media (max-width:760px){ .v2-panorama__img{ aspect-ratio:2.33/1; } }
.v2-panorama__caption{ padding-block:clamp(18px,2vw,26px); text-align:center; font-size:14.5px; color:var(--slate); }

/* ── 8 · Closing ──────────────────────────────────────────────────────── */
.v2-closing{ background:var(--midnight); color:var(--fg-dark); padding-block:var(--v2-section); position:relative; }
.v2-closing__inner{ position:relative; max-width:1000px; margin-inline:auto; text-align:center; padding:clamp(36px,4.4vw,64px) clamp(24px,4vw,72px); }
.v2-closing__inner::before,.v2-closing__inner::after{
  content:""; position:absolute; width:clamp(34px,3.4vw,54px); height:clamp(34px,3.4vw,54px);
  border:1px solid rgba(197,150,55,.6);
}
.v2-closing__inner::before{ top:0; left:0; border-right:0; border-bottom:0; }
.v2-closing__inner::after{ bottom:0; right:0; border-left:0; border-top:0; }
.v2-closing__title{ font-family:var(--serif); font-weight:400; font-size:clamp(30px,1.5rem + 2.1vw,54px); line-height:1.08; letter-spacing:-.028em; color:#F6F7F9; margin-top:var(--s5); text-wrap:balance; }
.v2-closing__actions{ margin-top:clamp(26px,3vw,38px); display:flex; justify-content:center; }
.v2-closing__email{ margin-top:var(--s5); font-size:15px; color:var(--fg-dark-soft); }
.v2-closing__email a{ color:var(--gold-light); text-underline-offset:3px;
  display:inline-block; min-height:44px; padding-block:12px; }
.v2-closing__email a:hover{ text-decoration:underline; }

/* ── Reveal (respects the shared reduced-motion guard) ────────────────── */
.reveal-ready .v2 .reveal{ opacity:0; transform:translateY(12px); }
.reveal-ready .v2 .reveal.is-in{ opacity:1; transform:none;
  transition:opacity var(--dur-sect) ease, transform var(--dur-sect) var(--ease); }
@media (prefers-reduced-motion:reduce){
  .reveal-ready .v2 .reveal{ opacity:1; transform:none; }
}

/* Numerals fall below 24px under 821px, where 3:1 large-text no longer applies */
@media (max-width:820px){
  .v2-row__num,.v2-group__num{ color:var(--gold-ink); }
}
