/* ============================================================
   LIGHT THEME for service, location and 404 pages (5 Nov 2026).
   Loads after next.css + pages.css. Re-points their tokens to the
   homepage palette (theme-light.css) and the homepage font (DM Sans).
   Photo heroes stay dark, like the homepage hero.
   ============================================================ */
:root {
  --ink: #F6F7F5;
  --ink-2: #EEF0EE;
  --card: #FFFFFF;
  --card-2: #FFFFFF;
  --card-3: #EEF0EE;
  --line: rgba(20, 22, 26, .10);
  --line-2: rgba(20, 22, 26, .18);
  --fg: #14161A;
  --fg-dim: #45494D;
  --fg-faint: #676B6F;
  --green: #4FAF47;
  --green-dim: rgba(79, 175, 71, .14);
}
body { font-family: 'DM Sans', 'Helvetica Neue', Arial, sans-serif; background: var(--ink); color: var(--fg); }
h1, h2, h3, .disp, .sv-other b {
  font-family: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  font-variation-settings: normal; font-weight: 400; letter-spacing: -.035em;
}
h3, .sv-other b { font-weight: 600; letter-spacing: -.02em; }
em, .grn { color: #3E8F36; }
::selection { color: #fff; }

/* buttons */
.btn { background: rgba(20, 22, 26, .04); border-color: var(--line-2); color: var(--fg); }
.btn:hover { background: rgba(20, 22, 26, .08); border-color: rgba(20, 22, 26, .28); }
.btn .sq, .btn-solid, .skip { color: #fff; }
.btn-solid { color: #fff; background: var(--green); border-color: var(--green); }
.btn-solid:hover { background: #3E8F36; border-color: #3E8F36; }
.btn-ghost:hover { background: rgba(20, 22, 26, .06); border-color: rgba(20, 22, 26, .3); }

/* header: light bar like the homepage */
.hdr { background: rgba(246, 247, 245, .94); border-bottom: 1px solid var(--line); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.hdr.stuck { background: rgba(246, 247, 245, .97); border-bottom-color: var(--line); }
.hdr-nav a { color: var(--fg-dim); }
.hdr-nav a:hover { color: var(--fg); }

/* photo heroes stay dark, text stays light */
.sv-hero, .hero, .e404 .hero-dark {
  --fg: #F3EFE9; --fg-dim: rgba(243, 239, 233, .82); --fg-faint: rgba(243, 239, 233, .62);
  --line: rgba(255, 255, 255, .12); --line-2: rgba(255, 255, 255, .22);
  color: var(--fg);
}
.sv-hero .btn:not(.btn-solid) { background: rgba(13, 11, 9, .45); color: #F3EFE9; }
.sv-hero-media::after {
  background: linear-gradient(180deg, rgba(13,11,9,.80) 0%, rgba(13,11,9,.42) 36%, rgba(13,11,9,.70) 80%, rgba(13,11,9,.88) 100%);
}
.sv-hero em, .sv-hero .grn { color: #6FCB66; }

/* cards get a soft lift on the light ground */
.sv-rail, .sv-job, .sv-other a { box-shadow: 0 1px 2px rgba(20,22,26,.04); }
.sv-job:hover, .sv-other a:hover { box-shadow: 0 18px 40px -24px rgba(20,22,26,.35); }

/* footer */
.foot { background: #FFFFFF; border-top: 1px solid var(--line); color: var(--fg); }

/* map on Taren Point page */
.map-coast { stroke: rgba(20,22,26,.35); }
.map-grid-dots circle { fill: rgba(20,22,26,.10); }
