/* good-contractors-list.html */

.gcl-compare { padding:64px 0; }
.gcl-compare .sec-head .lede { max-width:640px; margin-left:auto; margin-right:auto; }

.compare-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px; align-items:start; }
@media (max-width:860px) { .compare-grid { grid-template-columns:1fr; max-width:520px; margin-left:auto; margin-right:auto; } }

.compare-card { background:#fff; border:1px solid var(--border); border-radius:18px; padding:32px 28px; }
.compare-label { display:inline-block; font-family:var(--font-body); font-weight:700; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--fg-subtle); background:var(--surface-subtle); padding:5px 12px; border-radius:999px; }
.compare-label.gold { color:#8A6A16; background:#F5E6BE; }
.compare-card h3 { font-family:var(--font-display); font-weight:600; text-transform:uppercase; letter-spacing:.01em; line-height:1.15; font-size:22px; margin:16px 0 4px; color:var(--fg); }
.compare-sub { font-size:13.5px; color:var(--fg-subtle); margin:0 0 18px; }
.compare-list { list-style:none; margin:0 0 16px; padding:0; }
.compare-list li { position:relative; padding-left:22px; margin:12px 0; font-size:14.5px; line-height:1.6; color:var(--fg-muted); }
.compare-card.old { border-color:rgba(180,35,44,.25); }
.compare-card.old .compare-list li::before { content:"\2715"; position:absolute; left:0; top:1px; color:#B4232C; font-weight:700; }
.compare-card.new { border:2px solid #C99A2E; background:linear-gradient(180deg,#FFFBF0,#ffffff); box-shadow:var(--shadow-md); }
.compare-card.new .compare-list li::before { content:"\2713"; position:absolute; left:0; top:1px; color:var(--green-hover); font-weight:700; }
.compare-note { font-size:13px; color:var(--fg-subtle); font-style:italic; margin:0; }

.gcl-banner { background:#0a0a0a; color:#fff; padding:56px 0; text-align:center; }
.gcl-banner .wrap { max-width:820px; }
.gcl-banner p { font-size:18px; color:rgba(255,255,255,.75); line-height:1.6; margin:0 0 18px; }
.gcl-banner-amount { font-family:var(--font-display); font-weight:600; text-transform:uppercase; letter-spacing:.01em; font-size:clamp(22px,4vw,32px); color:#E8C96B !important; margin:0 !important; }

.gcl-quote { padding:64px 0; }
.quote-card { display:flex; gap:24px; align-items:flex-start; max-width:820px; margin:0 auto; background:var(--surface-subtle); border-radius:18px; padding:32px; }
.quote-avatar { flex:0 0 56px; width:56px; height:56px; border-radius:50%; background:var(--green); color:#fff; font-family:var(--font-display); font-weight:600; font-size:22px; display:flex; align-items:center; justify-content:center; }
.quote-text { font-size:16px; line-height:1.7; color:var(--fg); margin:0 0 14px; }
.quote-attr { font-size:13.5px; color:var(--fg-subtle); margin:0; }
.quote-attr a { color:var(--green-hover); font-weight:600; }

.gcl-steps { padding:64px 0; background:var(--surface-subtle); }
.gcl-steps .sec-head .lede { max-width:640px; margin-left:auto; margin-right:auto; }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:44px; }
@media (max-width:860px) { .steps-grid { grid-template-columns:1fr; max-width:480px; margin-left:auto; margin-right:auto; } }
.step-card { background:#fff; border:1px solid var(--border); border-radius:18px; padding:32px 28px; }
.step-num { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:var(--green-tint); color:var(--green-hover); font-family:var(--font-display); font-weight:600; font-size:16px; margin-bottom:16px; }
.step-card h3 { font-family:var(--font-display); font-weight:600; text-transform:uppercase; letter-spacing:.01em; font-size:18px; margin:0 0 8px; color:var(--fg); }
.step-card p { font-size:14.5px; line-height:1.65; color:var(--fg-muted); margin:0; }

.gcl-endorse { padding:56px 0; }
.gcl-endorse-row { display:flex; align-items:center; gap:28px; justify-content:center; text-align:left; flex-wrap:wrap; }
.gcl-endorse-row img { width:110px; height:auto; border-radius:10px; box-shadow:var(--shadow-sm); }
.endorse-label { font-family:var(--font-body); font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--green-hover); margin:0 0 6px; }
.endorse-sub { font-size:14px; color:var(--fg-subtle); margin:6px 0 0; }
@media (max-width:640px) { .gcl-endorse-row { text-align:center; justify-content:center; } }
