/* Article layouts and local proposal tools. */
.article-page{padding-block:25px 45px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:.8125rem;color:var(--muted);margin-bottom:29px}
.breadcrumbs span:before{content:'/';padding-right:10px}
.eyebrow{font-size:.875rem;font-weight:600;color:var(--accent);margin-bottom:12px}
.article-page>h1{font-size:2.375rem;max-width:870px}
.article-intro{font-size:1.0625rem;color:var(--muted);max-width:790px;margin-bottom:32px}
.article-columns{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:80px;align-items:start}
.article-columns article h2{font-size:1.375rem;margin:26px 0 12px}
.article-columns article section:first-child h2{margin-top:0}
.article-columns article p{color:var(--muted)}
.plain-list{padding-left:22px;color:var(--muted)}
.plain-list li{padding-block:4px}
.article-note{font-size:.8125rem;color:var(--muted);border-top:1px solid var(--line);padding-top:17px;margin-top:27px}
.article-aside{padding:19px;background:var(--pale);border-radius:6px}
.article-aside>.service-photo{margin:-19px -19px 20px;border-bottom-left-radius:0;border-bottom-right-radius:0}
.article-aside h2{font-size:1.25rem}
.article-aside p{font-size:.875rem;color:var(--muted)}
.article-aside .button{width:100%;font-size:.9375rem;margin-bottom:23px}
.article-aside h3{font-size:.9375rem}
.article-aside nav{display:flex;flex-direction:column;gap:12px;font-size:.875rem}
@media(max-width:1000px){.article-columns{gap:40px}}
@media(max-width:760px){.article-page{padding-block:22px 35px}
.breadcrumbs{margin-bottom:23px}
.article-page>h1{font-size:1.9375rem}
.article-intro{font-size:1rem;margin-bottom:25px}
.article-columns{grid-template-columns:1fr;gap:27px}
.article-columns article h2{font-size:1.25rem}
.article-aside{padding:20px}
.article-aside>.service-photo{margin:-20px -20px 20px}
.article-page+.footer{padding-bottom:28px}}
.worksheet-download{max-width:760px;margin:0 0 30px;padding:16px 0;border-block:1px solid var(--line);font-size:.9375rem}
.worksheet-download a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.worksheet-download span{display:block;color:var(--muted);font-size:.875rem;margin-top:2px}
@media print{.worksheet-download{display:none!important}}
.scope-table-wrap{max-width:100%;margin:28px 0}
.scope-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.9375rem;line-height:1.6}
.scope-table caption{text-align:left;font-size:1.25rem;font-weight:700;margin-bottom:12px}
.scope-table th,.scope-table td{text-align:left;vertical-align:top;padding:13px 12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.scope-table thead{background:var(--pale)}
.scope-table th:first-child{width:31%}
.scope-table td{color:var(--muted)}
.service-questions details{border-bottom:1px solid var(--line);padding:12px 0}
.service-questions summary{cursor:pointer;font-weight:600;min-height:44px;display:list-item;align-content:center}
.service-questions details p{margin:10px 0 4px}
.website-facts{margin:16px 0 24px;max-width:800px}
.website-facts>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}
.website-facts dt{font-weight:600}
.website-facts dd{margin:0;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:760px){.scope-table{font-size:.875rem}
.scope-table th,.scope-table td{padding:11px 8px}
.website-facts>div{grid-template-columns:110px minmax(0,1fr);gap:14px}
.service-questions summary{font-size:.9375rem}}
.info-page{max-width:760px}
.info-page section{margin:28px 0}
.info-page h2{font-size:24px}
[data-print-guide]{font:inherit}
.editor-credit{font-size:.8125rem;color:var(--muted);margin:-15px 0 20px}
.guide-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:0 0 30px}
.print-guide{border:0;background:none;color:var(--accent);padding:12px 0;min-height:44px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.resource-list{list-style:none;padding:0;margin:0}
.resource-list li{padding:13px 0;border-bottom:1px solid var(--line)}
.resource-list a{font-weight:600}
.resource-list p{font-size:.9375rem;margin:7px 0 0}
.quote-checks{border-top:1px solid var(--line)}
.quote-checks details{border-bottom:1px solid var(--line);padding:14px 0}
.quote-checks summary{font-weight:600;cursor:pointer;min-height:32px;line-height:1.6}
.quote-checks p{font-size:.9375rem;margin:10px 0 0}
.planning-guide .preparation-list{margin-bottom:28px}
.planning-guide .article-intro{margin-bottom:30px}
@media(max-width:760px){.editor-credit{line-height:1.6;margin-top:-13px}
.guide-actions{gap:12px;margin-bottom:25px}
.guide-actions .button{flex:1}
.planning-guide .article-aside{margin-top:0}
.resource-list a{overflow-wrap:anywhere}}
@media print{.header,.footer,.article-aside,.guide-actions,.breadcrumbs,.skip{display:none!important}
.article-columns{display:block}
.article-page{padding:0}
.article-page>h1{font-size:22pt}
.quote-checks details>:not(summary){display:block!important}
.quote-checks details{break-inside:avoid}
.resource-list a{color:#182632}
.article-note{font-size:9pt}}
.site-guide .info-page{max-width:860px}
.site-guide li{overflow-wrap:anywhere}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.quote-workbook{max-width:1120px}
.quote-workbook h1{font-size:clamp(1.8rem,4vw,2.8rem);max-width:900px}
.quote-workbook .article-intro{max-width:850px}
.third-toggle{display:flex;align-items:center;gap:.65rem;font-size:1rem;margin:1rem 0}
.third-toggle input{width:1.2rem;height:1.2rem}
.scope-inputs{width:100%;border-collapse:collapse;table-layout:fixed;margin:1.1rem 0}
.scope-inputs caption{text-align:left;font-size:1.1rem;font-weight:700;margin-bottom:.8rem}
.scope-inputs th,.scope-inputs td{padding:.8rem;border:1px solid #ccd5de;text-align:left;vertical-align:top}
.scope-inputs th:first-child{width:39%}
.scope-inputs thead th{background:#eef3f8;color:#122d45}
.scope-inputs th small{display:block;font-weight:400;font-size:.92rem;line-height:1.45;margin-top:.4rem}
.scope-inputs select{width:100%;min-width:0;padding:.6rem .3rem;font-size:1rem;color:#122d45;border:1px solid #8494a3;border-radius:4px;background:#fff}
.scope-inputs [hidden]{display:none}
.workbook-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0}
.workbook-actions .secondary{background:#fff;color:#17374f;border:1px solid #637e93}
.scope-result{padding:1.3rem;margin:1.4rem 0;border-left:4px solid #2568a2;background:#eef4fa;color:#122d45}
.scope-result h2{margin-top:0}
.scope-result li{line-height:1.6;margin:.75rem 0}
.scope-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.scope-key dt{font-weight:700}
.scope-key dd{margin:.3rem 0}
.scope-checklist{padding-left:1.4rem}
.scope-checklist li{margin:1rem 0;line-height:1.6}
.scope-checklist p{margin:.3rem 0}
.agent-reference{margin:1.5rem 0;padding:1rem;border:1px solid #ccd5de}
.agent-reference summary{cursor:pointer;font-size:1rem}
.agent-reference code{overflow-wrap:anywhere}
@media(max-width:680px){.scope-inputs th,.scope-inputs td{padding:.45rem .25rem}
.scope-inputs th:first-child{width:34%}
.scope-inputs select{font-size:.875rem;padding:.65rem .15rem}
.scope-inputs th small{font-size:.875rem}
.scope-inputs thead th{font-size:.875rem}
.scope-key{grid-template-columns:1fr}
.quote-workbook .workbook-actions button{width:100%}}
@media print{.quote-workbook .header,.quote-workbook .footer,.workbook-actions,.third-toggle,.agent-reference{display:none}
.quote-workbook{max-width:none}
.scope-inputs,.scope-result{break-inside:avoid}
.scope-result{background:#fff}
.scope-inputs select{appearance:none;border:0;padding:0}}
@media(max-width:680px){.scope-inputs,.scope-inputs tbody{display:block}
.scope-inputs thead{display:none}
.scope-inputs tr{display:block;margin-bottom:1rem;border:1px solid #ccd5de}
.scope-inputs th:first-child{display:block;width:auto;border:0;background:#eef3f8;padding:.8rem}
.scope-inputs td{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:.6rem;padding:.6rem .8rem;border:0;border-top:1px solid #ccd5de}
.scope-inputs td::before{content:attr(data-proposal);font-size:.875rem;font-weight:700}
.scope-inputs select{font-size:1rem;padding:.65rem .4rem}
.scope-inputs [hidden]{display:none}}
@media(max-width:680px){.scope-inputs caption{display:block;width:auto;line-height:1.4}}
.editor-resource blockquote{margin:1rem 0;padding:1rem;border-left:3px solid var(--accent);background:var(--pale);line-height:1.7}
.editor-resource summary{cursor:pointer;padding:.75rem 0;min-height:44px}
.editor-resource label{display:block;font-size:.875rem;margin:.5rem 0}
.editor-resource textarea{display:block;width:100%;max-width:100%;padding:.8rem;font-size:.875rem;line-height:1.5;border:1px solid #8494a3;border-radius:4px;resize:vertical;overflow-wrap:anywhere}
.hero h1, .article-page > h1{
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  font-size: clamp(38px, 4.4vw, 58px);
  line-height: 1.07;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.faq-list summary, .quote-checks summary, .service-questions summary,
.optional-details summary, .agent-reference summary, .editor-resource summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  list-style: none;
  min-height: 44px;
}
.faq-list summary::-webkit-details-marker, .quote-checks summary::-webkit-details-marker,
.service-questions summary::-webkit-details-marker, .optional-details summary::-webkit-details-marker,
.agent-reference summary::-webkit-details-marker, .editor-resource summary::-webkit-details-marker{ display: none; }
.faq-list summary::after, .quote-checks summary::after, .service-questions summary::after,
.optional-details summary::after, .agent-reference summary::after, .editor-resource summary::after{
  content: "+";
  font: 400 21px/1 Arial, Helvetica, sans-serif;
  color: var(--muted);
  flex: 0 0 auto;
  transition: transform 180ms ease;
}
.article-page{ padding-block: 32px 54px; }
.article-page > h1{ font-size: clamp(36px, 4vw, 48px); }
.article-intro{ line-height: 1.7; }
.article-columns article{ min-width: 0; }
.article-columns article h2{ line-height: 1.35; }
.article-aside{ background: #fafafa; border: 1px solid var(--line); border-radius: 12px; }
.article-aside > .service-photo{ border-radius: 11px 11px 0 0; }
.article-aside nav a{ min-height: 44px; display: flex; align-items: center; }
.project-brief{margin:0 0 32px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fafafa}
.project-brief h2{margin-top:0!important}
.project-brief summary{cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:space-between;font-weight:600;gap:16px}
.brief-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
.project-brief label{display:block;font-size:.9375rem;font-weight:600;min-width:0}
.project-brief input,.project-brief select,.project-brief textarea{display:block;width:100%;box-sizing:border-box;min-height:46px;margin-top:7px;padding:10px;font:inherit;font-weight:400;border:1px solid #bcbcbc;border-radius:6px;background:white;color:var(--ink)}
.project-brief textarea{resize:vertical;line-height:1.5;margin-top:10px}
[data-brief-result]{margin-top:22px}
.brief-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}
.project-brief .secondary{background:white;color:var(--ink);border:1px solid #bcbcbc}
.project-brief [hidden]{display:none}
@media(max-width:760px){.brief-fields{grid-template-columns:1fr}.project-brief{padding:16px}.brief-actions>*{width:100%;min-height:46px}}
@media print{.project-brief details{display:block}.project-brief details>:not(summary){display:block}.brief-fields,.project-brief button,.brief-actions,.project-brief summary{display:none!important}.project-brief textarea{border:0;height:220px}}
.scope-inputs th, .scope-inputs td{ border-color: var(--line); }
.scope-inputs thead th, .scope-inputs th:first-child{ background: #f5f5f5; color: var(--ink); }
.scope-inputs select{ color: var(--ink); border-color: #bcbcbc; border-radius: 8px; }
.workbook-actions .secondary{ color: var(--ink); border-color: #bcbcbc; }
.workbook-actions .secondary:hover{ background: #f5f5f5; }
.scope-result{ color: var(--ink); background: #fafafa; border: 1px solid var(--line); border-radius: 12px; }
.agent-reference{ border-color: var(--line); border-radius: 12px; }
.editor-resource blockquote{ border-color: #bcbcbc; border-radius: 0 8px 8px 0; }
.editor-resource textarea{ font-size: 16px; border-color: #bcbcbc; border-radius: 8px; }
@media (max-width: 760px){.article-page{ padding-block: 24px 40px; }
.article-page > h1{ font-size: 36px; line-height: 1.12; }
.article-aside{ padding: 20px; }
.scope-inputs tr{ overflow: hidden; border-color: var(--line); border-radius: 12px; }
.scope-inputs th:first-child{ border-radius: 11px 11px 0 0; }
.article-page + .footer{ padding-bottom: 32px; }}
@media (max-width: 350px){.hero h1, .article-page > h1{ font-size: 34px; }}
@media print{.hero h1, .article-page > h1{ font-size: 22pt; }}

.estimate-example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.estimate-example-card{margin:0;padding:14px;border:1px solid #dce3df;border-radius:8px;background:#fafbf9}.estimate-example-card h3{font-size:16px;margin:0 0 10px}.estimate-example-card svg{display:block;width:100%;height:auto}.estimate-example-card figcaption{font-size:14px;line-height:1.5}.estimate-example-card figcaption p{margin:8px 0 0}.estimate-example blockquote{margin:16px 0;padding:12px 16px;border-left:3px solid #b75432;background:#faf8f4}@media(max-width:900px){.estimate-example-grid{grid-template-columns:1fr}.estimate-example-card svg{max-width:360px;margin:auto}}
