/* Model pages (/cars/*). Generated pages link this file; edit here, not in the pages. */
.article-body { max-width:720px; margin:0 auto; font-size:17px; line-height:1.75; color:var(--ink-2); }
.article-body h2 { font-family:var(--font-serif); font-size:clamp(24px,3vw,34px); font-weight:400; letter-spacing:-0.02em; margin:48px 0 16px; color:var(--ink); line-height:1.2; }
.article-body h3 { font-family:var(--font-serif); font-size:clamp(20px,2.4vw,26px); font-weight:500; letter-spacing:-0.01em; margin:32px 0 12px; color:var(--ink); }
.article-body p { margin:0 0 20px; }
.article-body strong { color:var(--ink); }
.article-body a { color:var(--ink); border-bottom:1px solid var(--ink); }
.article-body a:hover { opacity:0.7; }
.article-body img { width:100%; aspect-ratio:16/8; object-fit:cover; margin:24px 0 32px; border-radius:2px; }
.article-body ul { margin:0 0 24px; padding-left:0; list-style:none; }
.article-body ul li { margin:0 0 10px; padding-left:0; }

.answer-capsule { background:#f5f3ec; border-left:3px solid var(--accent); padding:20px 24px; margin:32px 0 36px; border-radius:0 4px 4px 0; }
.answer-capsule p { margin:0; font-size:16px; color:var(--ink); line-height:1.65; }
.answer-capsule strong { display:block; font-family:var(--font-mono); font-size:12px; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:8px; color:var(--muted); font-weight:500; }

.inline-cta { background:#1a1a1a; color:#f0ede4; padding:28px 32px; margin:40px 0; border-radius:4px; }
.inline-cta p { margin:0 0 16px; color:#f0ede4; font-size:18px; line-height:1.5; }
.inline-cta a { display:inline-block; background:var(--accent); color:#fff !important; padding:12px 24px; font-weight:600; font-size:15px; text-decoration:none; border-radius:4px; border:none !important; }
.inline-cta a:hover { opacity:0.9; }

.faq-section { background:#faf8f3; padding:40px; margin:48px 0 24px; border-radius:4px; }
.faq-section h2 { margin-top:0 !important; }
.faq-item { border-bottom:1px solid var(--line); padding:20px 0; }
.faq-item:last-child { border-bottom:none; padding-bottom:0; }
.faq-item h3 { font-family:var(--font-sans); font-size:18px; font-weight:600; margin:0 0 10px; color:var(--ink); }
.faq-item p { margin:0; color:var(--ink-2); }

.data-box { background:#f5f3ec; border:1px solid var(--line); padding:24px; margin:24px 0 32px; border-radius:4px; }
.data-box h4 { font-family:var(--font-mono); font-size:12px; font-weight:500; text-transform:uppercase; letter-spacing:0.08em; margin:0 0 12px; color:var(--muted); }
.data-box table { width:100%; border-collapse:collapse; font-size:15px; }
.data-box td { padding:10px 0; border-bottom:1px solid var(--line); color:var(--ink-2); }
.data-box td:last-child { text-align:right; font-family:var(--font-mono); color:var(--ink); font-weight:500; }
.data-box tr:last-child td { border-bottom:none; }

.verdict-box { border:2px solid var(--ink); padding:28px 32px; margin:40px 0; border-radius:4px; }
.verdict-box h3 { font-family:var(--font-mono); font-size:12px; font-weight:500; text-transform:uppercase; letter-spacing:0.08em; margin:0 0 16px; color:var(--muted); }
.verdict-box p { margin:0 0 12px; color:var(--ink); font-size:16px; }
.verdict-box p:last-child { margin:0; }

.blog-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
@media (max-width:760px) {
  .blog-related-grid { grid-template-columns:1fr; }
  .nav-links { display:none; }
  .inline-cta { padding:24px; }
  .faq-section { padding:28px 20px; }
  .verdict-box { padding:24px 20px; }
}

.nav-burger-btn{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;width:40px;height:40px;flex-shrink:0}
.nav-burger-btn span{display:block;width:22px;height:2px;background:var(--ink)}
.nav-mobile-menu{display:flex;flex-direction:column;border-top:1px solid var(--line);background:var(--paper)}
.nav-mobile-menu a{padding:14px 24px;font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.nav-mobile-menu a.btn{margin:16px 24px;border-bottom:none;padding:12px 24px;text-align:center;justify-content:center}
.nav-mobile-menu.open{display:flex}
@media(max-width:860px){
  .nav-links,.nav-cta{display:none}
  .nav-burger-btn{display:flex}
  .nav-logo{height:44px !important}
}
.price-table { width:100%; border-collapse:collapse; font-size:15px; }
.price-table th { text-align:left; font-family:var(--font-mono); font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); padding:0 0 10px; border-bottom:1px solid var(--line); }
.price-table th:last-child, .price-table td:last-child { text-align:right; }
.price-table td { padding:12px 0; border-bottom:1px solid var(--line); color:var(--ink-2); vertical-align:top; }
.price-table td:last-child { font-family:var(--font-mono); color:var(--ink); font-weight:500; white-space:nowrap; padding-left:16px; }
.price-table tr:last-child td { border-bottom:none; }
.price-table small { display:block; color:var(--muted); font-size:13px; margin-top:2px; }
.fine-print { font-size:13px; color:var(--muted); line-height:1.6; margin:12px 0 0; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:24px 0 8px; }
.service-card { border:1px solid var(--line); border-radius:4px; padding:20px; background:var(--paper); display:flex; flex-direction:column; }
.service-card .mono { margin-bottom:8px; }
.service-card h3 { font-family:var(--font-sans) !important; font-size:18px !important; font-weight:700 !important; margin:0 0 8px !important; }
.service-card p { font-size:15px !important; line-height:1.55; margin:0 0 16px !important; flex:1; }
.service-card a.btn { align-self:flex-start; border:1px solid var(--ink); }
.service-card a.btn-primary { color:var(--paper); }
.service-card a.btn-primary:hover { color:var(--accent-ink); opacity:1; }
.lead-box { border:2px solid var(--ink); border-radius:4px; padding:28px; margin:16px 0 40px; scroll-margin-top:90px; }
.lead-box label { display:block; font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); margin:0 0 6px; }
.lead-box input, .lead-box select, .lead-box textarea { width:100%; font:inherit; font-size:15px; padding:11px 12px; border:1px solid var(--line); border-radius:2px; background:#fff; color:var(--ink); margin:0 0 16px; }
.lead-box .row2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:760px) {
  .service-grid { grid-template-columns:1fr; }
  .lead-box { padding:20px; }
  .lead-box .row2 { grid-template-columns:1fr; gap:0; }
}

/* Hero photo */
.model-hero { width:100%; height:auto; aspect-ratio:16/8; object-fit:cover; border-radius:2px; margin:0 0 40px; background:var(--paper-2); display:block; }
/* Pros / cons */
.pc-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0 32px; }
.pc-box { border:1px solid var(--line); border-radius:4px; padding:20px 22px; background:var(--paper); }
.pc-box h3 { font-family:var(--font-mono) !important; font-size:12px !important; font-weight:500 !important; text-transform:uppercase; letter-spacing:0.08em; margin:0 0 12px !important; color:var(--muted) !important; }
.pc-box ul { margin:0 !important; }
.pc-box li { font-size:15px; line-height:1.55; padding-left:18px !important; position:relative; margin:0 0 10px !important; }
.pc-box li::before { position:absolute; left:0; top:0; font-weight:700; }
.pc-pros li::before { content:"+"; color:var(--accent); }
.pc-cons li::before { content:"\2212"; color:#a33a2a; }
/* JimScore */
.js-score { display:flex; align-items:baseline; gap:10px; margin:0 0 16px; }
.js-score b { font-size:44px; line-height:1; color:var(--ink); font-weight:800; letter-spacing:-0.03em; }
.js-score span { font-family:var(--font-mono); font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:0.08em; }
.js-bars { display:grid; grid-template-columns:repeat(2,1fr); gap:10px 28px; margin:0 0 20px; }
.js-bar { font-size:14px; }
.js-bar .lab { display:flex; justify-content:space-between; margin:0 0 4px; color:var(--ink-2); }
.js-bar .lab em { font-style:normal; font-family:var(--font-mono); color:var(--ink); }
.js-bar .trk { height:6px; background:var(--line); border-radius:3px; overflow:hidden; }
.js-bar .fill { height:100%; background:var(--accent); }
.video-wrap { position:relative; aspect-ratio:16/9; margin:16px 0 32px; }
.video-wrap iframe { position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:4px; }
/* Hub */
.hub-cat { margin:0 0 40px; }
.hub-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.hub-card { border:1px solid var(--line); border-radius:4px; overflow:hidden; background:var(--paper); color:var(--ink); text-decoration:none; display:flex; flex-direction:column; transition:border-color .2s; }
.hub-card:hover { border-color:var(--ink); }
.hub-card img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; background:var(--paper-2); display:block; }
.hub-card div { padding:14px 16px 16px; }
.hub-card strong { display:block; font-size:17px; margin:0 0 4px; }
.hub-card span { font-family:var(--font-mono); font-size:12px; color:var(--muted); }
@media (max-width:760px) {
  .pc-grid, .js-bars { grid-template-columns:1fr; }
  .hub-grid { grid-template-columns:1fr 1fr; gap:12px; }
}
@media (max-width:420px) { .hub-grid { grid-template-columns:1fr; } }
.service-card .svc-more { font-size:13px; color:var(--muted); margin-top:10px; border-bottom:1px solid var(--line) !important; align-self:flex-start; }
.service-card .svc-more:hover { color:var(--ink); }

/* Cluster pages: engines, find-this-car box, comparison tables, related links */
.eng-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0 32px; }
.eng-card { border:1px solid var(--line); border-radius:6px; padding:20px 22px; background:var(--paper); }
.eng-card h3 { font-family:var(--font-sans) !important; font-size:20px !important; font-weight:800 !important; margin:6px 0 4px !important; }
.eng-card .eng-power { font-family:var(--font-mono); font-size:13px; color:var(--accent); margin:0 0 12px; }
.eng-card p { font-size:15px !important; line-height:1.55; margin:0 0 8px !important; }
.find-box { background:var(--ink); color:var(--paper); border-radius:6px; padding:28px; margin:36px 0 40px; }
.find-box .mono { color:#8a8680; }
.find-box h3 { font-family:var(--font-sans) !important; color:var(--paper) !important; font-size:26px !important; font-weight:800 !important; margin:8px 0 8px !important; letter-spacing:-0.02em; }
.find-box p { color:#c8c4bb !important; margin:0 0 18px !important; font-size:16px !important; }
.find-btns { display:flex; flex-wrap:wrap; gap:10px; }
.find-box .btn { border:1px solid var(--paper) !important; color:var(--paper) !important; }
.find-box .btn-primary { background:var(--accent); border-color:var(--accent) !important; color:var(--accent-ink) !important; }
.find-box .find-alt { margin:16px 0 0 !important; font-size:14px !important; }
.find-box .find-alt a { color:var(--paper) !important; border-bottom:1px solid var(--paper) !important; }
.cmp-table { width:100%; border-collapse:collapse; font-size:15px; }
.cmp-table th { text-align:left; font-family:var(--font-mono); font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); padding:0 8px 10px 0; border-bottom:1px solid var(--line); }
.cmp-table td { padding:12px 8px 12px 0; border-bottom:1px solid var(--line); color:var(--ink-2); vertical-align:top; }
.cmp-table td:first-child { color:var(--ink); font-weight:600; }
.cmp-table tr:last-child td { border-bottom:none; }
.more-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:16px 0 40px; }
.more-card { display:flex; flex-direction:column; gap:6px; border:1px solid var(--line) !important; border-radius:6px; padding:16px 18px; background:var(--paper); color:var(--ink) !important; text-decoration:none; transition:border-color .2s; }
.more-card:hover { border-color:var(--ink) !important; opacity:1 !important; }
.more-card strong { font-size:16px; line-height:1.3; }
@media (max-width:760px) {
  .eng-grid, .more-grid { grid-template-columns:1fr; }
  .find-box { padding:22px; }
  .cmp-table { font-size:14px; }
}
.data-box .cmp-table td:last-child { text-align:left; font-family:inherit; font-weight:400; color:var(--ink-2); }
.cmp-table td:nth-child(2), .cmp-table td:nth-child(3), .cmp-table th:nth-child(2), .cmp-table th:nth-child(3) { width:38%; }

/* Clear, clickable related-guide cards */
.more-card { border:1.5px solid var(--line) !important; padding:18px 20px 16px; gap:8px; box-shadow:0 1px 0 rgba(0,0,0,.03); transition:border-color .2s, transform .2s, box-shadow .2s; }
.more-card .mono { color:var(--accent); }
.more-card strong { font-size:17px; }
.more-card .more-sub { font-size:14px; color:var(--muted); line-height:1.45; flex:1; }
.more-card .more-go { display:inline-flex; align-items:center; gap:6px; margin-top:6px; font-weight:700; font-size:14px; color:var(--accent); }
.more-card .more-go .arr { transition:transform .2s; }
.more-card:hover { border-color:var(--accent) !important; transform:translateY(-2px); box-shadow:0 10px 24px rgba(26,92,74,.12); }
.more-card:hover .more-go .arr { transform:translateX(4px); }

/* Green primary actions on model, cluster and service pages */
.btn-go, .article-body .btn-primary, .lead-box .btn-primary { background:var(--accent) !important; color:#fff !important; border:1px solid var(--accent) !important; }
.btn-go:hover, .article-body .btn-primary:hover, .lead-box .btn-primary:hover { background:#134637 !important; border-color:#134637 !important; }
.lead-box { border-color:var(--accent); }
.lead-box .btn-submit { width:100%; justify-content:center; font-size:16px; padding:17px 24px; font-weight:700; letter-spacing:.01em; margin-top:4px; }
.lead-box .btn-submit:disabled { opacity:.7; }
.service-card .svc-more { color:var(--accent) !important; font-weight:600; border-bottom-color:transparent !important; }

/* Sales pass: bigger, centered, full-width buttons where people decide */
.service-card { border-radius:8px; border-top:3px solid var(--accent); padding:22px; }
.service-card a.btn { align-self:stretch; display:flex; justify-content:center; align-items:center; text-align:center; padding:15px 18px; font-size:15px; border-radius:6px; background:var(--accent) !important; color:#fff !important; border-color:var(--accent) !important; }
.service-card a.btn:hover { background:#134637 !important; border-color:#134637 !important; }
.service-card .svc-more { align-self:center; margin-top:12px; }
.hero-cta { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.hero-cta .btn { display:inline-flex; justify-content:center; align-items:center; text-align:center; padding:17px 24px; font-size:15px; border-radius:6px; text-decoration:none; }
.hero-cta .btn-go { box-shadow:0 8px 20px rgba(26,92,74,.22); }
.hero-cta .btn-outline { background:transparent; border:1px solid var(--ink); color:var(--ink); }
.hero-cta .btn-outline:hover { background:var(--ink); color:var(--paper); }
@media (max-width:640px) { .hero-cta .btn { width:100%; } }
/* Inline CTA: text and button side by side on desktop, stacked full width on phones */
.inline-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; border-radius:8px; }
.inline-cta p { margin:0 !important; flex:1; }
.inline-cta a { flex-shrink:0; padding:15px 26px; border-radius:6px; text-align:center; }
@media (max-width:640px) { .inline-cta { flex-direction:column; align-items:stretch; } .inline-cta a { display:block; } }

/* Service cards: one-line buttons of equal height, bottoms aligned across the row */
.service-card a.btn { white-space:nowrap; min-height:52px; padding:14px 12px; font-size:15px; letter-spacing:0; line-height:1.2; margin-top:auto; }
.service-card .svc-more { min-height:20px; line-height:20px; }
.service-card .svc-note { color:var(--muted) !important; font-weight:500; cursor:default; }

/* Real-photo gallery under the generations section */
.model-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:24px 0 36px; }
.model-gallery.g1 { grid-template-columns:1fr; } .model-gallery.g2 { grid-template-columns:1fr 1fr; }
.article-body .model-gallery > a { display:block; border:0; border-radius:2px; overflow:hidden; background:var(--paper-2); }
.article-body .model-gallery > a:hover { opacity:1; }
.article-body .model-gallery img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; display:block; margin:0; transition:transform .25s; }
.model-gallery > a:hover img { transform:scale(1.03); }
.model-gallery figcaption { grid-column:1/-1; font-family:var(--font-mono); font-size:12px; color:var(--muted); margin-top:2px; }
@media (max-width:640px) { .model-gallery { gap:6px; } .model-gallery figcaption { font-size:11px; } }

/* Hero with a photo credit (Wikimedia Commons photos) */
.hero-fig { margin:0 0 40px; }
.article-body .hero-fig .model-hero { margin:0; }
.photo-credit, .model-gallery figcaption { overflow-wrap:anywhere; }
.photo-credit { font-family:var(--font-mono); font-size:12px; color:var(--muted); margin-top:8px; }
.article-body .photo-credit a, .article-body .model-gallery figcaption a { color:var(--muted); border-bottom-color:var(--line); }
.article-body .model-gallery.g1 img { aspect-ratio:16/9; }
