/* ===== LeavePEO shared stylesheet ===== */
/* Generated by CSS extraction pass. Page-specific CSS remains inline. */

:root {
  --cream: #F5F0EB;
  --cream-dark: #EFE8DB;
  --warm-gray: #DCD5C9;
  --warm-gray-light: #ECE5D9;
  --sage: #5B7B6A;
  --sage-light: #739987;
  --sage-dim: rgba(91,123,106,0.10);
  --sage-glow: rgba(91,123,106,0.18);
  --charcoal: #2C2C2C;
  --dark-text: #2C2C2C;
  --mid-text: #4B5563;
  --light-text: #6B7280;
  --rust: #B85C3A;
  --gold: #C9A96E;
  --white: #FFFFFF;
  --navy: #1F2D3D;
  --navy-hover: #2A3D52;
  --gold-hover: #B89A52;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Inter',-apple-system,sans-serif; background:var(--cream); color:var(--dark-text); overflow-x:hidden; -webkit-font-smoothing:antialiased; }

nav {
  position:fixed; top:0; width:100%; z-index:100;
  padding:0.9rem 5%;
  display:flex; justify-content:space-between; align-items:center;
  background:rgba(245,240,235,0.94); backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(91,123,106,0.08);
  transition:box-shadow 0.3s;
}
nav.scrolled { box-shadow:0 2px 20px rgba(0,0,0,0.06); }
.logo { font-family:'Source Serif 4',serif; font-size:1.5rem; font-weight:800; color:var(--charcoal); letter-spacing:-0.5px; text-decoration:none; }
.logo span { color:var(--sage); }
.nav-links { display:flex; gap:2rem; align-items:center; }
.nav-links a { color:var(--mid-text); text-decoration:none; font-size:0.88rem; font-weight:500; transition:color 0.3s; }
.nav-links a:hover { color:var(--sage); }
.nav-links a.active { color:var(--sage); font-weight:600; }
.mobile-toggle { display:none; background:none; border:none; cursor:pointer; padding:0.5rem; }
.mobile-toggle span { display:block; width:22px; height:2px; background:var(--charcoal); margin:5px 0; transition:0.3s; }

.btn {
  padding:0.7rem 1.6rem; border-radius:8px;
  font-weight:600; font-size:0.88rem; cursor:pointer;
  transition:all 0.3s ease; text-decoration:none;
  display:inline-flex; align-items:center; gap:0.5rem; border:none;
  font-family:'Inter',-apple-system,sans-serif;
}
.btn-primary { background:var(--navy); color:var(--white); }
.btn-primary:hover { background:var(--navy-hover); transform:translateY(-2px); box-shadow:0 8px 24px rgba(31,45,61,0.25); }
.btn-outline { border:1.5px solid var(--sage); color:var(--sage); background:transparent; }
.btn-outline:hover { background:var(--sage-dim); }
.btn-lg { padding:0.85rem 2rem; font-size:0.95rem; }

/* ===== Accessibility: skip-to-content link ===== */
.skip-to-content {
  position:absolute; top:-40px; left:0;
  background:var(--navy); color:var(--white);
  padding:0.5rem 1rem; z-index:1000;
  text-decoration:none; font-weight:600;
  border-radius:0 0 6px 0;
  transition:top 0.2s;
}
.skip-to-content:focus { top:0; outline:2px solid var(--gold); outline-offset:2px; }

/* Visible focus styles for keyboard navigation */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline:2px solid var(--sage);
  outline-offset:2px;
}
