
:root{
  --black:#050505;
  --soft-black:#151515;
  --white:#ffffff;
  --off-white:#fafafa;
  --pink:#ed5b91;
  --pink-dark:#c93f73;
  --pink-soft:#fde7ef;
  --ink:#111111;
  --muted:#555555;
  --border:#e5e5e5;
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white);line-height:1.65}
img{display:block;max-width:100%;height:auto}
a{color:var(--pink-dark);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(92%,var(--max));margin:auto}

/* Header: user's supplied JPEG + black navigation */
.site-header{background:var(--white);color:var(--white);position:relative;z-index:20;box-shadow:0 2px 12px #0002}
.brand-banner{background:var(--white);border-bottom:1px solid var(--border);text-align:center}
.brand-banner a{display:block}
.brand-tagline{margin:0;padding:4px 4% 12px;text-align:center;font:italic 1.05rem/1.25 Georgia,serif;color:var(--black);background:var(--white)}
.brand-banner img{width:100%;max-height:255px;object-fit:contain;object-position:center;margin:auto;background:var(--white)}
.nav-bar{background:var(--black);border-bottom:4px solid var(--pink)}
.nav-wrap{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative}
.mobile-brand{font:700 .88rem/1.2 Georgia,serif;color:var(--white);max-width:72%}
.mobile-brand:hover{color:var(--pink);text-decoration:none}
.nav-toggle{background:none;border:1px solid var(--pink);color:var(--white);border-radius:4px;padding:8px 10px;font-size:1rem;white-space:nowrap}
.nav-toggle span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.nav-links{display:none;list-style:none;margin:0;padding:0}
.nav-links a{display:block;color:var(--white);padding:12px 0;text-transform:uppercase;font-size:.88rem;letter-spacing:.02em}
.nav-links a:hover{color:var(--pink);text-decoration:none}

.hero{background:linear-gradient(135deg,var(--black),#242424);color:var(--white);padding:72px 0;border-bottom:1px solid var(--pink)}
.hero h1{font:700 clamp(2.2rem,8vw,4rem)/1.08 Georgia,serif;margin:0 0 18px;max-width:760px}
.hero p{font-size:1.08rem;max-width:680px;color:#f3f3f3}
.btn{display:inline-block;background:var(--pink);color:var(--white);padding:12px 18px;border-radius:4px;font-weight:bold;margin:8px 8px 0 0;border:0}
.btn:hover{background:var(--pink-dark);color:var(--white);text-decoration:none}
.btn.alt{background:transparent;border:1px solid var(--pink);color:var(--white)}
.section{padding:56px 0}
.section.alt{background:var(--off-white)}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--pink-dark);font-size:.76rem;font-weight:bold}
h2{font:700 clamp(1.8rem,5vw,2.6rem)/1.15 Georgia,serif;color:var(--black);margin:8px 0 18px}
h3{color:var(--black);font-size:1.2rem}
.grid{display:grid;gap:22px}
.card{border:1px solid var(--border);border-top:3px solid var(--pink);padding:24px;background:var(--white);border-radius:6px;box-shadow:0 2px 10px #00000008}
.card h3{margin-top:0}
.quote{border-left:4px solid var(--pink);padding:8px 0 8px 20px;font:italic 1.1rem Georgia,serif;color:#333}
.page-hero{background:var(--off-white);padding:46px 0;border-bottom:1px solid var(--pink-soft)}
.page-hero h1{font:700 clamp(2rem,7vw,3.2rem) Georgia,serif;color:var(--black);margin:6px 0}
.list{padding-left:20px}
.form{display:grid;gap:15px}
label{font-weight:bold;color:var(--black)}
input,textarea{width:100%;padding:12px;border:1px solid #bdbdbd;border-radius:4px;font:inherit;background:var(--white)}
input:focus,textarea:focus{outline:2px solid var(--pink-soft);border-color:var(--pink)}
textarea{min-height:150px}
.site-footer{background:var(--black);color:#eeeeee;padding:42px 0 20px;border-top:4px solid var(--pink)}
.site-footer h3{color:var(--white);font-family:Georgia,serif}
.site-footer a{color:#f7a3c2}
.footer-grid{display:grid;gap:24px}
.footer-bottom{border-top:1px solid #ffffff22;margin-top:28px;padding-top:18px;font-size:.86rem;color:#bbbbbb}
.notice{background:var(--pink-soft);border:1px solid #f3b6cc;padding:16px;border-radius:5px;font-size:.92rem}
.kicker{font-weight:bold;color:var(--pink-dark)}

@media (max-width:759px){
  .brand-banner img{max-height:210px}
  .nav-links.open{display:block;position:absolute;left:0;right:0;top:62px;background:var(--black);padding:10px 4%;box-shadow:0 5px 10px #0003;border-bottom:3px solid var(--pink)}
}
@media (min-width:760px){
  .brand-banner img{max-height:280px}
  .nav-toggle,.mobile-brand{display:none}
  .nav-wrap{justify-content:center}
  .nav-links{display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap}
  .nav-links a{padding:8px 0;font-size:.82rem}
  .hero{padding:105px 0}
  .grid.two{grid-template-columns:repeat(2,1fr)}
  .grid.three{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:2fr 1fr 1fr}
  .split{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start}
}
@media (min-width:1050px){.nav-links{gap:28px}.nav-links a{font-size:.88rem}}


/* Courthouse hero update */
.hero{
  background:#fff;
  color:var(--ink);
  padding:0;
}
.hero .container{
  width:100%;
  max-width:none;
}
.hero-shell{
  display:grid;
  grid-template-columns:1fr;
  min-height:520px;
}
.hero-copy{
  padding:54px 6%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fff;
}
.hero-copy h1{
  color:#111;
  margin:0 0 18px;
}
.hero-copy h1 .pink{
  color:#ef4f8a;
}
.hero-copy p{
  color:#222;
  max-width:620px;
}
.hero-image{
  min-height:320px;
  background:url("../assets/courthouse-hero.jpg") center center/cover no-repeat;
}
.hero .btn{
  background:#ef4f8a;
  color:#fff;
}
.hero .btn:hover{
  background:#d93f79;
}
.hero .btn.alt{
  border-color:#111;
  color:#111;
  background:#fff;
}
@media (min-width:760px){
  .hero-shell{grid-template-columns:1.05fr 1.35fr}
  .hero-copy{padding:72px 5vw}
  .hero-image{min-height:560px}
}

/* Inquiry form delivery setup */
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.form-status{margin:12px 0 0;font-size:.94rem}
.form-status-success{padding:12px 14px;background:#f6fff7;border:1px solid #a8d8ad;border-radius:4px;color:#173c1b}
.form-status-error{padding:12px 14px;background:#fff5f8;border:1px solid #efb1c9;border-radius:4px;color:#6b1837}
.form button[disabled]{opacity:.65;cursor:wait}
