/* =============================================================
   THEME — JARVIS
   Deep ground, glass surfaces, one luminous emerald accent —
   green because it is a lawn care company, but nowhere near the
   neon lime that reads as every other contractor site.
   HUD rather than poster: thin rings, translucent panels, light
   that reads as emitted instead of printed. No green, no gold.
   Display face is Sora — geometric, technical, and far more
   legible at size than a condensed caps face.
   ============================================================= */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@200;300;400;600;700&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  /* — palette — */
  --void:       #080B09;
  --hull:       #0E1310;
  --plate:      #141A16;
  --moss:        #9ACB19;
  --moss-hi:     #B4E52C;
  --moss-deep:   #7DA614;
  --signal:     #F2A65A;   /* amber, for warnings only */
  --neon:       #F2E23A;   /* logo yellow — 22deg from the lime, so they read as one family */

  /* — roles — */
  --bg:         var(--void);
  --surface:    var(--hull);
  --surface-2:  rgba(255,255,255,.035);
  --fg:         #EAF1EC;
  --fg-muted:   #93A099;
  --line:       rgba(255,255,255,.10);

  --accent:            var(--moss);
  --accent-hi:         var(--moss-hi);
  --accent-ink:        #0A0A0A;
  --accent-ink-muted:  rgba(10,10,10,.80);
  --accent-line:       rgba(154,203,25,.32);
  --accent-soft:       rgba(154,203,25,.10);
  --accent-fill:       var(--moss);
  --accent-shadow:     0 0 0 1px rgba(154,203,25,.24), 0 6px 22px rgba(154,203,25,.20);
  --accent-shadow-hi:  0 0 0 1px rgba(154,203,25,.40), 0 10px 34px rgba(154,203,25,.34);
  --accent-glow:       rgba(154,203,25,.10);
  --accent-gradient:   none;
  --accent-grad-fill:  currentColor;

  --accent-2:      var(--signal);
  --accent-2-ink:  #1A0F04;

  /* glow system — emitted light is the whole point here */
  --glow:         0 0 10px rgba(154,203,25,.34), 0 0 28px rgba(154,203,25,.16);
  --glow-strong:  0 0 24px rgba(154,203,25,.48), 0 0 68px rgba(154,203,25,.24);
  --glow-text:    0 0 18px rgba(154,203,25,.42), 0 0 54px rgba(154,203,25,.18);

  --deep-bg:        #050806;
  --deep-fg:        #EAF1EC;
  --deep-fg-muted:  #87948C;
  --deep-line:      rgba(255,255,255,.08);
  --deep-accent:    var(--moss);
  --deep-card:      rgba(255,255,255,.04);

  --accent-band-bg:     #1E2A0C;
  --accent-band-fg:     #F2FAE0;
  --accent-band-muted:  rgba(242,250,224,.80);
  --accent-band-line:   rgba(154,203,25,.36);
  --accent-band-card:   rgba(154,203,25,.08);

  /* — shape — */
  --radius:     10px;
  --radius-lg:  16px;
  --shadow:     0 24px 60px rgba(0,0,0,.6);
  --t:          .3s cubic-bezier(.4,0,.2,1);

  /* — rhythm — */
  --wrap:         1240px;
  --gutter:       26px;
  --section-pad:  clamp(78px, 10vw, 136px);
  --head-gap:     3.2rem;
  --card-gap:     20px;

  /* — nav — */
  --nav-h:          88px;
  --nav-bg:         rgba(8,11,9,.72);
  --nav-blur:       blur(20px) saturate(140%);
  --nav-shadow:     0 1px 0 var(--line);
  --nav-gap:        32px;
  --nav-logo-h:     54px;
  --nav-underline:  var(--moss);

  /* — hero — */
  --hero-min-h:   92vh;
  --hero-justify: center;
  --hero-scrim:   linear-gradient(to top, rgba(8,11,9,.96) 0%, rgba(8,11,9,.72) 46%, rgba(8,11,9,.52) 100%);

  /* — type — */
  --font-display: 'Sora', system-ui, sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, monospace;
  --font-eyebrow: 'JetBrains Mono', ui-monospace, monospace;
  --body-size:        17px;
  --display-weight:   300;
  --display-leading:  1.04;
  --display-tracking: -.035em;
  --h1-max:  5.2rem;
  --h2-max:  3.4rem;
  --h3-weight: 600;
  --eyebrow-size:     11px;
  --eyebrow-weight:   500;
  --eyebrow-tracking: .2em;
  --eyebrow-rule:     0;

  /* — misc — */
  --btn-weight:        500;
  --btn-border-width:  1px;
  --ghost-border:      rgba(255,255,255,.26);
  --input-bg:          rgba(255,255,255,.04);
  --media-scrim:       linear-gradient(to top, rgba(8,11,9,.88), transparent 58%);
  --tag-bg:            rgba(8,11,9,.82);
  --tag-fg:            #EAF1EC;
}

/* glass surfaces rather than solid cards */
.card, .revq, .form, .railcard, .callout {
  backdrop-filter: blur(14px) saturate(130%);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
}
.btn { border-radius: 999px; }
.btn--primary { box-shadow: var(--accent-shadow); }
.btn--primary:hover { box-shadow: var(--accent-shadow-hi); }
.btn--ghost { color: var(--fg); border-color: var(--ghost-border); }
.btn--ghost:hover { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.45); color: var(--fg); }
.accent { text-shadow: var(--glow-text); }
