.roofers-page{background:var(--bg-page);color:var(--text-primary)}.roofers-wrap{width:100%;max-width:var(--container-xl-outer);margin:0 auto;padding:0 var(--container-gutter)}.roofers-hero{padding:0 0 var(--space-8);border-bottom:1px solid var(--border-default)}.roofers-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-6);font-size:var(--text-sm);color:var(--text-secondary)}.roofers-breadcrumb a{color:var(--text-secondary);text-decoration:none;transition:color var(--duration-fast) var(--ease-out-quart)}.roofers-breadcrumb a:hover{color:var(--primary-600)}.roofers-breadcrumb a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.roofers-breadcrumb-sep{color:var(--text-tertiary)}.roofers-breadcrumb-current{color:var(--text-primary);font-weight:var(--font-medium)}.roofers-heading{margin:0 0 var(--space-5)}.roofers-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-extrabold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0}.roofers-subtitle{margin:var(--space-3) 0 0;font-size:var(--text-base);font-weight:var(--font-medium);line-height:var(--leading-snug);color:var(--text-secondary)}.roofers-lead{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary);margin:0 0 var(--space-6)}.roofers-actions{display:flex;flex-direction:column;gap:var(--space-3);margin:0 0 var(--space-4)}.roofers-actions .btn{width:100%}.roofers-trust{list-style:none;margin:0 0 var(--space-4);padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}.roofers-trust li{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.roofers-trust i{color:var(--primary-500);font-size:var(--text-base)}.roofers-reviewed{margin:0;font-size:var(--text-sm);color:var(--text-tertiary)}.roofers-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-8);padding-top:var(--space-6);padding-bottom:clamp(3rem,7vw,5rem)}.roofers-article{min-width:0}.roofers-glance{margin:0 0 var(--space-8);padding:var(--space-5) var(--space-6);background:var(--bg-warm);border:1px solid var(--border-default);border-radius:var(--radius-xl)}.roofers-glance-title{font-size:var(--text-2xl);margin:0 0 var(--space-5)}.roofers-glance-list{margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--space-4)}.roofers-glance-item dt{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.roofers-glance-item dt i{color:var(--primary-500);font-size:1.25rem}.roofers-glance-item dd{margin:0;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary)}.roofers-toc{min-width:0}.roofers-toc-details{border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--bg-card)}.roofers-toc-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--touch-target-min);padding:var(--space-3) var(--space-5);cursor:pointer;list-style:none;font-size:var(--text-sm);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-secondary)}.roofers-toc-summary::-webkit-details-marker{display:none}.roofers-toc-summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-2px;border-radius:var(--radius-xl)}.roofers-toc-summary i{color:var(--primary-500);font-size:1.25rem;transition:transform var(--duration-fast) var(--ease-out-quart)}.roofers-toc-details[open] .roofers-toc-summary i{transform:rotate(180deg)}.roofers-toc-list,.roofers-toc-sublist{list-style:none;margin:0;padding:0}.roofers-toc-list{padding:0 var(--space-3) var(--space-3)}.roofers-toc-item+.roofers-toc-item{margin-top:var(--space-1)}.roofers-toc-sublist{padding-left:var(--space-4)}.roofers-toc-js .roofers-toc-sublist{display:none}.roofers-toc-js .roofers-toc-item-active>.roofers-toc-sublist{display:block}.roofers-toc-item-active>.roofers-toc-link{color:var(--text-primary);font-weight:var(--font-semibold)}.roofers-toc-link{display:flex;align-items:center;min-height:var(--touch-target-min);padding:var(--space-2) var(--space-3);border-left:2px solid transparent;border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:var(--text-base);line-height:var(--leading-snug);color:var(--text-secondary);text-decoration:none;transition:color var(--duration-fast) var(--ease-out-quart),background-color var(--duration-fast) var(--ease-out-quart)}.roofers-toc-sublist .roofers-toc-link{font-size:var(--text-sm);min-height:2.25rem;color:var(--text-tertiary)}.roofers-toc-link:hover{color:var(--primary-600);background:var(--bg-subtle)}.roofers-toc-link:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-2px}.roofers-toc-link-active{color:var(--primary-600);border-left-color:var(--primary-500);font-weight:var(--font-medium)}.roofers-section{scroll-margin-top:var(--space-6)}.roofers-article>*+.roofers-section{margin-top:var(--space-10);padding-top:var(--space-8);border-top:1px solid var(--border-default)}.roofers-section-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0 0 var(--space-4)}.roofers-subheading{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--text-primary);margin:var(--space-8) 0 var(--space-3);scroll-margin-top:var(--space-6)}.roofers-minor{font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--text-primary);margin:var(--space-6) 0 var(--space-2)}.roofers-text,.roofers-section-lead{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary);margin:0 0 var(--space-4)}.roofers-section-lead{color:var(--text-primary)}.roofers-inline-link{color:var(--primary-600);font-weight:var(--font-medium);text-decoration:underline;text-decoration-color:var(--primary-200);text-underline-offset:.2em;transition:color var(--duration-fast) var(--ease-out-quart)}.roofers-inline-link:hover{color:var(--primary-700);text-decoration-color:currentColor}.roofers-inline-link:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.roofers-rules,.roofers-steps{margin:0 0 var(--space-4);padding:0}.roofers-rules{list-style:none;border-top:1px solid var(--border-default)}.roofers-rules li{position:relative;padding:var(--space-3) 0 var(--space-3) var(--space-5);border-bottom:1px solid var(--border-default);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary)}.roofers-rules li:before{content:"";position:absolute;left:0;top:calc(var(--space-3) + .6em);width:6px;height:6px;border-radius:var(--radius-full);background:var(--primary-500)}.roofers-steps{list-style:none;counter-reset:roofers-step}.roofers-steps li{counter-increment:roofers-step;display:grid;grid-template-columns:1.75rem minmax(0,1fr);gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary)}.roofers-steps li:before{content:counter(roofers-step);font-family:var(--font-display);font-weight:var(--font-bold);color:var(--primary-600);font-variant-numeric:tabular-nums}.roofers-facts{margin:0 0 var(--space-4);padding:0;border-top:1px solid var(--border-default)}.roofers-fact{padding:var(--space-5) 0;border-bottom:1px solid var(--border-default)}.roofers-fact dt{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.roofers-fact dt i{color:var(--primary-500);font-size:1.25rem}.roofers-fact dd{margin:0;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary)}.roofers-fact dd a{color:var(--primary-600);font-weight:var(--font-medium)}.roofers-note{margin:var(--space-6) 0;padding:var(--space-5) var(--space-6);background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-lg)}.roofers-note-title{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.roofers-note-title i{color:var(--primary-500);font-size:1.25rem}.roofers-note p{margin:0;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-primary)}.roofers-note p+p{margin-top:var(--space-3)}.roofers-rows{margin:0 0 var(--space-4);padding:0;border-top:1px solid var(--border-default)}.roofers-row{padding:var(--space-5) 0;border-bottom:1px solid var(--border-default)}.roofers-row>dt{margin:0 0 var(--space-2);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--text-primary)}.roofers-row>dd{margin:0;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary)}.roofers-row>dd a{color:var(--primary-600);font-weight:var(--font-medium)}.roofers-rows--stacked{display:grid;gap:var(--space-4);border-top:0}.roofers-rows--stacked .roofers-row{padding:var(--space-5) var(--space-5) var(--space-6);background:var(--bg-warm);border:1px solid var(--border-default);border-radius:var(--radius-xl)}.roofers-rows--stacked .roofers-row>dt{margin:0 0 var(--space-3);font-size:var(--text-base);line-height:var(--leading-snug)}.roofers-scale{list-style:none;margin:0 0 var(--space-4);padding:0;border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.roofers-scale-step{padding:var(--space-4) var(--space-5);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-primary)}.roofers-scale-step:nth-child(odd){background:var(--bg-subtle)}.roofers-scale-step:nth-child(2n){background:var(--bg-card)}.roofers-figure{margin:0 0 var(--space-6)}.roofers-figure-frame{border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--bg-card);overflow:hidden}.roofers-figure-frame img{display:block;width:100%;max-width:100%;height:auto;background:var(--bg-card)}.roofers-figure figcaption{margin:var(--space-3) 0 0;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-tertiary)}.roofers-faq-list{display:flex;flex-direction:column;gap:var(--space-3);margin:0 0 var(--space-4)}.roofers-faq-item{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-card);transition:border-color var(--duration-fast) var(--ease-out-quart)}.roofers-faq-item:hover,.roofers-faq-item[open]{border-color:var(--primary-200)}.roofers-faq-question{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);min-height:var(--touch-target-min);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--text-primary);list-style:none}.roofers-faq-question::-webkit-details-marker{display:none}.roofers-faq-question:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-2px;border-radius:var(--radius-lg)}.roofers-faq-icon{flex:0 0 auto;font-size:1.5rem;color:var(--primary-500);transition:transform var(--duration-fast) var(--ease-out-quart)}.roofers-faq-item[open] .roofers-faq-icon{transform:rotate(45deg)}.roofers-faq-answer{padding:0 var(--space-5) var(--space-5)}.roofers-faq-answer p{margin:0;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary)}.roofers-sources{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.roofers-sources li{-moz-column-break-inside:avoid;break-inside:avoid;font-size:var(--text-sm);line-height:var(--leading-normal)}.roofers-sources a{display:inline-flex;align-items:center;min-height:var(--touch-target-min);color:var(--text-secondary);text-decoration:underline;text-decoration-color:var(--neutral-300);text-underline-offset:.2em;transition:color var(--duration-fast) var(--ease-out-quart)}.roofers-sources a:hover{color:var(--primary-600);text-decoration-color:currentColor}.roofers-sources a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.roofers-feedback{margin:var(--space-10) 0 0;padding:var(--space-5) var(--space-6);border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--bg-card);scroll-margin-top:var(--space-6)}.roofers-feedback-question{margin:0 0 var(--space-3);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.roofers-feedback-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.roofers-feedback-form{margin:0}.roofers-feedback-btn{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target-min);padding:var(--space-2) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--bg-card);font:inherit;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out-quart),background-color var(--duration-fast) var(--ease-out-quart)}.roofers-feedback-btn i{color:var(--primary-500);font-size:1.25rem}.roofers-feedback-btn:hover{border-color:var(--primary-200);background:var(--primary-50)}.roofers-feedback-btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.roofers-feedback-btn[disabled]{cursor:default;opacity:.7}.roofers-feedback-count{font-size:var(--text-sm);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.roofers-feedback-response{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-3) 0 0;font-size:var(--text-base);color:var(--text-secondary)}.roofers-feedback-response i{color:var(--success-500);font-size:1.25rem}.roofers-cta{margin:var(--space-8) 0 0;padding:var(--space-6);background:var(--bg-warm);border:1px solid var(--border-default);border-radius:var(--radius-xl)}.roofers-cta-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--text-primary);margin:0 0 var(--space-3)}.roofers-cta-text{margin:0 0 var(--space-5);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary)}.roofers-cta-actions{display:flex;flex-direction:column;gap:var(--space-3);margin:0 0 var(--space-4)}.roofers-cta-actions .btn{width:100%}.roofers-cta-trust{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.roofers-related{margin:var(--space-10) 0 0}.roofers-related-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:var(--leading-snug);color:var(--text-primary);margin:0 0 var(--space-4)}.roofers-related-lead{margin:0 0 var(--space-4);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary)}.roofers-related-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.roofers-related-card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-card);text-decoration:none;transition:border-color var(--duration-fast) var(--ease-out-quart)}.roofers-related-card:hover{border-color:var(--primary-200)}.roofers-related-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.roofers-related-card-title{font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--text-primary)}.roofers-related-card-desc{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-secondary)}@media(min-width:40em){.roofers-title{font-size:var(--text-5xl)}.roofers-actions,.roofers-cta-actions{flex-direction:row}.roofers-actions .btn,.roofers-cta-actions .btn{width:auto}.roofers-glance{padding:var(--space-6) var(--space-8)}.roofers-glance-list{grid-template-columns:1fr 1fr;gap:var(--space-6) var(--space-8)}.roofers-note,.roofers-feedback{padding:var(--space-6) var(--space-8)}.roofers-cta{padding:var(--space-8)}.roofers-related-card{padding:var(--space-6)}.roofers-scale-step{padding:var(--space-4) var(--space-6)}.roofers-faq-question{padding:var(--space-5) var(--space-6)}.roofers-faq-answer{padding:0 var(--space-6) var(--space-6)}.roofers-related-grid{grid-template-columns:1fr 1fr}.roofers-sources{display:block;-moz-columns:2;columns:2;-moz-column-gap:var(--space-8);column-gap:var(--space-8)}.roofers-row{display:grid;grid-template-columns:minmax(11rem,28%) minmax(0,1fr);gap:var(--space-6);align-items:start}.roofers-row>dt{margin:0}.roofers-rows--stacked .roofers-row{display:block;padding:var(--space-6) var(--space-8)}.roofers-rows--stacked .roofers-row>dt{margin:0 0 var(--space-3)}}@media(min-width:64em){.roofers-hero{padding:var(--space-8) 0 var(--space-10)}.roofers-title{font-size:var(--text-display-lg)}.roofers-layout{grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:auto 1fr;gap:var(--space-8) var(--space-12);align-items:start;padding-top:var(--space-8)}.roofers-hero{grid-column:1;grid-row:1}.roofers-article{grid-column:1;grid-row:2}.roofers-toc{grid-column:2;grid-row:1 / span 2;align-self:start;position:sticky;top:var(--space-8);max-height:calc(100vh - var(--space-12));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--neutral-300) transparent}.roofers-toc::-webkit-scrollbar{width:6px}.roofers-toc::-webkit-scrollbar-track{background:transparent}.roofers-toc::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:var(--radius-full)}.roofers-toc-summary{pointer-events:none}.roofers-toc-summary i{display:none}.roofers-section,.roofers-subheading{scroll-margin-top:var(--space-8)}}@media(min-width:80em){.roofers-layout{grid-template-columns:minmax(0,1fr) 460px}}@media print{.roofers-actions,.roofers-trust,.roofers-toc,.roofers-feedback,.roofers-cta,.roofers-related{display:none}.roofers-layout{grid-template-columns:minmax(0,1fr);padding-top:0;padding-bottom:0}.roofers-figure-frame{border:1px solid var(--border-default)}.roofers-sources a:after{content:" (" attr(href) ")";font-size:var(--text-sm);color:var(--text-tertiary)}}@media(prefers-reduced-motion:reduce){.roofers-breadcrumb a,.roofers-inline-link,.roofers-toc-link,.roofers-toc-summary i,.roofers-faq-item,.roofers-faq-icon,.roofers-feedback-btn,.roofers-related-card,.roofers-sources a{transition:none}}
