/* ============================================================
   BLOG POST SHARED STYLESHEET
   Consolidated from 134 near-duplicate inline <style> blocks.
   Every selector here uses the most common variant found across
   all blog posts, resolving small drift (e.g. link colours,
   .9rem vs 0.9rem) toward the sitewide majority.
   ============================================================ */

.blog-article { max-width: 760px; margin: 0 auto; line-height: 1.8; }
.blog-article h2 { font-family: var(--font-heading); font-size: 1.8rem; color: var(--navy); margin-top: 48px; margin-bottom: 20px; line-height: 1.2; }
.blog-article h3 { font-family: var(--font-body); font-size: 1.1rem; font-weight: 700; color: var(--navy); margin-top: 32px; margin-bottom: 16px; }
.blog-article p { margin-bottom: 20px; color: var(--body-text); font-size: 1rem; }
.blog-article ul, .blog-article ol { margin-bottom: 20px; padding-left: 24px; }
.blog-article li { margin-bottom: 10px; color: var(--body-text); }
.blog-article a { color: var(--teal); font-weight: 600; text-decoration: none; transition: color 0.2s; }
.blog-article a:hover { color: var(--teal-dark); text-decoration: underline; }
.blog-meta { display: flex; gap: 24px; align-items: center; padding-bottom: 24px; border-bottom: 1px solid var(--border); margin-bottom: 40px; flex-wrap: wrap; }
.blog-author { display: flex; gap: 12px; align-items: center; }
.blog-author-avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--teal); color: white; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.85rem; flex-shrink: 0; }
.blog-author-info h5 { font-family: var(--font-body); font-weight: 700; color: var(--navy); margin-bottom: 2px; }
.blog-author-info p { font-size: 0.85rem; color: var(--muted); margin: 0; }
.blog-meta-item { display: flex; gap: 6px; font-size: 0.9rem; color: var(--muted); }
.blog-cta { background: var(--cream); border-radius: var(--radius-lg); padding: 40px; text-align: center; margin: 60px 0; }
.blog-cta h3 { margin-top: 0; }
.related-posts { margin-top: 80px; padding-top: 40px; border-top: 1px solid var(--border); }
.stat-callout { background: #f0f9ff; border-left: 4px solid var(--teal); border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 28px 0; }
.stat-callout strong { display: block; font-size: 1.4rem; color: var(--navy); margin-bottom: 4px; }
.stat-callout span { font-size: 0.9rem; color: var(--muted); }
.warn-callout { background: #fff7ed; border-left: 4px solid #f97316; border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 28px 0; }
.warn-callout strong { display: block; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #c2410c; margin-bottom: 6px; }
.cost-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.cost-table thead { background: var(--navy); color: #fff; }
.cost-table thead th { padding: 12px 16px; text-align: left; font-size: 0.79rem; letter-spacing: .04em; font-weight: 700; }
.cost-table tbody tr:nth-child(even) { background: var(--cream); }
.cost-table tbody td { padding: 11px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.5; }
.cost-table tbody tr:last-child td { border-bottom: none; }
.toc-box { background: var(--cream); border: 1px solid var(--border); border-radius: 12px; padding: 24px 28px; margin: 36px 0; }
.toc-box p { font-weight: 700; color: var(--navy); margin: 0 0 12px; font-size: 0.9rem; text-transform: uppercase; letter-spacing: .05em; }
.toc-box ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.toc-box li { font-size: 0.92rem; margin: 0; }
.toc-box a { color: var(--teal); font-weight: 500; }
.price-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)); gap: 16px; margin: 32px 0; }
.price-card { border-radius: 10px; padding: 20px 14px; background: var(--cream); border: 1px solid var(--border); text-align: center; }
.price-card__job { font-size: .76rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px; display: block; }
.price-card__range { font-family: var(--font-heading); font-size: 1.35rem; color: var(--navy); line-height: 1.2; margin-bottom: 5px; }
.price-card__note { font-size: .74rem; color: var(--muted); }
.option-card { border: 2px solid var(--border); border-radius: 14px; padding: 28px; margin: 28px 0; background: #fff; }
.option-card--teal { border-color: #5eead4; }
.option-card--blue { border-color: #bae6fd; }
.option-card--green { border-color: #bbf7d0; }
.option-card--amber { border-color: #fde68a; }
.option-card--purple { border-color: #ddd6fe; }
.option-card--red { border-color: #fca5a5; }
.option-card--slate { border-color: #cbd5e1; }
.option-card__badge { display: inline-block; font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: 3px 10px; border-radius: 20px; margin-bottom: 10px; }
.option-card--teal .option-card__badge { background: #ccfbf1; color: #0f766e; }
.option-card--blue .option-card__badge { background: #e0f2fe; color: #0369a1; }
.option-card--green .option-card__badge { background: #dcfce7; color: #166534; }
.option-card--amber .option-card__badge { background: #fef9c3; color: #854d0e; }
.option-card--purple .option-card__badge { background: #ede9fe; color: #6d28d9; }
.option-card--red .option-card__badge { background: #fee2e2; color: #991b1b; }
.option-card--slate .option-card__badge { background: #f1f5f9; color: #475569; }
.option-card__title { font-family: var(--font-heading); font-size: 1.3rem; color: var(--navy); margin: 0 0 6px; }
.option-card__subtitle { font-size: .88rem; color: var(--muted); margin: 0 0 16px; }
.option-card p { font-size: .97rem; color: var(--body-text); margin-bottom: 14px; }
.option-card p:last-of-type { margin-bottom: 0; }
.option-card ul { font-size: .93rem; color: var(--body-text); padding-left: 20px; margin-bottom: 0; }
.option-card li { margin-bottom: 8px; }
.fix-box { background: #f0fdf4; border: 1px solid #86efac; border-radius: 8px; padding: 14px 18px; margin-top: 18px; }
.fix-box__label { display: block; font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #16a34a; margin-bottom: 7px; }
.fix-box p { font-size: .93rem; color: var(--body-text); margin: 0; }
.insight-banner { background: #f0fdf4; border: 1px solid #bbf7d0; border-left: 4px solid #16a34a; border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 28px 0; }
.insight-banner strong { display: block; color: #166534; margin-bottom: 6px; }
.insight-banner p { font-size: .95rem; color: var(--body-text); margin: 0; }
.alert-banner { background: #fff7ed; border: 1px solid #fed7aa; border-left: 4px solid #ea580c; border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 28px 0; display: flex; gap: 14px; align-items: flex-start; }
.alert-banner__icon { font-size: 1.4rem; flex-shrink: 0; line-height: 1.2; }
.alert-banner__body { font-size: .95rem; color: var(--body-text); }
.alert-banner__body strong { display: block; color: #9a3412; margin-bottom: 4px; font-size: 1rem; }
.script-box { background: #f8fafc; border-left: 3px solid var(--navy); border-radius: 0 8px 8px 0; padding: 14px 18px; margin: 16px 0; }
.script-box__label { display: block; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 6px; }
.script-box p { font-size: .9rem; color: var(--navy); margin: 0; font-style: italic; line-height: 1.75; }
.do-dont { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
.do-box, .dont-box { border-radius: 8px; padding: 16px 18px; }
.do-box { background: #f0fdf4; border: 1px solid #86efac; }
.dont-box { background: #fef2f2; border: 1px solid #fca5a5; }
.do-box__label, .dont-box__label { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px; display: block; }
.do-box__label { color: #16a34a; }
.dont-box__label { color: #dc2626; }
.do-box ul, .dont-box ul { font-size: .88rem; margin: 0; padding-left: 16px; }
.do-box li { color: #166534; margin-bottom: 5px; }
.dont-box li { color: #991b1b; margin-bottom: 5px; }
.factor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0; }
.factor-card { border-radius: 10px; padding: 20px; border: 1px solid var(--border); background: #fff; }
.factor-card__icon { font-size: 1.4rem; margin-bottom: 8px; display: block; }
.factor-card__title { font-weight: 700; color: var(--navy); font-size: .95rem; margin: 0 0 6px; }
.factor-card__body { font-size: .9rem; color: var(--muted); margin: 0; line-height: 1.65; }
.blog-article table { width: 100%; border-collapse: collapse; margin: 28px 0; font-size: .87rem; }
.blog-article th { background: var(--navy); color: #fff; padding: 11px 14px; text-align: left; font-weight: 600; }
.blog-article td { padding: 10px 14px; border-bottom: 1px solid var(--border); color: var(--body-text); vertical-align: top; }
.blog-article tr:nth-child(even) td { background: #f8fafc; }
.blog-article tr:last-child td { border-bottom: none; }
.blog-article td:first-child { font-weight: 600; color: var(--navy); }
.action-checklist { list-style: none; padding: 20px 24px; background: var(--cream); border-radius: 8px; margin-bottom: 20px; }
.action-checklist li { padding: 9px 0; border-bottom: 1px solid var(--border); font-size: .95rem; display: flex; gap: 10px; align-items: flex-start; color: var(--body-text); }
.action-checklist li:last-child { border-bottom: none; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item summary { cursor: pointer; padding: 16px 0; font-weight: 600; color: var(--navy); list-style: none; display: flex; justify-content: space-between; align-items: center; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; font-size: 1.4rem; color: var(--teal); }
.faq-item[open] summary::after { content: "−"; }
.faq-answer { padding: 0 0 16px; color: var(--body-text); }
.faq-answer p { margin-bottom: 0; }
.contractor-form-section { background: var(--navy); border-radius: 12px; padding: 36px; margin: 48px 0; }
.contractor-form-section h3 { font-family: var(--font-heading); color: #fff; margin: 0 0 8px; font-size: 1.5rem; }
.contractor-form-section p { color: rgba(255,255,255,.75); margin: 0 0 24px; font-size: .95rem; }
.contractor-form { display: flex; flex-direction: column; gap: 12px; }
.contractor-form input, .contractor-form select, .contractor-form textarea { width: 100%; padding: 12px 14px; border-radius: 6px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fff; font-family: var(--font-body); font-size: .95rem; box-sizing: border-box; }
.contractor-form input::placeholder, .contractor-form textarea::placeholder { color: rgba(255,255,255,.45); }
.contractor-form select option { color: var(--navy); background: #fff; }
.contractor-form button { background: var(--teal); color: #fff; border: none; padding: 14px 28px; border-radius: 6px; font-family: var(--font-body); font-weight: 700; font-size: 1rem; cursor: pointer; transition: background .2s; }
.contractor-form button:hover { background: var(--teal-dark); }
.form-success { display: none; background: rgba(255,255,255,.1); border-radius: 8px; padding: 20px; text-align: center; }
.form-success p { color: rgba(255,255,255,.9); margin: 0; }
.step-list { list-style: none; padding: 0; margin: 28px 0; }
.step-list li { display: flex; gap: 16px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid var(--border); }
.step-list li:last-child { border-bottom: none; }
.step-list li::before { content: ""; position: absolute; left: 18px; top: 36px; bottom: 0; width: 2px; background: var(--border); }
.step-list li:last-child::before { display: none; }
.step-num { min-width: 36px; height: 36px; border-radius: 50%; background: var(--teal); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; font-size: 0.9rem; flex-shrink: 0; }
.step-body { flex: 1; padding-top: 4px; }
.step-body strong { display: block; color: var(--navy); margin-bottom: 4px; }
.step-body p { margin: 0; font-size: 0.95rem; color: var(--muted); }
.channel-card { border-radius: 14px; padding: 28px; margin: 24px 0; background: #fff; border: 2px solid var(--border); }
.channel-card--letting { border-color: #5eead4; }
.channel-card--landlord { border-color: #bae6fd; }
.channel-card__header { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.channel-card__icon { font-size: 2rem; line-height: 1; flex-shrink: 0; }
.channel-card__heading { flex: 1; }
.channel-card__heading h3 { font-family: var(--font-heading); font-size: 1.25rem; color: var(--navy); margin: 0 0 4px; }
.channel-card__heading p { font-size: .86rem; color: var(--muted); margin: 0; }
.channel-card__body p { font-size: .95rem; color: var(--body-text); margin-bottom: 14px; }
.channel-card__body p:last-of-type { margin-bottom: 0; }
.channel-card__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 16px 0; }
.c-stat { background: #f8fafc; border-radius: 8px; padding: 10px 8px; text-align: center; }
.c-stat__label { font-size: .67rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: 3px; display: block; }
.c-stat__value { font-weight: 700; color: var(--navy); font-size: .88rem; line-height: 1.25; }
.template-box { background: #f0f9ff; border: 1.5px solid #bae6fd; border-radius: 10px; padding: 20px 24px; margin: 20px 0; }
.template-box__label { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--teal); margin-bottom: 10px; display: block; }
.template-box__subject { font-size: .82rem; color: var(--muted); margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid #bae6fd; }
.template-box__subject strong { color: var(--navy); }
.template-box__body { font-size: .9rem; color: var(--body-text); line-height: 1.8; white-space: pre-wrap; }
.step-body .fix-box { margin-top: 12px; }
.scenario-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0; }
.scenario-card { border-radius: 10px; padding: 16px 18px; border: 1.5px solid var(--border); }
.scenario-card--yes { background: #f0fdf4; border-color: #86efac; }
.scenario-card--no { background: #fef2f2; border-color: #fca5a5; }
.scenario-card--split { background: #fff7ed; border-color: #fed7aa; }
.scenario-card--check { background: #f8fafc; border-color: #cbd5e1; }
.scenario-card__label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 7px; display: block; }
.scenario-card--yes .scenario-card__label { color: #16a34a; }
.scenario-card--no .scenario-card__label { color: #dc2626; }
.scenario-card--split .scenario-card__label { color: #9a3412; }
.scenario-card--check .scenario-card__label { color: #475569; }
.scenario-card__title { font-weight: 700; color: var(--navy); font-size: .95rem; margin: 0 0 5px; }
.scenario-card__detail { font-size: .86rem; color: var(--muted); margin: 0; line-height: 1.6; }
.escalation-track { margin: 28px 0; }
.escalation-step { display: flex; gap: 16px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid var(--border); }
.escalation-step:last-child { border-bottom: none; }
.escalation-step__badge { min-width: 80px; padding: 4px 10px; border-radius: 20px; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; text-align: center; flex-shrink: 0; margin-top: 2px; }
.badge--try-first { background: #dcfce7; color: #166534; }
.badge--if-stuck { background: #fef9c3; color: #92400e; }
.badge--formal { background: #e0f2fe; color: #0369a1; }
.badge--legal { background: #fee2e2; color: #991b1b; }
.escalation-step__content strong { display: block; color: var(--navy); font-size: .95rem; margin-bottom: 4px; }
.escalation-step__content p { font-size: .88rem; color: var(--muted); margin: 0; line-height: 1.6; }
.ownership-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0; }
.ownership-card { border-radius: 10px; padding: 18px 20px; border: 1.5px solid var(--border); background: #fff; }
.ownership-card__type { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 7px; display: block; }
.ownership-card__title { font-weight: 700; color: var(--navy); font-size: .95rem; margin: 0 0 8px; }
.ownership-card__rule { font-size: .87rem; color: var(--body-text); margin: 0; line-height: 1.65; }
.blog-article blockquote { border-left: 4px solid var(--teal); padding-left: 20px; margin: 32px 0; font-style: italic; color: var(--muted); }
.option-card__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 18px 0; }
.o-stat { background: #f8fafc; border-radius: 8px; padding: 11px 8px; text-align: center; }
.o-stat__label { font-size: 0.67rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); margin-bottom: 4px; display: block; }
.o-stat__value { font-weight: 700; color: var(--navy); font-size: 0.9rem; line-height: 1.2; }
.option-card__pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.pros-label, .cons-label { font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 7px; display: block; }
.pros-label { color: #16a34a; }
.cons-label { color: #dc2626; }
.pros-list, .cons-list { margin: 0; padding-left: 16px; }
.pros-list li, .cons-list li { font-size: .87rem; margin-bottom: 5px; }
.pros-list li { color: #166534; }
.cons-list li { color: #991b1b; }
.site-preview { background: #f1f5f9; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; margin: 20px 0; }
.site-preview__bar { background: #e2e8f0; padding: 8px 14px; display: flex; align-items: center; gap: 8px; }
.site-preview__dot { width: 10px; height: 10px; border-radius: 50%; }
.site-preview__dot--r { background: #f87171; }
.site-preview__dot--y { background: #fbbf24; }
.site-preview__dot--g { background: #4ade80; }
.site-preview__url { font-size: .75rem; color: var(--muted); background: #fff; border-radius: 4px; padding: 3px 10px; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-preview__content { padding: 20px; }
.site-preview__hero { border-radius: 6px; padding: 24px 20px; margin-bottom: 14px; }
.site-preview__hero h4 { font-family: var(--font-heading); font-size: 1.2rem; margin: 0 0 8px; line-height: 1.3; }
.site-preview__hero p { font-size: .82rem; margin: 0 0 12px; line-height: 1.5; opacity: .85; }
.site-preview__btn { display: inline-block; font-size: .78rem; font-weight: 700; padding: 8px 16px; border-radius: 5px; }
.site-preview__row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
.site-preview__card { background: #fff; border-radius: 6px; padding: 12px; }
.site-preview__card-icon { font-size: 1.2rem; margin-bottom: 4px; display: block; }
.site-preview__card p { font-size: .75rem; color: var(--muted); margin: 0; line-height: 1.4; }
.site-preview__card strong { font-size: .8rem; color: var(--navy); display: block; margin-bottom: 2px; }
.homeowner-form-section { background: var(--navy); border-radius: 12px; padding: 36px; margin: 48px 0; }
.homeowner-form-section h3 { font-family: var(--font-heading); color: #fff; margin: 0 0 8px; font-size: 1.5rem; }
.homeowner-form-section p { color: rgba(255,255,255,0.75); margin: 0 0 24px; font-size: 0.95rem; }
.homeowner-form { display: flex; flex-direction: column; gap: 12px; }
.homeowner-form input, .homeowner-form textarea, .homeowner-form select { width: 100%; padding: 12px 14px; border-radius: 6px; border: 1px solid rgba(255,255,255,0.2); background: rgba(255,255,255,0.08); color: #fff; font-family: var(--font-body); font-size: 0.95rem; box-sizing: border-box; }
.homeowner-form input::placeholder, .homeowner-form textarea::placeholder { color: rgba(255,255,255,0.45); }
.homeowner-form select option { color: var(--navy); background: #fff; }
.homeowner-form textarea { resize: vertical; min-height: 90px; }
.homeowner-form button { background: var(--teal); color: #fff; border: none; padding: 14px 28px; border-radius: 6px; font-family: var(--font-body); font-weight: 700; font-size: 1rem; cursor: pointer; transition: background 0.2s; }
.homeowner-form button:hover { background: var(--teal-dark); }
.danger-banner { background: #fef2f2; border: 1px solid #fca5a5; border-left: 4px solid #dc2626; border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 28px 0; display: flex; gap: 14px; align-items: flex-start; }
.danger-banner__icon { font-size: 1.4rem; flex-shrink: 0; line-height: 1.2; }
.danger-banner__body { font-size: .95rem; color: var(--body-text); }
.danger-banner__body strong { display: block; color: #991b1b; margin-bottom: 4px; font-size: 1rem; }
.cell-green { color: #166534; font-weight: 700; }
.cell-amber { color: #92400e; font-weight: 700; }
.cell-red { color: #991b1b; font-weight: 700; }
.coverage-strip { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin: 28px 0; }
.coverage-card { border-radius: 10px; padding: 16px 14px; text-align: center; border: 1.5px solid; }
.coverage-card--yes { background: #f0fdf4; border-color: #86efac; }
.coverage-card--no { background: #fef2f2; border-color: #fca5a5; }
.coverage-card--maybe { background: #fffbeb; border-color: #fde68a; }
.coverage-card__icon { font-size: 1.4rem; display: block; margin-bottom: 6px; }
.coverage-card__label { font-size: .82rem; font-weight: 700; display: block; margin-bottom: 3px; }
.coverage-card--yes .coverage-card__label { color: #166534; }
.coverage-card--no .coverage-card__label { color: #991b1b; }
.coverage-card--maybe .coverage-card__label { color: #854d0e; }
.coverage-card__detail { font-size: .74rem; color: var(--muted); line-height: 1.5; }
.contractor-form input { width: 100%; padding: 12px 14px; border-radius: 6px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fff; font-family: var(--font-body); font-size: .95rem; box-sizing: border-box; }
.contractor-form input::placeholder { color: rgba(255,255,255,.45); }
.problem-card { border: 2px solid var(--border); border-radius: 14px; padding: 28px; margin: 28px 0; background: #fff; }
.problem-card--pond { border-color: #fca5a5; }
.problem-card--block { border-color: #fde68a; }
.problem-card--fall { border-color: #ddd6fe; }
.problem-card--edge { border-color: #bae6fd; }
.problem-card--crack { border-color: #fca5a5; }
.problem-card__header { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.problem-card__icon { font-size: 2.2rem; line-height: 1; flex-shrink: 0; }
.problem-card__head h3 { font-family: var(--font-heading); font-size: 1.2rem; color: var(--navy); margin: 0 0 4px; }
.problem-card__head p { font-size: .84rem; color: var(--muted); margin: 0; }
.problem-card__body p { font-size: .95rem; color: var(--body-text); margin-bottom: 14px; }
.problem-card__body p:last-of-type { margin-bottom: 0; }
.problem-card__cause { background: #fef2f2; border-radius: 8px; padding: 12px 14px; margin: 14px 0; font-size: .9rem; color: #991b1b; }
.problem-card__cause strong { display: block; margin-bottom: 4px; }
.problem-card__fix { background: #f0fdf4; border-radius: 8px; padding: 12px 14px; margin: 14px 0; font-size: .9rem; color: #166534; }
.problem-card__fix strong { display: block; margin-bottom: 4px; }
.problem-card__cost { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.problem-card__stat { background: #f8fafc; border-radius: 8px; padding: 10px; text-align: center; }
.problem-card__stat span { font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); display: block; margin-bottom: 3px; }
.problem-card__stat strong { font-size: .88rem; color: var(--navy); }
.symptom-strip { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; margin: 28px 0; }
.symptom-card { border-radius: 10px; padding: 16px 14px; border: 1.5px solid #fca5a5; background: #fef2f2; text-align: center; }
.symptom-card__icon { font-size: 1.6rem; display: block; margin-bottom: 8px; }
.symptom-card__label { font-size: .8rem; font-weight: 700; color: #991b1b; margin-bottom: 4px; display: block; }
.symptom-card__detail { font-size: .75rem; color: var(--muted); line-height: 1.5; }
.model-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 36px 0; }
.model-card { border-radius: 12px; padding: 28px; border: 2px solid var(--border); }
.model-card--ppl { border-color: #bae6fd; background: #f0f9ff; }
.model-card--retainer { border-color: #bbf7d0; background: #f0fdf4; }
.model-card__label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 8px; display: block; }
.model-card--ppl .model-card__label { color: #0284c7; }
.model-card--retainer .model-card__label { color: #16a34a; }
.model-card__title { font-family: var(--font-heading); font-size: 1.3rem; color: var(--navy); margin: 0 0 16px; line-height: 1.2; }
.model-card__price { font-size: 1.5rem; font-weight: 700; color: var(--navy); margin-bottom: 4px; }
.model-card__price-note { font-size: 0.85rem; color: var(--muted); margin-bottom: 20px; display: block; }
.model-card ul { padding-left: 18px; margin: 0; }
.model-card li { font-size: 0.93rem; margin-bottom: 8px; color: var(--body-text); }
.pros-cons-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 28px 0; }
.pros-col { border-radius: 8px; padding: 22px; }
.pros-col--good { background: #f0fdf4; border: 1px solid #bbf7d0; }
.pros-col--bad { background: #fff5f5; border: 1px solid #fecaca; }
.pros-col h4 { margin-top: 0; font-size: 1rem; color: var(--navy); }
.pros-col ul { padding-left: 18px; margin: 0; }
.pros-col li { margin-bottom: 8px; font-size: 0.93rem; color: var(--body-text); }
.scenario-card p { font-size: 0.95rem; color: var(--body-text); margin: 0; line-height: 1.7; }
.roi-box { background: var(--cream); border-radius: 10px; padding: 28px; margin: 32px 0; }
.roi-box h3 { margin-top: 0; color: var(--navy); font-family: var(--font-body); font-size: 1rem; font-weight: 700; margin-bottom: 16px; }
.roi-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--border); font-size: 0.93rem; }
.roi-row:last-child { border-bottom: none; font-weight: 700; color: var(--navy); font-size: 1rem; padding-top: 14px; }
.roi-row span:first-child { color: var(--muted); }
.roi-row span:last-child { font-weight: 600; color: var(--navy); }
.roi-row--total span { color: var(--navy) !important; }
.verdict-banner { background: var(--navy); border-radius: 12px; padding: 32px; margin: 40px 0; color: #fff; }
.verdict-banner h3 { font-family: var(--font-heading); color: #fff; margin: 0 0 12px; font-size: 1.4rem; }
.verdict-banner p { color: rgba(255,255,255,0.8); margin: 0; font-size: 0.97rem; line-height: 1.75; }
.verdict-banner p + p { margin-top: 14px; }
.template-preview { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 0; margin: 20px 0; overflow: hidden; font-size: .87rem; }
.template-preview__header { background: var(--navy); color: #fff; padding: 14px 20px; display: flex; justify-content: space-between; align-items: center; }
.template-preview__header span { font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; opacity: .7; }
.template-preview__header strong { font-size: .9rem; }
.template-preview__body { padding: 20px; }
.template-preview__section { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid #e2e8f0; }
.template-preview__section:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.template-preview__label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 5px; display: block; }
.template-preview__text { font-size: .88rem; color: var(--body-text); line-height: 1.65; margin: 0; }
.template-preview__text em { color: var(--muted); font-style: normal; background: #fef9c3; padding: 0 3px; border-radius: 3px; }
.template-preview__row { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 8px; font-size: .82rem; }
.template-preview__row-head { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 8px; font-size: .75rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 6px; }
.template-preview__line { grid-column: 1/-1; border: none; border-top: 1px solid #e2e8f0; margin: 8px 0; }
.template-preview__total { grid-column: 1/-1; display: flex; justify-content: flex-end; gap: 20px; font-weight: 700; font-size: .9rem; color: var(--navy); padding-top: 8px; }
.homeowner-form input, .homeowner-form select { width: 100%; padding: 12px 14px; border-radius: 6px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fff; font-family: var(--font-body); font-size: .95rem; box-sizing: border-box; }
.homeowner-form input::placeholder { color: rgba(255,255,255,.45); }
.follow-timeline { margin: 36px 0; padding: 0; list-style: none; position: relative; }
.follow-timeline::before { content: ""; position: absolute; left: 22px; top: 0; bottom: 0; width: 3px; background: linear-gradient(to bottom, var(--teal), #cbd5e1); border-radius: 2px; }
.follow-timeline__item { display: flex; gap: 20px; align-items: flex-start; margin-bottom: 0; padding-bottom: 32px; position: relative; }
.follow-timeline__item:last-child { padding-bottom: 0; }
.follow-timeline__dot { width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.8rem; position: relative; z-index: 1; border: 3px solid #fff; box-shadow: 0 0 0 2px var(--border); }
.follow-timeline__dot--active { background: var(--teal); color: #fff; box-shadow: 0 0 0 2px var(--teal); }
.follow-timeline__dot--warm { background: #0369a1; color: #fff; box-shadow: 0 0 0 2px #0369a1; }
.follow-timeline__dot--cooling { background: #7c3aed; color: #fff; box-shadow: 0 0 0 2px #7c3aed; }
.follow-timeline__dot--cold { background: #94a3b8; color: #fff; box-shadow: 0 0 0 2px #94a3b8; }
.follow-timeline__dot--reengag { background: #ea580c; color: #fff; box-shadow: 0 0 0 2px #ea580c; }
.follow-timeline__body { flex: 1; background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: 18px 20px; }
.follow-timeline__day { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--teal); margin-bottom: 4px; display: block; }
.follow-timeline__title { font-weight: 700; color: var(--navy); font-size: 0.98rem; margin: 0 0 8px; }
.follow-timeline__channels { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.follow-timeline__channel { font-size: 0.72rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; }
.ch-phone { background: #dcfce7; color: #166534; }
.ch-sms { background: #e0f2fe; color: #0369a1; }
.ch-email { background: #f1f5f9; color: #475569; }
.ch-vm { background: #fef9c3; color: #854d0e; }
.follow-timeline__desc { font-size: 0.88rem; color: var(--muted); margin: 0 0 10px; line-height: 1.65; }
.follow-timeline__script { background: #f8fafc; border-left: 3px solid var(--teal); border-radius: 0 6px 6px 0; padding: 10px 14px; margin-top: 8px; }
.follow-timeline__script-label { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); margin-bottom: 5px; display: block; }
.follow-timeline__script p { font-size: 0.86rem; color: var(--navy); margin: 0; font-style: italic; line-height: 1.7; }
.option-card--repair { border-color: #fde68a; }
.option-card--replace { border-color: #bae6fd; }
.option-card--flat { border-color: #bbf7d0; }
.option-card--emergency { border-color: #fca5a5; }
.option-card--repair .option-card__badge { background: #fef9c3; color: #854d0e; }
.option-card--replace .option-card__badge { background: #e0f2fe; color: #0369a1; }
.option-card--flat .option-card__badge { background: #dcfce7; color: #166534; }
.option-card--emergency .option-card__badge { background: #fee2e2; color: #991b1b; }
.do-box p, .dont-box p, .do-box ul, .dont-box ul { font-size: .88rem; margin: 0; padding-left: 16px; }
.timeline { margin: 32px 0; padding: 0; list-style: none; border-left: 3px solid var(--teal); }
.timeline__item { display: flex; gap: 0; align-items: flex-start; padding: 0 0 28px 28px; position: relative; }
.timeline__item:last-child { padding-bottom: 0; }
.timeline__dot { width: 14px; height: 14px; background: var(--teal); border-radius: 50%; position: absolute; left: -8px; top: 4px; flex-shrink: 0; }
.timeline__day { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); min-width: 72px; padding-top: 2px; flex-shrink: 0; }
.timeline__content { flex: 1; }
.timeline__content strong { display: block; color: var(--navy); font-size: .95rem; margin-bottom: 3px; }
.timeline__content p { font-size: .87rem; color: var(--muted); margin: 0; line-height: 1.6; }
.symptom-card__text { font-size: .87rem; color: var(--body-text); line-height: 1.55; }
.symptom-card__text strong { display: block; color: var(--navy); margin-bottom: 2px; font-size: .9rem; }
.vet-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0; }
.vet-card { border-radius: 10px; padding: 16px 18px; border: 1.5px solid var(--border); background: #fff; }
.vet-card--must { border-color: #5eead4; background: #f0fdfa; }
.vet-card--should { border-color: #bae6fd; background: #f0f9ff; }
.vet-card--nice { border-color: #ddd6fe; background: #faf5ff; }
.vet-card--red { border-color: #fca5a5; background: #fef2f2; }
.vet-card__label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 7px; display: block; }
.vet-card--must .vet-card__label { color: #0f766e; }
.vet-card--should .vet-card__label { color: #0369a1; }
.vet-card--nice .vet-card__label { color: #6d28d9; }
.vet-card--red .vet-card__label { color: #991b1b; }
.vet-card__title { font-weight: 700; color: var(--navy); font-size: .95rem; margin: 0 0 5px; }
.vet-card__detail { font-size: .86rem; color: var(--muted); margin: 0; line-height: 1.6; }
.spec-box { background: var(--navy); border-radius: 12px; padding: 24px 28px; margin: 28px 0; color: #fff; }
.spec-box__title { font-family: var(--font-heading); font-size: 1.1rem; margin: 0 0 16px; color: #fff; }
.spec-row { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.spec-row:last-child { border-bottom: none; padding-bottom: 0; }
.spec-row__label { font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); min-width: 160px; flex-shrink: 0; padding-top: 1px; }
.spec-row__value { font-size: .9rem; color: rgba(255,255,255,.85); line-height: 1.6; }
.option-card--jobber { border-color: #bbf7d0; }
.option-card--tradify { border-color: #bae6fd; }
.option-card--servicem8 { border-color: #ddd6fe; }
.option-card--hubspot { border-color: #fed7aa; }
.option-card--pipedrive { border-color: #fde68a; }
.option-card--jobber .option-card__badge { background: #dcfce7; color: #166534; }
.option-card--tradify .option-card__badge { background: #e0f2fe; color: #0369a1; }
.option-card--servicem8 .option-card__badge { background: #ede9fe; color: #6d28d9; }
.option-card--hubspot .option-card__badge { background: #fff7ed; color: #9a3412; }
.option-card--pipedrive .option-card__badge { background: #fef9c3; color: #854d0e; }
.green-callout { background: #f0fdf4; border-left: 4px solid #16a34a; border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 28px 0; }
.green-callout strong { display: block; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #14532d; margin-bottom: 6px; }
.mistake-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.mb-header { display: grid; grid-template-columns: 56px 1fr; background: var(--navy); color: #fff; }
.mb-num { background: #dc2626; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; font-weight: 800; padding: 16px 0; flex-shrink: 0; font-family: var(--font-body); }
.mb-title { padding: 15px 20px; font-family: var(--font-body); font-weight: 700; font-size: 0.97rem; line-height: 1.35; }
.mb-title small { display: block; font-size: 0.68rem; font-weight: 400; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.mb-body { padding: 22px 24px; }
.mb-body p { font-size: 0.93rem; color: var(--body-text); margin-bottom: 14px; }
.mb-body p:last-child { margin-bottom: 0; }
.mb-fix { background: var(--cream); border-top: 1px solid var(--border); padding: 14px 24px; display: flex; gap: 10px; align-items: flex-start; }
.mb-fix-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); white-space: nowrap; margin-top: 2px; flex-shrink: 0; }
.mb-fix p { font-size: 0.88rem; margin: 0; color: var(--body-text); line-height: 1.6; }
.package-promo { border: 2px solid var(--teal); border-radius: 16px; overflow: hidden; margin: 40px 0; }
.pp-header { background: var(--teal); padding: 18px 28px; display: flex; align-items: center; gap: 12px; }
.pp-header-text { flex: 1; }
.pp-eyebrow { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.7); margin-bottom: 3px; }
.pp-title { font-size: 1.05rem; font-weight: 800; color: #fff; font-family: var(--font-body); }
.pp-body { background: #fff; padding: 24px 28px; }
.pp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin-bottom: 20px; }
.pp-card { border: 1px solid var(--border); border-radius: 10px; padding: 18px 16px; }
.pp-card-name { font-size: 0.82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); margin-bottom: 6px; }
.pp-card-title { font-size: 0.97rem; font-weight: 700; color: var(--navy); margin-bottom: 6px; font-family: var(--font-body); }
.pp-card-desc { font-size: 0.83rem; color: var(--muted); margin: 0; line-height: 1.55; }
.pp-cta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.pp-cta a.primary { display: inline-block; background: var(--teal); color: #fff; padding: 13px 28px; border-radius: 8px; font-weight: 700; font-size: 0.95rem; text-decoration: none; transition: opacity .15s; }
.pp-cta a.primary:hover { opacity: .88; text-decoration: none; }
.pp-cta a.ghost { font-size: 0.9rem; color: var(--teal); font-weight: 600; }
.pp-cta a.ghost:hover { text-decoration: underline; }
.vs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 28px 0; }
.vs-col { border-radius: 10px; padding: 22px 20px; }
.vs-col.bad { background: #fef2f2; border: 1px solid #fca5a5; }
.vs-col.good { background: #f0fdf4; border: 1px solid #86efac; }
.vs-col h4 { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 14px; }
.vs-col.bad h4 { color: #991b1b; }
.vs-col.good h4 { color: #14532d; }
.vs-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 7px; }
.vs-col li { font-size: 0.88rem; color: var(--body-text); padding-left: 20px; position: relative; line-height: 1.5; }
.vs-col.bad li::before { content: "✗"; position: absolute; left: 0; color: #dc2626; font-weight: 800; }
.vs-col.good li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 800; }
.report-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.report-table thead { background: var(--navy); color: #fff; }
.report-table thead th { padding: 12px 16px; text-align: left; font-size: 0.79rem; letter-spacing: .04em; font-weight: 700; }
.report-table tbody tr:nth-child(even) { background: var(--cream); }
.report-table tbody td { padding: 11px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.5; }
.report-table tbody tr:last-child td { border-bottom: none; }
.badge-good { background: #dcfce7; color: #14532d; font-size: 0.72rem; font-weight: 700; padding: 2px 9px; border-radius: 99px; display: inline-block; }
.badge-bad { background: #fee2e2; color: #991b1b; font-size: 0.72rem; font-weight: 700; padding: 2px 9px; border-radius: 99px; display: inline-block; }
.badge-mid { background: #fef9c3; color: #854d0e; font-size: 0.72rem; font-weight: 700; padding: 2px 9px; border-radius: 99px; display: inline-block; }
.q-list { list-style: none; padding: 0; margin: 20px 0; display: flex; flex-direction: column; gap: 7px; }
.q-list li { display: flex; align-items: flex-start; gap: 10px; background: var(--cream); padding: 12px 15px; border-radius: 8px; border: 1px solid var(--border); font-size: 0.9rem; color: var(--body-text); line-height: 1.55; }
.q-list li::before { content: "?"; background: var(--navy); color: var(--teal); width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.72rem; font-weight: 800; flex-shrink: 0; margin-top: 1px; }
.cost-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin: 28px 0; }
.cost-card { border: 1px solid var(--border); border-radius: 12px; padding: 20px 18px; background: var(--white); }
.cost-card-market { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 6px; }
.cost-card-cpc { font-size: 1.6rem; font-weight: 800; color: var(--navy); line-height: 1; margin-bottom: 4px; font-family: var(--font-body); }
.cost-card-label { font-size: 0.78rem; color: var(--muted); margin-bottom: 10px; }
.cost-card-detail { font-size: 0.8rem; color: var(--body-text); line-height: 1.5; border-top: 1px solid var(--border); padding-top: 10px; margin-top: 4px; }
.review-mockup { background: #f9fafb; border: 1px solid var(--border); border-radius: 12px; padding: 20px 22px; margin: 24px 0; }
.review-mockup__header { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.review-mockup__avatar { width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.9rem; color: #fff; flex-shrink: 0; }
.review-mockup__name { font-weight: 700; color: var(--navy); font-size: 0.95rem; }
.review-mockup__stars { color: #f59e0b; font-size: 0.85rem; }
.review-mockup__text { font-size: 0.93rem; color: var(--body-text); line-height: 1.65; margin: 0; }
.review-mockup__label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 6px; display: block; }
.label-bad { color: #dc2626; }
.label-good { color: #16a34a; }
.label-response { color: #0369a1; }
.response-block { background: #fff; border: 1px solid #dbeafe; border-left: 3px solid #3b82f6; border-radius: 0 6px 6px 0; padding: 14px 16px; margin-top: 14px; }
.response-block__header { font-size: 0.82rem; font-weight: 700; color: #1d4ed8; margin-bottom: 8px; }
.response-block__text { font-size: 0.9rem; color: var(--body-text); line-height: 1.65; margin: 0; }
.vs-col--bad { background: #fff5f5; border: 1px solid #fecaca; }
.vs-col--good { background: #f0fdf4; border: 1px solid #bbf7d0; }
.warn-callout p { margin: 0; font-size: 0.93rem; color: var(--body-text); }
.green-callout p { margin: 0; font-size: 0.93rem; color: var(--body-text); }
.info-callout { background: #f0f9ff; border-left: 4px solid var(--teal); border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 28px 0; }
.info-callout strong { display: block; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--navy); margin-bottom: 6px; }
.info-callout p { margin: 0; font-size: 0.93rem; color: var(--body-text); }
.stat-strip { display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 40px 0; }
.stat-cell { background: var(--cream); padding: 24px 16px; text-align: center; }
.stat-cell .sc-num { font-size: 2rem; font-weight: 800; color: var(--teal); line-height: 1; margin-bottom: 6px; }
.stat-cell .sc-label { font-size: .77rem; color: var(--muted); font-weight: 500; line-height: 1.4; }
.timeline-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 16px; margin: 32px 0; }
.tl-card { border-radius: 14px; overflow: hidden; border: 1px solid var(--border); }
.tl-card-head { padding: 14px 18px 10px; }
.tl-card-head.day { background: #f0fdf4; border-bottom: 1px solid #86efac; }
.tl-card-head.days { background: #f0f9ff; border-bottom: 1px solid #93c5fd; }
.tl-card-head.week { background: #fef9c3; border-bottom: 1px solid #fde047; }
.tl-card-head.weeks { background: #fff7ed; border-bottom: 1px solid #fdba74; }
.tl-card-head.bespoke { background: #f5f3ff; border-bottom: 1px solid #c4b5fd; }
.tl-card-duration { font-family: var(--font-heading); font-size: 1.5rem; line-height: 1; margin-bottom: 4px; }
.tl-card-head.day .tl-card-duration { color: #14532d; }
.tl-card-head.days .tl-card-duration { color: #1e40af; }
.tl-card-head.week .tl-card-duration { color: #854d0e; }
.tl-card-head.weeks .tl-card-duration { color: #c2410c; }
.tl-card-head.bespoke .tl-card-duration { color: #4c1d95; }
.tl-card-type { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.tl-card-head.day .tl-card-type { color: #14532d; }
.tl-card-head.days .tl-card-type { color: #1e40af; }
.tl-card-head.week .tl-card-type { color: #854d0e; }
.tl-card-head.weeks .tl-card-type { color: #c2410c; }
.tl-card-head.bespoke .tl-card-type { color: #4c1d95; }
.tl-card-body { padding: 14px 18px; background: #fff; }
.tl-card-body p { font-size: 0.85rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.job-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.job-table thead { background: var(--navy); color: #fff; }
.job-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.job-table tbody tr:nth-child(even) { background: var(--cream); }
.job-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.55; color: var(--body-text); }
.job-table tbody tr:last-child td { border-bottom: none; }
.phase-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.pb-head { display: grid; grid-template-columns: 56px 1fr; background: var(--navy); color: #fff; }
.pb-icon { display: flex; align-items: center; justify-content: center; font-size: 1.3rem; padding: 16px 0; flex-shrink: 0; }
.pb-icon.strip { background: #0b8880; }
.pb-icon.inspect { background: #1d4ed8; }
.pb-icon.felt { background: #b45309; }
.pb-icon.tile { background: #6d28d9; }
.pb-icon.finish { background: #0f766e; }
.pb-title { padding: 14px 20px; }
.pb-title small { display: block; font-size: 0.68rem; font-weight: 400; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.pb-title strong { display: block; font-family: var(--font-body); font-weight: 700; font-size: 1rem; line-height: 1.35; }
.pb-body { padding: 20px 26px; }
.pb-body p { font-size: 0.93rem; color: var(--body-text); margin-bottom: 12px; }
.pb-body p:last-child { margin-bottom: 0; }
.pb-body ul { margin-bottom: 14px; padding-left: 22px; }
.pb-body li { font-size: 0.9rem; color: var(--body-text); margin-bottom: 8px; line-height: 1.55; }
.pb-note { background: var(--cream); border-top: 1px solid var(--border); padding: 11px 26px; display: flex; gap: 10px; align-items: flex-start; }
.pb-note-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); white-space: nowrap; margin-top: 2px; flex-shrink: 0; }
.pb-note p { font-size: 0.85rem; margin: 0; color: var(--body-text); line-height: 1.6; }
.delay-item { background: var(--cream); border: 1px solid var(--border); border-radius: 10px; padding: 14px 18px; margin: 10px 0; display: flex; gap: 14px; align-items: flex-start; }
.di-icon { flex-shrink: 0; font-size: 1.1rem; margin-top: 2px; }
.di-content strong { display: block; font-size: 0.9rem; font-weight: 700; color: var(--navy); margin-bottom: 3px; }
.di-content p { font-size: 0.85rem; color: var(--body-text); margin: 0; line-height: 1.55; }
.qs-list { list-style: none; padding: 0; margin: 20px 0; display: flex; flex-direction: column; gap: 8px; }
.qs-list li { display: flex; align-items: flex-start; gap: 12px; background: var(--cream); border: 1px solid var(--border); border-radius: 8px; padding: 12px 16px; font-size: 0.9rem; color: var(--body-text); line-height: 1.55; }
.qs-list li::before { content: "?"; background: var(--navy); color: var(--teal); width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.72rem; font-weight: 800; flex-shrink: 0; margin-top: 1px; }
.faq-q { background: var(--cream); padding: 16px 20px; font-weight: 700; font-size: 0.95rem; color: var(--navy); }
.faq-a { padding: 14px 20px; font-size: 0.92rem; color: var(--body-text); line-height: 1.75; border-top: 1px solid var(--border); }
.faq-a p { margin-bottom: 10px; font-size: 0.92rem; }
.faq-a p:last-child { margin: 0; }
.homeowner-form-section p.hf-sub { color: rgba(255,255,255,.7); font-size: 0.95rem; margin-bottom: 28px; }
.hf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.hf-field { display: flex; flex-direction: column; gap: 6px; }
.hf-field.full { grid-column: 1 / -1; }
.hf-field label { font-size: 0.82rem; font-weight: 600; color: rgba(255,255,255,.75); letter-spacing: .02em; }
.hf-field input, .hf-field textarea, .hf-field select { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); border-radius: 8px; padding: 12px 14px; font-family: var(--font-body); font-size: 0.93rem; color: #fff; outline: none; transition: border-color .2s, background .2s; -webkit-appearance: none; }
.hf-field input::placeholder, .hf-field textarea::placeholder { color: rgba(255,255,255,.35); }
.hf-field input:focus, .hf-field textarea:focus, .hf-field select:focus { border-color: var(--teal); background: rgba(255,255,255,.15); }
.hf-field select option { background: var(--navy); color: #fff; }
.hf-field textarea { resize: vertical; min-height: 80px; }
.hf-submit { margin-top: 8px; width: 100%; background: var(--teal); color: #fff; border: none; border-radius: 8px; padding: 15px 28px; font-family: var(--font-body); font-size: 1rem; font-weight: 700; cursor: pointer; transition: opacity .2s; letter-spacing: .01em; }
.hf-submit:hover { opacity: .88; }
.hf-privacy { margin-top: 14px; font-size: 0.78rem; color: rgba(255,255,255,.5); text-align: center; line-height: 1.6; }
.hf-success { display: none; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-radius: 10px; padding: 28px 24px; text-align: center; margin-top: 20px; }
.hf-success .hf-tick { font-size: 2.2rem; margin-bottom: 12px; display: block; }
.hf-success h4 { font-family: var(--font-body); font-weight: 700; font-size: 1.05rem; color: #fff; margin: 0 0 6px; }
.hf-success p { font-size: 0.88rem; color: rgba(255,255,255,.7); margin: 0; }
.option-card--gen { border-color: #5eead4; }
.option-card--conv { border-color: #bae6fd; }
.option-card--ret { border-color: #bbf7d0; }
.option-card--rep { border-color: #ddd6fe; }
.option-card--meas { border-color: #fde68a; }
.option-card--gen .option-card__badge { background: #ccfbf1; color: #0f766e; }
.option-card--conv .option-card__badge { background: #e0f2fe; color: #0369a1; }
.option-card--ret .option-card__badge { background: #dcfce7; color: #166534; }
.option-card--rep .option-card__badge { background: #ede9fe; color: #6d28d9; }
.option-card--meas .option-card__badge { background: #fef9c3; color: #854d0e; }
.contrast-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
.contrast-box { border-radius: 8px; padding: 16px 18px; }
.contrast-box--before { background: #fef2f2; border: 1px solid #fca5a5; }
.contrast-box--after { background: #f0fdf4; border: 1px solid #86efac; }
.contrast-box__label { font-size: 0.74rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 8px; display: block; }
.contrast-box--before .contrast-box__label { color: #dc2626; }
.contrast-box--after .contrast-box__label { color: #16a34a; }
.contrast-box ul { margin: 0; padding-left: 16px; }
.contrast-box li { font-size: 0.88rem; margin-bottom: 5px; }
.contrast-box--before li { color: #7f1d1d; }
.contrast-box--after li { color: #14532d; }
.score-row { display: flex; align-items: center; gap: 14px; margin: 14px 0; }
.score-row__label { width: 130px; flex-shrink: 0; font-size: .85rem; font-weight: 600; color: var(--navy); }
.score-row__track { flex: 1; height: 10px; background: #f1f5f9; border-radius: 6px; overflow: hidden; }
.score-row__fill { height: 100%; border-radius: 6px; }
.score-row__val { width: 34px; flex-shrink: 0; font-size: .82rem; font-weight: 700; color: var(--muted); text-align: right; }
.platform-card { border: 2px solid var(--border); border-radius: 14px; padding: 28px; margin: 28px 0; background: #fff; }
.platform-card--yell { border-color: #fde68a; }
.platform-card--thomson { border-color: #bae6fd; }
.platform-card--bark { border-color: #fca5a5; }
.platform-card--free { border-color: #5eead4; }
.platform-card__header { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.platform-card__icon { font-size: 2.2rem; line-height: 1; flex-shrink: 0; }
.platform-card__head h3 { font-family: var(--font-heading); font-size: 1.25rem; color: var(--navy); margin: 0 0 3px; }
.platform-card__head p { font-size: .84rem; color: var(--muted); margin: 0; }
.platform-card__body p { font-size: .95rem; color: var(--body-text); margin-bottom: 14px; }
.platform-card__body p:last-of-type { margin-bottom: 0; }
.platform-card__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 18px 0; }
.pc-stat { background: #f8fafc; border-radius: 8px; padding: 10px 8px; text-align: center; }
.pc-stat__label { font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: 3px; display: block; }
.pc-stat__value { font-weight: 700; color: var(--navy); font-size: .88rem; line-height: 1.25; }
.platform-card__verdict { margin-top: 16px; padding: 12px 16px; border-radius: 8px; font-size: .9rem; font-weight: 600; }
.verdict--pass { background: #dcfce7; color: #166534; }
.verdict--caution { background: #fef9c3; color: #92400e; }
.verdict--fail { background: #fee2e2; color: #991b1b; }
.budget-bar { margin: 28px 0; }
.budget-row { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.budget-row__label { font-size: .84rem; font-weight: 600; color: var(--body-text); min-width: 210px; flex-shrink: 0; }
.budget-row__bar-wrap { flex: 1; min-width: 100px; background: #f1f5f9; border-radius: 4px; height: 10px; overflow: hidden; }
.budget-row__bar { height: 100%; border-radius: 4px; }
.budget-row__note { font-size: .82rem; color: var(--muted); min-width: 80px; text-align: right; }
.channel-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.cb-header { display: grid; grid-template-columns: 56px 1fr; background: var(--navy); color: #fff; }
.cb-icon { display: flex; align-items: center; justify-content: center; font-size: 1.3rem; padding: 16px 0; flex-shrink: 0; }
.cb-icon.organic { background: #0b8880; }
.cb-icon.paid { background: #1d4ed8; }
.cb-icon.combo { background: #6d28d9; }
.cb-title { padding: 15px 20px; font-family: var(--font-body); font-weight: 700; font-size: 0.97rem; line-height: 1.35; }
.cb-title small { display: block; font-size: 0.68rem; font-weight: 400; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.cb-body { padding: 20px 24px; }
.cb-body p { font-size: 0.93rem; color: var(--body-text); margin-bottom: 14px; }
.cb-body p:last-child { margin-bottom: 0; }
.cb-body ul { margin-bottom: 14px; padding-left: 22px; }
.cb-body li { font-size: 0.9rem; color: var(--body-text); margin-bottom: 8px; line-height: 1.55; }
.cb-insight { background: var(--cream); border-top: 1px solid var(--border); padding: 13px 24px; display: flex; gap: 10px; align-items: flex-start; }
.cb-insight-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); white-space: nowrap; margin-top: 2px; flex-shrink: 0; }
.cb-insight p { font-size: 0.88rem; margin: 0; color: var(--body-text); line-height: 1.6; }
.pb-header { display: grid; grid-template-columns: 68px 1fr; background: var(--navy); color: #fff; }
.pb-phase { background: #0b8880; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 14px 6px; flex-shrink: 0; text-align: center; }
.pb-phase-label { font-size: 0.6rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: rgba(255,255,255,.65); margin-bottom: 2px; }
.pb-phase-num { font-size: 1.4rem; font-weight: 800; color: #fff; line-height: 1; font-family: var(--font-body); }
.pb-phase-time { font-size: 0.62rem; color: rgba(255,255,255,.55); margin-top: 3px; font-weight: 500; }
.pb-channels { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; }
.pb-channel-col { border-radius: 8px; padding: 14px 16px; }
.pb-channel-col.organic { background: #f0fdf4; border: 1px solid #86efac; }
.pb-channel-col.paid { background: #eff6ff; border: 1px solid #93c5fd; }
.pb-channel-head { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 8px; }
.pb-channel-col.organic .pb-channel-head { color: #14532d; }
.pb-channel-col.paid .pb-channel-head { color: #1e3a8a; }
.pb-channel-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 5px; }
.pb-channel-col li { font-size: 0.82rem; color: var(--body-text); padding-left: 14px; position: relative; line-height: 1.45; }
.pb-channel-col.organic li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 800; font-size: 0.8rem; }
.pb-channel-col.paid li::before { content: "→"; position: absolute; left: 0; color: #2563eb; font-weight: 800; font-size: 0.8rem; }
.vent-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px; margin: 28px 0; }
.vent-card { border-radius: 10px; padding: 18px 16px; border: 1.5px solid var(--border); background: #fff; }
.vent-card--eaves { border-color: #5eead4; background: #f0fdfa; }
.vent-card--ridge { border-color: #bae6fd; background: #f0f9ff; }
.vent-card--tile { border-color: #ddd6fe; background: #faf5ff; }
.vent-card--gable { border-color: #bbf7d0; background: #f0fdf4; }
.vent-card--soffit { border-color: #fde68a; background: #fefce8; }
.vent-card__type { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 7px; display: block; }
.vent-card--eaves .vent-card__type { color: #0f766e; }
.vent-card--ridge .vent-card__type { color: #0369a1; }
.vent-card--tile .vent-card__type { color: #6d28d9; }
.vent-card--gable .vent-card__type { color: #166534; }
.vent-card--soffit .vent-card__type { color: #854d0e; }
.vent-card__name { font-weight: 700; color: var(--navy); font-size: .95rem; margin: 0 0 5px; }
.vent-card__detail { font-size: .84rem; color: var(--muted); margin: 0; line-height: 1.6; }
.spec-strip { margin: 28px 0; }
.spec-strip__row { display: grid; grid-template-columns: 220px 1fr; gap: 0; border-bottom: 1px solid var(--border); }
.spec-strip__row:first-child { border-top: 1px solid var(--border); }
.spec-strip__label { background: var(--cream); padding: 12px 16px; font-size: .84rem; font-weight: 700; color: var(--navy); border-right: 1px solid var(--border); }
.spec-strip__value { padding: 12px 16px; font-size: .87rem; color: var(--body-text); line-height: 1.6; }
.tier-card { border: 1px solid var(--border); border-radius: 14px; padding: 28px; margin: 24px 0; position: relative; overflow: hidden; }
.tier-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--teal); }
.tier-card.tier--starter::before { background: #64748b; }
.tier-card.tier--growth::before { background: var(--teal); }
.tier-card.tier--scale::before { background: #f97316; }
.tier-card.tier--firm::before { background: #1d4ed8; }
.tier-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 6px; }
.tier--starter .tier-label { color: #64748b; }
.tier--growth .tier-label { color: var(--teal); }
.tier--scale .tier-label { color: #f97316; }
.tier--firm .tier-label { color: #1d4ed8; }
.tier-title { font-family: var(--font-body); font-size: 1.1rem; font-weight: 700; color: var(--navy); margin-bottom: 4px; }
.tier-budget { font-size: 1.6rem; font-weight: 800; color: var(--navy); margin-bottom: 16px; line-height: 1; }
.tier-budget span { font-size: 0.9rem; font-weight: 400; color: var(--muted); }
.tier-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.tier-item { background: var(--cream); border-radius: 8px; padding: 10px 14px; font-size: 0.85rem; }
.tier-item strong { display: block; font-size: 0.72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: 2px; }
.channel-row { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--border); flex-wrap: wrap; }
.channel-row:last-child { border-bottom: none; }
.channel-name { font-weight: 700; color: var(--navy); min-width: 180px; font-size: 0.95rem; }
.channel-bar-wrap { flex: 1; min-width: 120px; background: var(--border); border-radius: 99px; height: 8px; }
.channel-bar { height: 8px; border-radius: 99px; background: var(--teal); }
.channel-bar.bar--orange { background: #f97316; }
.channel-bar.bar--slate { background: #94a3b8; }
.channel-meta { font-size: 0.82rem; color: var(--muted); min-width: 90px; text-align: right; }
.mistake-block:last-child { border-bottom: none; }
.mistake-num { width: 32px; height: 32px; border-radius: 50%; background: #fee2e2; color: #dc2626; font-weight: 800; font-size: 0.85rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }
.mistake-body strong { color: var(--navy); font-weight: 700; display: block; margin-bottom: 4px; font-size: 0.95rem; }
.mistake-body p { margin: 0; font-size: 0.9rem; color: var(--body-text); line-height: 1.6; }
.milestone-track { margin: 36px 0; position: relative; }
.milestone-item { display: grid; grid-template-columns: 80px 1fr; gap: 0; margin-bottom: 0; }
.mi-num { display: flex; flex-direction: column; align-items: center; gap: 0; }
.mi-badge { width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-heading); font-size: 1.1rem; font-weight: 700; flex-shrink: 0; color: #fff; }
.mi-badge.m0 { background: #94a3b8; }
.mi-badge.m10 { background: #b45309; }
.mi-badge.m25 { background: #1d4ed8; }
.mi-badge.m50 { background: #0b8880; }
.mi-badge.m100 { background: var(--navy); }
.mi-line { width: 2px; background: var(--border); flex: 1; min-height: 20px; }
.milestone-item:last-child .mi-line { display: none; }
.mi-content { padding: 4px 0 28px 16px; }
.mi-content h4 { font-family: var(--font-body); font-weight: 700; font-size: 0.95rem; color: var(--navy); margin: 8px 0 6px; }
.mi-content p { font-size: 0.87rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.mi-tag { display: inline-block; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 2px 8px; border-radius: 99px; margin-bottom: 4px; }
.mi-tag.danger { background: #fee2e2; color: #991b1b; }
.mi-tag.amber { background: #fef9c3; color: #854d0e; }
.mi-tag.blue { background: #dbeafe; color: #1e3a8a; }
.mi-tag.teal { background: #d1fae5; color: #065f46; }
.mi-tag.navy { background: #e0e7ff; color: #3730a3; }
.factor-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.fb-header { display: grid; grid-template-columns: 52px 1fr; background: var(--navy); color: #fff; }
.fb-icon { display: flex; align-items: center; justify-content: center; font-size: 1.3rem; padding: 16px 0; flex-shrink: 0; }
.fb-icon.count { background: #0b8880; }
.fb-icon.recency { background: #1d4ed8; }
.fb-icon.rating { background: #b45309; }
.fb-icon.response { background: #6d28d9; }
.fb-icon.keywords { background: #0f766e; }
.fb-title { padding: 15px 20px; font-family: var(--font-body); font-weight: 700; font-size: 0.97rem; line-height: 1.35; }
.fb-title small { display: block; font-size: 0.68rem; font-weight: 400; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.fb-title strong { display: block; font-family: var(--font-body); font-weight: 700; font-size: 1rem; line-height: 1.35; }
.fb-body { padding: 22px 24px; }
.fb-body p { font-size: 0.93rem; color: var(--body-text); margin-bottom: 14px; }
.fb-body p:last-child { margin-bottom: 0; }
.fb-body ul { margin-bottom: 14px; padding-left: 22px; }
.fb-body li { font-size: 0.9rem; color: var(--body-text); margin-bottom: 8px; line-height: 1.55; }
.fb-note { background: var(--cream); border-top: 1px solid var(--border); padding: 12px 26px; display: flex; gap: 10px; align-items: flex-start; }
.fb-note-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); white-space: nowrap; margin-top: 2px; flex-shrink: 0; }
.fb-note p { font-size: 0.85rem; margin: 0; color: var(--body-text); line-height: 1.6; }
.response-example { background: #f8fafc; border: 1px solid var(--border); border-radius: 10px; padding: 18px 22px; margin: 18px 0; }
.re-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 10px; display: block; }
.re-stars { color: #f59e0b; font-size: 0.95rem; letter-spacing: 2px; margin-bottom: 6px; }
.re-reviewer { font-weight: 700; font-size: 0.85rem; color: var(--navy); margin-bottom: 6px; }
.re-text { font-size: 0.85rem; color: var(--body-text); font-style: italic; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--border); line-height: 1.65; }
.re-response-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; color: #14532d; margin-bottom: 6px; }
.re-response { font-size: 0.85rem; color: var(--body-text); line-height: 1.7; }
.system-step { display: flex; gap: 18px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid var(--border); }
.system-step:last-child { border-bottom: none; }
.ss-num { flex-shrink: 0; width: 32px; height: 32px; background: var(--navy); color: var(--teal); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-heading); font-size: 1rem; margin-top: 2px; }
.ss-content strong { display: block; font-size: 0.92rem; font-weight: 700; color: var(--navy); margin-bottom: 4px; }
.ss-content p { font-size: 0.87rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.bench-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.bench-table thead { background: var(--navy); color: #fff; }
.bench-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.bench-table tbody tr:nth-child(even) { background: var(--cream); }
.bench-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.5; color: var(--body-text); }
.bench-table tbody tr:last-child td { border-bottom: none; }
.comp-tag { font-size: 0.7rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; }
.comp-high { background: #fee2e2; color: #991b1b; }
.comp-med { background: #fef9c3; color: #854d0e; }
.comp-low { background: #dcfce7; color: #14532d; }
.msg-template { background: #f8fafc; border: 1px solid var(--border); border-radius: 10px; padding: 18px 22px; margin: 16px 0; font-size: 0.88rem; line-height: 1.75; color: var(--body-text); }
.msg-template .mt-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 10px; display: block; }
.msg-template p { margin-bottom: 8px; font-size: 0.88rem; }
.msg-template p:last-child { margin: 0; }
.verdict-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0; }
.verdict-card { border-radius: 10px; padding: 18px 20px; border: 1.5px solid var(--border); }
.verdict-card--yes { background: #f0fdf4; border-color: #86efac; }
.verdict-card--no { background: #fef2f2; border-color: #fca5a5; }
.verdict-card--maybe { background: #fff7ed; border-color: #fed7aa; }
.verdict-card__label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 7px; display: block; }
.verdict-card--yes .verdict-card__label { color: #16a34a; }
.verdict-card--no .verdict-card__label { color: #dc2626; }
.verdict-card--maybe .verdict-card__label { color: #9a3412; }
.verdict-card__title { font-weight: 700; color: var(--navy); font-size: .95rem; margin: 0 0 5px; }
.verdict-card__detail { font-size: .86rem; color: var(--muted); margin: 0; line-height: 1.6; }
.roi-strip { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; margin: 28px 0; }
.roi-card { border-radius: 10px; padding: 18px 16px; border: 1px solid var(--border); background: #fff; }
.roi-card__channel { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 6px; display: block; }
.roi-card__cost { font-family: var(--font-heading); font-size: 1.2rem; color: var(--navy); margin-bottom: 3px; }
.roi-card__per { font-size: .75rem; color: var(--muted); margin-bottom: 8px; }
.roi-card__bar { height: 5px; border-radius: 3px; background: var(--border); margin-bottom: 8px; }
.roi-card__bar-fill { height: 100%; border-radius: 3px; }
.roi-card__verdict { font-size: .8rem; color: var(--body-text); line-height: 1.5; }
.demand-chart { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 36px 0; }
.dc-header { padding: 14px 18px; background: var(--navy); color: #fff; font-size: 0.82rem; font-weight: 600; }
.dc-body { padding: 20px 18px; background: #fff; }
.dc-month { display: grid; grid-template-columns: 72px 1fr 50px; gap: 10px; align-items: center; margin-bottom: 10px; }
.dc-month:last-child { margin-bottom: 0; }
.dc-label { font-size: 0.82rem; color: var(--body-text); font-weight: 600; }
.dc-bar-wrap { background: var(--cream); border-radius: 4px; height: 14px; overflow: hidden; }
.dc-bar { height: 100%; border-radius: 4px; transition: width 0.3s; }
.dc-bar.low { background: #94a3b8; }
.dc-bar.medium { background: #b45309; }
.dc-bar.high { background: #0b8880; }
.dc-bar.peak { background: var(--navy); }
.dc-value { font-size: 0.75rem; color: var(--muted); font-weight: 600; text-align: right; }
.dc-legend { display: flex; gap: 16px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border); flex-wrap: wrap; }
.dc-leg-item { display: flex; align-items: center; gap: 6px; font-size: 0.75rem; color: var(--muted); }
.dc-leg-dot { width: 10px; height: 10px; border-radius: 2px; flex-shrink: 0; }
.action-timeline { margin: 32px 0; }
.at-month { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin-bottom: 16px; }
.at-head { display: grid; grid-template-columns: 100px 1fr; }
.at-month-label { display: flex; align-items: center; justify-content: center; padding: 16px 10px; font-family: var(--font-heading); font-size: 1.2rem; text-align: center; line-height: 1.2; color: #fff; }
.at-month-label.jan { background: #1d4ed8; }
.at-month-label.feb { background: #0b8880; }
.at-month-label.mar { background: #15803d; }
.at-month-label.apr { background: var(--navy); }
.at-month-label.may { background: #7c3aed; }
.at-month-label.ongoing { background: #b45309; }
.at-month-content { padding: 14px 20px; background: var(--cream); border-left: 1px solid var(--border); }
.at-month-content h4 { font-family: var(--font-body); font-weight: 700; font-size: 0.9rem; color: var(--navy); margin: 0 0 6px; }
.at-month-content p { font-size: 0.85rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.at-body { padding: 16px 20px; background: #fff; }
.at-body ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.at-body li { font-size: 0.88rem; color: var(--body-text); padding-left: 20px; position: relative; line-height: 1.55; }
.at-body li::before { content: "→"; position: absolute; left: 0; color: var(--teal); font-weight: 700; }
.opp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin: 24px 0; }
.opp-card { border: 1px solid var(--border); border-radius: 10px; padding: 16px 16px; background: var(--cream); }
.opp-card h4 { font-size: 0.88rem; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
.opp-card p { font-size: 0.82rem; color: var(--body-text); margin: 0; line-height: 1.55; }
.opp-tag { display: inline-block; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 2px 8px; border-radius: 99px; margin-bottom: 6px; }
.opp-tag.high { background: #dcfce7; color: #14532d; }
.opp-tag.medium { background: #fef9c3; color: #854d0e; }
.opp-tag.surge { background: #fee2e2; color: #991b1b; }
.msg-block { background: #f8fafc; border: 1px solid var(--border); border-radius: 10px; padding: 16px 20px; margin: 16px 0; }
.msg-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 10px; display: block; }
.msg-body { font-size: 0.87rem; color: var(--body-text); line-height: 1.75; }
.msg-body p { font-size: 0.87rem; margin-bottom: 8px; }
.msg-body p:last-child { margin: 0; }
.step-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.sb-header { display: grid; grid-template-columns: 56px 1fr; background: var(--navy); color: #fff; }
.sb-num { background: #0b8880; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; font-weight: 800; padding: 16px 0; flex-shrink: 0; font-family: var(--font-body); }
.sb-title { padding: 15px 20px; font-family: var(--font-body); font-weight: 700; font-size: 0.97rem; line-height: 1.35; }
.sb-title small { display: block; font-size: 0.68rem; font-weight: 400; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.sb-body { padding: 22px 24px; }
.sb-body p { font-size: 0.93rem; color: var(--body-text); margin-bottom: 14px; }
.sb-body p:last-child { margin-bottom: 0; }
.sb-body ul { margin-bottom: 0; padding-left: 20px; }
.sb-body li { font-size: 0.9rem; color: var(--body-text); margin-bottom: 8px; }
.sb-tip { background: var(--cream); border-top: 1px solid var(--border); padding: 13px 24px; display: flex; gap: 10px; align-items: flex-start; }
.sb-tip-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); white-space: nowrap; margin-top: 2px; flex-shrink: 0; }
.sb-tip p { font-size: 0.88rem; margin: 0; color: var(--body-text); line-height: 1.6; }
.msg-template-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 10px; }
.mock-ad { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 28px 0; }
.mock-ad-label { background: var(--cream); padding: 8px 14px; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 8px; }
.mock-ad-label .ad-pill { background: #fef9c3; color: #854d0e; padding: 1px 7px; border-radius: 4px; font-size: 0.65rem; font-weight: 700; border: 1px solid #fde047; }
.mock-ad-label.good { background: #f0fdf4; }
.mock-ad-label.bad { background: #fef2f2; }
.mock-ad-label .ad-verdict { font-size: 0.72rem; font-weight: 700; }
.mock-ad-label.good .ad-verdict { color: #14532d; }
.mock-ad-label.bad .ad-verdict { color: #991b1b; }
.mock-ad-body { padding: 16px 18px; background: #fff; }
.mock-ad-url { font-size: 0.78rem; color: #1a7d40; margin-bottom: 4px; }
.mock-ad-headline { font-size: 1.05rem; font-weight: 700; color: #1558d6; margin-bottom: 4px; line-height: 1.3; }
.mock-ad-desc { font-size: 0.88rem; color: var(--body-text); line-height: 1.6; margin-bottom: 0; }
.mock-ad-desc em { color: var(--muted); font-size: 0.8rem; font-style: normal; }
.mock-ad-critique { padding: 12px 18px; background: var(--cream); border-top: 1px solid var(--border); }
.mock-ad-critique p { font-size: 0.84rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.mock-ad-critique p strong { color: var(--navy); }
.formula-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin: 24px 0; }
.formula-card { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.formula-card-head { padding: 10px 14px; }
.formula-card-head.urgency { background: #fef2f2; border-bottom: 1px solid #fca5a5; }
.formula-card-head.trust { background: #f0fdf4; border-bottom: 1px solid #86efac; }
.formula-card-head.local { background: #f0f9ff; border-bottom: 1px solid #93c5fd; }
.formula-card-head.specific { background: #fef9c3; border-bottom: 1px solid #fde047; }
.formula-card-head.cta { background: #f5f3ff; border-bottom: 1px solid #c4b5fd; }
.formula-type { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.formula-card-head.urgency .formula-type { color: #991b1b; }
.formula-card-head.trust .formula-type { color: #14532d; }
.formula-card-head.local .formula-type { color: #1e40af; }
.formula-card-head.specific .formula-type { color: #854d0e; }
.formula-card-head.cta .formula-type { color: #4c1d95; }
.formula-card-body { padding: 12px 14px; background: #fff; }
.formula-example { font-size: 0.88rem; font-weight: 700; color: var(--navy); font-style: italic; margin-bottom: 5px; line-height: 1.4; }
.formula-note { font-size: 0.8rem; color: var(--muted); line-height: 1.5; }
.char-rules { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 20px 0; }
.char-box { background: var(--cream); border: 1px solid var(--border); border-radius: 8px; padding: 14px 16px; }
.char-box h4 { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--navy); margin-bottom: 6px; }
.char-num { font-family: var(--font-heading); font-size: 1.6rem; color: var(--teal); line-height: 1; margin-bottom: 4px; }
.char-box p { font-size: 0.82rem; color: var(--muted); margin: 0; line-height: 1.5; }
.ext-block { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 20px 0; }
.ext-head { padding: 12px 18px; display: flex; align-items: center; gap: 12px; }
.ext-head.sitelink { background: #f0f9ff; border-bottom: 1px solid #93c5fd; }
.ext-head.callout { background: #f0fdf4; border-bottom: 1px solid #86efac; }
.ext-head.call { background: #fef9c3; border-bottom: 1px solid #fde047; }
.ext-head.structured { background: #f5f3ff; border-bottom: 1px solid #c4b5fd; }
.ext-head.image { background: #fef2f2; border-bottom: 1px solid #fca5a5; }
.ext-name { font-weight: 700; font-size: 0.88rem; }
.ext-head.sitelink .ext-name { color: #1e3a8a; }
.ext-head.callout .ext-name { color: #14532d; }
.ext-head.call .ext-name { color: #854d0e; }
.ext-head.structured .ext-name { color: #4c1d95; }
.ext-head.image .ext-name { color: #991b1b; }
.ext-tag { font-size: 0.65rem; font-weight: 700; text-transform: uppercase; padding: 2px 7px; border-radius: 99px; margin-left: auto; flex-shrink: 0; }
.ext-head.sitelink .ext-tag { background: #dbeafe; color: #1e3a8a; }
.ext-head.callout .ext-tag { background: #dcfce7; color: #14532d; }
.ext-head.call .ext-tag { background: #fef9c3; color: #854d0e; }
.ext-head.structured .ext-tag { background: #ede9fe; color: #4c1d95; }
.ext-head.image .ext-tag { background: #fee2e2; color: #991b1b; }
.ext-body { padding: 12px 18px; background: #fff; }
.ext-body p { font-size: 0.87rem; color: var(--body-text); margin: 0 0 8px; line-height: 1.6; }
.ext-body p:last-child { margin: 0; }
.ext-examples { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.ext-pill { background: var(--cream); border: 1px solid var(--border); border-radius: 6px; padding: 4px 10px; font-size: 0.8rem; color: var(--navy); font-weight: 600; }
.intent-table { width: 100%; border-collapse: collapse; font-size: 0.86rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.intent-table thead { background: var(--navy); color: #fff; }
.intent-table thead th { padding: 11px 14px; text-align: left; font-size: 0.77rem; letter-spacing: .04em; font-weight: 700; }
.intent-table tbody tr:nth-child(even) { background: var(--cream); }
.intent-table tbody td { padding: 10px 14px; border-bottom: 1px solid var(--border); vertical-align: top; line-height: 1.55; color: var(--body-text); }
.intent-table tbody tr:last-child td { border-bottom: none; }
.intent-tag { font-size: 0.68rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; white-space: nowrap; }
.int-emergency { background: #fee2e2; color: #991b1b; }
.int-planned { background: #dbeafe; color: #1e3a8a; }
.int-research { background: #fef9c3; color: #854d0e; }
.dd-list { list-style: none; padding: 0; margin: 20px 0; display: flex; flex-direction: column; gap: 8px; }
.dd-item { display: flex; align-items: flex-start; gap: 10px; padding: 11px 14px; border-radius: 8px; font-size: 0.9rem; line-height: 1.55; color: var(--body-text); }
.dd-item.do { background: #f0fdf4; border: 1px solid #86efac; }
.dd-item.dont { background: #fef2f2; border: 1px solid #fca5a5; }
.dd-icon { flex-shrink: 0; font-size: 0.9rem; font-weight: 800; margin-top: 1px; }
.dd-item.do .dd-icon { color: #16a34a; }
.dd-item.dont .dd-icon { color: #dc2626; }
.job-card { border: 1px solid var(--border); border-radius: 12px; padding: 28px; margin: 28px 0; background: #fff; }
.job-card__header { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 16px; }
.job-card__icon { font-size: 1.8rem; flex-shrink: 0; line-height: 1; }
.job-card__label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--teal); margin-bottom: 4px; display: block; }
.job-card__title { font-family: var(--font-heading); font-size: 1.2rem; color: var(--navy); margin: 0; line-height: 1.25; }
.job-card p { font-size: 0.97rem; color: var(--body-text); margin-bottom: 14px; }
.job-card p:last-child { margin-bottom: 0; }
.job-card__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 18px; }
.job-stat { background: #f8fafc; border-radius: 8px; padding: 12px 10px; text-align: center; }
.job-stat__label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); margin-bottom: 4px; display: block; }
.job-stat__value { font-weight: 700; color: var(--navy); font-size: 0.92rem; }
.ch-header { display: grid; grid-template-columns: 64px 1fr; background: var(--navy); color: #fff; }
.ch-num { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 16px 0; flex-shrink: 0; gap: 3px; }
.ch-num.ch-1 { background: #0b8880; }
.ch-num.ch-2 { background: #1d4ed8; }
.ch-num.ch-3 { background: #7c3aed; }
.ch-num.ch-4 { background: #b45309; }
.ch-num.ch-5 { background: #0f766e; }
.ch-num-digit { font-size: 1.4rem; font-weight: 800; color: #fff; line-height: 1; font-family: var(--font-body); }
.ch-num-label { font-size: 0.56rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: rgba(255,255,255,.6); }
.ch-title { padding: 15px 20px; font-family: var(--font-body); font-weight: 700; font-size: 0.97rem; line-height: 1.35; }
.ch-title small { display: block; font-size: 0.68rem; font-weight: 400; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.ch-body { padding: 22px 24px; }
.ch-body p { font-size: 0.93rem; color: var(--body-text); margin-bottom: 14px; }
.ch-body p:last-child { margin-bottom: 0; }
.ch-body ul { padding-left: 20px; margin-bottom: 14px; }
.ch-body li { font-size: 0.9rem; color: var(--body-text); margin-bottom: 8px; }
.ch-metrics { background: var(--cream); border-top: 1px solid var(--border); padding: 14px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; }
.ch-metric { text-align: center; }
.ch-metric-val { font-size: 1.05rem; font-weight: 800; color: var(--teal); line-height: 1; margin-bottom: 3px; font-family: var(--font-body); }
.ch-metric-lbl { font-size: 0.67rem; color: var(--muted); font-weight: 500; text-transform: uppercase; letter-spacing: .04em; line-height: 1.3; }
.budget-row:last-child { border-bottom: none; }
.budget-channel { font-size: 0.9rem; font-weight: 600; color: var(--navy); }
.budget-channel small { display: block; font-size: 0.78rem; font-weight: 400; color: var(--muted); margin-top: 1px; }
.budget-bar-wrap { display: flex; align-items: center; gap: 10px; }
.budget-pct { font-size: 0.82rem; font-weight: 700; color: var(--navy); white-space: nowrap; }
.scenario-card--maybe { background: #fffbeb; border: 2px solid #fde68a; }
.scenario-card--maybe .scenario-card__label { color: #d97706; }
.scenario-card ul { padding-left: 18px; margin: 0; }
.scenario-card li { font-size: 0.92rem; margin-bottom: 7px; color: var(--body-text); }
.leak-card { border: 1px solid var(--border); border-radius: 12px; padding: 26px; margin: 24px 0; background: #fff; display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; }
.leak-card__icon { font-size: 1.8rem; line-height: 1; }
.leak-card__label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--teal); margin-bottom: 4px; display: block; }
.leak-card__title { font-family: var(--font-heading); font-size: 1.15rem; color: var(--navy); margin: 0 0 10px; line-height: 1.25; }
.leak-card p { font-size: 0.95rem; color: var(--body-text); margin-bottom: 10px; }
.leak-card p:last-child { margin-bottom: 0; }
.leak-card__verdict { background: #f8fafc; border-left: 3px solid var(--teal); border-radius: 0 6px 6px 0; padding: 9px 13px; font-size: 0.88rem; }
.leak-card__verdict strong { color: var(--navy); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; display: block; margin-bottom: 2px; }
.leak-card__verdict span { color: var(--muted); }
.badge-yes { display: inline-block; background: #dcfce7; color: #166534; font-size: 0.75rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; white-space: nowrap; }
.badge-no { display: inline-block; background: #fee2e2; color: #991b1b; font-size: 0.75rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; white-space: nowrap; }
.badge-maybe { display: inline-block; background: #fef9c3; color: #854d0e; font-size: 0.75rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; white-space: nowrap; }
.contract-card { border-radius: 14px; padding: 28px; margin: 24px 0; background: #fff; border: 2px solid var(--border); }
.contract-card--public { border-color: #5eead4; }
.contract-card--housing { border-color: #bae6fd; }
.contract-card--fm { border-color: #ddd6fe; }
.contract-card--private { border-color: #bbf7d0; }
.contract-card__header { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.contract-card__icon { font-size: 2rem; line-height: 1; flex-shrink: 0; }
.contract-card__head { flex: 1; }
.contract-card__head h3 { font-family: var(--font-heading); font-size: 1.2rem; color: var(--navy); margin: 0 0 3px; }
.contract-card__head p { font-size: .84rem; color: var(--muted); margin: 0; }
.contract-card__body p { font-size: .95rem; color: var(--body-text); margin-bottom: 14px; }
.contract-card__body p:last-of-type { margin-bottom: 0; }
.contract-card__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 14px 0; }
.cc-stat { background: #f8fafc; border-radius: 8px; padding: 10px 8px; text-align: center; }
.cc-stat__label { font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: 3px; display: block; }
.cc-stat__value { font-weight: 700; color: var(--navy); font-size: .86rem; line-height: 1.25; }
.phase-pill { display: inline-flex; align-items: center; gap: 8px; background: var(--navy); color: #fff; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: 5px 14px; border-radius: 20px; margin: 32px 0 16px; }
.doc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 20px 0; }
.doc-item { display: flex; gap: 10px; align-items: flex-start; background: var(--cream); border-radius: 8px; padding: 12px 14px; }
.doc-item__icon { font-size: 1.1rem; flex-shrink: 0; line-height: 1.3; }
.doc-item__text { flex: 1; }
.doc-item__text strong { display: block; font-size: .88rem; color: var(--navy); margin-bottom: 2px; }
.doc-item__text span { font-size: .8rem; color: var(--muted); line-height: 1.5; }
.signal-strip { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; margin: 28px 0; }
.signal-card { border-radius: 10px; padding: 18px 16px; border: 1.5px solid var(--border); background: #fff; }
.signal-card__weight { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 6px; display: block; }
.signal-card--primary .signal-card__weight { color: #0f766e; }
.signal-card--secondary .signal-card__weight { color: #0369a1; }
.signal-card--tertiary .signal-card__weight { color: #6d28d9; }
.signal-card--primary { border-color: #5eead4; background: #f0fdfa; }
.signal-card--secondary { border-color: #bae6fd; background: #f0f9ff; }
.signal-card--tertiary { border-color: #ddd6fe; background: #faf5ff; }
.signal-card__title { font-weight: 700; color: var(--navy); font-size: .95rem; margin: 0 0 5px; }
.signal-card__detail { font-size: .84rem; color: var(--muted); margin: 0; line-height: 1.6; }
.problem-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 36px 0; }
.pb-num { background: #dc2626; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; font-weight: 800; color: #fff; padding: 16px 0; }
.pb-fix { border-top: 1px solid var(--border); background: var(--cream); padding: 16px 24px; }
.pb-fix-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 8px; }
.pb-fix p { font-size: 0.9rem; margin: 0; color: var(--body-text); line-height: 1.6; }
.diagnosis-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 24px 0; }
.dg-item { display: flex; align-items: flex-start; gap: 10px; background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 12px 14px; font-size: 0.85rem; color: var(--body-text); line-height: 1.5; }
.dg-item .dg-icon { flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; background: #fee2e2; color: #dc2626; font-size: 0.75rem; font-weight: 800; display: flex; align-items: center; justify-content: center; margin-top: 1px; }
.search-term-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0; }
.st-col { border-radius: 10px; padding: 16px 18px; }
.st-col.bad { background: #fef2f2; border: 1px solid #fca5a5; }
.st-col.good { background: #f0fdf4; border: 1px solid #86efac; }
.st-col h4 { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 10px; }
.st-col.bad h4 { color: #991b1b; }
.st-col.good h4 { color: #14532d; }
.st-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 5px; }
.st-col li { font-size: 0.82rem; font-family: monospace; color: var(--navy); padding: 4px 8px; border-radius: 4px; }
.st-col.bad li { background: rgba(220,38,38,.07); }
.st-col.good li { background: rgba(22,163,74,.07); }
.ad-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0; }
.ac-box { border-radius: 10px; padding: 18px; }
.ac-box.before { background: #fef2f2; border: 1px solid #fca5a5; }
.ac-box.after { background: #f0fdf4; border: 1px solid #86efac; }
.ac-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 12px; }
.ac-box.before .ac-label { color: #991b1b; }
.ac-box.after .ac-label { color: #14532d; }
.ac-headline { font-weight: 700; color: var(--navy); font-size: 0.9rem; margin-bottom: 4px; }
.ac-desc { font-size: 0.82rem; color: var(--muted); line-height: 1.5; }
.lp-check { list-style: none; padding: 0; margin: 16px 0; display: flex; flex-direction: column; gap: 7px; }
.lp-check li { display: flex; align-items: flex-start; gap: 10px; font-size: 0.9rem; color: var(--body-text); line-height: 1.5; padding: 10px 14px; background: var(--cream); border-radius: 7px; border: 1px solid var(--border); }
.lp-check li::before { content: "✓"; color: var(--teal); font-weight: 800; flex-shrink: 0; margin-top: 1px; }
.audit-cta-inline { background: var(--navy); border-radius: 12px; padding: 24px 28px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 36px 0; flex-wrap: wrap; }
.audit-cta-inline p { color: rgba(255,255,255,0.85); font-size: 0.95rem; margin: 0; flex: 1; min-width: 200px; }
.audit-cta-inline p strong { color: #fff; display: block; margin-bottom: 4px; font-size: 1rem; }
.audit-cta-inline a { background: #f97316; color: #fff; padding: 12px 24px; border-radius: 8px; font-weight: 700; font-size: 0.9rem; white-space: nowrap; text-decoration: none; flex-shrink: 0; }
.audit-cta-inline a:hover { background: #ea580c; text-decoration: none; }
.qs-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 20px 0; }
.qs-table thead { background: var(--navy); color: #fff; }
.qs-table thead th { padding: 10px 14px; text-align: left; font-size: 0.79rem; letter-spacing: .04em; font-weight: 700; }
.qs-table tbody tr:nth-child(even) { background: var(--cream); }
.qs-table tbody td { padding: 10px 14px; border-bottom: 1px solid var(--border); vertical-align: top; line-height: 1.5; }
.qs-table tbody tr:last-child td { border-bottom: none; }
.score-good { color: #16a34a; font-weight: 700; }
.score-mid { color: #f97316; font-weight: 700; }
.score-bad { color: #dc2626; font-weight: 700; }
.chase-step { border: 1px solid var(--border); border-radius: 12px; padding: 24px; margin: 20px 0; background: #fff; display: grid; grid-template-columns: 80px 1fr; gap: 20px; align-items: start; }
.chase-step__day { text-align: center; }
.chase-step__day-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); display: block; margin-bottom: 4px; }
.chase-step__day-num { font-family: var(--font-heading); font-size: 1.6rem; color: var(--navy); line-height: 1; }
.chase-step__day-unit { font-size: 0.75rem; color: var(--muted); display: block; }
.chase-step__label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 6px; display: block; }
.label-gentle { color: #16a34a; }
.label-firm { color: #d97706; }
.label-formal { color: #dc2626; }
.label-legal { color: #7c3aed; }
.chase-step__title { font-family: var(--font-body); font-weight: 700; color: var(--navy); font-size: 1rem; margin: 0 0 8px; }
.chase-step p { font-size: 0.93rem; color: var(--body-text); margin: 0; line-height: 1.7; }
.prev-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0; }
.prev-card { border-radius: 10px; padding: 20px; border: 1px solid var(--border); background: #fff; }
.prev-card__icon { font-size: 1.4rem; margin-bottom: 8px; display: block; }
.prev-card__title { font-weight: 700; color: var(--navy); font-size: 0.95rem; margin: 0 0 6px; }
.prev-card__body { font-size: 0.9rem; color: var(--muted); margin: 0; line-height: 1.65; }
.phase-card { border: 1px solid var(--border); border-radius: 12px; padding: 28px; margin: 28px 0; background: #fff; }
.phase-card__header { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 18px; }
.phase-card__num { min-width: 46px; height: 46px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 700; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.phase-card__label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--teal); margin-bottom: 4px; display: block; }
.phase-card__title { font-family: var(--font-heading); font-size: 1.25rem; color: var(--navy); margin: 0; line-height: 1.25; }
.phase-card p { font-size: 0.97rem; color: var(--body-text); margin-bottom: 14px; }
.phase-card p:last-child { margin-bottom: 0; }
.launch-checklist { list-style: none; padding: 20px 24px; background: var(--cream); border-radius: 8px; margin-bottom: 20px; }
.launch-checklist li { padding: 9px 0; border-bottom: 1px solid var(--border); font-size: 0.95rem; display: flex; gap: 12px; align-items: flex-start; color: var(--body-text); }
.launch-checklist li:last-child { border-bottom: none; }
.launch-checklist li input[type="checkbox"] { margin-top: 3px; flex-shrink: 0; width: 16px; height: 16px; accent-color: var(--teal); }
.tip-box { background: #f0fdf4; border-left: 4px solid #16a34a; border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 28px 0; }
.tip-box strong { display: block; color: #14532d; font-size: 1rem; margin-bottom: 4px; }
.tip-box span { font-size: 0.93rem; color: #166534; }
.asb-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 28px 0; }
.asb-card { border-radius: 10px; padding: 18px 16px; border: 1.5px solid var(--border); background: #fff; }
.asb-card--licensed { border-color: #fca5a5; background: #fef2f2; }
.asb-card--notifiable { border-color: #fde68a; background: #fefce8; }
.asb-card--nonlic { border-color: #bbf7d0; background: #f0fdf4; }
.asb-card__label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 7px; display: block; }
.asb-card--licensed .asb-card__label { color: #991b1b; }
.asb-card--notifiable .asb-card__label { color: #854d0e; }
.asb-card--nonlic .asb-card__label { color: #166534; }
.asb-card__title { font-weight: 700; color: var(--navy); font-size: .95rem; margin: 0 0 6px; }
.asb-card__detail { font-size: .86rem; color: var(--muted); margin: 0; line-height: 1.6; }
.reg-strip { margin: 28px 0; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.reg-strip__header { display: grid; grid-template-columns: 2fr 1fr 1fr; background: var(--navy); color: #fff; }
.reg-strip__row { display: grid; grid-template-columns: 2fr 1fr 1fr; border-top: 1px solid var(--border); }
.reg-strip__row:nth-child(even) { background: #f8fafc; }
.reg-cell { padding: 10px 14px; font-size: .84rem; }
.reg-cell--head { padding: 11px 14px; font-weight: 700; font-size: .82rem; }
.reg-cell--label { font-weight: 600; color: var(--navy); }
.reg-cell--yes { color: #166534; font-weight: 700; }
.reg-cell--no { color: #991b1b; font-weight: 700; }
.reg-cell--na { color: var(--muted); }
.location-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 32px 0; }
.location-card { border-radius: 12px; padding: 24px; border: 1px solid var(--border); background: #fff; }
.location-card__icon { font-size: 1.6rem; margin-bottom: 10px; display: block; }
.location-card__title { font-weight: 700; color: var(--navy); font-size: 1rem; margin: 0 0 8px; }
.location-card__body { font-size: 0.92rem; color: var(--muted); margin: 0; line-height: 1.65; }
.location-card__risk { margin-top: 12px; font-size: 0.82rem; font-weight: 700; padding: 4px 10px; border-radius: 20px; display: inline-block; }
.risk-high { background: #fee2e2; color: #b91c1c; }
.risk-med { background: #fef9c3; color: #854d0e; }
.signs-card { border: 1px solid var(--border); border-left: 4px solid var(--teal); border-radius: 0 10px 10px 0; padding: 18px 22px; margin: 18px 0; background: #fff; }
.signs-card__title { font-weight: 700; color: var(--navy); font-size: 0.97rem; margin: 0 0 6px; }
.signs-card p { font-size: 0.93rem; color: var(--body-text); margin: 0; }
.badge-urgent { display: inline-block; background: #fee2e2; color: #b91c1c; font-size: 0.75rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; white-space: nowrap; }
.badge-soon { display: inline-block; background: #fef9c3; color: #854d0e; font-size: 0.75rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; white-space: nowrap; }
.badge-monitor { display: inline-block; background: #dcfce7; color: #166534; font-size: 0.75rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; white-space: nowrap; }
.verdict-hero { border-radius: 14px; padding: 28px 32px; margin: 32px 0; display: flex; gap: 20px; align-items: flex-start; }
.verdict-hero--yes { background: #f0fdf4; border: 2px solid #86efac; }
.verdict-hero--no { background: #fef2f2; border: 2px solid #fca5a5; }
.verdict-hero--maybe { background: #fff7ed; border: 2px solid #fed7aa; }
.verdict-hero__icon { font-size: 2.2rem; line-height: 1; flex-shrink: 0; }
.verdict-hero__body h3 { font-family: var(--font-heading); font-size: 1.35rem; margin: 0 0 8px; }
.verdict-hero--yes .verdict-hero__body h3 { color: #166534; }
.verdict-hero--no .verdict-hero__body h3 { color: #991b1b; }
.verdict-hero--maybe .verdict-hero__body h3 { color: #9a3412; }
.verdict-hero__body p { font-size: .95rem; color: var(--body-text); margin: 0; line-height: 1.7; }
.nations-tabs { margin: 32px 0; }
.nations-tabs__nav { display: flex; gap: 4px; border-bottom: 2px solid var(--border); margin-bottom: 0; flex-wrap: wrap; }
.nations-tabs__btn { padding: 10px 18px; font-size: .88rem; font-weight: 600; border: none; background: none; cursor: pointer; color: var(--muted); border-bottom: 3px solid transparent; margin-bottom: -2px; transition: all .15s; font-family: var(--font-body); }
.nations-tabs__btn.active { color: var(--navy); border-bottom-color: var(--teal); }
.nations-tabs__btn:hover:not(.active) { color: var(--navy); }
.nations-tabs__panel { display: none; padding: 24px; background: #f8fafc; border-radius: 0 0 10px 10px; border: 1px solid var(--border); border-top: none; }
.nations-tabs__panel.active { display: block; }
.nations-tabs__panel h4 { font-family: var(--font-body); font-weight: 700; color: var(--navy); margin: 0 0 12px; font-size: 1rem; }
.nations-tabs__panel p { font-size: .93rem; color: var(--body-text); margin-bottom: 12px; }
.nations-tabs__panel p:last-child { margin-bottom: 0; }
.nations-tabs__panel ul { font-size: .9rem; color: var(--body-text); padding-left: 20px; margin-bottom: 0; }
.nations-tabs__panel li { margin-bottom: 8px; }
.pillar-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 32px 0; }
.pillar-card { border-radius: 10px; padding: 22px; border: 1px solid var(--border); background: var(--cream); }
.pillar-card__icon { font-size: 1.6rem; margin-bottom: 10px; display: block; }
.pillar-card__title { font-family: var(--font-body); font-weight: 700; color: var(--navy); font-size: 1rem; margin: 0 0 8px; }
.pillar-card__body { font-size: 0.93rem; color: var(--muted); margin: 0; line-height: 1.65; }
.brand-checklist { list-style: none; padding: 20px 24px; background: var(--cream); border-radius: 8px; margin-bottom: 20px; }
.brand-checklist li { padding: 9px 0; border-bottom: 1px solid var(--border); font-size: 0.95rem; display: flex; gap: 10px; align-items: flex-start; color: var(--body-text); }
.brand-checklist li:last-child { border-bottom: none; }
.action-steps { list-style: none; padding: 0; margin: 28px 0; counter-reset: actions; }
.action-steps li { display: flex; gap: 18px; align-items: flex-start; padding: 20px 0; border-bottom: 1px solid var(--border); }
.action-steps li:last-child { border-bottom: none; }
.action-num { min-width: 40px; height: 40px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 700; font-size: 1rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.action-body strong { display: block; color: var(--navy); font-size: 1rem; margin-bottom: 6px; }
.action-body p { margin: 0; font-size: 0.95rem; color: var(--body-text); line-height: 1.7; }
.cause-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0; }
.cause-card { border: 1px solid var(--border); border-radius: 12px; padding: 28px; margin: 32px 0; background: #fff; }
.cause-card__icon { font-size: 1.5rem; margin-bottom: 8px; display: block; }
.cause-card__title { font-family: var(--font-heading); font-size: 1.25rem; color: var(--navy); margin: 0; line-height: 1.25; }
.cause-card__body { font-size: 0.9rem; color: var(--muted); margin: 0; line-height: 1.6; }
.report-table tbody tr.total-row td { background: #f0f9ff; font-weight: 700; color: var(--navy); }
.table-note { font-size: 0.82rem; color: var(--muted); margin-top: -16px; margin-bottom: 28px; line-height: 1.6; }
.quick-answer { background: var(--cream); border: 1px solid var(--border); border-left: 4px solid var(--teal); border-radius: 0 12px 12px 0; padding: 24px 28px; margin: 0 0 40px; }
.quick-answer h2 { font-size: 1.1rem; margin: 0 0 16px; color: var(--navy); font-family: var(--font-body); }
.quick-answer ul { margin: 0; padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.quick-answer li { font-size: 0.93rem; color: var(--body-text); display: flex; justify-content: space-between; gap: 16px; padding-bottom: 8px; border-bottom: 1px solid var(--border); }
.quick-answer li:last-child { border-bottom: none; padding-bottom: 0; }
.quick-answer li strong { color: var(--navy); white-space: nowrap; }
.quick-answer-note { font-size: 0.82rem; color: var(--muted); margin: 16px 0 0; }
.cost-table tbody tr.total-row td { background: #f0f9ff; font-weight: 700; color: var(--navy); }
.cost-table-note { font-size: 0.82rem; color: var(--muted); margin-top: -16px; margin-bottom: 28px; line-height: 1.6; }
.fail-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.fb-num { background: #dc2626; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; font-weight: 800; padding: 16px 0; flex-shrink: 0; }
.fb-contrast { background: var(--cream); border-top: 1px solid var(--border); padding: 14px 24px; display: flex; gap: 10px; align-items: flex-start; }
.fb-contrast-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); white-space: nowrap; margin-top: 2px; }
.fb-contrast p { font-size: 0.88rem; margin: 0; color: var(--body-text); line-height: 1.6; }
.diagnosis-card { border-radius: 12px; padding: 28px; }
.diagnosis-card--leak { background: #fff7ed; border: 2px solid #fed7aa; }
.diagnosis-card--condensation { background: #f0f9ff; border: 2px solid #bae6fd; }
.diagnosis-card__icon { font-size: 2rem; margin-bottom: 10px; display: block; }
.diagnosis-card__label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 6px; display: block; }
.diagnosis-card--leak .diagnosis-card__label { color: #ea580c; }
.diagnosis-card--condensation .diagnosis-card__label { color: #0284c7; }
.diagnosis-card__title { font-family: var(--font-heading); font-size: 1.2rem; color: var(--navy); margin: 0 0 14px; line-height: 1.25; }
.diagnosis-card ul { padding-left: 18px; margin: 0; }
.diagnosis-card li { font-size: 0.92rem; margin-bottom: 8px; color: var(--body-text); }
.badge-leak { display: inline-block; background: #fff7ed; color: #c2410c; font-size: 0.78rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; white-space: nowrap; }
.badge-cond { display: inline-block; background: #e0f2fe; color: #0369a1; font-size: 0.78rem; font-weight: 700; padding: 2px 8px; border-radius: 20rap; border-radius: 20px; white-space: nowrap; }
.badge-either { display: inline-block; background: #f3f4f6; color: #374151; font-size: 0.78rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; white-space: nowrap; }
.cause-block { border: 1px solid var(--border); border-radius: 12px; padding: 28px; margin: 32px 0; background: #fff; }
.cause-block__header { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 16px; }
.cause-block__icon { font-size: 1.8rem; line-height: 1; flex-shrink: 0; }
.cause-block__label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--teal); margin-bottom: 4px; display: block; }
.cause-block__title { font-family: var(--font-heading); font-size: 1.25rem; color: var(--navy); margin: 0; line-height: 1.25; }
.cause-block p { font-size: 0.97rem; color: var(--body-text); margin-bottom: 14px; }
.cause-block p:last-child { margin-bottom: 0; }
.clue-row { background: #f8fafc; border-left: 3px solid var(--teal); border-radius: 0 6px 6px 0; padding: 10px 14px; margin-top: 14px; font-size: 0.9rem; }
.clue-row strong { display: block; color: var(--navy); font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 3px; }
.clue-row p { margin: 0; color: var(--muted); font-size: 0.9rem; }
.segment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0; }
.segment-card { border-radius: 10px; padding: 18px 20px; border: 1.5px solid var(--border); background: #fff; }
.segment-card--past { border-color: #5eead4; background: #f0fdfa; }
.segment-card--agent { border-color: #bae6fd; background: #f0f9ff; }
.segment-card--landlord { border-color: #ddd6fe; background: #faf5ff; }
.segment-card--quote { border-color: #fde68a; background: #fffbeb; }
.segment-card__label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 7px; display: block; }
.segment-card--past .segment-card__label { color: #0f766e; }
.segment-card--agent .segment-card__label { color: #0369a1; }
.segment-card--landlord .segment-card__label { color: #6d28d9; }
.segment-card--quote .segment-card__label { color: #92400e; }
.segment-card__title { font-weight: 700; color: var(--navy); font-size: .95rem; margin: 0 0 5px; }
.segment-card__detail { font-size: .85rem; color: var(--muted); margin: 0; line-height: 1.6; }
.calendar-strip { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; margin: 28px 0; }
.cal-card { border-radius: 10px; padding: 16px 14px; border: 1px solid var(--border); background: #fff; }
.cal-card__month { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 6px; display: block; }
.cal-card__subject { font-size: .86rem; font-weight: 600; color: var(--navy); margin-bottom: 5px; }
.cal-card__detail { font-size: .77rem; color: var(--muted); line-height: 1.5; }
.danger-callout { background: #fef2f2; border-left: 4px solid #dc2626; border-radius: 0 8px 8px 0; padding: 18px 22px; margin: 28px 0; }
.danger-callout strong { display: block; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #991b1b; margin-bottom: 8px; }
.danger-callout p { margin: 0; font-size: 0.93rem; color: var(--body-text); }
.sb-head { display: grid; grid-template-columns: 64px 1fr; }
.sb-num.red { background: #dc2626; }
.sb-num.orange { background: #ea580c; }
.sb-num.amber { background: #b45309; }
.sb-num.teal { background: var(--teal); }
.sb-num.navy { background: var(--navy); }
.sb-title-wrap { background: var(--navy); color: #fff; padding: 16px 22px; }
.sb-title-wrap small { display: block; font-size: 0.68rem; font-weight: 400; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.sb-title-wrap strong { display: block; font-family: var(--font-body); font-weight: 700; font-size: 1rem; line-height: 1.35; }
.sb-note { background: var(--cream); border-top: 1px solid var(--border); padding: 12px 26px; display: flex; gap: 10px; align-items: flex-start; }
.sb-note-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); white-space: nowrap; margin-top: 2px; flex-shrink: 0; }
.sb-note p { font-size: 0.85rem; margin: 0; color: var(--body-text); line-height: 1.6; }
.urgency-strip { display: flex; gap: 0; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; margin: 32px 0; }
.urgency-col { flex: 1; padding: 16px 14px; text-align: center; }
.urgency-col.u1 { background: #fef2f2; border-right: 1px solid var(--border); }
.urgency-col.u2 { background: #fff7ed; border-right: 1px solid var(--border); }
.urgency-col.u3 { background: #fefce8; border-right: 1px solid var(--border); }
.urgency-col.u4 { background: #f0fdf4; }
.urgency-col .u-icon { font-size: 1.3rem; margin-bottom: 6px; }
.urgency-col .u-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }
.urgency-col.u1 .u-label { color: #991b1b; }
.urgency-col.u2 .u-label { color: #c2410c; }
.urgency-col.u3 .u-label { color: #854d0e; }
.urgency-col.u4 .u-label { color: #14532d; }
.urgency-col .u-text { font-size: 0.78rem; color: var(--body-text); line-height: 1.5; }
.cost-early { background: #dcfce7; color: #14532d; font-size: 0.72rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; }
.cost-late { background: #fee2e2; color: #991b1b; font-size: 0.72rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; }
.emergency-bar { background: #dc2626; border-radius: 12px; padding: 20px 26px; margin: 36px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.emergency-bar .eb-text { color: #fff; }
.emergency-bar .eb-text strong { display: block; font-size: 1.05rem; font-weight: 700; margin-bottom: 4px; }
.emergency-bar .eb-text span { font-size: 0.88rem; color: rgba(255,255,255,.8); }
.emergency-bar .eb-btn { background: #fff; color: #dc2626; padding: 12px 24px; border-radius: 8px; font-weight: 700; font-size: 0.95rem; text-decoration: none; white-space: nowrap; flex-shrink: 0; }
.emergency-bar .eb-btn:hover { opacity: .92; }
.wa-thread { background: #e5ddd5; border-radius: 12px; padding: 20px 16px; margin: 28px 0; display: flex; flex-direction: column; gap: 10px; }
.wa-thread__label { font-size: 0.78rem; font-weight: 700; color: #555; text-align: center; margin-bottom: 4px; letter-spacing: 0.05em; text-transform: uppercase; }
.wa-bubble { max-width: 82%; padding: 10px 14px; border-radius: 8px; font-size: 0.92rem; line-height: 1.55; position: relative; }
.wa-bubble--out { background: #dcf8c6; align-self: flex-end; border-bottom-right-radius: 2px; color: #111; }
.wa-bubble--in { background: #fff; align-self: flex-start; border-bottom-left-radius: 2px; color: #111; }
.wa-bubble__time { font-size: 0.72rem; color: #999; text-align: right; margin-top: 4px; }
.wa-bubble__sender { font-size: 0.78rem; font-weight: 700; color: var(--teal); margin-bottom: 4px; }
.feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0; }
.feature-card { border-radius: 10px; padding: 22px; border: 1px solid var(--border); background: #fff; }
.feature-card__icon { font-size: 1.5rem; margin-bottom: 8px; display: block; }
.feature-card__title { font-weight: 700; color: var(--navy); font-size: 0.95rem; margin: 0 0 6px; }
.feature-card__body { font-size: 0.9rem; color: var(--muted); margin: 0; line-height: 1.6; }
.setup-checklist { list-style: none; padding: 20px 24px; background: var(--cream); border-radius: 8px; margin-bottom: 20px; }
.setup-checklist li { padding: 9px 0; border-bottom: 1px solid var(--border); font-size: 0.95rem; display: flex; gap: 10px; align-items: flex-start; color: var(--body-text); }
.setup-checklist li:last-child { border-bottom: none; }
.material-card { border: 1px solid var(--border); border-radius: 12px; padding: 28px; margin: 28px 0; background: #fff; }
.material-card__header { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 16px; }
.material-card__icon { font-size: 1.8rem; flex-shrink: 0; line-height: 1; }
.material-card__label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--teal); margin-bottom: 4px; display: block; }
.material-card__title { font-family: var(--font-heading); font-size: 1.25rem; color: var(--navy); margin: 0; line-height: 1.25; }
.material-card p { font-size: 0.97rem; color: var(--body-text); margin-bottom: 14px; }
.material-card p:last-child { margin-bottom: 0; }
.material-card__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 18px; }
.material-stat { background: #f8fafc; border-radius: 8px; padding: 12px 10px; text-align: center; }
.material-stat__label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); margin-bottom: 4px; display: block; }
.material-stat__value { font-weight: 700; color: var(--navy); font-size: 0.95rem; }
.reason-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.rb-header { display: grid; grid-template-columns: 52px 1fr; background: var(--navy); color: #fff; }
.rb-num { background: #0b8880; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; font-weight: 800; padding: 16px 0; flex-shrink: 0; }
.rb-title { padding: 15px 20px; font-family: var(--font-body); font-weight: 700; font-size: 0.97rem; line-height: 1.35; }
.rb-title small { display: block; font-size: 0.68rem; font-weight: 400; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.rb-body { padding: 22px 24px; }
.rb-body p { font-size: 0.93rem; color: var(--body-text); margin-bottom: 14px; }
.rb-body p:last-child { margin-bottom: 0; }
.rb-action { background: var(--cream); border-top: 1px solid var(--border); padding: 14px 24px; display: flex; gap: 10px; align-items: flex-start; }
.rb-action-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); white-space: nowrap; margin-top: 2px; }
.rb-action p { font-size: 0.88rem; margin: 0; color: var(--body-text); line-height: 1.6; }
.cert-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.cert-table thead { background: var(--navy); color: #fff; }
.cert-table thead th { padding: 12px 16px; text-align: left; font-size: 0.79rem; letter-spacing: .04em; font-weight: 700; }
.cert-table tbody tr:nth-child(even) { background: var(--cream); }
.cert-table tbody td { padding: 11px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.5; }
.cert-table tbody tr:last-child td { border-bottom: none; }
.msg-template .msg-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 10px; display: block; }
.value-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 36px 0; }
.vs-cell { background: var(--cream); padding: 22px 16px; text-align: center; }
.vs-cell .vs-num { font-size: 1.9rem; font-weight: 800; color: var(--teal); line-height: 1; margin-bottom: 6px; }
.vs-cell .vs-label { font-size: .75rem; color: var(--muted); font-weight: 500; line-height: 1.4; }
.touchpoint-row { display: grid; grid-template-columns: 120px 1fr; gap: 0; margin: 0; }
.touchpoint-row:not(:last-child) .tp-content { border-bottom: none; }
.tp-time { background: var(--navy); color: var(--teal); font-weight: 700; font-size: 0.78rem; padding: 16px 12px; text-align: center; display: flex; align-items: center; justify-content: center; line-height: 1.3; }
.tp-content { border: 1px solid var(--border); border-left: none; padding: 14px 20px; background: #fff; }
.tp-content h4 { font-family: var(--font-body); font-weight: 700; font-size: 0.88rem; color: var(--navy); margin: 0 0 4px; }
.tp-content p { font-size: 0.83rem; color: var(--body-text); margin: 0; line-height: 1.55; }
.touchpoint-wrapper { border-radius: 12px; overflow: hidden; margin: 28px 0; border: 1px solid var(--border); }
.touchpoint-wrapper .touchpoint-row { border: none; }
.touchpoint-wrapper .touchpoint-row .tp-content { border: none; border-bottom: 1px solid var(--border); border-left: 1px solid var(--border); }
.touchpoint-wrapper .touchpoint-row:last-child .tp-content { border-bottom: none; }
.area-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.ab-header { display: grid; grid-template-columns: 52px 1fr; background: var(--navy); color: #fff; }
.ab-zone { background: #0b8880; display: flex; align-items: center; justify-content: center; font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; padding: 16px 6px; flex-shrink: 0; text-align: center; line-height: 1.3; }
.ab-title { padding: 15px 20px; font-family: var(--font-body); font-weight: 700; font-size: 0.97rem; line-height: 1.35; }
.ab-title small { display: block; font-size: 0.68rem; font-weight: 400; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.ab-body { padding: 22px 24px; }
.ab-body p { font-size: 0.93rem; color: var(--body-text); margin-bottom: 14px; }
.ab-body p:last-child { margin-bottom: 0; }
.ab-districts { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0; }
.ab-district-pill { background: var(--navy); color: rgba(255,255,255,.85); font-size: 0.77rem; font-weight: 600; padding: 4px 12px; border-radius: 99px; }
.ab-stats { background: var(--cream); border-top: 1px solid var(--border); padding: 14px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.ab-stat { text-align: center; }
.ab-stat-num { font-size: 1.25rem; font-weight: 800; color: var(--teal); line-height: 1; margin-bottom: 3px; font-family: var(--font-body); }
.ab-stat-label { font-size: 0.73rem; color: var(--muted); font-weight: 500; line-height: 1.35; }
.sb-number { display: flex; align-items: center; justify-content: center; font-family: var(--font-heading); font-size: 1.6rem; color: var(--teal); padding: 18px 0; flex-shrink: 0; }
.sb-title strong { display: block; font-family: var(--font-body); font-weight: 700; font-size: 1rem; line-height: 1.35; }
.tl-item { display: grid; grid-template-columns: 100px 1fr; gap: 0; }
.tl-week { background: var(--navy); color: var(--teal); font-family: var(--font-body); font-weight: 700; font-size: 0.82rem; padding: 18px 16px; text-align: center; display: flex; align-items: center; justify-content: center; line-height: 1.3; }
.tl-content { border: 1px solid var(--border); border-left: none; padding: 16px 20px; background: #fff; }
.tl-item:not(:last-child) .tl-content { border-bottom: none; }
.tl-item:first-child .tl-week { border-radius: 10px 0 0 0; }
.tl-item:first-child .tl-content { border-radius: 0 10px 0 0; }
.tl-item:last-child .tl-week { border-radius: 0 0 0 10px; }
.tl-item:last-child .tl-content { border-radius: 0 0 10px 0; }
.tl-content h4 { font-family: var(--font-body); font-weight: 700; font-size: 0.9rem; color: var(--navy); margin: 0 0 6px; }
.tl-content p { font-size: 0.85rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.property-card { border: 1px solid var(--border); border-radius: 12px; padding: 26px; margin: 22px 0; background: #fff; }
.property-card__header { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 14px; }
.property-card__icon { font-size: 1.8rem; flex-shrink: 0; line-height: 1; }
.property-card__label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--teal); margin-bottom: 4px; display: block; }
.property-card__title { font-family: var(--font-heading); font-size: 1.2rem; color: var(--navy); margin: 0; line-height: 1.25; }
.property-card p { font-size: 0.97rem; color: var(--body-text); margin-bottom: 12px; }
.property-card p:last-child { margin-bottom: 0; }
.property-card__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.prop-stat { background: #f8fafc; border-radius: 8px; padding: 11px 10px; text-align: center; }
.prop-stat__label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); margin-bottom: 4px; display: block; }
.prop-stat__value { font-weight: 700; color: var(--navy); font-size: 0.92rem; }
.alt-card { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.alt-card-header { display: grid; grid-template-columns: 56px 1fr auto; align-items: center; background: var(--navy); color: #fff; gap: 0; }
.alt-card-num { background: #0b8880; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; font-weight: 800; padding: 18px 0; font-family: var(--font-body); align-self: stretch; }
.alt-card-title { padding: 14px 18px; }
.alt-card-title strong { display: block; font-family: var(--font-body); font-weight: 700; font-size: 1rem; line-height: 1.3; }
.alt-card-title span { font-size: 0.72rem; color: rgba(255,255,255,.5); text-transform: uppercase; letter-spacing: .06em; }
.alt-card-verdict { padding: 14px 18px; text-align: right; flex-shrink: 0; }
.verdict-pill { display: inline-block; font-size: 0.7rem; font-weight: 700; padding: 3px 10px; border-radius: 99px; text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; }
.v-best { background: #dcfce7; color: #14532d; }
.v-good { background: #dbeafe; color: #1e3a5f; }
.v-ok { background: #fef9c3; color: #854d0e; }
.v-supp { background: #f1f5f9; color: #475569; }
.alt-card-body { padding: 20px 22px; }
.alt-card-body p { font-size: 0.93rem; color: var(--body-text); margin-bottom: 12px; }
.alt-card-body p:last-child { margin-bottom: 0; }
.alt-card-body ul { padding-left: 20px; margin: 0; }
.alt-card-body li { font-size: 0.9rem; color: var(--body-text); margin-bottom: 7px; }
.alt-card-meta { display: flex; gap: 20px; flex-wrap: wrap; background: var(--cream); border-top: 1px solid var(--border); padding: 12px 22px; }
.alt-meta-item { font-size: 0.8rem; color: var(--muted); }
.alt-meta-item strong { color: var(--navy); display: block; font-size: 0.72rem; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 2px; }
.pp-card.featured { border: 2px solid var(--teal); }
.pp-card-price { font-size: 1.4rem; font-weight: 800; color: var(--navy); font-family: var(--font-body); margin-bottom: 2px; line-height: 1.1; }
.pp-card-price span { font-size: 0.8rem; font-weight: 400; color: var(--muted); }
.pp-card-target { font-size: 0.8rem; color: var(--muted); margin-bottom: 10px; line-height: 1.4; }
.pp-card-features { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 5px; }
.pp-card-features li { font-size: 0.8rem; color: var(--body-text); padding-left: 16px; position: relative; line-height: 1.45; }
.pp-card-features li::before { content: "✓"; position: absolute; left: 0; color: var(--teal); font-weight: 700; font-size: 0.75rem; }
.redflag-card { border: 2px solid #fca5a5; border-radius: 14px; padding: 28px; margin: 28px 0; background: #fff; }
.redflag-card__number { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: #dc2626; color: #fff; font-weight: 700; font-size: 1rem; margin-bottom: 12px; }
.redflag-card__title { font-family: var(--font-heading); font-size: 1.25rem; color: var(--navy); margin: 0 0 6px; }
.redflag-card__subtitle { font-size: .88rem; color: var(--muted); margin: 0 0 16px; }
.redflag-card p { font-size: .97rem; color: var(--body-text); margin-bottom: 14px; }
.redflag-card p:last-of-type { margin-bottom: 0; }
.redflag-card .fix-box { margin-top: 16px; }
.redflag-card .script-box { margin-top: 14px; }
.inspection-card { border: 1px solid var(--border); border-radius: 12px; padding: 26px; margin: 24px 0; background: #fff; }
.inspection-card__header { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 14px; }
.inspection-card__icon { font-size: 1.8rem; flex-shrink: 0; line-height: 1; }
.inspection-card__label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--teal); margin-bottom: 4px; display: block; }
.inspection-card__title { font-family: var(--font-heading); font-size: 1.2rem; color: var(--navy); margin: 0; line-height: 1.25; }
.inspection-card p { font-size: 0.97rem; color: var(--body-text); margin-bottom: 12px; }
.inspection-card p:last-child { margin-bottom: 0; }
.inspection-card__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.insp-stat { background: #f8fafc; border-radius: 8px; padding: 11px 10px; text-align: center; }
.insp-stat__label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); margin-bottom: 4px; display: block; }
.insp-stat__value { font-weight: 700; color: var(--navy); font-size: 0.92rem; }
.when-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0; }
.when-card { border-radius: 10px; padding: 20px; border: 1px solid var(--border); background: #fff; }
.when-card__icon { font-size: 1.4rem; margin-bottom: 8px; display: block; }
.when-card__title { font-weight: 700; color: var(--navy); font-size: 0.95rem; margin: 0 0 6px; }
.when-card__body { font-size: 0.9rem; color: var(--muted); margin: 0; line-height: 1.65; }
.impact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; margin: 32px 0; }
.impact-card { border: 1px solid var(--border); border-radius: 12px; padding: 22px 16px; text-align: center; background: #fff; position: relative; overflow: hidden; }
.impact-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--teal); }
.impact-num { font-size: 2.2rem; font-weight: 800; color: var(--teal); line-height: 1; margin-bottom: 8px; }
.impact-label { font-size: 0.8rem; color: var(--muted); line-height: 1.45; font-weight: 500; }
.milestone-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.milestone-table thead { background: var(--navy); color: #fff; }
.milestone-table thead th { padding: 12px 16px; text-align: left; font-size: 0.8rem; letter-spacing: .04em; font-weight: 700; }
.milestone-table tbody tr:nth-child(even) { background: var(--cream); }
.milestone-table tbody td { padding: 12px 16px; border-bottom: 1px solid var(--border); vertical-align: top; line-height: 1.55; }
.milestone-table tbody tr:last-child td { border-bottom: none; }
.ms-badge { display: inline-block; font-size: 0.72rem; font-weight: 700; padding: 3px 9px; border-radius: 99px; }
.ms-start { background: #f1f5f9; color: #475569; }
.ms-build { background: #fef9c3; color: #713f12; }
.ms-strong { background: #dcfce7; color: #14532d; }
.ms-dom { background: #dbeafe; color: #1e40af; }
.msg-box { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 20px 0; }
.msg-header { background: var(--navy); color: #fff; padding: 10px 18px; display: flex; align-items: center; gap: 10px; font-size: 0.78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.msg-header .mh-channel { background: rgba(255,255,255,.12); border-radius: 4px; padding: 2px 8px; font-size: 0.68rem; }
.msg-body .msg-link { color: #1a73e8; font-weight: 600; font-family: monospace; font-size: 0.88rem; }
.msg-note { background: #fff; border-top: 1px solid var(--border); padding: 10px 18px; font-size: 0.78rem; color: var(--muted); }
.rating-compare { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin: 28px 0; }
.rc-card { border-radius: 12px; padding: 20px; text-align: center; border: 1px solid var(--border); }
.rc-card.weak { background: #fef2f2; border-color: #fca5a5; }
.rc-card.avg { background: #fff7ed; border-color: #fed7aa; }
.rc-card.strong { background: #f0fdf4; border-color: #86efac; }
.rc-stars { font-size: 1.3rem; margin-bottom: 6px; }
.rc-count { font-size: 0.75rem; color: var(--muted); margin-bottom: 10px; }
.rc-result { font-size: 0.78rem; font-weight: 700; padding: 4px 12px; border-radius: 99px; display: inline-block; margin-bottom: 10px; }
.rc-card.weak .rc-result { background: #fee2e2; color: #991b1b; }
.rc-card.avg .rc-result { background: #fef3c7; color: #92400e; }
.rc-card.strong .rc-result { background: #dcfce7; color: #14532d; }
.rc-desc { font-size: 0.82rem; color: var(--muted); line-height: 1.5; margin: 0; }
.response-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0; }
.rg-card { border-radius: 10px; padding: 18px; }
.rg-card.positive { background: #f0fdf4; border: 1px solid #86efac; }
.rg-card.negative { background: #fef2f2; border: 1px solid #fca5a5; }
.rg-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 12px; }
.rg-card.positive .rg-label { color: #14532d; }
.rg-card.negative .rg-label { color: #991b1b; }
.rg-text { font-size: 0.85rem; color: var(--body-text); line-height: 1.65; margin: 0; }
.mistake-row { display: flex; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--border); align-items: flex-start; }
.mistake-row:last-child { border-bottom: none; }
.mr-num { width: 30px; height: 30px; border-radius: 50%; background: #fee2e2; color: #dc2626; font-weight: 800; font-size: 0.8rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }
.mr-body strong { color: var(--navy); display: block; margin-bottom: 4px; font-size: 0.93rem; font-family: var(--font-body); }
.mr-body p { font-size: 0.88rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.action-step { display: grid; grid-template-columns: 40px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--border); align-items: start; }
.action-step:last-child { border-bottom: none; }
.as-circle { width: 40px; height: 40px; border-radius: 50%; background: var(--teal); color: #fff; font-weight: 800; font-size: 0.9rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.as-body strong { color: var(--navy); display: block; margin-bottom: 5px; font-family: var(--font-body); font-size: 0.95rem; }
.as-body p { font-size: 0.88rem; color: var(--body-text); margin: 0; line-height: 1.65; }
.checklist-block { list-style: none; padding: 0; margin: 20px 0; display: flex; flex-direction: column; gap: 8px; }
.checklist-block li { display: flex; align-items: flex-start; gap: 10px; background: var(--cream); padding: 12px 15px; border-radius: 8px; border: 1px solid var(--border); font-size: 0.9rem; color: var(--body-text); line-height: 1.55; }
.checklist-block li::before { content: "✓"; color: var(--teal); font-weight: 800; flex-shrink: 0; margin-top: 1px; }
.star-row { display: flex; align-items: center; gap: 8px; margin: 6px 0; font-size: 0.88rem; color: var(--body-text); }
.stars { color: #f59e0b; font-size: 1rem; letter-spacing: 1px; }
.star-bar-wrap { width: 140px; background: var(--border); border-radius: 99px; height: 8px; flex-shrink: 0; }
.star-bar { height: 8px; border-radius: 99px; background: #f59e0b; }
.option-card--mistake { border-color: #fca5a5; }
.option-card--fix { border-color: #bbf7d0; }
.option-card--mistake .option-card__badge { background: #fee2e2; color: #991b1b; }
.option-card--fix .option-card__badge { background: #dcfce7; color: #166534; }
.sequence { border-left: 3px solid var(--teal); margin: 28px 0; padding-left: 0; list-style: none; }
.sequence__item { display: flex; gap: 20px; align-items: flex-start; padding: 0 0 28px 24px; position: relative; }
.sequence__item:last-child { padding-bottom: 0; }
.sequence__dot { width: 14px; height: 14px; border-radius: 50%; background: var(--teal); flex-shrink: 0; position: absolute; left: -8px; top: 4px; }
.sequence__time { font-size: 0.76rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--teal); white-space: nowrap; min-width: 80px; padding-top: 2px; }
.sequence__body { flex: 1; }
.sequence__body strong { display: block; color: var(--navy); font-size: 0.95rem; margin-bottom: 4px; }
.sequence__body p { font-size: 0.88rem; color: var(--muted); margin: 0; line-height: 1.6; }
.versus-banner { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0; border-radius: 14px; overflow: hidden; border: 1px solid var(--border); margin: 36px 0; }
.versus-side { padding: 28px 24px; }
.versus-side.shared { background: #fef2f2; }
.versus-side.excl { background: #f0fdf4; }
.versus-divider { background: var(--navy); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 0.85rem; letter-spacing: .08em; padding: 0 14px; writing-mode: vertical-rl; text-orientation: mixed; }
.versus-side h4 { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 14px; }
.versus-side.shared h4 { color: #dc2626; }
.versus-side.excl h4 { color: #16a34a; }
.versus-side ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.versus-side li { font-size: 0.88rem; padding-left: 18px; position: relative; color: var(--body-text); line-height: 1.5; }
.versus-side.shared li::before { content: "✗"; position: absolute; left: 0; color: #dc2626; font-weight: 700; }
.versus-side.excl li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 700; }
.calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 28px 0; }
.calc-card { border-radius: 12px; padding: 24px; }
.calc-card.shared-card { background: #fef2f2; border: 1px solid #fca5a5; }
.calc-card.excl-card { background: #f0fdf4; border: 1px solid #86efac; }
.calc-card h4 { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 16px; }
.calc-card.shared-card h4 { color: #991b1b; }
.calc-card.excl-card h4 { color: #14532d; }
.calc-row { display: flex; justify-content: space-between; align-items: baseline; padding: 6px 0; border-bottom: 1px solid rgba(0,0,0,.06); font-size: 0.88rem; }
.calc-row:last-of-type { border-bottom: none; }
.calc-row .cr-label { color: var(--muted); }
.calc-row .cr-value { font-weight: 700; color: var(--navy); }
.calc-total { display: flex; justify-content: space-between; align-items: baseline; padding: 10px 0 0; margin-top: 8px; border-top: 2px solid; font-size: 1rem; }
.shared-card .calc-total { border-color: #fca5a5; }
.excl-card .calc-total { border-color: #86efac; }
.calc-total .ct-label { font-weight: 700; color: var(--navy); }
.calc-total .ct-value { font-size: 1.3rem; font-weight: 800; }
.shared-card .ct-value { color: #dc2626; }
.excl-card .ct-value { color: #16a34a; }
.hidden-cost { display: flex; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--border); align-items: flex-start; }
.hidden-cost:last-child { border-bottom: none; }
.hc-icon { font-size: 1.4rem; flex-shrink: 0; width: 36px; text-align: center; margin-top: 2px; }
.hc-body strong { color: var(--navy); display: block; margin-bottom: 4px; font-size: 0.95rem; font-family: var(--font-body); }
.hc-body p { font-size: 0.88rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.scenario-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.scenario-table thead { background: var(--navy); color: #fff; }
.scenario-table thead th { padding: 12px 16px; text-align: left; font-size: 0.8rem; letter-spacing: .04em; font-weight: 700; }
.scenario-table tbody tr:nth-child(even) { background: var(--cream); }
.scenario-table tbody td { padding: 11px 16px; border-bottom: 1px solid var(--border); vertical-align: top; line-height: 1.5; }
.scenario-table tbody tr:last-child td { border-bottom: none; }
.scenario-table .winner { color: #16a34a; font-weight: 700; }
.scenario-table .loser { color: #dc2626; }
.spectrum { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 28px 0; }
.spectrum-row { display: grid; grid-template-columns: 180px 1fr 120px; align-items: center; gap: 16px; padding: 14px 20px; border-bottom: 1px solid var(--border); }
.spectrum-row:last-child { border-bottom: none; }
.spectrum-row.header { background: var(--navy); color: #fff; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.sr-source { font-size: 0.88rem; font-weight: 600; color: var(--navy); }
.sr-bar-wrap { background: var(--border); border-radius: 99px; height: 10px; }
.sr-bar { height: 10px; border-radius: 99px; }
.sr-label { font-size: 0.82rem; font-weight: 700; text-align: right; }
.intent-high { background: #16a34a; }
.intent-med { background: #f97316; }
.intent-low { background: #94a3b8; }
.label-high { color: #16a34a; }
.label-med { color: #f97316; }
.label-low { color: #94a3b8; }
.flashing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; margin: 28px 0; }
.fl-card { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.fl-card-head { padding: 14px 16px 10px; }
.fl-card-head.step { background: #f0f9ff; border-bottom: 1px solid #93c5fd; }
.fl-card-head.cover { background: #f0fdf4; border-bottom: 1px solid #86efac; }
.fl-card-head.soaker { background: #fef9c3; border-bottom: 1px solid #fde047; }
.fl-card-head.valley { background: #fff7ed; border-bottom: 1px solid #fdba74; }
.fl-card-head.apron { background: #f5f3ff; border-bottom: 1px solid #c4b5fd; }
.fl-card-head.back { background: #fef2f2; border-bottom: 1px solid #fca5a5; }
.fl-name { font-weight: 700; font-size: 0.88rem; margin-bottom: 3px; }
.fl-card-head.step .fl-name { color: #1e3a8a; }
.fl-card-head.cover .fl-name { color: #14532d; }
.fl-card-head.soaker .fl-name { color: #854d0e; }
.fl-card-head.valley .fl-name { color: #c2410c; }
.fl-card-head.apron .fl-name { color: #4c1d95; }
.fl-card-head.back .fl-name { color: #991b1b; }
.fl-location { font-size: 0.75rem; color: var(--muted); }
.fl-card-body { padding: 12px 16px; background: #fff; }
.fl-card-body p { font-size: 0.83rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.cb-head { display: grid; grid-template-columns: 56px 1fr; background: var(--navy); color: #fff; }
.cb-num { display: flex; align-items: center; justify-content: center; font-family: var(--font-heading); font-size: 1.4rem; color: var(--teal); padding: 16px 0; flex-shrink: 0; }
.cb-title strong { display: block; font-family: var(--font-body); font-weight: 700; font-size: 1rem; line-height: 1.35; }
.cb-note { background: var(--cream); border-top: 1px solid var(--border); padding: 11px 24px; display: flex; gap: 10px; align-items: flex-start; }
.cb-note-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); white-space: nowrap; margin-top: 2px; flex-shrink: 0; }
.cb-note p { font-size: 0.85rem; margin: 0; color: var(--body-text); line-height: 1.6; }
.lead-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.lead-table thead { background: var(--navy); color: #fff; }
.lead-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.lead-table tbody tr:nth-child(even) { background: var(--cream); }
.lead-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.55; color: var(--body-text); }
.lead-table tbody tr:last-child td { border-bottom: none; }
.rec-tag { font-size: 0.7rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; }
.rec-yes { background: #dcfce7; color: #14532d; }
.rec-no { background: #fee2e2; color: #991b1b; }
.rec-opt { background: #fef9c3; color: #854d0e; }
.compare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 28px 0; }
.cg-col { border-radius: 10px; padding: 20px 18px; }
.cg-col.temp { background: #fef2f2; border: 1px solid #fca5a5; }
.cg-col.proper { background: #f0fdf4; border: 1px solid #86efac; }
.cg-col h4 { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 12px; }
.cg-col.temp h4 { color: #991b1b; }
.cg-col.proper h4 { color: #14532d; }
.cg-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.cg-col li { font-size: 0.87rem; color: var(--body-text); padding-left: 18px; position: relative; line-height: 1.5; }
.cg-col.temp li::before { content: "✗"; position: absolute; left: 0; color: #dc2626; font-weight: 800; }
.cg-col.proper li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 800; }
.cst-card { background: var(--cream); border: 1px solid var(--border); border-radius: 10px; padding: 16px 18px; }
.cst-job { font-size: 0.88rem; font-weight: 700; color: var(--navy); margin-bottom: 4px; }
.cst-range { font-size: 1rem; font-weight: 800; color: var(--teal); margin-bottom: 4px; }
.cst-note { font-size: 0.78rem; color: var(--muted); line-height: 1.45; }
.diy-warning { background: #fef2f2; border: 1px solid #fca5a5; border-radius: 12px; padding: 20px 22px; margin: 28px 0; display: flex; gap: 14px; align-items: flex-start; }
.diy-icon { font-size: 1.4rem; flex-shrink: 0; margin-top: 2px; }
.diy-content strong { display: block; font-size: 0.88rem; font-weight: 700; color: #991b1b; margin-bottom: 6px; }
.diy-content p { font-size: 0.87rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.option-card--risk1 { border-color: #fca5a5; }
.option-card--risk2 { border-color: #fed7aa; }
.option-card--risk3 { border-color: #fde68a; }
.option-card--risk4 { border-color: #ddd6fe; }
.option-card--risk5 { border-color: #bae6fd; }
.option-card--risk6 { border-color: #fca5a5; }
.option-card--risk7 { border-color: #fed7aa; }
.option-card--risk8 { border-color: #bbf7d0; }
.option-card--risk1 .option-card__badge { background: #fee2e2; color: #991b1b; }
.option-card--risk2 .option-card__badge { background: #fff7ed; color: #9a3412; }
.option-card--risk3 .option-card__badge { background: #fef9c3; color: #854d0e; }
.option-card--risk4 .option-card__badge { background: #ede9fe; color: #6d28d9; }
.option-card--risk5 .option-card__badge { background: #e0f2fe; color: #0369a1; }
.option-card--risk6 .option-card__badge { background: #fee2e2; color: #991b1b; }
.option-card--risk7 .option-card__badge { background: #fff7ed; color: #9a3412; }
.option-card--risk8 .option-card__badge { background: #dcfce7; color: #166534; }
.serp-diagram { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 32px 0; }
.serp-row { display: flex; align-items: stretch; border-bottom: 1px solid var(--border); }
.serp-row:last-child { border-bottom: none; }
.serp-pos { flex-shrink: 0; width: 90px; display: flex; align-items: center; justify-content: center; padding: 14px 10px; font-size: 0.72rem; font-weight: 700; text-align: center; text-transform: uppercase; letter-spacing: .04em; line-height: 1.3; }
.serp-pos.lsa { background: #dcfce7; color: #14532d; }
.serp-pos.ads { background: #fef9c3; color: #854d0e; }
.serp-pos.map { background: #dbeafe; color: #1e3a8a; }
.serp-pos.organic { background: var(--cream); color: var(--muted); }
.serp-content { flex: 1; padding: 14px 18px; background: #fff; }
.serp-content h4 { font-family: var(--font-body); font-weight: 700; font-size: 0.9rem; color: var(--navy); margin: 0 0 4px; display: flex; align-items: center; gap: 8px; }
.serp-badge { font-size: 0.63rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 2px 7px; border-radius: 99px; }
.serp-badge.lsa { background: #dcfce7; color: #14532d; }
.serp-badge.ads { background: #fef9c3; color: #854d0e; }
.serp-badge.free { background: #dbeafe; color: #1e3a8a; }
.serp-content p { font-size: 0.82rem; color: var(--muted); margin: 0; line-height: 1.55; }
.serp-cost { flex-shrink: 0; padding: 14px 14px; display: flex; align-items: center; background: #fff; }
.serp-cost span { font-size: 0.8rem; font-weight: 700; color: var(--teal); white-space: nowrap; }
.compare-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 28px 0; }
.cmp-card { border-radius: 12px; padding: 20px 18px; }
.cmp-card.pro { background: #f0fdf4; border: 1px solid #86efac; }
.cmp-card.con { background: #fef2f2; border: 1px solid #fca5a5; }
.cmp-card h4 { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 12px; }
.cmp-card.pro h4 { color: #14532d; }
.cmp-card.con h4 { color: #991b1b; }
.cmp-card ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 7px; }
.cmp-card li { font-size: 0.87rem; color: var(--body-text); padding-left: 18px; position: relative; line-height: 1.5; }
.cmp-card.pro li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 800; }
.cmp-card.con li::before { content: "✗"; position: absolute; left: 0; color: #dc2626; font-weight: 800; }
.setup-step { display: flex; gap: 18px; align-items: flex-start; padding: 18px 0; border-bottom: 1px solid var(--border); }
.setup-step:last-child { border-bottom: none; }
.pricing-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.pricing-table thead { background: var(--navy); color: #fff; }
.pricing-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.pricing-table tbody tr:nth-child(even) { background: var(--cream); }
.pricing-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.55; color: var(--body-text); }
.pricing-table tbody tr:last-child td { border-bottom: none; }
.dispute-flow { display: flex; flex-direction: column; gap: 0; margin: 24px 0; }
.df-step { display: flex; gap: 14px; align-items: flex-start; padding: 14px 0; position: relative; }
.df-step::before { content: ""; position: absolute; left: 16px; top: 46px; bottom: -2px; width: 2px; background: var(--border); }
.df-step:last-child::before { display: none; }
.df-icon { flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; background: var(--teal); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 0.85rem; font-weight: 700; }
.df-content strong { display: block; font-size: 0.9rem; font-weight: 700; color: var(--navy); margin-bottom: 3px; }
.df-content p { font-size: 0.85rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.vs-table { width: 100%; border-collapse: collapse; font-size: 0.86rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.vs-table thead { background: var(--navy); color: #fff; }
.vs-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.vs-table tbody tr:nth-child(even) { background: var(--cream); }
.vs-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.55; color: var(--body-text); }
.vs-table tbody tr:last-child td { border-bottom: none; }
.win-tag { font-size: 0.68rem; font-weight: 700; padding: 1px 7px; border-radius: 99px; }
.win-lsa { background: #dcfce7; color: #14532d; }
.win-ads { background: #fef9c3; color: #854d0e; }
.win-gbp { background: #dbeafe; color: #1e3a8a; }
.win-tie { background: var(--cream); color: var(--muted); border: 1px solid var(--border); }
.target-card { border: 1px solid var(--border); border-radius: 14px; padding: 28px; margin: 20px 0; display: grid; grid-template-columns: 48px 1fr; gap: 20px; align-items: start; }
.target-card .tc-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cream); display: flex; align-items: center; justify-content: center; font-size: 1.5rem; flex-shrink: 0; }
.target-card .tc-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 4px; }
.target-card h3 { font-size: 1rem; color: var(--navy); margin: 0 0 8px; font-family: var(--font-body); }
.target-card p { font-size: 0.9rem; color: var(--body-text); margin: 0 0 12px; line-height: 1.6; }
.target-card .tc-meta { display: flex; gap: 10px; flex-wrap: wrap; }
.tc-tag { font-size: 0.75rem; font-weight: 600; padding: 3px 10px; border-radius: 99px; }
.tc-tag.value { background: #dcfce7; color: #14532d; }
.tc-tag.volume { background: #dbeafe; color: #1e40af; }
.tc-tag.speed { background: #fef9c3; color: #713f12; }
.step-row { display: grid; grid-template-columns: 40px 1fr; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--border); align-items: start; }
.step-row:last-child { border-bottom: none; }
.step-circle { width: 40px; height: 40px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 800; font-size: 0.9rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.step-row strong { color: var(--navy); display: block; margin-bottom: 5px; font-size: 0.95rem; }
.step-row p { font-size: 0.9rem; color: var(--body-text); margin: 0; line-height: 1.65; }
.email-box { background: var(--cream); border: 1px solid var(--border); border-radius: 12px; padding: 24px 28px; margin: 28px 0; font-size: 0.92rem; line-height: 1.8; }
.email-box .email-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); margin-bottom: 14px; display: flex; align-items: center; gap: 8px; }
.email-box .email-label::after { content: ""; flex: 1; height: 1px; background: var(--border); }
.email-field { margin-bottom: 10px; }
.email-field .ef-label { font-size: 0.72rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 2px; }
.email-field .ef-value { color: var(--navy); font-weight: 500; }
.email-body { border-top: 1px solid var(--border); padding-top: 14px; margin-top: 14px; color: var(--body-text); }
.portal-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin: 24px 0; }
.portal-card { border: 1px solid var(--border); border-radius: 10px; padding: 18px 20px; background: #fff; }
.portal-card .pc-name { font-weight: 700; color: var(--navy); font-size: 0.95rem; margin-bottom: 4px; }
.portal-card .pc-url { font-size: 0.78rem; color: var(--teal); margin-bottom: 8px; font-family: monospace; }
.portal-card .pc-desc { font-size: 0.85rem; color: var(--muted); margin: 0; line-height: 1.5; }
.capability-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.capability-table thead { background: var(--navy); color: #fff; }
.capability-table thead th { padding: 12px 16px; text-align: left; font-size: 0.8rem; letter-spacing: .04em; }
.capability-table tbody tr:nth-child(even) { background: var(--cream); }
.capability-table tbody td { padding: 11px 16px; border-bottom: 1px solid var(--border); vertical-align: top; line-height: 1.5; }
.capability-table tbody tr:last-child td { border-bottom: none; }
.tick { color: #16a34a; font-weight: 700; }
.cross { color: #dc2626; font-weight: 700; }
.checklist { list-style: none; padding: 0; margin: 20px 0; display: flex; flex-direction: column; gap: 6px; }
.checklist li { display: flex; align-items: flex-start; gap: 12px; background: var(--cream); border: 1px solid var(--border); border-radius: 8px; padding: 11px 14px; font-size: 0.9rem; color: var(--body-text); line-height: 1.5; }
.checklist li::before { content: "☐"; font-size: 1.1rem; color: var(--teal); flex-shrink: 0; margin-top: -1px; }
.leg-card { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 20px 0; }
.leg-card-header { background: var(--navy); color: #fff; padding: 13px 18px; display: flex; align-items: center; gap: 12px; }
.leg-card-title { font-family: var(--font-body); font-weight: 700; font-size: 0.95rem; }
.leg-card-sub { font-size: 0.72rem; color: rgba(255,255,255,.55); margin-top: 2px; }
.leg-card-body { padding: 16px 18px; font-size: 0.9rem; color: var(--body-text); line-height: 1.7; }
.leg-card-body p { margin: 0 0 10px; }
.leg-card-body p:last-child { margin: 0; }
.cause-card__header { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 16px; }
.cause-card__num { min-width: 44px; height: 44px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 700; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cause-card__title-wrap {  }
.cause-card__label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--teal); margin-bottom: 4px; display: block; }
.cause-card__body p { color: var(--body-text); margin-bottom: 14px; font-size: 0.97rem; }
.cause-card__body p:last-child { margin-bottom: 0; }
.cause-card__clue { background: #f0f9ff; border-left: 3px solid var(--teal); border-radius: 0 6px 6px 0; padding: 10px 14px; font-size: 0.9rem; color: var(--muted); margin-top: 14px; }
.cause-card__clue strong { color: var(--navy); display: block; margin-bottom: 2px; font-size: 0.88rem; text-transform: uppercase; letter-spacing: 0.05em; }
.verdict-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0; }
.verdict-card--grey { background: #f8fafc; border-color: #cbd5e1; }
.verdict-card--grey .verdict-card__label { color: #64748b; }
.verdict-card__scenario { font-weight: 700; color: var(--navy); font-size: .95rem; margin: 0 0 6px; }
.code-box { background: #0f172a; border-radius: 10px; padding: 20px 22px; margin: 20px 0; overflow-x: auto; }
.code-box__label { display: block; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--teal); margin-bottom: 10px; }
.code-box pre { margin: 0; font-family: "Courier New", monospace; font-size: .82rem; color: #e2e8f0; line-height: 1.7; white-space: pre; }
.method-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0; }
.method-card { border-radius: 10px; padding: 18px 20px; border: 1.5px solid var(--border); background: #fff; }
.method-card--free { border-color: #5eead4; background: #f0fdfa; }
.method-card--paid { border-color: #bae6fd; background: #f0f9ff; }
.method-card--best { border-color: #bbf7d0; background: #f0fdf4; }
.method-card--avoid { border-color: #fca5a5; background: #fef2f2; }
.method-card__label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 7px; display: block; }
.method-card--free .method-card__label { color: #0f766e; }
.method-card--paid .method-card__label { color: #0369a1; }
.method-card--best .method-card__label { color: #166534; }
.method-card--avoid .method-card__label { color: #991b1b; }
.method-card__title { font-weight: 700; color: var(--navy); font-size: .95rem; margin: 0 0 5px; }
.method-card__detail { font-size: .86rem; color: var(--muted); margin: 0; line-height: 1.6; }
.campaign-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.cb-num.emergency { background: #dc2626; }
.cb-num.replacement { background: #0b8880; }
.cb-num.district { background: #1d4ed8; }
.cb-num.flatroof { background: #6d28d9; }
.cb-num.storm { background: #92400e; }
.cb-num span { font-size: 0.52rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: rgba(255,255,255,.6); }
.kw-grid { display: flex; flex-direction: column; gap: 6px; margin: 14px 0; }
.kw-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; background: var(--cream); border: 1px solid var(--border); border-radius: 7px; padding: 9px 14px; font-size: 0.84rem; }
.kw-row code { font-family: "Courier New", monospace; font-size: 0.82rem; color: var(--navy); font-weight: 600; }
.kw-type { font-size: 0.67rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 2px 8px; border-radius: 99px; white-space: nowrap; }
.kw-type.exact { background: #dcfce7; color: #14532d; }
.kw-type.phrase { background: #dbeafe; color: #1e3a8a; }
.kw-type.neg { background: #fee2e2; color: #991b1b; }
.cb-meta { background: var(--cream); border-top: 1px solid var(--border); padding: 12px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
.cb-meta-item { text-align: center; }
.cb-meta-num { font-size: 1.1rem; font-weight: 800; color: var(--teal); line-height: 1; margin-bottom: 2px; font-family: var(--font-body); }
.cb-meta-label { font-size: 0.68rem; color: var(--muted); font-weight: 500; text-transform: uppercase; letter-spacing: .04em; }
.ad-preview { border: 1px solid #d1d5db; border-radius: 10px; padding: 16px 18px; margin: 16px 0; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.06); }
.ad-preview-label { font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #6b7280; background: #f3f4f6; display: inline-block; padding: 1px 6px; border-radius: 3px; margin-bottom: 6px; }
.ad-preview-url { font-size: 0.82rem; color: #166534; margin-bottom: 3px; }
.ad-preview-headline { font-size: 1.05rem; font-weight: 700; color: #1a0dab; line-height: 1.3; margin-bottom: 4px; }
.ad-preview-desc { font-size: 0.85rem; color: #374151; line-height: 1.5; }
.debate-split { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 36px 0; }
.ds-col { padding: 22px 20px; }
.ds-col.for { background: #f0fdf4; border-right: 1px solid var(--border); }
.ds-col.against { background: #fef2f2; }
.ds-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 12px; display: block; }
.ds-col.for .ds-label { color: #14532d; }
.ds-col.against .ds-label { color: #991b1b; }
.ds-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.ds-col li { font-size: 0.88rem; color: var(--body-text); line-height: 1.55; padding-left: 18px; position: relative; }
.ds-col.for li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 800; }
.ds-col.against li::before { content: "✗"; position: absolute; left: 0; color: #dc2626; font-weight: 800; }
.price-example { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 20px 0; }
.pe-label { padding: 10px 16px; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 8px; }
.pe-label.bad { background: #fef2f2; color: #991b1b; }
.pe-label.good { background: #f0fdf4; color: #14532d; }
.pe-body { padding: 16px 18px; background: #fff; font-size: 0.9rem; color: var(--body-text); line-height: 1.7; }
.pe-body p { margin-bottom: 8px; font-size: 0.9rem; }
.pe-body p:last-child { margin-bottom: 0; }
.pe-critique { padding: 10px 18px; border-top: 1px solid var(--border); }
.pe-critique.bad { background: #fef2f2; }
.pe-critique.good { background: #f0fdf4; }
.pe-critique p { font-size: 0.83rem; margin: 0; line-height: 1.6; }
.pe-critique.bad p { color: #991b1b; }
.pe-critique.good p { color: #14532d; }
.type-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin: 24px 0; }
.type-card { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.type-card-head { padding: 12px 14px 8px; }
.type-card-head.publish { background: #f0fdf4; border-bottom: 1px solid #86efac; }
.type-card-head.partial { background: #fef9c3; border-bottom: 1px solid #fde047; }
.type-card-head.noprice { background: #fef2f2; border-bottom: 1px solid #fca5a5; }
.type-name { font-weight: 700; font-size: 0.88rem; }
.type-card-head.publish .type-name { color: #14532d; }
.type-card-head.partial .type-name { color: #854d0e; }
.type-card-head.noprice .type-name { color: #991b1b; }
.type-verdict { font-size: 0.72rem; font-weight: 600; }
.type-card-head.publish .type-verdict { color: #15803d; }
.type-card-head.partial .type-verdict { color: #92400e; }
.type-card-head.noprice .type-verdict { color: #b91c1c; }
.type-card-body { padding: 12px 14px; background: #fff; }
.type-card-body p { font-size: 0.84rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.range-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.range-table thead { background: var(--navy); color: #fff; }
.range-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.range-table tbody tr:nth-child(even) { background: var(--cream); }
.range-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.55; color: var(--body-text); }
.range-table tbody tr:last-child td { border-bottom: none; }
.pub-tag { font-size: 0.7rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; white-space: nowrap; }
.pub-yes { background: #dcfce7; color: #14532d; }
.pub-maybe { background: #fef9c3; color: #854d0e; }
.pub-no { background: #fee2e2; color: #991b1b; }
.copy-template { background: #f8fafc; border: 1px solid var(--border); border-radius: 10px; padding: 20px 22px; margin: 20px 0; font-size: 0.88rem; line-height: 1.75; color: var(--body-text); }
.copy-template .ct-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 12px; display: block; }
.copy-template p { font-size: 0.88rem; margin-bottom: 10px; }
.copy-template p:last-child { margin: 0; }
.cause-card p { font-size: 0.97rem; color: var(--body-text); margin-bottom: 14px; }
.cause-card p:last-child { margin-bottom: 0; }
.badge-high { display: inline-block; background: #fee2e2; color: #b91c1c; font-size: 0.75rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; }
.badge-med { display: inline-block; background: #fef9c3; color: #854d0e; font-size: 0.75rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; }
.badge-low { display: inline-block; background: #dcfce7; color: #166534; font-size: 0.75rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; }
.cost-card__label { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); margin-bottom: 8px; display: block; }
.cost-card__price { font-family: var(--font-heading); font-size: 1.3rem; color: var(--navy); line-height: 1.2; margin-bottom: 5px; }
.cost-card__note { font-size: 0.76rem; color: var(--muted); }
.vs-col.info { background: #f0f9ff; border: 1px solid #93c5fd; }
.vs-col.info h4 { color: #1e3a5f; }
.vs-col.info li::before { content: "→"; position: absolute; left: 0; color: #3b82f6; font-weight: 800; }
.severity-block { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 24px 0; }
.severity-header { display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 13px 18px; border-bottom: 1px solid var(--border); }
.severity-title { font-family: var(--font-body); font-weight: 700; font-size: 0.95rem; color: var(--navy); }
.severity-pill { font-size: 0.7rem; font-weight: 700; padding: 3px 10px; border-radius: 99px; text-transform: uppercase; letter-spacing: .05em; }
.sp-low { background: #dcfce7; color: #14532d; }
.sp-medium { background: #fef9c3; color: #854d0e; }
.sp-high { background: #fee2e2; color: #991b1b; }
.severity-body { padding: 14px 18px; font-size: 0.9rem; color: var(--body-text); line-height: 1.7; }
.severity-body p { margin: 0 0 8px; }
.severity-body p:last-child { margin: 0; }
.severity-action { background: var(--cream); border-top: 1px solid var(--border); padding: 10px 18px; font-size: 0.82rem; color: var(--muted); }
.severity-action strong { color: var(--navy); }
.source-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin: 28px 0; }
.source-card { border: 1px solid var(--border); border-radius: 12px; padding: 20px; background: #fff; position: relative; overflow: hidden; }
.source-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; }
.source-card.free::before { background: #16a34a; }
.source-card.trade::before { background: var(--teal); }
.source-card.past::before { background: #f97316; }
.source-card.neigh::before { background: #8b5cf6; }
.sc-type { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
.source-card.free .sc-type { color: #16a34a; }
.source-card.trade .sc-type { color: var(--teal); }
.source-card.past .sc-type { color: #f97316; }
.source-card.neigh .sc-type { color: #8b5cf6; }
.sc-title { font-weight: 700; color: var(--navy); font-size: 0.95rem; margin-bottom: 8px; font-family: var(--font-body); }
.sc-desc { font-size: 0.84rem; color: var(--muted); margin: 0 0 12px; line-height: 1.55; }
.sc-rate { font-size: 0.78rem; font-weight: 700; padding: 3px 10px; border-radius: 99px; display: inline-block; background: var(--cream); color: var(--muted); border: 1px solid var(--border); }
.sb-channel { font-size: 0.68rem; font-weight: 600; background: rgba(255,255,255,.12); padding: 2px 9px; border-radius: 4px; color: rgba(255,255,255,.7); }
.trade-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 24px 0; }
.trade-card { border: 1px solid var(--border); border-radius: 10px; padding: 16px 18px; background: #fff; display: flex; gap: 12px; align-items: flex-start; }
.trade-icon { font-size: 1.3rem; flex-shrink: 0; margin-top: 1px; }
.trade-name { font-weight: 700; color: var(--navy); font-size: 0.88rem; margin-bottom: 3px; font-family: var(--font-body); }
.trade-reason { font-size: 0.8rem; color: var(--muted); margin: 0; line-height: 1.5; }
.leaflet-mock { border: 2px dashed var(--border); border-radius: 12px; padding: 28px 28px; margin: 24px 0; background: #fff; max-width: 480px; position: relative; }
.leaflet-mock::before { content: "DOOR-DROP LEAFLET — EXAMPLE"; position: absolute; top: -11px; left: 20px; background: var(--cream); font-size: 0.66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding: 0 8px; }
.lm-logo { font-size: 0.82rem; font-weight: 800; color: var(--navy); margin-bottom: 16px; }
.lm-headline { font-family: var(--font-heading); font-size: 1.3rem; color: var(--navy); line-height: 1.25; margin-bottom: 12px; }
.lm-body { font-size: 0.85rem; color: var(--body-text); line-height: 1.65; margin-bottom: 16px; }
.lm-cta { display: inline-block; background: var(--navy); color: #fff; padding: 9px 20px; border-radius: 6px; font-size: 0.85rem; font-weight: 700; }
.lm-small { display: block; font-size: 0.75rem; color: var(--muted); margin-top: 10px; }
.action-rows { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 28px 0; }
.ar-row { display: grid; grid-template-columns: 44px 1fr; border-bottom: 1px solid var(--border); }
.ar-row:last-child { border-bottom: none; }
.ar-num { background: var(--teal); color: #fff; font-weight: 800; font-size: 0.9rem; display: flex; align-items: flex-start; justify-content: center; padding-top: 20px; }
.ar-body { padding: 18px 20px; }
.ar-body strong { color: var(--navy); display: block; margin-bottom: 5px; font-family: var(--font-body); font-size: 0.95rem; }
.ar-body p { font-size: 0.88rem; color: var(--body-text); margin: 0; line-height: 1.65; }
.timing-row { display: flex; align-items: center; gap: 0; margin: 28px 0; overflow-x: auto; padding-bottom: 4px; }
.timing-node { flex-shrink: 0; text-align: center; width: 110px; }
.tn-dot { width: 36px; height: 36px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 800; font-size: 0.78rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 8px; }
.tn-when { font-size: 0.72rem; font-weight: 700; color: var(--teal); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.tn-what { font-size: 0.75rem; color: var(--muted); line-height: 1.4; }
.timing-line { flex: 1; height: 2px; background: var(--border); min-width: 20px; flex-shrink: 0; margin-bottom: 28px; }
.conv-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0; }
.cc-box { border-radius: 10px; padding: 20px; text-align: center; }
.cc-box.ref { background: #f0fdf4; border: 1px solid #86efac; }
.cc-box.cold { background: #fef2f2; border: 1px solid #fca5a5; }
.cc-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px; }
.cc-box.ref .cc-label { color: #14532d; }
.cc-box.cold .cc-label { color: #991b1b; }
.cc-rate { font-size: 2.2rem; font-weight: 800; line-height: 1; margin-bottom: 6px; }
.cc-box.ref .cc-rate { color: #16a34a; }
.cc-box.cold .cc-rate { color: #dc2626; }
.cc-desc { font-size: 0.8rem; color: var(--muted); margin: 0; line-height: 1.5; }
.deploy-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.db-header { display: grid; grid-template-columns: 56px 1fr; background: var(--navy); color: #fff; }
.db-icon { display: flex; align-items: center; justify-content: center; font-size: 1.3rem; padding: 16px 0; flex-shrink: 0; }
.db-icon.gbp { background: #0b8880; }
.db-icon.website { background: #1d4ed8; }
.db-icon.social { background: #6d28d9; }
.db-icon.ads { background: #0369a1; }
.db-icon.quote { background: #b45309; }
.db-icon.nextdoor { background: #0f766e; }
.db-title { padding: 14px 20px; }
.db-title small { display: block; font-size: 0.68rem; font-weight: 400; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.db-title strong { display: block; font-family: var(--font-body); font-weight: 700; font-size: 1rem; line-height: 1.35; }
.db-body { padding: 22px 26px; }
.db-body p { font-size: 0.93rem; color: var(--body-text); margin-bottom: 14px; }
.db-body p:last-child { margin-bottom: 0; }
.db-body ul { margin-bottom: 14px; padding-left: 22px; }
.db-body li { font-size: 0.9rem; color: var(--body-text); margin-bottom: 8px; line-height: 1.55; }
.db-note { background: var(--cream); border-top: 1px solid var(--border); padding: 12px 26px; display: flex; gap: 10px; align-items: flex-start; }
.db-note-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); white-space: nowrap; margin-top: 2px; flex-shrink: 0; }
.db-note p { font-size: 0.85rem; margin: 0; color: var(--body-text); line-height: 1.6; }
.photo-check { background: var(--cream); border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px; margin: 8px 0; display: flex; gap: 14px; align-items: flex-start; }
.pc-icon { flex-shrink: 0; font-size: 1rem; margin-top: 2px; }
.pc-content strong { display: block; font-size: 0.9rem; font-weight: 700; color: var(--navy); margin-bottom: 3px; }
.pc-content p { font-size: 0.85rem; color: var(--body-text); margin: 0; line-height: 1.55; }
.caption-template { background: #f8fafc; border: 1px solid var(--border); border-radius: 10px; padding: 18px 22px; margin: 18px 0; }
.ct-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 10px; display: block; }
.ct-body { font-size: 0.88rem; color: var(--body-text); line-height: 1.75; }
.ct-body p { margin-bottom: 8px; font-size: 0.88rem; }
.ct-body p:last-child { margin: 0; }
.ct-body strong { color: var(--navy); }
.photo-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; border-radius: 12px; overflow: hidden; margin: 28px 0; border: 1px solid var(--border); }
.photo-side { position: relative; aspect-ratio: 4/3; display: flex; align-items: flex-end; }
.photo-side.before { background: linear-gradient(160deg, #64748b 0%, #94a3b8 60%, #cbd5e1 100%); }
.photo-side.after { background: linear-gradient(160deg, #1e3a5f 0%, #0b8880 60%, #2dd4bf 100%); }
.photo-label { background: rgba(0,0,0,.55); color: #fff; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; padding: 6px 12px; width: 100%; text-align: center; }
.photo-side.before .photo-label { background: rgba(100,116,139,.8); }
.photo-side.after .photo-label { background: rgba(11,136,128,.8); }
.photo-caption { background: var(--navy); color: rgba(255,255,255,.8); font-size: 0.82rem; padding: 12px 16px; grid-column: 1 / -1; line-height: 1.6; }
.photo-caption strong { color: var(--teal); }
.shoot-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.shoot-table thead { background: var(--navy); color: #fff; }
.shoot-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.shoot-table tbody tr:nth-child(even) { background: var(--cream); }
.shoot-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: top; line-height: 1.55; color: var(--body-text); }
.shoot-table tbody tr:last-child td { border-bottom: none; }
.tag-do { background: #dcfce7; color: #14532d; font-size: 0.7rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; }
.tag-dont { background: #fee2e2; color: #991b1b; font-size: 0.7rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; }
.cro-checklist { list-style: none; padding: 20px 24px; background: var(--cream); border-radius: 8px; margin-bottom: 20px; }
.cro-checklist li { padding: 8px 0; border-bottom: 1px solid var(--border); font-size: 0.95rem; display: flex; gap: 10px; align-items: flex-start; }
.cro-checklist li:last-child { border-bottom: none; }
.signal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0; }
.signal-card--yes { border-color: #bbf7d0; background: #f0fdf4; }
.signal-card--no { border-color: #fecaca; background: #fff5f5; }
.signal-card__icon { font-size: 1.4rem; margin-bottom: 8px; display: block; }
.signal-card--yes .signal-card__title { color: #166534; }
.signal-card--no .signal-card__title { color: #991b1b; }
.signal-card__body { font-size: 0.9rem; color: var(--muted); margin: 0; line-height: 1.65; }
.cost-card h3 { margin-top: 0; color: var(--navy); font-family: var(--font-body); font-size: 1rem; font-weight: 700; margin-bottom: 16px; }
.cost-row { display: flex; justify-content: space-between; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid var(--border); font-size: 0.93rem; gap: 12px; }
.cost-row:last-child { border-bottom: none; font-weight: 700; color: var(--navy); padding-top: 14px; }
.cost-row span:first-child { color: var(--muted); flex: 1; }
.cost-row span:last-child { font-weight: 600; color: var(--navy); white-space: nowrap; }
.audience-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0; }
.audience-card { border-radius: 10px; padding: 18px 20px; border: 1.5px solid var(--border); background: #fff; }
.audience-card--hot { border-color: #5eead4; background: #f0fdfa; }
.audience-card--warm { border-color: #bae6fd; background: #f0f9ff; }
.audience-card--cold { border-color: #ddd6fe; background: #faf5ff; }
.audience-card--custom { border-color: #fde68a; background: #fffbeb; }
.audience-card__label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 7px; display: block; }
.audience-card--hot .audience-card__label { color: #0f766e; }
.audience-card--warm .audience-card__label { color: #0369a1; }
.audience-card--cold .audience-card__label { color: #6d28d9; }
.audience-card--custom .audience-card__label { color: #92400e; }
.audience-card__title { font-weight: 700; color: var(--navy); font-size: .95rem; margin: 0 0 6px; }
.audience-card__detail { font-size: .85rem; color: var(--muted); margin: 0 0 8px; line-height: 1.6; }
.audience-card__bid { font-size: .78rem; font-weight: 700; color: var(--navy); }
.ad-specimen { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 18px 20px; margin: 16px 0; position: relative; }
.ad-specimen::before { content: "EXAMPLE AD"; font-size: .65rem; font-weight: 700; letter-spacing: .1em; color: var(--muted); position: absolute; top: -9px; left: 14px; background: #fff; padding: 0 6px; }
.ad-specimen__url { font-size: .8rem; color: #16a34a; margin-bottom: 4px; }
.ad-specimen__headline { font-size: 1.05rem; color: #1a0dab; font-weight: 600; margin-bottom: 4px; line-height: 1.3; }
.ad-specimen__desc { font-size: .87rem; color: #4d5156; line-height: 1.55; }
.ad-specimen__type { font-size: .72rem; color: var(--muted); margin-top: 10px; display: block; font-style: italic; }
.budget-row__pct { font-size: .82rem; font-weight: 700; color: var(--navy); min-width: 40px; text-align: right; }
.inspect-step { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 28px 0; }
.is-header { display: grid; grid-template-columns: 56px 1fr auto; align-items: center; background: var(--navy); color: #fff; gap: 0; }
.is-num { background: var(--teal); height: 100%; display: flex; align-items: center; justify-content: center; font-size: 1.15rem; font-weight: 800; padding: 16px 0; flex-shrink: 0; }
.is-title { padding: 14px 18px; font-family: var(--font-body); font-weight: 700; font-size: 0.97rem; line-height: 1.3; }
.is-title small { display: block; font-size: 0.68rem; font-weight: 400; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.is-safety { padding: 14px 18px 14px 0; font-size: 0.72rem; color: rgba(255,255,255,.5); text-align: right; white-space: nowrap; }
.is-body { padding: 20px 22px; }
.is-body p { font-size: 0.93rem; color: var(--body-text); margin-bottom: 14px; }
.is-body p:last-child { margin-bottom: 0; }
.is-checklist { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-direction: column; gap: 6px; }
.is-checklist li { display: flex; gap: 10px; align-items: flex-start; font-size: 0.88rem; color: var(--body-text); line-height: 1.5; padding: 8px 12px; background: var(--cream); border-radius: 6px; border: 1px solid var(--border); }
.is-checklist li::before { content: "□"; color: var(--teal); font-size: 1rem; flex-shrink: 0; margin-top: -1px; }
.urgency-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.urgency-table thead { background: var(--navy); color: #fff; }
.urgency-table thead th { padding: 12px 16px; text-align: left; font-size: 0.79rem; letter-spacing: .04em; font-weight: 700; }
.urgency-table tbody tr:nth-child(even) { background: var(--cream); }
.urgency-table tbody td { padding: 11px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.5; font-size: 0.87rem; }
.urgency-table tbody tr:last-child td { border-bottom: none; }
.urgency-badge { display: inline-block; font-size: 0.72rem; font-weight: 700; padding: 3px 9px; border-radius: 99px; white-space: nowrap; }
.urg-red { background: #fee2e2; color: #991b1b; }
.urg-amber { background: #fef3c7; color: #92400e; }
.urg-green { background: #dcfce7; color: #14532d; }
.cost-hi { color: #dc2626; font-weight: 700; }
.cost-lo { color: #16a34a; font-weight: 700; }
.lifespan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin: 24px 0; }
.ls-card { border: 1px solid var(--border); border-radius: 10px; padding: 16px; background: #fff; text-align: center; }
.ls-type { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 8px; }
.ls-years { font-size: 1.5rem; font-weight: 800; color: var(--teal); line-height: 1; margin-bottom: 6px; }
.ls-years span { font-size: 0.75rem; font-weight: 400; color: var(--muted); }
.ls-note { font-size: 0.78rem; color: var(--muted); line-height: 1.4; margin: 0; }
.safety-split { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 24px 0; }
.ss-col { border-radius: 10px; padding: 18px; }
.ss-col.diy { background: #f0fdf4; border: 1px solid #86efac; }
.ss-col.pro { background: #eff6ff; border: 1px solid #bfdbfe; }
.ss-col h4 { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 10px; }
.ss-col.diy h4 { color: #14532d; }
.ss-col.pro h4 { color: #1e40af; }
.ss-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.ss-col li { font-size: 0.86rem; color: var(--body-text); padding-left: 18px; position: relative; line-height: 1.5; }
.ss-col.diy li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 800; }
.ss-col.pro li::before { content: "→"; position: absolute; left: 0; color: #2563eb; font-weight: 800; }
.faq-list { margin: 24px 0; display: flex; flex-direction: column; gap: 8px; }
.faq-item__trigger { width: 100%; background: var(--cream); border: none; padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; font-family: var(--font-body); font-size: 0.93rem; font-weight: 700; color: var(--navy); text-align: left; }
.faq-item__trigger svg { flex-shrink: 0; transition: transform .25s; }
.faq-item.open .faq-item__trigger svg { transform: rotate(180deg); }
.faq-item__body { display: none; padding: 0 20px 18px; font-size: 0.91rem; color: var(--body-text); line-height: 1.7; background: #fff; }
.faq-item.open .faq-item__body { display: block; }
.season-tag { display: inline-flex; align-items: center; gap: 6px; background: #dcfce7; color: #14532d; font-size: 0.75rem; font-weight: 700; padding: 4px 12px; border-radius: 99px; margin-bottom: 16px; border: 1px solid #86efac; }
.red-callout { background: #fef2f2; border-left: 4px solid #dc2626; border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 28px 0; }
.red-callout strong { display: block; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #991b1b; margin-bottom: 6px; }
.timeline::before { content: ""; position: absolute; left: 20px; top: 0; bottom: 0; width: 2px; background: var(--border); }
.tl-dot { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 800; flex-shrink: 0; z-index: 1; }
.tl-dot.active { background: #dc2626; color: #fff; }
.tl-dot.soon { background: #f97316; color: #fff; }
.tl-dot.future { background: var(--navy); color: var(--teal); }
.tl-body { padding-top: 8px; }
.tl-when { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); margin-bottom: 4px; }
.tl-title { font-weight: 700; color: var(--navy); margin-bottom: 5px; font-family: var(--font-body); font-size: 0.95rem; }
.tl-desc { font-size: 0.88rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.role-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin: 24px 0; }
.role-card { border: 1px solid var(--border); border-radius: 12px; padding: 20px; background: #fff; }
.role-card.highlighted { border-color: var(--teal); background: #f0fdf4; }
.rc-badge { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 8px; }
.role-card .rc-badge { color: var(--muted); }
.role-card.highlighted .rc-badge { color: var(--teal); }
.rc-title { font-weight: 700; color: var(--navy); font-size: 0.93rem; margin-bottom: 8px; font-family: var(--font-body); }
.ad-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.ad-table thead { background: var(--navy); color: #fff; }
.ad-table thead th { padding: 12px 16px; text-align: left; font-size: 0.79rem; letter-spacing: .04em; font-weight: 700; }
.ad-table tbody tr:nth-child(even) { background: var(--cream); }
.ad-table tbody td { padding: 11px 16px; border-bottom: 1px solid var(--border); line-height: 1.55; vertical-align: top; }
.ad-table tbody tr:last-child td { border-bottom: none; }
.ad-part { font-weight: 800; color: var(--teal); }
.action-list { list-style: none; padding: 0; margin: 20px 0; display: flex; flex-direction: column; gap: 8px; }
.action-list li { display: flex; align-items: flex-start; gap: 12px; background: var(--cream); padding: 13px 16px; border-radius: 8px; border: 1px solid var(--border); font-size: 0.9rem; color: var(--body-text); line-height: 1.55; }
.action-list li::before { content: "✓"; color: var(--teal); font-weight: 800; flex-shrink: 0; margin-top: 1px; }
.penalty-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px #fca5a5; margin: 28px 0; }
.penalty-table thead { background: #991b1b; color: #fff; }
.penalty-table thead th { padding: 12px 16px; text-align: left; font-size: 0.79rem; letter-spacing: .04em; font-weight: 700; }
.penalty-table tbody tr:nth-child(even) { background: #fef2f2; }
.penalty-table tbody td { padding: 11px 16px; border-bottom: 1px solid #fca5a5; line-height: 1.55; vertical-align: top; font-size: 0.87rem; }
.penalty-table tbody tr:last-child td { border-bottom: none; }
.legal-note { background: var(--cream); border: 1px solid var(--border); border-radius: 8px; padding: 14px 18px; font-size: 0.8rem; color: var(--muted); line-height: 1.6; margin: 28px 0; }
.legal-note strong { color: var(--navy); }
.option-card--metal { border-color: #94a3b8; }
.option-card--singleply { border-color: #5eead4; }
.option-card--bur { border-color: #fde68a; }
.option-card--liquid { border-color: #bbf7d0; }
.option-card--standing { border-color: #bae6fd; }
.option-card--metal .option-card__badge { background: #f1f5f9; color: #475569; }
.option-card--singleply .option-card__badge { background: #ccfbf1; color: #0f766e; }
.option-card--bur .option-card__badge { background: #fef9c3; color: #854d0e; }
.option-card--liquid .option-card__badge { background: #dcfce7; color: #166534; }
.option-card--standing .option-card__badge { background: #e0f2fe; color: #0369a1; }
.layer-stack { margin: 24px 0; border-radius: 10px; overflow: hidden; border: 1px solid var(--border); }
.layer-stack__row { display: flex; align-items: center; gap: 16px; padding: 11px 18px; font-size: 0.88rem; }
.layer-stack__row:nth-child(odd) { background: #f8fafc; }
.layer-stack__row:nth-child(even) { background: #fff; }
.layer-stack__num { width: 24px; height: 24px; border-radius: 50%; background: var(--navy); color: #fff; font-size: 0.72rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.layer-stack__name { font-weight: 700; color: var(--navy); min-width: 160px; }
.layer-stack__desc { color: var(--muted); font-size: 0.84rem; }
.campaign-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 28px 0; }
.campaign-card { border: 1px solid var(--border); border-radius: 12px; padding: 22px 20px; background: #fff; position: relative; overflow: hidden; }
.campaign-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; }
.campaign-card.type-a::before { background: #3b82f6; }
.campaign-card.type-b::before { background: var(--teal); }
.campaign-card.type-c::before { background: #f97316; }
.campaign-card.type-d::before { background: #8b5cf6; }
.cc-type { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
.type-a .cc-type { color: #3b82f6; }
.type-b .cc-type { color: var(--teal); }
.type-c .cc-type { color: #f97316; }
.type-d .cc-type { color: #8b5cf6; }
.cc-title { font-weight: 700; color: var(--navy); font-size: 0.95rem; margin-bottom: 8px; font-family: var(--font-body); }
.cc-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.cc-tag { font-size: 0.72rem; font-weight: 600; padding: 2px 9px; border-radius: 99px; background: var(--cream); color: var(--muted); border: 1px solid var(--border); }
.ad-mockup { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 28px 0; background: #fff; max-width: 480px; }
.ad-mockup .am-header { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--border); }
.am-avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--navy); display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; font-size: 0.78rem; flex-shrink: 0; }
.am-name { font-weight: 700; font-size: 0.9rem; color: var(--navy); }
.am-meta { font-size: 0.75rem; color: var(--muted); }
.am-sponsored { font-size: 0.72rem; color: var(--muted); margin-top: 1px; }
.ad-mockup .am-body { padding: 12px 16px 14px; }
.am-copy { font-size: 0.88rem; color: var(--body-text); line-height: 1.6; margin-bottom: 0; }
.am-copy strong { color: var(--navy); }
.ad-mockup .am-image { background: linear-gradient(135deg, var(--navy) 0%, #1a5276 60%, var(--teal) 100%); height: 200px; display: flex; align-items: center; justify-content: center; }
.am-image-label { color: rgba(255,255,255,0.6); font-size: 0.8rem; font-style: italic; }
.ad-mockup .am-cta-bar { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: var(--cream); border-top: 1px solid var(--border); }
.am-cta-info { font-size: 0.78rem; color: var(--muted); }
.am-cta-btn { background: #1877f2; color: #fff; font-size: 0.82rem; font-weight: 700; padding: 7px 16px; border-radius: 6px; border: none; cursor: default; }
.dd-col { border-radius: 10px; padding: 20px; }
.dd-col.do { background: #f0fdf4; border: 1px solid #86efac; }
.dd-col.dont { background: #fef2f2; border: 1px solid #fca5a5; }
.dd-col h4 { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 12px; }
.dd-col.do h4 { color: #14532d; }
.dd-col.dont h4 { color: #991b1b; }
.dd-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 7px; }
.dd-col li { font-size: 0.87rem; color: var(--body-text); padding-left: 20px; position: relative; line-height: 1.5; }
.dd-col.do li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 800; }
.dd-col.dont li::before { content: "✗"; position: absolute; left: 0; color: #dc2626; font-weight: 800; }
.budget-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.budget-table thead { background: var(--navy); color: #fff; }
.budget-table thead th { padding: 12px 16px; text-align: left; font-size: 0.8rem; letter-spacing: .04em; font-weight: 700; }
.budget-table tbody tr:nth-child(even) { background: var(--cream); }
.budget-table tbody td { padding: 11px 16px; border-bottom: 1px solid var(--border); vertical-align: top; line-height: 1.5; }
.budget-table tbody tr:last-child td { border-bottom: none; }
.step-item { display: grid; grid-template-columns: 44px 1fr; gap: 0; border-bottom: 1px solid var(--border); }
.step-item:last-child { border-bottom: none; }
.si-num { background: var(--navy); color: #fff; font-weight: 800; font-size: 0.95rem; display: flex; align-items: flex-start; justify-content: center; padding-top: 20px; }
.si-body { padding: 18px 20px; }
.si-body strong { color: var(--navy); display: block; margin-bottom: 5px; font-size: 0.95rem; font-family: var(--font-body); }
.si-body p { font-size: 0.88rem; color: var(--body-text); margin: 0; line-height: 1.65; }
.post-type-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin: 24px 0; }
.pt-card { border: 1px solid var(--border); border-radius: 10px; padding: 18px; background: #fff; }
.pt-icon { font-size: 1.4rem; margin-bottom: 8px; display: block; }
.pt-title { font-weight: 700; color: var(--navy); font-size: 0.92rem; margin-bottom: 6px; font-family: var(--font-body); }
.pt-desc { font-size: 0.83rem; color: var(--muted); margin: 0; line-height: 1.5; }
.rb-number { display: flex; align-items: center; justify-content: center; font-family: var(--font-heading); font-size: 1.5rem; color: #fff; padding: 18px 0; flex-shrink: 0; }
.rb-number.red { background: #dc2626; }
.rb-number.amber { background: #b45309; }
.rb-number.teal { background: var(--teal); }
.rb-title strong { display: block; font-family: var(--font-body); font-weight: 700; font-size: 1rem; line-height: 1.35; }
.rb-body ul { margin-bottom: 14px; padding-left: 22px; }
.rb-body li { font-size: 0.9rem; color: var(--body-text); margin-bottom: 8px; line-height: 1.55; }
.rb-fix { background: #f0fdf4; border-top: 1px solid #86efac; padding: 14px 28px; display: flex; gap: 10px; align-items: flex-start; }
.rb-fix-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #14532d; white-space: nowrap; margin-top: 2px; flex-shrink: 0; }
.rb-fix p { font-size: 0.85rem; margin: 0; color: var(--body-text); line-height: 1.6; }
.ad-box { border-radius: 10px; padding: 18px 20px; font-size: 0.85rem; line-height: 1.65; }
.ad-box.bad { background: #fef2f2; border: 1px solid #fca5a5; }
.ad-box.good { background: #f0fdf4; border: 1px solid #86efac; }
.ad-box-label { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 10px; display: block; }
.ad-box.bad .ad-box-label { color: #991b1b; }
.ad-box.good .ad-box-label { color: #14532d; }
.ad-box .ad-headline { font-weight: 700; color: var(--navy); font-size: 0.9rem; margin-bottom: 4px; }
.ad-box .ad-url { color: #16a34a; font-size: 0.78rem; margin-bottom: 6px; }
.ad-box .ad-desc { color: var(--body-text); font-size: 0.82rem; }
.checklist li .ck-icon { flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 800; margin-top: 1px; }
.checklist li .ck-icon.pass { background: #dcfce7; color: #14532d; }
.checklist li .ck-icon.fail { background: #fee2e2; color: #991b1b; }
.audit-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.audit-table thead { background: var(--navy); color: #fff; }
.audit-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.audit-table tbody tr:nth-child(even) { background: var(--cream); }
.audit-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.5; color: var(--body-text); }
.audit-table tbody tr:last-child td { border-bottom: none; }
.badge-red { background: #fee2e2; color: #991b1b; font-size: 0.72rem; font-weight: 700; padding: 2px 9px; border-radius: 99px; display: inline-block; }
.badge-amber { background: #fef9c3; color: #854d0e; font-size: 0.72rem; font-weight: 700; padding: 2px 9px; border-radius: 99px; display: inline-block; }
.badge-green { background: #dcfce7; color: #14532d; font-size: 0.72rem; font-weight: 700; padding: 2px 9px; border-radius: 99px; display: inline-block; }
.option-card--step1 { border-color: #5eead4; }
.option-card--step2 { border-color: #bae6fd; }
.option-card--step3 { border-color: #bbf7d0; }
.option-card--step4 { border-color: #ddd6fe; }
.option-card--step5 { border-color: #fde68a; }
.option-card--step6 { border-color: #fca5a5; }
.option-card--step7 { border-color: #a5f3fc; }
.option-card--step1 .option-card__badge { background: #ccfbf1; color: #0f766e; }
.option-card--step2 .option-card__badge { background: #e0f2fe; color: #0369a1; }
.option-card--step3 .option-card__badge { background: #dcfce7; color: #166534; }
.option-card--step4 .option-card__badge { background: #ede9fe; color: #6d28d9; }
.option-card--step5 .option-card__badge { background: #fef9c3; color: #854d0e; }
.option-card--step6 .option-card__badge { background: #fee2e2; color: #991b1b; }
.option-card--step7 .option-card__badge { background: #cffafe; color: #0e7490; }
.page-example { background: #f8fafc; border: 1px solid var(--border); border-radius: 10px; padding: 20px; margin: 20px 0; font-size: 0.88rem; }
.page-example__label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); margin-bottom: 10px; display: block; }
.page-example__url { background: #fff; border: 1px solid #e2e8f0; border-radius: 6px; padding: 8px 14px; font-family: monospace; font-size: 0.82rem; color: var(--teal); margin-bottom: 14px; }
.page-example__h1 { font-family: var(--font-heading); font-size: 1.1rem; color: var(--navy); margin: 0 0 8px; }
.page-example__meta { font-size: 0.78rem; color: var(--muted); line-height: 1.5; }
.do-box p, .dont-box p { font-size: 0.88rem; margin: 0; line-height: 1.6; }
.do-box p { color: #166534; }
.dont-box p { color: #991b1b; }
.green-callout span { font-size: 0.93rem; color: #166534; }
.type-card--extensive { border-color: #bbf7d0; background: #f0fdf4; }
.type-card--intensive { border-color: #bae6fd; background: #f0f9ff; }
.type-card__badge { display: inline-block; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; padding: 3px 10px; border-radius: 20px; margin-bottom: 10px; }
.type-card--extensive .type-card__badge { background: #dcfce7; color: #166534; }
.type-card--intensive .type-card__badge { background: #e0f2fe; color: #0369a1; }
.type-card__title { font-family: var(--font-heading); font-size: 1.2rem; color: var(--navy); margin: 0 0 12px; }
.type-card p { font-size: 0.93rem; color: var(--body-text); margin-bottom: 10px; }
.type-card p:last-child { margin-bottom: 0; }
.type-card__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.t-stat { background: rgba(255,255,255,0.7); border-radius: 6px; padding: 10px 8px; text-align: center; }
.t-stat__label { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); margin-bottom: 3px; display: block; }
.t-stat__value { font-weight: 700; color: var(--navy); font-size: 0.9rem; }
.benefit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0; }
.benefit-card { border-radius: 10px; padding: 20px; border: 1px solid var(--border); background: #fff; }
.benefit-card__icon { font-size: 1.5rem; margin-bottom: 8px; display: block; }
.benefit-card__title { font-weight: 700; color: var(--navy); font-size: 0.95rem; margin: 0 0 6px; }
.benefit-card__body { font-size: 0.9rem; color: var(--muted); margin: 0; line-height: 1.65; }
.checklist-section { border: 1px solid var(--border); border-radius: 16px; overflow: hidden; margin: 36px 0; }
.cs-header { padding: 16px 22px; display: flex; align-items: center; gap: 14px; }
.cs-header.critical { background: #fef2f2; border-bottom: 1px solid #fca5a5; }
.cs-header.high { background: #fff7ed; border-bottom: 1px solid #fdba74; }
.cs-header.medium { background: #fef9c3; border-bottom: 1px solid #fde047; }
.cs-header.ongoing { background: #f0fdf4; border-bottom: 1px solid #86efac; }
.cs-header.advanced { background: #f5f3ff; border-bottom: 1px solid #c4b5fd; }
.cs-badge { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; padding: 3px 10px; border-radius: 99px; flex-shrink: 0; }
.cs-header.critical .cs-badge { background: #fee2e2; color: #991b1b; }
.cs-header.high .cs-badge { background: #ffedd5; color: #c2410c; }
.cs-header.medium .cs-badge { background: #fef9c3; color: #854d0e; border: 1px solid #fde047; }
.cs-header.ongoing .cs-badge { background: #dcfce7; color: #14532d; }
.cs-header.advanced .cs-badge { background: #ede9fe; color: #4c1d95; }
.cs-title { font-family: var(--font-body); font-weight: 700; font-size: 1rem; }
.cs-header.critical .cs-title { color: #991b1b; }
.cs-header.high .cs-title { color: #c2410c; }
.cs-header.medium .cs-title { color: #854d0e; }
.cs-header.ongoing .cs-title { color: #14532d; }
.cs-header.advanced .cs-title { color: #4c1d95; }
.cs-count { margin-left: auto; font-size: 0.75rem; color: var(--muted); flex-shrink: 0; }
.cl-item { display: flex; gap: 14px; align-items: flex-start; padding: 14px 20px; border-bottom: 1px solid var(--border); background: #fff; }
.cl-item:last-child { border-bottom: none; }
.cl-item:hover { background: var(--cream); }
.cl-box { flex-shrink: 0; width: 20px; height: 20px; border: 2px solid var(--border); border-radius: 4px; margin-top: 2px; }
.cl-box.critical { border-color: #dc2626; }
.cl-box.high { border-color: #ea580c; }
.cl-box.medium { border-color: #ca8a04; }
.cl-box.ongoing { border-color: #16a34a; }
.cl-box.advanced { border-color: #7c3aed; }
.cl-content { flex: 1; }
.cl-content strong { display: block; font-size: 0.9rem; font-weight: 700; color: var(--navy); margin-bottom: 3px; line-height: 1.4; }
.cl-content p { font-size: 0.84rem; color: var(--muted); margin: 0; line-height: 1.55; }
.cl-tag { display: inline-block; font-size: 0.63rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 1px 7px; border-radius: 99px; margin-left: 8px; vertical-align: middle; }
.cl-tag.must { background: #fee2e2; color: #991b1b; }
.cl-tag.quick { background: #dcfce7; color: #14532d; }
.cl-tag.seo { background: #ede9fe; color: #4c1d95; }
.cl-tag.convert { background: #dbeafe; color: #1e3a8a; }
.cl-tag.rank { background: #fef9c3; color: #854d0e; }
.progress-summary { background: var(--cream); border: 1px solid var(--border); border-radius: 12px; padding: 20px 24px; margin: 36px 0; }
.ps-label { font-size: 0.82rem; font-weight: 700; color: var(--navy); margin-bottom: 12px; }
.ps-row { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; font-size: 0.83rem; }
.ps-row:last-child { margin-bottom: 0; }
.ps-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.ps-dot.critical { background: #dc2626; }
.ps-dot.high { background: #ea580c; }
.ps-dot.medium { background: #ca8a04; }
.ps-dot.ongoing { background: #16a34a; }
.ps-dot.advanced { background: #7c3aed; }
.ps-name { flex: 1; color: var(--body-text); }
.ps-count { color: var(--muted); font-size: 0.78rem; }
.tb-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 12px; display: block; }
.tb-body { font-size: 0.88rem; color: var(--body-text); line-height: 1.75; }
.tb-body p { margin-bottom: 10px; font-size: 0.88rem; }
.tb-body p:last-child { margin: 0; }
.cat-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 20px 0; }
.cat-table thead { background: var(--navy); color: #fff; }
.cat-table thead th { padding: 10px 14px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.cat-table tbody tr:nth-child(even) { background: var(--cream); }
.cat-table tbody td { padding: 9px 14px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.5; color: var(--body-text); font-size: 0.85rem; }
.cat-table tbody tr:last-child td { border-bottom: none; }
.pri-tag { font-size: 0.68rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; }
.pri-must { background: #fee2e2; color: #991b1b; }
.pri-high { background: #ffedd5; color: #c2410c; }
.pri-med { background: #fef9c3; color: #854d0e; }
.month-schedule { display: grid; grid-template-columns: 120px 1fr; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 28px 0; }
.ms-label { background: var(--navy); color: var(--teal); font-weight: 700; font-size: 0.82rem; padding: 14px 16px; display: flex; align-items: center; justify-content: center; text-align: center; line-height: 1.3; border-bottom: 1px solid rgba(255,255,255,.1); }
.ms-label:last-of-type { border-bottom: none; }
.ms-content { padding: 13px 18px; border-bottom: 1px solid var(--border); background: #fff; }
.ms-content:last-child { border-bottom: none; }
.ms-content h4 { font-family: var(--font-body); font-weight: 700; font-size: 0.88rem; color: var(--navy); margin: 0 0 4px; }
.ms-content p { font-size: 0.83rem; color: var(--body-text); margin: 0; line-height: 1.55; }
.signal-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 36px 0; }
.sb-icon { display: flex; align-items: center; justify-content: center; font-size: 1.4rem; padding: 18px 0; flex-shrink: 0; }
.sb-icon.proximity { background: #0b8880; }
.sb-icon.relevance { background: #1d4ed8; }
.sb-icon.prominence { background: #6d28d9; }
.sb-icon.gbp { background: #0f766e; }
.sb-icon.reviews { background: #b45309; }
.sb-icon.posts { background: #0369a1; }
.sb-icon.citations { background: #374151; }
.sb-icon.website { background: #dc2626; }
.sb-action { background: var(--cream); border-top: 1px solid var(--border); padding: 13px 28px; display: flex; gap: 10px; align-items: flex-start; }
.sb-action-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); white-space: nowrap; margin-top: 2px; flex-shrink: 0; }
.sb-action p { font-size: 0.85rem; margin: 0; color: var(--body-text); line-height: 1.6; }
.factor-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.factor-table thead { background: var(--navy); color: #fff; }
.factor-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.factor-table tbody tr:nth-child(even) { background: var(--cream); }
.factor-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.5; color: var(--body-text); }
.factor-table tbody tr:last-child td { border-bottom: none; }
.impact-high { background: #dcfce7; color: #14532d; font-size: 0.72rem; font-weight: 700; padding: 2px 9px; border-radius: 99px; display: inline-block; }
.impact-medium { background: #fef9c3; color: #854d0e; font-size: 0.72rem; font-weight: 700; padding: 2px 9px; border-radius: 99px; display: inline-block; }
.impact-low { background: #f3f4f6; color: #6b7280; font-size: 0.72rem; font-weight: 700; padding: 2px 9px; border-radius: 99px; display: inline-block; }
.action-checklist li .ck-box { flex-shrink: 0; width: 20px; height: 20px; border: 2px solid var(--teal); border-radius: 4px; margin-top: 1px; }
.review-example { background: #f8fafc; border: 1px solid var(--border); border-radius: 10px; padding: 20px 22px; margin: 20px 0; font-size: 0.88rem; color: var(--body-text); line-height: 1.75; }
.review-example .re-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 10px; display: block; }
.review-example .re-reviewer { font-weight: 700; color: var(--navy); font-size: 0.85rem; margin-bottom: 6px; }
.review-example .re-stars { color: #f59e0b; letter-spacing: 2px; font-size: 0.9rem; margin-bottom: 8px; }
.review-example .re-text { color: var(--body-text); font-size: 0.85rem; font-style: italic; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.review-example .re-response-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; color: #14532d; margin-bottom: 6px; }
.review-example .re-response { font-size: 0.85rem; color: var(--body-text); }
.verdict-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.vb-header { display: grid; grid-template-columns: 56px 1fr; background: var(--navy); color: #fff; }
.vb-icon { display: flex; align-items: center; justify-content: center; font-size: 1.3rem; padding: 16px 0; flex-shrink: 0; }
.vb-icon.works { background: #0b8880; }
.vb-icon.waste { background: #dc2626; }
.vb-icon.maybe { background: #92400e; }
.vb-title { padding: 15px 20px; font-family: var(--font-body); font-weight: 700; font-size: 0.97rem; line-height: 1.35; }
.vb-title small { display: block; font-size: 0.68rem; font-weight: 400; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.vb-body { padding: 22px 24px; }
.vb-body p { font-size: 0.93rem; color: var(--body-text); margin-bottom: 14px; }
.vb-body p:last-child { margin-bottom: 0; }
.vb-verdict { border-top: 1px solid var(--border); padding: 13px 24px; display: flex; gap: 10px; align-items: flex-start; }
.vb-verdict.works { background: #f0fdf4; }
.vb-verdict.waste { background: #fef2f2; }
.vb-verdict.maybe { background: #fff7ed; }
.vb-verdict-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; margin-top: 2px; flex-shrink: 0; }
.vb-verdict.works .vb-verdict-label { color: #14532d; }
.vb-verdict.waste .vb-verdict-label { color: #991b1b; }
.vb-verdict.maybe .vb-verdict-label { color: #92400e; }
.vb-verdict p { font-size: 0.88rem; margin: 0; color: var(--body-text); line-height: 1.6; }
.contrast-box p { font-size: 0.9rem; margin: 0; line-height: 1.65; font-style: italic; }
.contrast-box--before p { color: #7f1d1d; }
.contrast-box--after p { color: #14532d; }
.cb-number { display: flex; align-items: center; justify-content: center; font-family: var(--font-heading); font-size: 1.6rem; color: var(--teal); padding: 18px 0; flex-shrink: 0; }
.option-card--solo { border-color: #fde68a; }
.option-card--small { border-color: #bae6fd; }
.option-card--mid { border-color: #bbf7d0; }
.option-card--growth { border-color: #ddd6fe; }
.option-card--solo .option-card__badge { background: #fef9c3; color: #854d0e; }
.option-card--small .option-card__badge { background: #e0f2fe; color: #0369a1; }
.option-card--mid .option-card__badge { background: #dcfce7; color: #166534; }
.option-card--growth .option-card__badge { background: #ede9fe; color: #6d28d9; }
.formula-box { background: var(--navy); border-radius: 12px; padding: 28px; margin: 32px 0; text-align: center; }
.formula-box__label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,255,255,0.55); margin-bottom: 14px; display: block; }
.formula-box__eq { font-family: var(--font-heading); font-size: 1.35rem; color: #fff; line-height: 1.5; }
.formula-box__eq span { color: #5eead4; }
.formula-box__note { font-size: 0.82rem; color: rgba(255,255,255,0.55); margin-top: 10px; display: block; }
.calc-box { background: #f8fafc; border: 1px solid var(--border); border-radius: 12px; padding: 28px; margin: 32px 0; }
.calc-box__title { font-family: var(--font-body); font-weight: 700; color: var(--navy); font-size: 1rem; margin: 0 0 20px; }
.calc-field label { display: block; font-size: 0.78rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 6px; }
.calc-field input, .calc-field select { width: 100%; padding: 10px 12px; border-radius: 6px; border: 1px solid var(--border); font-family: var(--font-body); font-size: 0.95rem; color: var(--navy); background: #fff; box-sizing: border-box; }
.calc-btn { background: var(--teal); color: #fff; border: none; padding: 12px 28px; border-radius: 6px; font-family: var(--font-body); font-weight: 700; font-size: 0.95rem; cursor: pointer; transition: background 0.2s; margin-top: 8px; }
.calc-btn:hover { background: var(--teal-dark); }
.calc-result { margin-top: 20px; padding: 18px; background: #fff; border-radius: 8px; border: 1px solid var(--border); display: none; }
.calc-result__headline { font-family: var(--font-heading); font-size: 1.5rem; color: var(--navy); margin: 0 0 4px; }
.calc-result__sub { font-size: 0.85rem; color: var(--muted); }
.calc-result__rows { margin-top: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.calc-result__row { background: #f8fafc; border-radius: 6px; padding: 10px 12px; }
.calc-result__row span { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); display: block; margin-bottom: 3px; }
.calc-result__row strong { font-size: 0.95rem; color: var(--navy); }
.script-card { background: var(--navy); border-radius: 12px; padding: 24px 28px; margin: 24px 0; }
.script-card__label { display: block; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--teal); margin-bottom: 14px; }
.script-card__situation { font-size: .8rem; color: rgba(255,255,255,.55); margin-bottom: 12px; }
.script-line { display: flex; gap: 12px; margin-bottom: 14px; align-items: flex-start; }
.script-line:last-child { margin-bottom: 0; }
.script-speaker { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; min-width: 70px; padding-top: 2px; flex-shrink: 0; }
.script-speaker--you { color: var(--teal); }
.script-speaker--them { color: #fbbf24; }
.script-speaker--note { color: rgba(255,255,255,.4); font-style: italic; }
.script-text { font-size: .92rem; color: rgba(255,255,255,.88); line-height: 1.7; }
.script-note { font-size: .82rem; color: rgba(255,255,255,.45); font-style: italic; line-height: 1.6; }
.objection-card { border-left: 3px solid var(--teal); border-radius: 0 10px 10px 0; padding: 16px 20px; margin: 18px 0; background: #f8fafc; }
.objection-card__q { font-size: .83rem; font-weight: 700; color: var(--navy); margin-bottom: 8px; display: flex; gap: 8px; align-items: flex-start; }
.objection-card__q::before { content: "💬"; font-style: normal; flex-shrink: 0; }
.objection-card__a { font-size: .9rem; color: var(--body-text); margin: 0; line-height: 1.65; }
.rules-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0; }
.rule-card { border-radius: 10px; padding: 16px 18px; }
.rule-card--must { background: #fef2f2; border: 1.5px solid #fca5a5; }
.rule-card--must-not { background: #f0fdf4; border: 1.5px solid #86efac; }
.rule-card__label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 8px; display: block; }
.rule-card--must .rule-card__label { color: #dc2626; }
.rule-card--must-not .rule-card__label { color: #16a34a; }
.rule-card ul { margin: 0; padding-left: 16px; }
.rule-card li { font-size: .86rem; margin-bottom: 6px; }
.rule-card--must li { color: #991b1b; }
.rule-card--must-not li { color: #166534; }
.blog-article tr.highlight-row td { background: #f0fdfa; }
.obj-card { border-radius: 14px; padding: 0; margin: 36px 0; background: #fff; border: 2px solid var(--border); overflow: hidden; }
.obj-card__header { padding: 20px 24px 18px; display: flex; align-items: flex-start; gap: 16px; }
.obj-card__num { width: 36px; height: 36px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 700; font-size: 0.95rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }
.obj-card__label { flex: 1; }
.obj-card__tag { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; padding: 2px 8px; border-radius: 20px; display: inline-block; margin-bottom: 6px; }
.obj-card__tag--price { background: #fef9c3; color: #854d0e; }
.obj-card__tag--trust { background: #e0f2fe; color: #0369a1; }
.obj-card__tag--timing { background: #ede9fe; color: #6d28d9; }
.obj-card__tag--compare { background: #dcfce7; color: #166534; }
.obj-card__tag--scope { background: #fee2e2; color: #991b1b; }
.obj-card__objection { font-family: var(--font-heading); font-size: 1.15rem; color: var(--navy); margin: 0; line-height: 1.3; }
.obj-card__body { padding: 0 24px 24px; }
.obj-card__why { font-size: 0.9rem; color: var(--muted); border-top: 1px solid var(--border); padding-top: 16px; margin-bottom: 16px; line-height: 1.7; }
.obj-card__why strong { color: var(--navy); display: block; margin-bottom: 4px; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; }
.obj-card__wrong { background: #fef2f2; border: 1px solid #fca5a5; border-radius: 8px; padding: 14px 16px; margin-bottom: 12px; }
.obj-card__wrong-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #dc2626; margin-bottom: 6px; display: block; }
.obj-card__wrong p { font-size: 0.88rem; color: #7f1d1d; margin: 0; font-style: italic; line-height: 1.6; }
.obj-card__script { background: #f0fdf4; border: 1px solid #86efac; border-radius: 8px; padding: 16px 18px; margin-bottom: 12px; }
.obj-card__script-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #16a34a; margin-bottom: 8px; display: block; }
.obj-card__script p { font-size: 0.92rem; color: #14532d; margin: 0; line-height: 1.75; font-style: italic; }
.obj-card__note { font-size: 0.85rem; color: var(--muted); margin: 0; line-height: 1.6; }
.sb-icon.repair { background: #dcfce7; }
.sb-icon.replace { background: #fee2e2; }
.sb-icon.assess { background: #fef9c3; }
.sb-title.repair { background: #f0fdf4; border-bottom: 1px solid #86efac; }
.sb-title.replace { background: #fef2f2; border-bottom: 1px solid #fca5a5; }
.sb-title.assess { background: #fefce8; border-bottom: 1px solid #fde047; }
.sb-title.repair small { color: #14532d; }
.sb-title.replace small { color: #991b1b; }
.sb-title.assess small { color: #854d0e; }
.decision-tree { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 36px 0; }
.dt-header { background: var(--navy); color: #fff; padding: 16px 22px; }
.dt-header h3 { font-family: var(--font-body); font-weight: 700; font-size: 1rem; margin: 0 0 4px; color: #fff; }
.dt-header p { font-size: 0.83rem; color: rgba(255,255,255,.7); margin: 0; }
.dt-question { padding: 18px 22px; border-bottom: 1px solid var(--border); background: #fff; }
.dt-question:last-child { border-bottom: none; }
.dt-q-text { font-weight: 700; font-size: 0.93rem; color: var(--navy); margin-bottom: 10px; display: flex; align-items: flex-start; gap: 10px; }
.dt-q-num { background: var(--navy); color: var(--teal); width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.78rem; font-weight: 800; flex-shrink: 0; margin-top: 1px; }
.dt-answers { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; padding-left: 34px; }
.dt-answer { padding: 8px 14px; border-radius: 8px; font-size: 0.85rem; font-weight: 600; }
.dt-answer.repair { background: #dcfce7; color: #14532d; }
.dt-answer.replace { background: #fee2e2; color: #991b1b; }
.dt-answer.assess { background: #fef9c3; color: #854d0e; }
.cost-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 28px 0; }
.cc-side { border-radius: 12px; padding: 20px 18px; }
.cc-side.repair { background: #f0fdf4; border: 1px solid #86efac; }
.cc-side.replace { background: #fef2f2; border: 1px solid #fca5a5; }
.cc-head { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 12px; }
.cc-side.repair .cc-head { color: #14532d; }
.cc-side.replace .cc-head { color: #991b1b; }
.cc-item { margin-bottom: 10px; }
.cc-item:last-child { margin-bottom: 0; }
.cc-job { font-size: 0.87rem; font-weight: 700; color: var(--navy); margin-bottom: 2px; }
.cc-range { font-size: 0.85rem; color: var(--teal); font-weight: 700; }
.cc-note { font-size: 0.75rem; color: var(--muted); line-height: 1.4; }
.lifespan-rows { margin: 24px 0; display: flex; flex-direction: column; gap: 8px; }
.ls-row { display: grid; grid-template-columns: 180px 1fr 60px; gap: 8px; align-items: center; }
.ls-label { font-size: 0.82rem; color: var(--body-text); font-weight: 600; }
.ls-bar-wrap { background: var(--border); border-radius: 4px; height: 10px; overflow: hidden; }
.ls-bar { height: 100%; border-radius: 4px; }
.ls-bar.c0 { background: #94a3b8; width: 18%; }
.ls-bar.c1 { background: #b45309; width: 25%; }
.ls-bar.c2 { background: #1d4ed8; width: 40%; }
.ls-bar.c3 { background: #0b8880; width: 55%; }
.ls-bar.c4 { background: #0f766e; width: 65%; }
.ls-bar.c5 { background: var(--navy); width: 100%; }
.bias-block { background: #fefce8; border: 1px solid #fde047; border-radius: 12px; padding: 20px 22px; margin: 32px 0; }
.bias-head { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #854d0e; margin-bottom: 8px; }
.bias-body { font-size: 0.9rem; color: var(--body-text); line-height: 1.7; }
.bias-body p { margin-bottom: 10px; font-size: 0.9rem; }
.bias-body p:last-child { margin: 0; }
.channel-profile { border: 2px solid var(--border); border-radius: 14px; padding: 28px; margin: 28px 0; background: #fff; }
.channel-profile--google { border-color: #5eead4; }
.channel-profile--cheka { border-color: #bae6fd; }
.channel-profile--mybuild { border-color: #ddd6fe; }
.channel-profile--local { border-color: #bbf7d0; }
.channel-profile--rated { border-color: #fde68a; }
.channel-profile__header { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.channel-profile__icon { font-size: 2.2rem; line-height: 1; flex-shrink: 0; }
.channel-profile__head h3 { font-family: var(--font-heading); font-size: 1.25rem; color: var(--navy); margin: 0 0 3px; }
.channel-profile__head p { font-size: .84rem; color: var(--muted); margin: 0; }
.channel-profile__body p { font-size: .95rem; color: var(--body-text); margin-bottom: 14px; }
.channel-profile__body p:last-of-type { margin-bottom: 0; }
.channel-profile__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 18px 0; }
.cp-stat { background: #f8fafc; border-radius: 8px; padding: 10px 8px; text-align: center; }
.cp-stat__label { font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: 3px; display: block; }
.cp-stat__value { font-weight: 700; color: var(--navy); font-size: .88rem; line-height: 1.25; }
.channel-profile__verdict { margin-top: 16px; padding: 12px 16px; border-radius: 8px; font-size: .9rem; }
.verdict--strong { background: #dcfce7; color: #166534; }
.verdict--moderate { background: #fef9c3; color: #92400e; }
.verdict--weak { background: #fee2e2; color: #991b1b; }
.comparison-table { width: 100%; border-collapse: collapse; margin: 28px 0; font-size: .85rem; }
.comparison-table th { background: var(--navy); color: #fff; padding: 10px 12px; text-align: left; font-weight: 600; font-size: .82rem; }
.comparison-table td { padding: 9px 12px; border-bottom: 1px solid var(--border); color: var(--body-text); vertical-align: top; }
.comparison-table tr:nth-child(even) td { background: #f8fafc; }
.comparison-table tr:last-child td { border-bottom: none; }
.comparison-table td:first-child { font-weight: 600; color: var(--navy); }
.cpl-bars { margin: 28px 0; }
.cpl-row { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.cpl-row__channel { font-size: .84rem; font-weight: 600; color: var(--body-text); min-width: 200px; flex-shrink: 0; }
.cpl-row__bar-wrap { flex: 1; min-width: 120px; background: #f1f5f9; border-radius: 4px; height: 12px; overflow: hidden; }
.cpl-row__bar { height: 100%; border-radius: 4px; }
.cpl-row__label { font-size: .84rem; font-weight: 700; color: var(--navy); min-width: 70px; text-align: right; }
.mat-card { border: 1px solid var(--border); border-radius: 16px; overflow: hidden; margin: 36px 0; }
.mc-header { display: grid; grid-template-columns: 1fr auto; align-items: start; padding: 20px 22px 14px; gap: 16px; }
.mc-header.felt { background: #fff7ed; border-bottom: 1px solid #fdba74; }
.mc-header.epdm { background: #f0f9ff; border-bottom: 1px solid #93c5fd; }
.mc-header.grp { background: #f0fdf4; border-bottom: 1px solid #86efac; }
.mc-header.concrete { background: #f5f3ff; border-bottom: 1px solid #c4b5fd; }
.mc-header.clay { background: #fef2f2; border-bottom: 1px solid #fca5a5; }
.mc-header.slate { background: #fefce8; border-bottom: 1px solid #fde047; }
.mc-header.fibre { background: #f0fdf4; border-bottom: 1px solid #6ee7b7; }
.mc-title-group h3 { margin: 0 0 4px; font-size: 1.1rem; }
.mc-header.felt .mc-title-group h3 { color: #c2410c; }
.mc-header.epdm .mc-title-group h3 { color: #1e3a8a; }
.mc-header.grp .mc-title-group h3 { color: #14532d; }
.mc-header.concrete .mc-title-group h3 { color: #4c1d95; }
.mc-header.clay .mc-title-group h3 { color: #991b1b; }
.mc-header.slate .mc-title-group h3 { color: #854d0e; }
.mc-header.fibre .mc-title-group h3 { color: #065f46; }
.mc-sub { font-size: 0.78rem; color: var(--muted); font-weight: 500; }
.mc-lifespan { text-align: right; flex-shrink: 0; }
.mc-lifespan .ls-num { font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.mc-header.felt .mc-lifespan .ls-num { color: #ea580c; }
.mc-header.epdm .mc-lifespan .ls-num { color: #1d4ed8; }
.mc-header.grp .mc-lifespan .ls-num { color: #15803d; }
.mc-header.concrete .mc-lifespan .ls-num { color: #6d28d9; }
.mc-header.clay .mc-lifespan .ls-num { color: #b91c1c; }
.mc-header.slate .mc-lifespan .ls-num { color: #92400e; }
.mc-header.fibre .mc-lifespan .ls-num { color: #047857; }
.mc-lifespan .ls-label { font-size: 0.7rem; color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.mc-body { padding: 20px 22px; background: #fff; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.mc-col h4 { font-family: var(--font-body); font-size: 0.82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--navy); margin-bottom: 10px; }
.mc-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.mc-col li { font-size: 0.87rem; color: var(--body-text); padding-left: 16px; position: relative; line-height: 1.5; }
.mc-col li::before { content: "→"; position: absolute; left: 0; color: var(--teal); font-size: 0.8rem; }
.mc-footer { padding: 12px 22px; display: flex; gap: 10px; align-items: flex-start; }
.mc-footer.felt { background: #fff7ed; border-top: 1px solid #fdba74; }
.mc-footer.epdm { background: #f0f9ff; border-top: 1px solid #93c5fd; }
.mc-footer.grp { background: #f0fdf4; border-top: 1px solid #86efac; }
.mc-footer.concrete { background: #f5f3ff; border-top: 1px solid #c4b5fd; }
.mc-footer.clay { background: #fef2f2; border-top: 1px solid #fca5a5; }
.mc-footer.slate { background: #fefce8; border-top: 1px solid #fde047; }
.mc-footer.fibre { background: #f0fdf4; border-top: 1px solid #6ee7b7; }
.mc-foot-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); white-space: nowrap; margin-top: 2px; flex-shrink: 0; }
.mc-foot-text { font-size: 0.85rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.era-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.era-table thead { background: var(--navy); color: #fff; }
.era-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.era-table tbody tr:nth-child(even) { background: var(--cream); }
.era-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: top; line-height: 1.55; color: var(--body-text); font-size: 0.86rem; }
.era-table tbody tr:last-child td { border-bottom: none; }
.era-badge { font-size: 0.7rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; white-space: nowrap; }
.era-act { background: #dcfce7; color: #14532d; }
.era-warn { background: #fef9c3; color: #854d0e; }
.era-urgent { background: #fee2e2; color: #991b1b; }
.eol-table { width: 100%; border-collapse: collapse; font-size: 0.86rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.eol-table thead { background: var(--navy); color: #fff; }
.eol-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.eol-table tbody tr:nth-child(even) { background: var(--cream); }
.eol-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: top; line-height: 1.55; color: var(--body-text); }
.eol-table tbody tr:last-child td { border-bottom: none; }
.tag-r { background: #fee2e2; color: #991b1b; font-size: 0.68rem; font-weight: 700; padding: 2px 6px; border-radius: 99px; display: inline-block; white-space: nowrap; }
.tag-w { background: #fef9c3; color: #854d0e; font-size: 0.68rem; font-weight: 700; padding: 2px 6px; border-radius: 99px; display: inline-block; white-space: nowrap; }
.tag-m { background: #dcfce7; color: #14532d; font-size: 0.68rem; font-weight: 700; padding: 2px 6px; border-radius: 99px; display: inline-block; white-space: nowrap; }
.placement-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.pb-icon.website { background: #1d4ed8; }
.pb-icon.gbp { background: #0b8880; }
.pb-icon.ads { background: #0369a1; }
.pb-icon.quote { background: #6d28d9; }
.pb-icon.van { background: #b45309; }
.pb-icon.social { background: #0f766e; }
.copy-example { background: #f8fafc; border: 1px solid var(--border); border-radius: 10px; padding: 18px 22px; margin: 18px 0; font-size: 0.88rem; line-height: 1.75; color: var(--body-text); }
.copy-example .ce-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--teal); margin-bottom: 10px; display: block; }
.copy-example p { margin-bottom: 8px; font-size: 0.88rem; }
.copy-example p:last-child { margin: 0; }
.badge-row { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.acc-badge { display: flex; align-items: center; gap: 10px; background: var(--cream); border: 1px solid var(--border); border-radius: 10px; padding: 12px 16px; }
.acc-badge-icon { width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
.acc-badge-icon.nfrc { background: #dbeafe; }
.acc-badge-icon.trustmark { background: #dcfce7; }
.acc-badge-icon.mfrc { background: #ede9fe; }
.acc-badge-icon.longbody { background: #fef9c3; }
.acc-badge-text strong { display: block; font-size: 0.85rem; font-weight: 700; color: var(--navy); }
.acc-badge-text span { font-size: 0.75rem; color: var(--muted); }
.acc-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.acc-table thead { background: var(--navy); color: #fff; }
.acc-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.acc-table tbody tr:nth-child(even) { background: var(--cream); }
.acc-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.55; color: var(--body-text); }
.acc-table tbody tr:last-child td { border-bottom: none; }
.tag-high { background: #dcfce7; color: #14532d; font-size: 0.72rem; font-weight: 700; padding: 2px 8px; border-radius: 99px; display: inline-block; }
.tag-mid { background: #fef9c3; color: #854d0e; font-size: 0.72rem; font-weight: 700; padding: 2px 8px; border-radius: 99px; display: inline-block; }
.tag-low { background: #f3f4f6; color: #6b7280; font-size: 0.72rem; font-weight: 700; padding: 2px 8px; border-radius: 99px; display: inline-block; }
.serp-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 36px 0; background: #fff; }
.serp-header { background: var(--navy); padding: 14px 20px; display: flex; align-items: center; gap: 10px; }
.serp-header-text { font-family: var(--font-body); font-weight: 600; font-size: 0.85rem; color: rgba(255,255,255,.8); }
.serp-search-bar { background: #fff; margin: 16px 20px; border-radius: 8px; padding: 10px 16px; font-size: 0.88rem; color: #333; border: 1px solid #ddd; display: flex; align-items: center; gap: 8px; }
.serp-search-bar span { color: #aaa; font-size: 0.85rem; flex: 1; }
.serp-section { padding: 0 20px 16px; }
.serp-section-label { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); padding: 12px 0 8px; border-top: 1px solid var(--border); }
.serp-section-label:first-child { border-top: none; }
.map-pack { background: #f0f9ff; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; }
.map-pack-title { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); margin-bottom: 8px; }
.map-entry { background: #fff; border-radius: 8px; padding: 10px 14px; margin-bottom: 6px; border: 1px solid var(--border); font-size: 0.84rem; }
.map-entry:last-child { margin-bottom: 0; }
.map-entry .me-name { font-weight: 700; color: var(--navy); margin-bottom: 2px; }
.map-entry .me-stars { color: #f59e0b; font-size: 0.78rem; }
.map-entry .me-tags { font-size: 0.75rem; color: var(--muted); margin-top: 2px; }
.map-entry.you { border-color: var(--teal); border-width: 2px; }
.map-entry.you .me-name { color: var(--teal); }
.cb-icon.maps { background: #0b8880; }
.cb-icon.ads { background: #1d4ed8; }
.cb-icon.seo { background: #6d28d9; }
.og-card { border-radius: 12px; padding: 20px 18px; border: 1px solid var(--border); }
.og-card.partial { background: #fff7ed; border-color: #fed7aa; }
.og-card.full { background: #f0fdf4; border-color: #86efac; }
.og-card h4 { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 12px; }
.og-card.partial h4 { color: #c2410c; }
.og-card.full h4 { color: #14532d; }
.og-card ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.og-card li { font-size: 0.86rem; color: var(--body-text); padding-left: 18px; position: relative; line-height: 1.5; }
.og-card.partial li::before { content: "◐"; position: absolute; left: 0; color: #f97316; font-size: 0.75rem; }
.og-card.full li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 800; }
.rev-calc { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 36px 0; }
.rc-header { background: var(--teal); padding: 16px 24px; }
.rc-header h3 { color: #fff; margin: 0; font-family: var(--font-body); font-weight: 700; font-size: 1rem; }
.rc-header p { color: rgba(255,255,255,.75); font-size: 0.83rem; margin: 4px 0 0; }
.rc-body { padding: 0; }
.rc-row { display: grid; grid-template-columns: 1fr 1fr 1fr; border-bottom: 1px solid var(--border); }
.rc-row:last-child { border-bottom: none; }
.rc-row.header-row { background: var(--cream); }
.rc-cell { padding: 12px 18px; font-size: 0.85rem; color: var(--body-text); }
.rc-row.header-row .rc-cell { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.rc-row:not(.header-row) .rc-cell:first-child { font-weight: 600; color: var(--navy); }
.rc-row.total-row { background: var(--navy); }
.rc-row.total-row .rc-cell { color: #fff; font-weight: 700; font-size: 0.9rem; }
.rc-row.total-row .rc-cell:last-child { color: var(--teal); font-size: 1rem; }
.priority-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.priority-table thead { background: var(--navy); color: #fff; }
.priority-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.priority-table tbody tr:nth-child(even) { background: var(--cream); }
.priority-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.5; color: var(--body-text); }
.priority-table tbody tr:last-child td { border-bottom: none; }
.week-badge { font-size: 0.72rem; font-weight: 700; padding: 2px 9px; border-radius: 99px; display: inline-block; white-space: nowrap; }
.week-1 { background: #dcfce7; color: #14532d; }
.week-2 { background: #dbeafe; color: #1e3a8a; }
.week-4 { background: #fef9c3; color: #854d0e; }
.ongoing { background: #f3f4f6; color: #374151; }
.system-card { border: 2px solid var(--border); border-radius: 14px; padding: 30px; margin: 28px 0; background: #fff; }
.system-card--epdm { border-color: #bae6fd; }
.system-card--grp { border-color: #bbf7d0; }
.system-card--felt { border-color: #fde68a; }
.system-card__badge { display: inline-block; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; padding: 3px 10px; border-radius: 20px; margin-bottom: 10px; }
.system-card--epdm .system-card__badge { background: #e0f2fe; color: #0369a1; }
.system-card--grp .system-card__badge { background: #dcfce7; color: #166534; }
.system-card--felt .system-card__badge { background: #fef9c3; color: #854d0e; }
.system-card__title { font-family: var(--font-heading); font-size: 1.4rem; color: var(--navy); margin: 0 0 6px; line-height: 1.2; }
.system-card__subtitle { font-size: 0.9rem; color: var(--muted); margin: 0 0 18px; }
.system-card p { font-size: 0.97rem; color: var(--body-text); margin-bottom: 14px; }
.system-card p:last-of-type { margin-bottom: 0; }
.system-card__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 18px 0; }
.sys-stat { background: #f8fafc; border-radius: 8px; padding: 12px 8px; text-align: center; }
.sys-stat__label { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); margin-bottom: 5px; display: block; }
.sys-stat__value { font-weight: 700; color: var(--navy); font-size: 0.92rem; line-height: 1.2; }
.system-card__pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 18px; }
.winner-epdm { background: #e0f2fe; color: #0369a1; font-weight: 700; font-size: 0.8rem; padding: 2px 7px; border-radius: 12px; white-space: nowrap; }
.winner-grp { background: #dcfce7; color: #166534; font-weight: 700; font-size: 0.8rem; padding: 2px 7px; border-radius: 12px; white-space: nowrap; }
.winner-felt { background: #fef9c3; color: #854d0e; font-weight: 700; font-size: 0.8rem; padding: 2px 7px; border-radius: 12px; white-space: nowrap; }
.winner-draw { background: #f3f4f6; color: #374151; font-weight: 700; font-size: 0.8rem; padding: 2px 7px; border-radius: 12px; white-space: nowrap; }
.cost-col { border-radius: 10px; padding: 20px; text-align: center; }
.cost-col--epdm { background: #e0f2fe; border: 1px solid #bae6fd; }
.cost-col--grp { background: #dcfce7; border: 1px solid #bbf7d0; }
.cost-col--felt { background: #fef9c3; border: 1px solid #fde68a; }
.cost-col__system { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 6px; display: block; }
.cost-col--epdm .cost-col__system { color: #0369a1; }
.cost-col--grp .cost-col__system { color: #166534; }
.cost-col--felt .cost-col__system { color: #854d0e; }
.cost-col__total { font-family: var(--font-heading); font-size: 1.5rem; color: var(--navy); margin-bottom: 4px; }
.cost-col__note { font-size: 0.78rem; color: var(--muted); }
.district-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 24px; }
.district-pill { background: var(--navy); color: rgba(255,255,255,.85); font-size: 0.78rem; font-weight: 600; padding: 5px 13px; border-radius: 99px; font-family: var(--font-body); }
.district-pill.tier-1 { background: var(--teal); color: #fff; }
.district-pill.tier-2 { background: #1a5276; color: rgba(255,255,255,.85); }
.budget-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 20px; margin: 36px 0; }
.budget-card { border-radius: 14px; overflow: hidden; border: 1px solid var(--border); }
.bc-header { padding: 18px 20px; }
.bc-header.starter { background: #f1f5f9; }
.bc-header.growth { background: var(--navy); }
.bc-header.dominant { background: #1d4ed8; }
.bc-badge { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 6px; }
.bc-header.starter .bc-badge { color: var(--muted); }
.bc-header.growth .bc-badge { color: rgba(255,255,255,.55); }
.bc-header.dominant .bc-badge { color: rgba(255,255,255,.55); }
.bc-amount { font-family: var(--font-heading); font-size: 1.9rem; line-height: 1; margin-bottom: 4px; }
.bc-header.starter .bc-amount { color: var(--navy); }
.bc-header.growth .bc-amount { color: #fff; }
.bc-header.dominant .bc-amount { color: #fff; }
.bc-period { font-size: 0.78rem; font-weight: 500; }
.bc-header.starter .bc-period { color: var(--muted); }
.bc-header.growth .bc-period { color: rgba(255,255,255,.6); }
.bc-header.dominant .bc-period { color: rgba(255,255,255,.6); }
.bc-body { padding: 18px 20px; background: #fff; }
.bc-body ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 7px; }
.bc-body li { font-size: 0.85rem; color: var(--body-text); padding-left: 18px; position: relative; line-height: 1.5; }
.bc-body li::before { content: "→"; position: absolute; left: 0; color: var(--teal); font-weight: 700; }
.cpc-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.cpc-table thead { background: var(--navy); color: #fff; }
.cpc-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.cpc-table tbody tr:nth-child(even) { background: var(--cream); }
.cpc-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; line-height: 1.5; color: var(--body-text); }
.cpc-table tbody tr:last-child td { border-bottom: none; }
.comp-medium { background: #fef9c3; color: #854d0e; font-size: 0.72rem; font-weight: 700; padding: 2px 8px; border-radius: 99px; display: inline-block; }
.roi-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 36px 0; }
.roi-header { background: var(--teal); padding: 16px 24px; }
.roi-header h3 { color: #fff; margin: 0; font-family: var(--font-body); font-size: 1rem; font-weight: 700; }
.roi-header p { color: rgba(255,255,255,.75); font-size: 0.83rem; margin: 4px 0 0; }
.roi-body { padding: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.roi-scenario { background: var(--cream); border-radius: 10px; padding: 18px; border: 1px solid var(--border); }
.roi-scenario h4 { font-family: var(--font-body); font-weight: 700; font-size: 0.88rem; color: var(--navy); margin: 0 0 12px; }
.roi-row:last-of-type { border-bottom: none; }
.roi-total { display: flex; justify-content: space-between; font-size: 0.9rem; font-weight: 700; margin-top: 10px; padding-top: 10px; border-top: 2px solid var(--teal); color: var(--navy); }
.roi-total span:last-child { color: var(--teal); }
.formula-box p { color: rgba(255,255,255,.7); font-size: 0.85rem; margin: 0 0 10px; }
.formula-box .formula { font-family: var(--font-heading); font-size: 1.25rem; color: var(--teal); line-height: 1.5; margin: 0; }
.formula-box .formula span { color: #fff; }
.pricing-breakdown { background: #f8fafc; border: 1px solid var(--border); border-radius: 12px; padding: 24px 28px; margin: 28px 0; }
.pricing-breakdown__title { font-family: var(--font-heading); font-size: 1.1rem; color: var(--navy); margin: 0 0 18px; }
.pb-row { display: flex; justify-content: space-between; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--border); font-size: .9rem; }
.pb-row:last-child { border-bottom: none; padding-bottom: 0; }
.pb-row__label { color: var(--body-text); flex: 1; }
.pb-row__value { font-weight: 600; color: var(--navy); min-width: 80px; text-align: right; }
.pb-row__value--total { color: var(--teal); font-size: 1.05rem; }
.pb-row--total { border-top: 2px solid var(--navy); margin-top: 4px; padding-top: 12px; }
.pb-row--sub { padding: 5px 0; }
.pb-row--sub .pb-row__label { color: var(--muted); font-size: .85rem; padding-left: 16px; }
.pb-row--sub .pb-row__value { color: var(--muted); font-weight: 400; font-size: .85rem; }
.overhead-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; margin: 28px 0; }
.overhead-card { border-radius: 10px; padding: 16px 14px; border: 1px solid var(--border); background: #fff; text-align: center; }
.overhead-card__cat { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 6px; display: block; }
.overhead-card__item { font-weight: 600; color: var(--navy); font-size: .9rem; margin-bottom: 4px; }
.overhead-card__cost { font-size: .82rem; color: var(--teal); font-weight: 700; }
.overhead-card__note { font-size: .75rem; color: var(--muted); line-height: 1.4; margin-top: 4px; }
.reg-banner { background: #eef2ff; border: 1px solid #c7d2fe; border-left: 4px solid #4f46e5; border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 28px 0; display: flex; gap: 14px; align-items: flex-start; }
.reg-banner__icon { font-size: 1.4rem; flex-shrink: 0; line-height: 1.2; }
.reg-banner__body { font-size: .95rem; color: var(--body-text); }
.reg-banner__body strong { display: block; color: #3730a3; margin-bottom: 4px; font-size: 1rem; }
.weight-row { display: flex; align-items: center; gap: 14px; margin: 12px 0; }
.weight-row__label { width: 170px; flex-shrink: 0; font-size: .85rem; font-weight: 600; color: var(--navy); }
.weight-row__track { flex: 1; height: 22px; background: #f1f5f9; border-radius: 6px; overflow: hidden; position: relative; }
.weight-row__fill { height: 100%; border-radius: 6px; display: flex; align-items: center; padding-left: 10px; }
.weight-row__fill span { font-size: .74rem; font-weight: 700; color: #fff; }
.option-card--poly { border-color: #fde68a; }
.option-card--glass { border-color: #bae6fd; }
.option-card--solid { border-color: #bbf7d0; }
.option-card--hybrid { border-color: #ddd6fe; }
.option-card--poly .option-card__badge { background: #fef9c3; color: #854d0e; }
.option-card--glass .option-card__badge { background: #e0f2fe; color: #0369a1; }
.option-card--solid .option-card__badge { background: #dcfce7; color: #166534; }
.option-card--hybrid .option-card__badge { background: #ede9fe; color: #6d28d9; }
.flag-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.objection-block { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 24px 0; }
.obj-question { background: #fef2f2; border-bottom: 1px solid #fca5a5; padding: 14px 20px; font-size: 0.93rem; font-weight: 700; color: #991b1b; }
.obj-answer { padding: 16px 20px; font-size: 0.9rem; color: var(--body-text); line-height: 1.7; }
.obj-answer strong { color: var(--navy); display: block; margin-bottom: 6px; font-size: 0.8rem; text-transform: uppercase; letter-spacing: .05em; color: var(--teal); }
.roof-split { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 36px 0; }
.rs-col { padding: 22px 20px; }
.rs-col.flat { background: #f0f9ff; border-right: 1px solid var(--border); }
.rs-col.pitched { background: #f0fdf4; }
.rs-header { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.rs-icon { font-size: 1.4rem; }
.rs-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.rs-col.flat .rs-label { color: #1e40af; }
.rs-col.pitched .rs-label { color: #14532d; }
.rs-col h4 { font-family: var(--font-body); font-weight: 700; font-size: 0.95rem; margin-bottom: 12px; }
.rs-col.flat h4 { color: #1e3a8a; }
.rs-col.pitched h4 { color: #14532d; }
.rs-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 7px; }
.rs-col li { font-size: 0.87rem; color: var(--body-text); padding-left: 18px; position: relative; line-height: 1.5; }
.rs-col.flat li::before { content: "→"; position: absolute; left: 0; color: #1d4ed8; font-size: 0.8rem; }
.rs-col.pitched li::before { content: "→"; position: absolute; left: 0; color: #16a34a; font-size: 0.8rem; }
.material-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin: 28px 0; }
.mat-card-head { padding: 14px 16px 10px; }
.mat-card-head.epdm { background: #f0f9ff; border-bottom: 1px solid #bae6fd; }
.mat-card-head.grp { background: #f0fdf4; border-bottom: 1px solid #86efac; }
.mat-card-head.felt { background: #fff7ed; border-bottom: 1px solid #fdba74; }
.mat-card-head.concrete { background: #f5f3ff; border-bottom: 1px solid #c4b5fd; }
.mat-card-head.slate { background: #fef9c3; border-bottom: 1px solid #fde047; }
.mat-card-head.clay { background: #fef2f2; border-bottom: 1px solid #fca5a5; }
.mat-name { font-weight: 700; font-size: 0.88rem; margin-bottom: 3px; }
.mat-card-head.epdm .mat-name { color: #1e3a8a; }
.mat-card-head.grp .mat-name { color: #14532d; }
.mat-card-head.felt .mat-name { color: #c2410c; }
.mat-card-head.concrete .mat-name { color: #4c1d95; }
.mat-card-head.slate .mat-name { color: #854d0e; }
.mat-card-head.clay .mat-name { color: #991b1b; }
.mat-life { font-size: 0.75rem; font-weight: 600; }
.mat-card-head.epdm .mat-life { color: #1d4ed8; }
.mat-card-head.grp .mat-life { color: #15803d; }
.mat-card-head.felt .mat-life { color: #ea580c; }
.mat-card-head.concrete .mat-life { color: #6d28d9; }
.mat-card-head.slate .mat-life { color: #92400e; }
.mat-card-head.clay .mat-life { color: #b91c1c; }
.mat-body { padding: 12px 16px; background: #fff; }
.mat-body p { font-size: 0.83rem; color: var(--body-text); margin: 0; line-height: 1.6; }
.decision-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.decision-table thead { background: var(--navy); color: #fff; }
.decision-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.decision-table tbody tr:nth-child(even) { background: var(--cream); }
.decision-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: top; line-height: 1.55; color: var(--body-text); }
.decision-table tbody tr:last-child td { border-bottom: none; }
.tag-repair { background: #dcfce7; color: #14532d; font-size: 0.7rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; white-space: nowrap; }
.tag-replace { background: #fee2e2; color: #991b1b; font-size: 0.7rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; white-space: nowrap; }
.tag-assess { background: #fef9c3; color: #854d0e; font-size: 0.7rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; white-space: nowrap; }
.cost-card.flat { background: #f0f9ff; border-color: #93c5fd; }
.cost-card.pitched { background: #f0fdf4; border-color: #86efac; }
.cost-card .cc-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }
.cost-card.flat .cc-label { color: #1e40af; }
.cost-card.pitched .cc-label { color: #14532d; }
.cost-card .cc-job { font-size: 0.88rem; font-weight: 700; color: var(--navy); margin-bottom: 3px; }
.cost-card .cc-range { font-size: 0.85rem; color: var(--teal); font-weight: 700; }
.cost-card .cc-note { font-size: 0.78rem; color: var(--muted); margin-top: 3px; line-height: 1.4; }
.section-block { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 36px 0; }
.cb-tick { flex-shrink: 0; width: 22px; height: 22px; border: 2px solid var(--teal); border-radius: 5px; margin-top: 1px; }
.cb-tick.red { border-color: #dc2626; }
.cb-content strong { display: block; font-size: 0.92rem; font-weight: 700; color: var(--navy); margin-bottom: 3px; }
.cb-content p { font-size: 0.85rem; color: var(--body-text); margin: 0; line-height: 1.55; }
.red-flag-list { list-style: none; padding: 0; margin: 20px 0; display: flex; flex-direction: column; gap: 10px; }
.red-flag-list li { display: flex; gap: 14px; align-items: flex-start; background: #fef2f2; border: 1px solid #fca5a5; border-radius: 10px; padding: 14px 16px; }
.rf-icon { flex-shrink: 0; font-size: 1.1rem; margin-top: 1px; }
.rf-content strong { display: block; font-size: 0.9rem; font-weight: 700; color: #991b1b; margin-bottom: 3px; }
.rf-content p { font-size: 0.85rem; color: var(--body-text); margin: 0; line-height: 1.55; }
.compare-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px var(--border); margin: 28px 0; }
.compare-table thead { background: var(--navy); color: #fff; }
.compare-table thead th { padding: 11px 16px; text-align: left; font-size: 0.78rem; letter-spacing: .04em; font-weight: 700; }
.compare-table tbody tr:nth-child(even) { background: var(--cream); }
.compare-table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--border); vertical-align: top; line-height: 1.55; color: var(--body-text); }
.compare-table tbody tr:last-child td { border-bottom: none; }
.must-have { background: #dcfce7; color: #14532d; font-size: 0.7rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; white-space: nowrap; }
.good-sign { background: #dbeafe; color: #1e3a8a; font-size: 0.7rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; white-space: nowrap; }
.red-flag-tag { background: #fee2e2; color: #991b1b; font-size: 0.7rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; display: inline-block; white-space: nowrap; }
.faq-q span { font-size: 1.1rem; color: var(--teal); flex-shrink: 0; margin-left: 12px; }
.hf-field input, .hf-field textarea { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); border-radius: 8px; padding: 12px 14px; font-family: var(--font-body); font-size: 0.93rem; color: #fff; outline: none; transition: border-color .2s, background .2s; -webkit-appearance: none; }
.hf-field input:focus, .hf-field textarea:focus { border-color: var(--teal); background: rgba(255,255,255,.15); }
.tile-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; margin: 24px 0 32px; }
.tile-card { border: 1px solid var(--border); border-radius: 12px; padding: 18px 16px; }
.tile-card-name { font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--teal); margin-bottom: 4px; }
.tile-card-cost { font-size: 1.3rem; font-weight: 800; color: var(--navy); font-family: var(--font-body); margin-bottom: 2px; line-height: 1.2; }
.tile-card-cost span { font-size: 0.78rem; font-weight: 400; color: var(--muted); }
.tile-card-life { font-size: 0.8rem; color: var(--muted); margin-bottom: 10px; }
.tile-card-pros { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.tile-card-pros li { font-size: 0.8rem; color: var(--body-text); padding-left: 14px; position: relative; line-height: 1.4; }
.tile-card-pros li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 700; font-size: 0.75rem; }
.season-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 32px 0; }
.season-card { border-radius: 10px; padding: 24px; border: 1px solid var(--border); }
.season-card__label { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 8px; }
.season-card__title { font-family: var(--font-heading); font-size: 1.2rem; color: var(--navy); margin: 0 0 12px; }
.season-card__body { font-size: 0.95rem; color: var(--body-text); margin: 0; line-height: 1.7; }
.season-card--peak { background: #f0fdf4; border-color: #bbf7d0; }
.season-card--peak .season-card__label { color: #16a34a; }
.season-card--build { background: #fffbeb; border-color: #fde68a; }
.season-card--build .season-card__label { color: #d97706; }
.season-card--low { background: #fff5f5; border-color: #fecaca; }
.season-card--low .season-card__label { color: #dc2626; }
.season-card--storm { background: #f0f9ff; border-color: #bae6fd; }
.season-card--storm .season-card__label { color: #0284c7; }
.badge { display: inline-block; font-size: 0.72rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.05em; }
.badge--high { background: #dcfce7; color: #16a34a; }
.badge--medium { background: #fef9c3; color: #854d0e; }
.badge--low { background: #fee2e2; color: #b91c1c; }
.badge--storm { background: #dbeafe; color: #1d4ed8; }
.kw-group { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 32px 0; }
.kg-header { display: grid; grid-template-columns: 56px 1fr; background: var(--navy); color: #fff; }
.kg-icon { display: flex; align-items: center; justify-content: center; font-size: 1.3rem; padding: 16px 0; flex-shrink: 0; }
.kg-icon.emergency { background: #dc2626; }
.kg-icon.local { background: #0b8880; }
.kg-icon.service { background: #1d4ed8; }
.kg-icon.commercial { background: #6d28d9; }
.kg-icon.cost { background: #b45309; }
.kg-icon.seasonal { background: #0f766e; }
.kg-icon.negative { background: #374151; }
.kg-title { padding: 15px 20px; font-family: var(--font-body); font-weight: 700; font-size: 0.97rem; line-height: 1.35; }
.kg-title small { display: block; font-size: 0.68rem; font-weight: 400; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.kg-body { padding: 20px 24px; }
.kg-body > p { font-size: 0.93rem; color: var(--body-text); margin-bottom: 16px; }
.kw-table { width: 100%; border-collapse: collapse; font-size: 0.84rem; }
.kw-table thead tr { background: var(--cream); }
.kw-table thead th { padding: 8px 12px; text-align: left; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); border-bottom: 1px solid var(--border); }
.kw-table tbody tr { border-bottom: 1px solid var(--border); }
.kw-table tbody tr:last-child { border-bottom: none; }
.kw-table tbody td { padding: 9px 12px; vertical-align: middle; color: var(--body-text); line-height: 1.4; }
.kw-table code { font-family: "Courier New", monospace; font-size: 0.82rem; color: var(--navy); font-weight: 600; background: rgba(13,43,69,.06); padding: 1px 5px; border-radius: 3px; }
.intent-badge { font-size: 0.67rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 2px 8px; border-radius: 99px; white-space: nowrap; display: inline-block; }
.intent-badge.high { background: #dcfce7; color: #14532d; }
.intent-badge.medium { background: #fef9c3; color: #854d0e; }
.intent-badge.low { background: #f3f4f6; color: #6b7280; }
.intent-badge.negative { background: #fee2e2; color: #991b1b; }
.channel-pill { font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 2px 7px; border-radius: 99px; display: inline-block; margin-right: 3px; margin-bottom: 2px; }
.channel-pill.maps { background: #d1fae5; color: #065f46; }
.channel-pill.ads { background: #dbeafe; color: #1e3a8a; }
.channel-pill.seo { background: #ede9fe; color: #4c1d95; }
.channel-pill.neg { background: #fee2e2; color: #991b1b; }
.kg-note { background: var(--cream); border-top: 1px solid var(--border); padding: 12px 24px; display: flex; gap: 10px; align-items: flex-start; }
.kg-note-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--teal); white-space: nowrap; margin-top: 1px; flex-shrink: 0; }
.kg-note p { font-size: 0.85rem; margin: 0; color: var(--body-text); line-height: 1.6; }

@media (max-width: 560px) {
  .do-dont { grid-template-columns: 1fr; }
  .option-card__stats { grid-template-columns: repeat(2, 1fr); }
  .contrast-grid { grid-template-columns: 1fr; }
  .platform-card__stats { grid-template-columns: repeat(2, 1fr); }
  .spec-strip__row { grid-template-columns: 1fr; }
  .spec-strip__label { border-right: none; border-bottom: 1px solid var(--border); }
  .chase-step { grid-template-columns: 1fr; }
  .chase-step__day { text-align: left; }
  .target-card { grid-template-columns: 1fr; }
  .target-card .tc-icon { width: 40px; height: 40px; font-size: 1.2rem; }
  .channel-profile__stats { grid-template-columns: repeat(2, 1fr); }
  .cost-compare { grid-template-columns: 1fr; }
  .hf-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .factor-grid { grid-template-columns: 1fr; }
  .pros-cons-grid { grid-template-columns: 1fr; }
  .vs-grid { grid-template-columns: 1fr; }
  .prev-grid { grid-template-columns: 1fr; }
  .location-grid { grid-template-columns: 1fr; }
  .pillar-grid { grid-template-columns: 1fr; }
  .cause-grid { grid-template-columns: 1fr; }
  .feature-grid { grid-template-columns: 1fr; }
  .when-grid { grid-template-columns: 1fr; }
  .signal-grid { grid-template-columns: 1fr; }
  .type-grid { grid-template-columns: 1fr; }
  .benefit-grid { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  .channel-card__stats { grid-template-columns: repeat(2, 1fr); }
  .pb-channels { grid-template-columns: 1fr; }
  .contract-card__stats { grid-template-columns: repeat(2, 1fr); }
  .doc-grid { grid-template-columns: 1fr; }
  .response-grid { grid-template-columns: 1fr; }
  .versus-banner { grid-template-columns: 1fr; }
  .versus-divider { writing-mode: horizontal-tb; padding: 10px 20px; font-size: 1rem; }
  .calc-grid { grid-template-columns: 1fr; }
  .spectrum-row { grid-template-columns: 1fr 1fr; }
  .spectrum-row .sr-bar-wrap { display: none; }
  .do-dont { grid-template-columns: 1fr; }
  .ad-compare { grid-template-columns: 1fr; }
}

@media (max-width: 580px) {
  .scenario-grid { grid-template-columns: 1fr; }
  .ownership-grid { grid-template-columns: 1fr; }
  .vet-grid { grid-template-columns: 1fr; }
  .verdict-row { grid-template-columns: 1fr; }
  .asb-type-grid { grid-template-columns: 1fr; }
  .segment-grid { grid-template-columns: 1fr; }
  .verdict-grid { grid-template-columns: 1fr; }
  .method-grid { grid-template-columns: 1fr; }
  .audience-grid { grid-template-columns: 1fr; }
  .rules-strip { grid-template-columns: 1fr; }
  .system-card__stats { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 520px) {
  .option-card__pros-cons { grid-template-columns: 1fr; }
  .diagnosis-grid { grid-template-columns: 1fr; }
  .search-term-grid { grid-template-columns: 1fr; }
  .ad-compare { grid-template-columns: 1fr; }
  .is-header { grid-template-columns: 48px 1fr; }
  .is-safety { display: none; }
  .calc-row { grid-template-columns: 1fr; }
  .system-card__pros-cons { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .model-grid { grid-template-columns: 1fr; }
  .scenario-grid { grid-template-columns: 1fr; }
  .diagnosis-grid { grid-template-columns: 1fr; }
  .season-grid { grid-template-columns: 1fr; }
  .vs-grid { grid-template-columns: 1fr; }
}

@media (max-width:540px) {
  .vs-grid { grid-template-columns: 1fr; }
  .urgency-strip { flex-direction: column; }
  .urgency-col { border-right: none; border-bottom: 1px solid var(--border); }
  .urgency-col.u4 { border-bottom: none; }
  .compare-cards { grid-template-columns: 1fr; }
  .ownership-grid { grid-template-columns: 1fr; }
  .roi-body { grid-template-columns: 1fr; }
  .roof-split { grid-template-columns: 1fr; }
  .rs-col.flat { border-right: none; border-bottom: 1px solid var(--border); }
}

@media (max-width:560px) {
  .hf-grid { grid-template-columns: 1fr; }
  .debate-split { grid-template-columns: 1fr; }
  .ds-col.for { border-right: none; border-bottom: 1px solid var(--border); }
  .mc-body { grid-template-columns: 1fr; }
}

@media (max-width: 500px) {
  .tier-grid { grid-template-columns: 1fr; }
  .conv-compare { grid-template-columns: 1fr; }
  .safety-split { grid-template-columns: 1fr; }
}

@media (max-width:520px) {
  .char-rules { grid-template-columns: 1fr; }
  .compare-grid { grid-template-columns: 1fr; }
  .cost-compare { grid-template-columns: 1fr; }
  .ls-row { grid-template-columns: 140px 1fr 48px; }
  .cost-row { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .vs-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .calc-result__rows { grid-template-columns: 1fr; }
}