/* Shared county page layout based on the approved sample. */
.county-page { background:var(--cream-50); }
.county-page :focus-visible { outline:3px solid var(--gold-600); outline-offset:5px; }
.hc-skip { position:fixed; top:-80px; left:20px; padding:14px 20px; z-index:200; background:white; color:var(--navy-800); }
.hc-skip:focus { top:12px; }
.county-page .hero { min-height:740px; padding:145px 0 60px; }
.county-page .hero h1 { max-width:850px; font-size:clamp(2.6rem,4.4vw,4.35rem); }
.county-page .hero-sub { max-width:600px; line-height:1.65; }
.county-page .hero .hero-overlay { background:linear-gradient(180deg,rgba(38,65,89,.65),rgba(20,29,51,.88)); }
.county-page .hero .eyebrow { color:var(--gold-500); }
.hc-hero-locations { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:28px; font-size:.86rem; color:#f6e9b7; }
.hc-hero-locations a { border-bottom:1px solid #fdd65e60; padding-bottom:3px; }
.hc-section { padding:90px 0; scroll-margin-top:85px; }
.hc-heading { max-width:810px; margin:0 auto 42px; text-align:center; }
.hc-heading h2,.hc-copy h2 { font-size:clamp(1.9rem,3.4vw,2.8rem); margin:13px 0 20px; line-height:1.15; }
.hc-heading p,.hc-copy>p { color:var(--muted); font-size:1.03rem; line-height:1.8; }
.hc-prose-link { color:var(--navy-800); text-decoration:underline; text-underline-offset:4px; text-decoration-color:#b69843; }
.hc-prose-link:hover { text-decoration-thickness:2px; }
.hc-location-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.hc-card { display:flex; flex-direction:column; background:white; border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); }
.hc-card>img { width:100%; height:220px; object-fit:cover; }
.hc-card-body { display:flex; flex-direction:column; flex:1; padding:27px; }
.hc-card-num { font-family:var(--font-head); color:#8b691b; font-weight:600; font-size:.78rem; letter-spacing:.1em; margin-bottom:12px; }
.hc-card h3 { font-size:1.4rem; line-height:1.2; }
.hc-card p { color:var(--muted); line-height:1.75; font-size:.94rem; margin:15px 0 24px; flex:1; }
.hc-card .btn { align-self:flex-start; font-size:.9rem; padding:12px 22px; }




.hc-benefits { background:white; }
.hc-split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; }
.hc-list { display:grid; gap:25px; margin-top:32px; }
.hc-list li { display:grid; grid-template-columns:42px 1fr; gap:17px; }
.hc-list-number { width:42px; height:42px; display:flex; align-items:center; justify-content:center; font-family:var(--font-head); font-weight:700; color:var(--navy-800); background:#fdf0c9; border-radius:50%; font-size:.9rem; }
.hc-list h3 { font-size:1.24rem; line-height:1.3; margin:5px 0 10px; }
.hc-list p { color:var(--muted); line-height:1.8; font-size:.95rem; }
.hc-figure { margin:0; }
.hc-figure img { width:100%; height:500px; object-fit:cover; border-radius:var(--radius-lg); }
.hc-benefits .hc-figure img { object-position:64% center; }
.hc-why .hc-figure img { object-position:28% center; }
.hc-image-label { background:var(--cream-50); padding:20px 24px; margin:-65px 20px 0; position:relative; border-radius:var(--radius-md); box-shadow:var(--shadow-md); border-top:3px solid var(--gold-500); }
.hc-image-label strong { display:block; color:var(--navy-800); font-family:var(--font-head); font-size:1.25rem; }
.hc-image-label span { display:block; margin-top:7px; font-size:.74rem; color:var(--muted); line-height:1.5; }
.hc-why { background:var(--navy-800); }
.hc-why h2,.hc-why h3 { color:white; }
.hc-why .eyebrow { color:var(--gold-500); }
.hc-why .hc-copy>p,.hc-why .hc-list p { color:#d1dae6; }
.hc-why .hc-prose-link { color:#fff1b8; text-decoration-color:#c6ac57; }
.hc-why .hc-list-number { background:#fdd65e; }
.hc-faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; }
.hc-faq-intro { max-width:420px; }
.hc-faq-intro h2 { font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.2; margin:14px 0 20px; }
.hc-faq-intro p { color:var(--muted); line-height:1.8; }
.hc-faq-intro .btn { margin-top:25px; }
.hc-faq-list { display:grid; gap:14px; align-content:start; }
.hc-faq-list details { border:1px solid var(--border); background:white; border-radius:var(--radius-md); overflow:hidden; }
.hc-faq-list summary { position:relative; padding:24px 55px 24px 24px; cursor:pointer; list-style:none; font-family:var(--font-head); font-size:1.13rem; font-weight:600; color:var(--navy-800); line-height:1.4; }
.hc-faq-list summary::-webkit-details-marker { display:none; }
.hc-faq-list summary:after { content:'+'; position:absolute; right:23px; top:23px; font-size:1.5rem; color:#927321; }
.hc-faq-list details[open] summary:after { content:'−'; }
.hc-faq-list details[open] summary { padding-bottom:15px; }
.hc-faq-list details p { padding:0 24px 25px; color:var(--muted); line-height:1.85; font-size:.95rem; }
.hc-map-section { background:white; padding-top:75px; }
.hc-map-section .hc-heading { max-width:850px; }
.hc-map { width:100%; height:430px; border:0; border-radius:var(--radius-lg); background:#e9ede9; display:block; }
.hc-map-bottom { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-top:22px; }
.hc-map-bottom p { color:var(--muted); font-size:.9rem; line-height:1.7; }
.hc-map-bottom .btn { flex-shrink:0; }
.hc-footer-locations { margin-top:22px; padding-top:18px; border-top:1px solid #ffffff25; }
.hc-footer-locations h4 { margin-bottom:12px; }
.county-page .footer-contact a { overflow-wrap:anywhere; }
@media(max-width:1050px) {
  .hc-figure img { height:350px; }
  .hc-split,.hc-faq-layout { gap:35px; }
  .hc-location-grid { gap:18px; }
  .hc-card-body { padding:22px; }
  .hc-list li { grid-template-columns:34px 1fr; gap:13px; }
  .hc-list-number { width:34px; height:34px; }
}
@media(max-width:760px) {
  .county-page .hero { padding:140px 0 65px; min-height:0; }
  .county-page .hero h1 { font-size:clamp(2.15rem,7.8vw,3rem); }
  .hc-section { padding:60px 0; }
  .hc-heading { margin-bottom:30px; }
  .hc-location-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }



  .hc-card>img { height:190px; }
  .hc-split,.hc-faq-layout { grid-template-columns:1fr; gap:36px; }
  .hc-why .hc-figure { order:2; }
  .hc-why .hc-copy { order:1; }
  .hc-figure img { height:220px; }
  .hc-faq-intro { max-width:none; }
  .hc-map { height:340px; }
  .hc-map-bottom { align-items:flex-start; flex-direction:column; }
}
@media(max-width:480px) {
  .hc-location-grid { grid-template-columns:1fr; }
  .hc-card>img { height:215px; }
  .hc-image-label { margin:-30px 12px 0; padding:16px; }
  .county-page .hero .hero-actions { align-items:flex-start; }
  .county-page .hero .btn { max-width:100%; white-space:normal; }
}

/* Screenshot-approved split hero and isolated preview form. */
.county-page .hero-grid > * { min-width:0; }
.county-page .hero-quote { scroll-margin-top:110px; }
.county-page .hero-quote-card { max-width:none; }
.hc-preview-form { display:grid; gap:14px; }
.hc-preview-form .field input,.hc-preview-form .field select { width:100%; min-width:0; min-height:48px; }
.hc-preview-form .btn { min-height:50px; }
.hc-estimate-status { color:white; font-size:.9rem; line-height:1.5; }
@media(max-width:760px) {
  .county-page .hero-quote-card { padding:26px 20px; }
  .county-page .hero-tags { margin-top:28px; }
  .county-page .hero-badge { gap:7px; font-size:.78rem; }
}



.hc-section-cta { margin-top:30px; }

.county-page .hc-figure img { object-position:center; }
.county-page .quote-form .field input,.county-page .quote-form .field select { width:100%; min-width:0; min-height:48px; }
.county-page .quote-form .btn { min-height:50px; }
