/* Styles for the Fire Safety Score page only. Shared ads and site navigation are inherited. */
.fss-page, .fss-rating-container { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; max-width:1080px; margin-inline:auto; }
.fss-page *, .fss-rating-container * { box-sizing:border-box; }
.fss-page { color:#111827; font-size:15px; line-height:1.65; }
.fss-page .fss-hero { padding:24px 0 8px; }
.fss-page .fss-eyebrow { margin:0 0 8px; color:#9a3412; font-size:12px; font-weight:700; letter-spacing:.05em; }
.fss-page h1 { margin:0 0 12px; font-size:clamp(27px,4vw,38px); font-weight:750; line-height:1.2; }
.fss-page .fss-lead { max-width:760px; margin:0 0 16px; font-size:16px; color:#475569; line-height:1.7; }
.fss-page .fss-hero-meta, .fss-page .fss-page-links { display:flex; flex-wrap:wrap; gap:10px 20px; }
.fss-page .fss-hero-meta { font-size:13px; font-weight:600; color:#475569; }
.fss-page .fss-page-links { margin-top:14px; font-size:14px; align-items:center; }
.fss-page .fss-page-links a:first-child { padding:8px 12px; border:1px solid #c2410c; border-radius:8px; font-weight:700; text-decoration:none; }
.fss-page .fss-page-links a { color:#9a3412; text-decoration:underline; text-underline-offset:3px; }
.fss-page .fss-ad-area { margin:24px 0; }
.fss-page .fss-ad-area::before { content:'Advertisement'; display:block; margin-bottom:4px; text-align:center; color:#64748b; font-size:11px; letter-spacing:.04em; }
.fss-page #fss-tool, .fss-page #faq, .fss-page #fss-about-title { scroll-margin-top:24px; }
.fss-page #fss-tool { margin:0 0 36px; }
.fss-page .fss-wrap { background:#111827; border:1px solid #263244; border-radius:16px; padding:28px; color:#f1f5f9; }
#fss-tool [hidden] { display:none!important; }
#fss-tool .fss-scr { display:none; }
#fss-tool .fss-scr.on { display:block; }
#fss-tool h2, #fss-tool h3 { color:#f8fafc; font-weight:700; line-height:1.35; margin:0 0 12px; }
#fss-tool h2 { font-size:23px; }
#fss-tool h3 { font-size:17px; }
#fss-tool p { margin:0 0 14px; }
#fss-tool .fss-muted { color:#cbd5e1; font-size:14px; }
#fss-tool .fss-small { color:#b8c5d8; font-size:12px; line-height:1.7; }
#fss-tool .fss-small:empty { display:none; }
#fss-tool .fss-welcome-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; }
#fss-tool .fss-overview { border-left:1px solid #334155; padding-left:28px; }
#fss-tool .fss-coverage { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
#fss-tool .fss-coverage li { margin:0; padding:0; }
#fss-tool .fss-coverage strong { display:block; font-size:14px; font-weight:600; }
#fss-tool .fss-coverage span { display:block; color:#b8c5d8; font-size:13px; }
#fss-tool .fss-context { display:block; color:#dbe4f0; font-size:14px; margin:12px 0 6px; }
#fss-tool .fss-context input[type=checkbox] { width:18px; height:18px; margin:0 8px 0 0; vertical-align:middle; accent-color:#fb923c; }
#fss-tool #fss-building { display:block; width:100%; border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#111827; min-height:46px; padding:10px 12px; font:inherit; }
#fss-tool .fss-preferences { margin:16px 0; border:1px solid #334155; border-radius:8px; padding:12px; }
#fss-tool .fss-preferences summary, #fss-tool .fss-review summary { cursor:pointer; color:#e2e8f0; font-size:14px; font-weight:600; }
#fss-tool .fss-preferences .fss-small { margin:12px 0 0; }
#fss-tool .fss-btn-primary, #fss-tool .fss-btn-sec { font-family:inherit; font-size:14px; font-weight:600; line-height:1.4; border-radius:8px; cursor:pointer; min-height:44px; padding:11px 15px; }
#fss-tool .fss-btn-primary { width:100%; background:#c2410c; color:#fff; border:1px solid #c2410c; font-size:15px; font-weight:700; }
#fss-tool .fss-btn-primary:hover { background:#9a3412; border-color:#9a3412; }
#fss-tool .fss-btn-sec { background:#1e293b; color:#e2e8f0; border:1px solid #475569; }
#fss-tool .fss-btn-sec:hover { background:#334155; }
#fss-tool .fss-btn-sec:disabled { opacity:.45; cursor:default; }
#fss-tool .fss-saved-controls { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
#fss-tool .fss-note { border-left:3px solid #fb923c; padding:10px 12px; background:#1e293b; border-radius:0 6px 6px 0; color:#cbd5e1; font-size:12px; line-height:1.75; margin:20px 0 0; }
#fss-tool .fss-pill { display:inline-block; border:1px solid currentColor; border-radius:8px; padding:5px 10px; font-size:13px; font-weight:600; line-height:1.5; }
#fss-tool .fss-pill-fire { color:#fdba74; background:#292524; }
#fss-tool #fss-counter { white-space:nowrap; }
#fss-tool .fss-track { background:#334155; border-radius:4px; height:6px; overflow:hidden; }
#fss-tool .fss-fill { background:#fb923c; height:100%; border-radius:4px; }
#fss-tool .fss-opt { width:100%; text-align:left; padding:14px 16px; margin:0 0 10px; min-height:48px; background:#1e293b; border:1px solid #475569; border-radius:9px; color:#f1f5f9; font:inherit; font-size:15px; cursor:pointer; line-height:1.55; }
#fss-tool .fss-opt:hover, #fss-tool .fss-opt.fss-picked { border-color:#fb923c; background:#30271f; }
#fss-tool .fss-controls, #fss-tool .fss-actions { display:flex; gap:10px; flex-wrap:wrap; margin:16px 0; }
#fss-tool .fss-results-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; margin-bottom:18px; }
#fss-tool .fss-card { border:1px solid #334155; border-radius:12px; padding:20px; background:#172033; min-width:0; }
#fss-tool .fss-score-row { display:flex; align-items:center; gap:18px; margin-bottom:16px; }
#fss-tool .fss-score-row svg { flex-shrink:0; }
#fss-tool .fss-score-row .fss-muted { display:block; margin-bottom:8px; font-size:12px; }
#fss-tool #fss-score-context { margin-bottom:0; }
#fss-tool #fss-context-advice:empty { display:none; }
#fss-tool #fss-context-advice { color:#dbe4f0; font-size:14px; line-height:1.7; }
#fss-tool .fss-sec-bar { margin-bottom:14px; }
#fss-tool .fss-sec-bar:last-child { margin-bottom:0; }
#fss-tool .fss-sec-hdr { display:flex; justify-content:space-between; gap:8px; font-size:13px; margin-bottom:6px; }
#fss-tool .fss-rec { display:flex; align-items:flex-start; gap:12px; padding:18px 0; border-bottom:1px solid #334155; }
#fss-tool .fss-rec:last-child { border-bottom:0; padding-bottom:0; }
#fss-tool .fss-rec > div:last-child { min-width:0; }
#fss-tool .fss-rec strong { font-size:14px; }
#fss-tool .fss-rec p { color:#cbd5e1; font-size:14px; line-height:1.75; margin:8px 0; }
#fss-tool .fss-rec-n { flex:0 0 26px; height:26px; border-radius:50%; background:#9a3412; color:#fff; text-align:center; font-size:13px; line-height:26px; font-weight:700; }
#fss-tool a { color:#fdba74; text-decoration:underline; text-underline-offset:3px; }
#fss-tool .fss-review { border:1px solid #334155; border-radius:9px; padding:14px; margin-top:18px; }
#fss-tool .fss-answer { border-bottom:1px solid #334155; padding:16px 0; font-size:14px; }
#fss-tool .fss-answer p { color:#cbd5e1; margin:8px 0; }
#fss-tool #fss-copy-fallback { width:100%; min-height:240px; color:#111827; background:#fff; padding:12px; margin-bottom:16px; }
.fss-page a:focus-visible, #fss-tool button:focus-visible, #fss-tool summary:focus-visible, #fss-tool select:focus-visible { outline:3px solid #fb923c; outline-offset:3px; }
.fss-page .fss-support, .fss-page .fss-info, .fss-page .fss-related { margin:0 0 28px; }
.fss-page .fss-support h2, .fss-page .fss-info h2, .fss-page .fss-related h2 { color:#111827; font-size:clamp(21px,3vw,26px); line-height:1.3; font-weight:700; margin:0 0 16px; }
.fss-page .fss-faq { border:1px solid #e2e8f0; border-radius:10px; margin:0 0 10px; overflow:hidden; }
.fss-page .fss-faq summary { padding:16px; color:#111827; font-size:15px; font-weight:600; cursor:pointer; }
.fss-page .fss-faq-body { padding:0 16px 16px; font-size:14px; color:#475569; line-height:1.75; }
.fss-page .fss-info { padding:24px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; color:#475569; font-size:14px; line-height:1.75; }
.fss-page .fss-info h3 { margin:20px 0 12px; font-size:15px; color:#334155; font-weight:700; }
.fss-page .fss-info p { margin:0 0 14px; }
.fss-page .fss-sources, .fss-page .fss-guide-grid { list-style:none; display:grid; padding:0; margin:0; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.fss-page .fss-sources li, .fss-page .fss-guide-grid li { padding:0; margin:0; min-width:0; }
.fss-page .fss-sources a { display:flex; align-items:center; min-height:48px; padding:10px 14px; background:#fff; color:#9a3412; font-size:14px; font-weight:600; border:1px solid #e2e8f0; border-radius:8px; text-decoration:none; overflow-wrap:anywhere; }
.fss-page .fss-guide-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.fss-page .fss-guide { display:flex; flex-direction:column; height:100%; gap:10px; padding:18px; border:1px solid #e2e8f0; border-radius:12px; background:#f8fafc; text-decoration:none; color:#111827; line-height:1.5; }
.fss-page .fss-guide strong { font-size:15px; font-weight:700; }
.fss-page .fss-guide > span { color:#475569; font-size:14px; }
.fss-page .fss-guide .fss-guide-cta { color:#9a3412; font-size:13px; font-weight:700; margin-top:auto; padding-top:6px; }
.fss-page .fss-guide:hover, .fss-page .fss-sources a:hover { border-color:#c2410c; background:#fff7ed; }
.fss-rating-container { padding:0 20px; }
#fss-print-report { display:none; }
@media(max-width:992px) { .fss-page #fss-tool, .fss-page #faq, .fss-page #fss-about-title { scroll-margin-top:110px; } }
@media(max-width:900px) { .fss-page .fss-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
 .fss-page .fss-hero { padding-top:18px; }
 .fss-page .fss-wrap { padding:20px 16px; border-radius:12px; }
 #fss-tool .fss-welcome-grid, #fss-tool .fss-results-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
 #fss-tool .fss-overview { padding:20px 0 0; border-left:0; border-top:1px solid #334155; }
 #fss-tool .fss-card { padding:16px; }
 #fss-tool .fss-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 #fss-tool .fss-actions button { padding-inline:8px; font-size:13px; }
 .fss-page .fss-info { padding:18px; }
 .fss-page .fss-sources, .fss-page .fss-guide-grid { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) { #fss-tool * { transition:none!important; scroll-behavior:auto!important; } }
@media print {
 body.fss-print-ready > * { display:none!important; }
 body.fss-print-ready > #fss-print-report { display:block!important; color:#111; background:#fff; font:11pt/1.5 Arial,sans-serif; }
 #fss-print-report h1 { font-size:20pt; }
 #fss-print-report li { margin-bottom:10px; }
 #fss-print-report a { color:#111; overflow-wrap:anywhere; }
}
