/* ========== Grace Community Church — Base Styles ========== */
/* Color system (adjust to match logo later) */
:root{
  --brand:#111111;       /* dark outlines / text */
  --accent:#C61E25;      /* red from the cross */
  --paper:#FFFFFF;       /* white background */
  --stone:#F4F1EA;       /* light stone background sections */
  --ink:#111111;         /* body text same as dark outline */
  --muted:#6B7280;       /* mid gray for subtext */
  --ring: rgba(198,30,37,.35); /* focus ring in accent hue */
}

/* Reset-ish */
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none}
a:focus,button:focus{outline:2px solid var(--ring);outline-offset:2px}
.container{max-width:1100px;margin:0 auto;padding:0 1rem}

/* Typography */
@media (prefers-reduced-motion:no-preference){
  :root{scroll-behavior:smooth}
}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  line-height:1.6;
  font-size:16px;
}
h1,h2,h3,h4{
  font-family: "Libre Baskerville", Georgia, "Times New Roman", serif;
  color:var(--brand);
  line-height:1.25;
  margin:0 0 .5rem;
}
h1{font-size:clamp(1.75rem,3vw,2.5rem)}
h2{font-size:clamp(1.5rem,2.5vw,2rem)}
h3{font-size:clamp(1.25rem,2vw,1.5rem)}

/* Header & Nav */
.site-header{
  position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #eae7df;
}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;}
.brand{display:flex;align-items:center;gap:.75rem}
.brand img{height:40px;width:auto}
.brand .church-name{font-weight:700;color:var(--brand);letter-spacing:.3px}
.nav{
  display:flex;gap:1rem;align-items:center;
}
.nav a{
  padding:.5rem .75rem;border-radius:.75rem;
}
.nav a:hover{background:var(--stone)}
.nav .cta{
  background:var(--accent);color:#111;font-weight:600;border:1px solid #b28a52;
}
.nav .cta:hover{filter:brightness(0.97)}

/* Mobile menu */
.menu-toggle{display:none;background:transparent;border:0;font-size:1.2rem}
@media (max-width: 860px){
  .nav{display:none;position:absolute;left:0;right:0;top:64px;background:#fff;border-bottom:1px solid #eee;padding:1rem}
  .nav.open{display:flex;flex-direction:column}
  .menu-toggle{display:block}
}

/* Hero */
.hero{
  position:relative;background:linear-gradient(to bottom, rgba(14,42,71,.55), rgba(14,42,71,.55)), url('hero.jpg') center/cover no-repeat;
  color:#fff;
}
.hero .inner{padding: clamp(3rem, 8vw, 6rem) 0;}
.hero h1{color:#fff;margin-bottom:.25rem}
.hero p.lead{font-size:1.125rem;color:#eef2f7;max-width:55ch}

/* Buttons */
.button {
  display:inline-block;
  padding:.65rem 1rem;
  border-radius:.9rem;
  border:2px solid var(--accent); /* red border */
  background:#ffffff;             /* white background */
  color:var(--accent);            /* red text */
  font-weight:600;
  transition:background .2s,color .2s;
}
.button:hover {
  background:var(--accent); /* fills red on hover */
  color:#ffffff;
}
.button.secondary {
  background:var(--stone);
  color:var(--brand);
  border-color:#e5e7eb;
}
}
.button + .button{margin-left:.5rem}

/* Cards & sections */
.section{padding: clamp(2rem, 6vw, 3.5rem) 0;}
.card{
  background:#fff;border:1px solid #ece9e0;border-radius:1rem;padding:1rem;box-shadow:0 1px 3px rgba(0,0,0,.03);
}
.grid{
  display:grid;gap:1rem;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.grid-2 > *{grid-column: span 6}
.grid-3 > *{grid-column: span 4}
@media (max-width:860px){
  .grid-2 > *{grid-column: span 12}
  .grid-3 > *{grid-column: span 12}
}

/* Sermon embed */
.video-wrap{
  position:relative;padding-top:56.25%; /* 16:9 */
  border-radius:1rem;overflow:hidden;background:#000;border:1px solid #0b1e35;
}
.video-wrap iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
}

/* Lists & utilities */
.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.825rem}
.muted{color:var(--muted)}
.stack > * + *{margin-top:.75rem}

/* Footer */
.site-footer{
  background:var(--stone);border-top:1px solid #eae7df;margin-top:3rem;
}
.site-footer .cols{display:grid;gap:1rem;grid-template-columns:repeat(12,1fr);padding:2rem 0}
.site-footer .col{grid-column:span 4}
@media (max-width:860px){.site-footer .col{grid-column:span 12}}
.site-footer small{color:#6b6b6b}

/* ===== Application Callout Box ===== */
.application {
  background: var(--stone);          /* light neutral background */
  border-left: 5px solid var(--accent); /* accent color left bar */
  padding: 1rem;
  border-radius: .75rem;
  margin-top: 1rem;
}
.application h3 {
  margin-top: 0; 
  color: var(--brand);
}
.application ul {
  list-style: disc inside;
  padding-left: 0; /* removes extra indent */
  margin: 0;
}