:root{
  --bg: oklch(97% 0.014 75);
  --surface: oklch(94% 0.02 70);
  --surface-2: oklch(90% 0.028 60);
  --ink: oklch(24% 0.02 40);
  --ink-soft: oklch(45% 0.03 45);
  --accent: oklch(56% 0.13 45);
  --accent-deep: oklch(40% 0.13 40);
  --accent2: oklch(50% 0.11 255);
  --accent2-deep: oklch(32% 0.09 258);
  --line: oklch(85% 0.02 60);
  --cream: oklch(99% 0.006 80);
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:'Public Sans', system-ui, sans-serif; text-wrap: pretty; }
h1,h2,h3 { font-family:'Newsreader', Georgia, serif; margin:0; color:var(--ink); }
p { margin:0; line-height:1.6; }
a { color:var(--accent-deep); }
a:hover { color:var(--accent); }
img { max-width:100%; }
.eyebrow { font-size:13px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent-deep); }
.nav-link { font-family:'Public Sans',sans-serif; font-weight:600; font-size:15px; color:var(--ink); text-decoration:none; }
.nav-link:hover { color:var(--accent-deep); }
.btn-primary { display:inline-flex; align-items:center; gap:10px; background:var(--accent); color:var(--cream); padding:16px 30px; border-radius:4px; font-weight:600; font-size:15px; white-space:nowrap; text-decoration:none; border:none; cursor:pointer; font-family:'Public Sans',sans-serif; }
.btn-primary:hover { background:var(--accent-deep); color:var(--cream); }
.btn-secondary { display:inline-flex; align-items:center; gap:10px; background:transparent; color:var(--ink); padding:15px 28px; border:1.5px solid var(--ink); border-radius:4px; font-weight:600; font-size:15px; white-space:nowrap; text-decoration:none; cursor:pointer; font-family:'Public Sans',sans-serif; }
.btn-secondary:hover { border-color:var(--accent-deep); color:var(--accent-deep); }
.card { background:var(--surface); border-radius:8px; padding:32px; }
.badge { font-family:'Public Sans',sans-serif; font-size:13px; font-weight:600; letter-spacing:0.04em; color:var(--ink-soft); border:1px solid var(--line); border-radius:999px; padding:7px 16px; text-decoration:none; display:inline-block; }
.tag { font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; padding:5px 12px; border-radius:999px; }
.verse { border-left:3px solid var(--accent); padding:4px 0 4px 24px; font-family:'Newsreader',serif; font-style:italic; color:var(--ink-soft); font-size:17px; line-height:1.65; }
article p { color:var(--ink); font-size:17px; line-height:1.75; }
.field-label { font-size:14px; font-weight:600; color:var(--ink); }
.field-input, input[type="text"], input[type="email"], textarea { width:100%; padding:14px 16px; border:1.5px solid var(--line); border-radius:4px; font-family:'Public Sans',sans-serif; font-size:15px; color:var(--ink); background:var(--cream); }
textarea { resize:vertical; }
.pill-radio { display:inline-flex; }
.pill-radio input { position:absolute; opacity:0; width:0; height:0; }
.pill-radio span { display:inline-block; }
.pill-radio input:checked + span { background:var(--accent); color:var(--cream); border-color:var(--accent); }

/* Page frame */
.page { max-width:1440px; width:100%; margin:0 auto; background:var(--bg); display:flex; flex-direction:column; align-items:stretch; overflow-x:hidden; }

/* Responsive helpers used across pages */
.row { display:flex; }
.grid-2 { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); }
.grid-3 { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); }
.grid-4 { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); }
.nav-bar { width:100%; display:flex; align-items:center; justify-content:space-between; padding:14px 64px; border-bottom:1px solid var(--line); flex-wrap:wrap; gap:16px; }
.nav-links { display:flex; align-items:center; gap:36px; flex-wrap:wrap; }
.section { padding:96px 64px; }

@media (max-width: 900px) {
  .row { flex-direction:column !important; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns:1fr !important; }
  .nav-bar, .section, [class*="section-"] { padding-left:28px !important; padding-right:28px !important; }
  h1 { font-size:34px !important; }
  h2 { font-size:26px !important; }
  .welcome-banner { height:520px !important; }
  .welcome-banner-text { padding:28px 28px 32px !important; }
  .welcome-banner-text h2 { font-size:28px !important; }
  .welcome-banner-text p { font-size:15px !important; }
}

@media (max-width: 600px) {
  .nav-links { gap:16px; justify-content:center; }
  .nav-link { font-size:14px; }
  .nav-bar { padding:14px 20px; }
  img[style*="height:92px"] { height:64px !important; }
  .welcome-banner { height:480px !important; }
  .welcome-banner-text { padding:22px 20px 26px !important; }
  .welcome-banner-text h2 { font-size:24px !important; }
  .welcome-banner-text p { font-size:14px !important; }
}
