
:root{
  --ink:#1c2430; --muted:#5b6878; --accent:#0f6e5a; --accent-light:#e6f4f1;
  --line:#e2e6ea; --bg:#fbfbfa; --card:#ffffff;
}
*{box-sizing:border-box;}
body{margin:0;font-family:"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;}
a{color:var(--accent);text-decoration:none;}
a:hover, a:focus{text-decoration:underline;}
a:focus-visible, button:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}
img{max-width:100%;display:block;}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px;}
.visually-hidden{position:absolute;left:-9999px;}

.topbar{background:var(--accent);color:#fff;text-align:center;padding:10px 16px;font-size:.95rem;}
.topbar a{color:#fff;font-weight:700;text-decoration:underline;}

header.site-header{border-bottom:1px solid var(--line);background:#fff;}
.nav{display:flex;justify-content:space-between;align-items:center;padding:14px 0;flex-wrap:wrap;gap:10px;}
.logo{font-weight:800;font-size:1.3rem;}
.logo span{color:var(--accent);}
nav.primary-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
nav.primary-nav a{font-weight:600;color:var(--ink);}
.book-btn{background:var(--accent);color:#fff !important;padding:8px 16px;border-radius:6px;font-weight:700;}

.breadcrumbs{font-size:.9rem;color:var(--muted);padding:14px 0 0;}
.breadcrumbs a{color:var(--muted);}

.hero{padding:40px 0 28px;}
.eyebrow{color:var(--accent);font-weight:700;letter-spacing:.04em;}
h1{font-size:2.2rem;margin:.3em 0;}
.hero p.lead{max-width:700px;color:var(--muted);font-size:1.1rem;}

section{padding:36px 0;}
section h2{font-size:1.7rem;}
.section-intro{color:var(--muted);max-width:760px;}

.company-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:18px;}
.company-card .rank{display:inline-block;background:var(--accent-light);color:var(--accent);font-weight:800;border-radius:6px;padding:2px 10px;margin-bottom:8px;font-size:.85rem;}
.company-card h3{margin:.2em 0;}
.company-card .badges{color:var(--muted);font-size:.95rem;margin-bottom:10px;}
.company-card .actions a{margin-right:12px;font-weight:700;}

.other-services, .related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.service-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;}

.steps{list-style:none;padding:0;counter-reset:step;}
.steps li{counter-increment:step;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px 18px 18px 56px;margin-bottom:14px;position:relative;}
.steps li::before{content:counter(step);position:absolute;left:16px;top:18px;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;}

.callout{background:var(--accent-light);border-left:4px solid var(--accent);padding:14px 16px;border-radius:6px;margin:14px 0;}
.meta{color:var(--muted);font-size:.9rem;margin-bottom:6px;}

.pill-links{display:flex;flex-wrap:wrap;gap:10px;}
.pill-links a{background:var(--accent-light);color:var(--accent);padding:6px 14px;border-radius:20px;font-weight:600;font-size:.9rem;}

.checklist{list-style:none;padding:0;}
.checklist li{padding:8px 0 8px 30px;position:relative;border-bottom:1px solid var(--line);}
.checklist li::before{content:"\2713";position:absolute;left:0;color:var(--accent);font-weight:800;}

.testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
.testimonial{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;}
.testimonial .stars{color:#e8a93b;}

.subscribe{background:var(--accent);color:#fff;border-radius:10px;padding:28px;text-align:center;}
.subscribe form{margin-top:14px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.subscribe input[type=email]{padding:10px 14px;border-radius:6px;border:none;min-width:240px;}
.subscribe button{padding:10px 18px;border-radius:6px;border:none;background:#fff;color:var(--accent);font-weight:800;cursor:pointer;}

.about-box, .contact-box{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:24px;}

form.contact-form{display:grid;gap:14px;max-width:520px;margin-top:18px;}
form.contact-form label{font-weight:700;display:block;margin-bottom:4px;}
form.contact-form input, form.contact-form textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;font:inherit;}
form.contact-form button{background:var(--accent);color:#fff;border:none;padding:12px 20px;border-radius:6px;font-weight:800;cursor:pointer;}

footer{background:#13202a;color:#cdd6dc;padding:40px 0 20px;font-size:.92rem;margin-top:20px;}
footer h4{color:#fff;margin-top:0;}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;margin-bottom:24px;}
footer a{color:#cdd6dc;}
footer a:hover{color:#fff;}
.footer-bottom{border-top:1px solid #2a3a47;padding-top:16px;text-align:center;color:#8fa0ad;font-size:.85rem;}

@media (max-width:640px){ h1{font-size:1.8rem;} nav.primary-nav ul{justify-content:center;} }

/* ===== Hero redesign ===== */
.hero-pro{background:linear-gradient(135deg,#0a3d30 0%,#0f6e5a 55%,#16a085 100%);border-radius:22px;padding:48px 40px;color:#fff;margin-top:24px;position:relative;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:36px;align-items:center;}
.hero-pro .eyebrow{color:#bdf4e3;letter-spacing:.14em;font-weight:700;font-size:.78rem;}
.hero-pro h1{color:#fff;font-size:2.6rem;line-height:1.18;margin:.5rem 0 1rem;}
.hero-pro .lead{color:#e3f7ee;max-width:560px;margin-bottom:0;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin:24px 0 18px;}
.cta-primary{background:#ffb703;color:#1a1a1a;font-weight:700;padding:14px 28px;border-radius:50px;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.22);transition:transform .15s ease,box-shadow .15s ease;display:inline-flex;align-items:center;gap:8px;}
.cta-primary:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.28);text-decoration:none;}
.cta-secondary{border:2px solid rgba(255,255,255,.5);color:#fff;font-weight:600;padding:12px 26px;border-radius:50px;text-decoration:none;transition:background .15s ease;}
.cta-secondary:hover{background:rgba(255,255,255,.14);text-decoration:none;}
.trust-row{display:flex;gap:18px;flex-wrap:wrap;font-size:.85rem;color:#dff7ee;margin-top:6px;}
.trust-row span{display:inline-flex;align-items:center;gap:6px;}
.hero-visual{display:flex;justify-content:center;}
.hero-visual svg{max-width:100%;height:auto;}
.hero-pro .callout{background:rgba(255,255,255,.12);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:14px;border-left:4px solid rgba(255,255,255,.45);}
.hero-pro .callout a{color:#ffd166;font-weight:700;text-decoration:none;}
.hero-pro .callout a:hover{text-decoration:underline;}
.hero-pro .callout strong{color:#fff;}
.stats-bar {display: flex !important; flex-direction: row !important; justify-content: space-between !important; align-items: stretch !important; gap: 15px !important; width: 100% !important; padding: 32px 0 !important;}
.stat-card {flex: 1 !important; background: var(--card) !important; border: 1px solid var(--line) !important; border-radius: 14px !important; padding: 18px 10px !important; text-align: center !important; box-shadow: 0 2px 10px rgba(0,0,0,.04) !important; transition: transform .15s ease, box-shadow .15s ease !important;}
.stat-card:hover {transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,.08);}
.stat-card .stat-icon {font-size: 1.4rem; display: block; margin-bottom: 4px;}
.stat-card strong {font-size: 1.6rem; display: block; color: var(--accent);}
.stat-card span {color: var(--muted); font-size: .85rem;}
@media(max-width:800px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-pro{padding:32px 22px;}
  .hero-pro h1{font-size:1.9rem;}
  .hero-visual{order:-1;}
  .hero-visual svg{max-width:260px;}
}

/* Comparison table */
.compare-table-wrap{overflow-x:auto;margin:20px 0;}
table.compare-table{width:100%;border-collapse:collapse;background:var(--card);font-size:.92rem;}
table.compare-table th,table.compare-table td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;}
table.compare-table th{background:var(--accent-light);color:var(--accent);font-weight:800;}
table.compare-table tr:nth-child(even) td{background:rgba(15,110,90,0.03);}

/* ===== Price Estimation Table ===== */
.price-table-section{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px;margin:24px 0;}
.price-table-section h2{margin-top:0;}
table.price-table{width:100%;border-collapse:collapse;font-size:.93rem;}
table.price-table th{background:var(--accent);color:#fff;padding:12px 16px;text-align:left;font-size:.92rem;}
table.price-table th:first-child{border-radius:8px 0 0 0;}
table.price-table th:last-child{border-radius:0 8px 0 0;}
table.price-table td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top;}
table.price-table tr:last-child td{border-bottom:none;}
table.price-table tr:nth-child(even) td{background:rgba(15,110,90,0.04);}
table.price-table .price-badge{font-weight:800;color:var(--accent);font-size:1.05rem;}
.price-disclaimer{font-size:.82rem;color:var(--muted);margin-top:10px;}

/* ===== Company Cards (enhanced) ===== */
.company-card-enhanced{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:0;margin-bottom:22px;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:0;}
.company-img-box{width:160px;flex-shrink:0;background:#e8f0ee;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line);}
.company-img-box img{width:100%;height:100%;object-fit:cover;}
.company-img-placeholder{width:160px;min-height:160px;background:linear-gradient(135deg,#e6f4f1 0%,#c3e8dc 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-right:1px solid var(--line);}
.company-img-placeholder .img-icon{font-size:2.8rem;}
.company-img-placeholder .img-label{font-size:.7rem;color:var(--muted);text-align:center;padding:0 8px;}
.company-card-body{padding:22px;}
.company-card-body .rank-tag{display:inline-block;background:var(--accent-light);color:var(--accent);font-weight:800;border-radius:6px;padding:2px 10px;margin-bottom:8px;font-size:.82rem;}
.company-card-body h3{margin:.2em 0 .5em;font-size:1.2rem;}
.company-card-body h3 a{color:var(--ink);}
.company-card-body h3 a:hover{color:var(--accent);}
.star-rating{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.stars-visual{color:#e8a93b;font-size:1.1rem;letter-spacing:1px;}
.star-score{font-weight:700;color:var(--ink);font-size:.95rem;}
.star-count{color:var(--muted);font-size:.85rem;}
.company-snippet{color:var(--muted);font-size:.93rem;margin-bottom:10px;line-height:1.55;}
.company-badges{color:var(--muted);font-size:.85rem;margin-bottom:12px;}
.company-review-preview{font-style:italic;border-left:3px solid var(--accent-light);padding-left:12px;color:var(--ink);font-size:.93rem;margin-bottom:14px;}
.company-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.btn-review{background:var(--accent);color:#fff !important;padding:10px 22px;border-radius:8px;font-weight:700;font-size:.93rem;text-decoration:none;transition:background .15s;}
.btn-review:hover{background:#0a5948;text-decoration:none;}
.btn-visit{border:1.5px solid var(--accent);color:var(--accent) !important;padding:9px 18px;border-radius:8px;font-weight:600;font-size:.9rem;text-decoration:none;}
.btn-visit:hover{background:var(--accent-light);text-decoration:none;}
.btn-call{color:var(--accent) !important;font-weight:600;font-size:.9rem;}
@media(max-width:640px){
  .company-card-enhanced{grid-template-columns:1fr;}
  .company-img-placeholder{width:100%;min-height:120px;border-right:none;border-bottom:1px solid var(--line);}
}

/* ===== Review Page Styles ===== */
.review-hero{background:linear-gradient(135deg,#0a3d30 0%,#0f6e5a 60%,#16a085 100%);color:#fff;border-radius:20px;padding:40px;margin-top:20px;}
.review-hero h1{color:#fff;margin:.3em 0;}
.review-hero .lead{color:#e3f7ee;max-width:640px;}
.review-header-grid{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start;}
.review-meta-badges{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;}
.meta-badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;padding:4px 12px;border-radius:20px;font-size:.82rem;font-weight:600;}
.review-rating-box{background:rgba(255,255,255,.12);border-radius:14px;padding:18px 22px;text-align:center;min-width:120px;}
.review-rating-box .big-stars{font-size:1.4rem;color:#ffb703;}
.review-rating-box .big-score{font-size:2rem;font-weight:800;color:#fff;display:block;}
.review-rating-box .score-label{font-size:.8rem;color:#dff7ee;}
.review-content-grid{display:grid;grid-template-columns:1fr 300px;gap:28px;margin-top:28px;}
.review-main{}
.review-sidebar{}
.review-section{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:20px;}
.review-section h2{margin-top:0;font-size:1.3rem;border-bottom:2px solid var(--accent-light);padding-bottom:10px;margin-bottom:16px;}
.review-section h3{font-size:1.1rem;color:var(--accent);}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.pros-list,.cons-list{padding:0;list-style:none;}
.pros-list li,.cons-list li{padding:6px 0 6px 26px;position:relative;border-bottom:1px solid var(--line);font-size:.92rem;}
.pros-list li:last-child,.cons-list li:last-child{border-bottom:none;}
.pros-list li::before{content:"✓";position:absolute;left:0;color:#16a085;font-weight:800;}
.cons-list li::before{content:"✗";position:absolute;left:0;color:#c0392b;font-weight:800;}
.data-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:.92rem;}
.data-row:last-child{border-bottom:none;}
.data-label{color:var(--muted);font-weight:600;}
.data-value{text-align:right;max-width:60%;}
.sidebar-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:16px;}
.sidebar-card h3{margin-top:0;font-size:1rem;color:var(--accent);}
.sidebar-cta-btn{display:block;background:var(--accent);color:#fff;text-align:center;padding:12px;border-radius:8px;font-weight:700;text-decoration:none;margin-top:10px;}
.sidebar-cta-btn:hover{background:#0a5948;text-decoration:none;}
.testimonial-card{background:#f8fffe;border-left:4px solid var(--accent);border-radius:0 10px 10px 0;padding:16px;margin-bottom:14px;}
.testimonial-card .quote{font-style:italic;color:var(--ink);font-size:.93rem;margin:0 0 8px;}
.testimonial-card .author{font-weight:700;font-size:.85rem;color:var(--muted);}
.faq-item{border-bottom:1px solid var(--line);padding:14px 0;}
.faq-item:last-child{border-bottom:none;}
.faq-q{font-weight:700;color:var(--ink);margin-bottom:6px;}
.faq-a{color:var(--muted);font-size:.93rem;line-height:1.6;}
@media(max-width:800px){
  .review-content-grid{grid-template-columns:1fr;}
  .review-sidebar{order:-1;}
  .pros-cons{grid-template-columns:1fr;}
  .review-header-grid{grid-template-columns:1fr;}
}

/* ===== Medicaid / Paratransit Guide Styles ===== */
.guide-step{display:flex;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:14px;}
.guide-step-num{width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;flex-shrink:0;margin-top:2px;}
.guide-step-body h3{margin:0 0 6px;font-size:1.05rem;}
.guide-step-body p{margin:0;color:var(--muted);font-size:.92rem;}
.comparison-table-wrap{overflow-x:auto;margin:18px 0;}
table.comparison-table{width:100%;border-collapse:collapse;font-size:.9rem;}
table.comparison-table th{background:var(--accent);color:#fff;padding:11px 14px;text-align:left;}
table.comparison-table th:first-child{border-radius:8px 0 0 0;}
table.comparison-table th:last-child{border-radius:0 8px 0 0;}
table.comparison-table td{padding:11px 14px;border:1px solid var(--line);vertical-align:top;}
table.comparison-table td:first-child{font-weight:600;color:var(--ink);background:#fafafa;}
table.comparison-table .good{color:#0f6e5a;}
table.comparison-table .neutral{color:#7a6200;}
table.comparison-table .bad{color:#c0392b;}
.highlight-box{background:var(--accent-light);border:1px solid #b2dfd4;border-radius:10px;padding:18px 22px;margin:18px 0;}
.highlight-box h3{margin-top:0;color:var(--accent);}
.alert-box{background:#fff8e1;border:1px solid #ffe082;border-radius:10px;padding:16px 20px;margin:16px 0;}
.alert-box strong{color:#7a6200;}
/* ════════════════════════════════════════════════ */
/*               MOBILE RESPONSIVE FIXES            */
/* ════════════════════════════════════════════════ */

@media (max-width: 768px) {
  /* 1. Stack the columns into a single line */
  .hero-grid, 
  .footer-grid, 
  .related-grid, 
  .other-services {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  /* 2. Fix the header/navigation layout so it doesn't bunch up */
  .site-header .nav {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 15px !important;
  }

  .primary-nav ul {
    flex-wrap: wrap !important;
    justify-content: center !important;
    padding: 0 !important;
    gap: 12px !important;
  }

  /* 3. Stack the company action buttons cleanly */
  .company-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .company-actions a {
    width: 100% !important;
    text-align: center !important;
    padding: 12px 20px !important; /* Larger tap target for fingers */
  }

  /* 4. Let the stats bar items scroll or stack neatly */
  .stats-bar {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 15px !important;
  }
  
  /* 5. Make text headings look appropriate on smaller screens */
  h1 {
    font-size: 1.8rem !important;
  }
  
  h2 {
    font-size: 1.5rem !important;
  }
}
