/* ===========================================================
   Brick Walls & Buckeyes — brand stylesheet
   Palette: Parchment / Navy / Brick Red
   =========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Crimson+Pro:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root{
  --parchment: #eee3c7;
  --parchment-dark: #dfd0ae;
  --parchment-darker: #cbb98f;
  --navy: #1b2a44;
  --navy-soft: #283850;
  --navy-tint: rgba(27,42,68,0.06);
  --brick: #963a2d;
  --brick-dark: #6e2c22;
  --ink: #2a2118;
  --max-w: 1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--parchment);
  color:var(--ink);
  font-family:'Crimson Pro', Georgia, serif;
  font-size:19px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(ellipse at 20% 10%, rgba(150,58,45,0.05), transparent 60%),
    radial-gradient(ellipse at 85% 90%, rgba(27,42,68,0.06), transparent 55%);
  z-index:0;
}

h1,h2,h3,.eyebrow,nav a,.btn,.site-title{
  font-family:'Cinzel', Georgia, serif;
  letter-spacing:0.03em;
}

a{color:var(--brick); text-decoration:none;}
a:hover{text-decoration:underline;}

img{max-width:100%; display:block;}

.wrap{max-width:var(--max-w); margin:0 auto; padding:0 28px; position:relative; z-index:1;}

/* ---------- Header ---------- */
header.site-header{
  border-bottom:3px double var(--navy);
  background:linear-gradient(var(--parchment), var(--parchment-dark));
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 28px;
  max-width:var(--max-w); margin:0 auto;
}
.brand{display:flex; align-items:center; gap:14px;}
.brand img{width:56px; height:56px; border-radius:50%; box-shadow:0 0 0 2px var(--navy);}
.brand .site-title{font-size:1.35rem; font-weight:700; color:var(--navy);}
.brand .site-title small{
  display:block; font-family:'Crimson Pro', serif; font-style:italic;
  font-size:0.62rem; letter-spacing:0.08em; color:var(--brick); font-weight:400; margin-top:2px;
}
nav.main-nav{display:flex; gap:26px;}
nav.main-nav a{
  font-size:0.82rem; color:var(--navy); font-weight:600;
  padding-bottom:4px; border-bottom:2px solid transparent;
}
nav.main-nav a:hover, nav.main-nav a.active{
  border-bottom-color:var(--brick); text-decoration:none;
}
.nav-toggle{display:none;}

@media (max-width: 760px){
  .header-inner{flex-wrap:wrap; gap:14px;}
  nav.main-nav{width:100%; justify-content:center; flex-wrap:wrap; gap:16px 22px;}
}

/* ---------- Hero ---------- */
.hero{
  text-align:center; padding:70px 28px 60px;
  border-bottom:1px solid var(--parchment-darker);
}
.hero img.hero-emblem{
  width:170px; height:170px; margin:0 auto 26px; border-radius:50%;
  box-shadow:0 0 0 3px var(--navy), 0 0 0 6px var(--parchment), 0 0 0 8px var(--brick);
}
.eyebrow{
  display:inline-block; font-size:0.72rem; letter-spacing:0.16em;
  color:var(--brick); text-transform:uppercase; margin-bottom:14px;
}
.hero h1{
  font-size:clamp(2.1rem, 5vw, 3.2rem); color:var(--navy); margin:0 0 20px; line-height:1.15;
}
.hero p.lede{
  max-width:640px; margin:0 auto 30px; font-size:1.15rem; color:var(--navy-soft);
}
.btn-row{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
.btn{
  display:inline-block; padding:13px 28px; font-size:0.8rem; font-weight:600;
  border:2px solid var(--navy); border-radius:3px; color:var(--navy);
  letter-spacing:0.05em;
}
.btn:hover{background:var(--navy); color:var(--parchment); text-decoration:none;}
.btn.primary{background:var(--brick); border-color:var(--brick); color:var(--parchment);}
.btn.primary:hover{background:var(--brick-dark); border-color:var(--brick-dark);}

/* ---------- Sections ---------- */
section{padding:64px 0;}
section.tint{background:var(--navy-tint);}
.section-head{text-align:center; max-width:680px; margin:0 auto 44px;}
.section-head h2{font-size:clamp(1.5rem,3vw,2.1rem); color:var(--navy); margin:8px 0 0;}

.rule{
  width:120px; height:2px; margin:0 auto 18px;
  background:linear-gradient(90deg, transparent, var(--brick), transparent);
}

/* ---------- Cards ---------- */
.card-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:26px;}
.card{
  background:var(--parchment); border:1px solid var(--parchment-darker);
  border-top:4px solid var(--brick); padding:28px 26px; border-radius:2px;
  box-shadow:0 2px 10px rgba(27,42,68,0.06);
}
.card .tag{font-size:0.68rem; letter-spacing:0.1em; color:var(--brick); text-transform:uppercase; font-weight:600;}
.card h3{color:var(--navy); margin:10px 0 12px; font-size:1.3rem;}
.card p{margin:0 0 14px; font-size:0.98rem;}
.card .meta{font-size:0.78rem; color:var(--navy-soft); font-style:italic; border-top:1px solid var(--parchment-darker); padding-top:10px;}

/* ---------- Footer ---------- */
footer{
  border-top:3px double var(--navy); background:var(--navy); color:var(--parchment);
  padding:44px 28px 30px; text-align:center;
}
footer img{width:64px; height:64px; margin:0 auto 16px; border-radius:50%; box-shadow:0 0 0 2px var(--parchment);}
footer nav{display:flex; gap:22px; justify-content:center; flex-wrap:wrap; margin-bottom:18px;}
footer nav a{color:var(--parchment); font-size:0.8rem; font-weight:600;}
footer .signoff{font-style:italic; color:var(--parchment-dark); margin-bottom:8px; font-family:'Crimson Pro', serif;}
footer .copyright{font-size:0.75rem; color:var(--parchment-darker);}

/* ---------- County Index page ---------- */
.county-tools{max-width:760px; margin:0 auto 34px; text-align:center;}
.county-search{
  width:100%; max-width:420px; padding:12px 16px; font-size:1rem;
  border:2px solid var(--navy); border-radius:3px; font-family:'Crimson Pro',serif;
  background:#fff; margin-bottom:18px;
}
.letter-tabs{display:flex; flex-wrap:wrap; gap:6px; justify-content:center;}
.letter-tabs button{
  border:1px solid var(--navy); background:var(--parchment); color:var(--navy);
  font-family:'Cinzel',serif; font-size:0.72rem; padding:6px 10px; border-radius:2px; cursor:pointer;
}
.letter-tabs button.active, .letter-tabs button:hover{background:var(--navy); color:var(--parchment);}

.county-table{width:100%; border-collapse:collapse; max-width:900px; margin:0 auto;}
.county-table th{
  text-align:left; font-family:'Cinzel',serif; font-size:0.72rem; letter-spacing:0.06em;
  color:var(--navy); border-bottom:2px solid var(--navy); padding:10px 12px;
}
.county-table td{padding:10px 12px; border-bottom:1px solid var(--parchment-darker); font-size:0.95rem;}
.status{font-size:0.7rem; padding:3px 10px; border-radius:12px; font-weight:600; letter-spacing:0.03em;}
.status.live{background:var(--brick); color:var(--parchment);}
.status.progress{background:var(--navy-soft); color:var(--parchment);}
.status.soon{background:var(--parchment-darker); color:var(--navy-soft);}
.county-table td a{color:var(--navy); font-weight:600; text-decoration:none; border-bottom:1px solid var(--brick);}
.county-table td a:hover{color:var(--brick);}
.county-row{display:none;}
.county-row.visible{display:table-row;}

/* ---------- Contact page ---------- */
.contact-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:start;}
@media (max-width:800px){.contact-grid{grid-template-columns:1fr;}}
form.contact-form{display:flex; flex-direction:column; gap:16px;}
form.contact-form label{font-family:'Cinzel',serif; font-size:0.72rem; letter-spacing:0.05em; color:var(--navy);}
form.contact-form input, form.contact-form textarea{
  padding:12px 14px; border:2px solid var(--navy); border-radius:3px; font-family:'Crimson Pro',serif;
  font-size:1rem; background:#fff;
}
form.contact-form textarea{min-height:140px; resize:vertical;}
.qa-item{margin-bottom:22px;}
.qa-item .q{color:var(--navy); font-weight:600; margin-bottom:6px;}
.qa-item .q::before{content:"Q. "; color:var(--brick);}
.qa-item .a::before{content:"A. "; color:var(--brick); font-weight:600;}
