/* Visitor-controlled presentation; no filters or pixel recoloring on media. */
[data-accessibility-preferences-open]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;max-width:100%;padding:10px 14px;border:1px solid #73737d;border-radius:24px;background:#fff;color:#232329;font:inherit;font-size:14px;line-height:1.3;white-space:normal;cursor:pointer}
[data-accessibility-preferences-open] svg{width:20px;height:20px;flex:none;fill:currentColor}
.accessibility-utility{display:flex;justify-content:flex-end;align-items:center;padding:4px max(20px,4.5%);background:#fff;border-bottom:1px solid #ececf0;min-width:0}
.accessibility-utility [data-accessibility-preferences-open]{font-size:12px;padding:8px 12px;border-color:transparent;border-radius:8px;gap:7px;color:#34343c;background:#fff}
[data-accessibility-preferences-open] [lang=es]{display:none}
html[lang^=es] [data-accessibility-preferences-open] [lang=en]{display:none}
html[lang^=es] [data-accessibility-preferences-open] [lang=es]{display:inline}
.accessibility-dialog-open{overflow:hidden}
dialog.accessibility-preferences{inset:0;margin:auto;width:min(600px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:26px;border:1px solid #7a7a83;border-radius:18px;background:#fff;color:#202126;box-shadow:0 16px 70px #0004;overflow:auto;overscroll-behavior:contain;font-family:Arial,Helvetica,sans-serif;font-size:calc(1rem * var(--peaked-text-scale,1));line-height:1.55;text-align:left;letter-spacing:normal}
dialog.accessibility-preferences::backdrop{background:#10182075}
.accessibility-preferences *{box-sizing:border-box}
.accessibility-preferences .accessibility-panel-top{display:flex;align-items:flex-start;gap:18px;justify-content:space-between}
.accessibility-preferences h2{font:700 1.3em/1.25 Arial,Helvetica,sans-serif;letter-spacing:-.02em;margin:0 0 14px;color:#202126}
.accessibility-preferences p{font-size:1em;line-height:1.55;margin:0 0 16px;color:#41414b;max-width:none}
.accessibility-preferences button,.accessibility-preferences a{font:inherit;font-size:1em;line-height:1.35;min-height:44px}
.accessibility-preferences button{border:1px solid #6b6b75;border-radius:10px;padding:10px 14px;background:#fff;color:#202126;cursor:pointer;white-space:normal}
.accessibility-panel-top button{min-width:44px;flex:0 0 44px;padding:6px;font-size:1.4em;line-height:1}
.accessibility-preferences fieldset{min-width:0;border:0;padding:0;margin:24px 0}
.accessibility-preferences legend{font-weight:700;font-size:1.05em;line-height:1.4;margin-bottom:12px;padding:0}
.accessibility-preferences .accessibility-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.accessibility-preferences .accessibility-choice{display:flex;align-items:center;gap:10px;min-width:0;min-height:48px;padding:12px;border:1px solid #72727c;border-radius:10px;background:#fff;color:#202126;font-size:1em;line-height:1.4;cursor:pointer}
.accessibility-preferences .accessibility-choice:has(input:checked){border:2px solid #202126;padding:11px;background:#eef1f4}
.accessibility-choice span{min-width:0;overflow-wrap:anywhere}
.accessibility-preferences input[type=radio]{width:22px;height:22px;min-width:22px;flex:0 0 22px;margin:0;accent-color:#202126}
.accessibility-preferences .accessibility-panel-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 16px}
.accessibility-panel-actions [data-accessibility-close]{background:#202126;color:#fff}
.accessibility-preferences a{display:inline-flex;align-items:center;color:#004d9c;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.accessibility-preferences .accessibility-save-status{min-height:1.5em;color:#41414b}
.accessibility-preferences :is(button,a,input):focus-visible,[data-accessibility-preferences-open]:focus-visible{outline:3px solid #0057b8!important;outline-offset:4px!important;box-shadow:0 0 0 2px #fff!important}
html[data-accessibility-text]:not([data-accessibility-measuring]) [data-accessibility-font]{font-size:var(--peaked-font-size)!important;white-space:normal}
html[data-accessibility-text] :is(p,li,label,summary,figcaption,small,button,a){overflow-wrap:break-word}
html[data-accessibility-text] :is(.header,.header-actions,.desktop-nav,.topbar,.mobile-dock){flex-wrap:wrap;height:auto}
html[data-accessibility-text] :is(.component-name,.studio-wipe-hint,.studio-material-study figcaption){height:auto;min-height:0}
@media(forced-colors:none){
 html[data-accessibility-contrast=high]{color-scheme:light}
 html[data-accessibility-contrast=high] body{background:#fff!important;color:#111!important}
 html[data-accessibility-contrast=high] :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,label,legend,summary,small,output,th,td,a,button,input,select,textarea):not([data-accessibility-preserve]):not(.swatch){color:#111!important;background-color:#fff!important;text-shadow:none!important;opacity:1!important}
 html[data-accessibility-contrast=high] :is(h1,h2,h3,h4,h5,h6,p,li,label,legend,summary,figcaption,a,button,small) :is(span,strong,em,small):not([aria-hidden=true]):not([data-accessibility-preserve]){color:inherit!important;text-shadow:none!important}
 html[data-accessibility-contrast=high] :is(button,input,select,textarea,summary){border-color:#111!important}
 html[data-accessibility-contrast=high] a{text-decoration:underline!important;text-underline-offset:3px}
 html[data-accessibility-contrast=high] :is(button[aria-pressed=true],.accessibility-choice:has(input:checked)){outline:2px solid #111;outline-offset:2px}
 html[data-accessibility-contrast=high] :is(input,textarea)::placeholder{color:#454545!important;opacity:1}
 html[data-accessibility-contrast=high] .swatch small{background:#fff!important;color:#111!important}
}
html[data-accessibility-motion=reduce],html[data-accessibility-motion=reduce] *{scroll-behavior:auto!important}
html[data-accessibility-motion=reduce] *,html[data-accessibility-motion=reduce] *::before,html[data-accessibility-motion=reduce] *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
html[data-accessibility-motion=reduce] :is(.reveal,[data-depth-card],[data-tilt],[data-hero-artwork]){transform:none!important;opacity:1!important}
@media(max-width:480px){dialog.accessibility-preferences{padding:20px 16px;border-radius:14px}.accessibility-preferences .accessibility-choices{grid-template-columns:minmax(0,1fr)}.accessibility-preferences .accessibility-panel-actions{flex-direction:column;align-items:stretch}}
@media(forced-colors:active){.accessibility-preferences .accessibility-choice:has(input:checked){border-color:Highlight}.accessibility-preferences button{border:1px solid ButtonText}.accessibility-preferences input[type=radio]{appearance:auto}}
@media print{[data-accessibility-preferences-open],dialog.accessibility-preferences{display:none!important}}
/* Larger text must change the layout, not the page's minimum width. */
html[data-accessibility-text] :is(.customer-pathway-grid,.customer-review-grid,.service-grid,.customer-pathway,.customer-review,.service-card,.customer-review-top,.customer-review-person,.customer-review-followup){min-width:0;max-width:100%}
html[data-accessibility-text] :is(.customer-pathway,.customer-review,.service-card)>*{min-width:0;max-width:100%}
html[data-accessibility-text] :is(.customer-pathway,.customer-review,.service-card) :is(h2,h3,p,a,span,small,blockquote){overflow-wrap:anywhere}
html[data-accessibility-text] .customer-review-top{flex-wrap:wrap;justify-content:flex-start}
html[data-accessibility-text] .customer-review-person{flex-wrap:wrap}
html[data-accessibility-text] .customer-review-platform{white-space:normal;overflow-wrap:anywhere}
html[data-accessibility-text] .customer-review-stars{white-space:normal;overflow-wrap:anywhere;letter-spacing:.02em}
html[data-accessibility-text] .customer-primary-link{max-width:100%;min-width:0;gap:12px;white-space:normal;overflow-wrap:anywhere}
html[data-accessibility-text] .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){html[data-accessibility-text] .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 html[data-accessibility-text] :is(.customer-pathway-grid,.customer-review-grid,.service-grid){grid-template-columns:minmax(0,1fr)}
 html[data-accessibility-text] :is(.customer-pathway,.customer-review,.service-card){width:100%;padding-inline:20px}
 html[data-accessibility-text] .customer-review-followup .customer-primary-link{width:100%}
}
@media(max-width:850px){
 html[data-accessibility-text] .header{position:relative;top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 4.5%;min-height:64px}
 html[data-accessibility-text] .header .brand{width:128px;min-width:0;max-width:100%}
 html[data-accessibility-text] .header .brand img{width:100%;height:auto;max-height:46px}
 html[data-accessibility-text] .header-actions{min-width:0;gap:4px;flex-wrap:nowrap}
 html[data-accessibility-text] .header-actions :is(.language,.menu-toggle){min-width:44px;min-height:44px;padding:6px;line-height:1;white-space:nowrap}
 html[data-accessibility-text] .header .language span{display:none}
 html[data-accessibility-text] .mobile-dock{position:static;inset:auto;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));box-shadow:none;padding:8px}
 html[data-accessibility-text] .mobile-dock :is(a,button){min-width:0;max-width:100%;padding:10px 6px;overflow-wrap:anywhere;white-space:normal}
}
/* Reflow the actual promotion, guide, quote and Studio layouts used here.
   Grid's default auto minimum must not be set by a doubled word or select. */
html[data-accessibility-text] :is(.studio-feature,.studio-feature>div,.studio-feature-image,.auto-studio,.auto-studio-stage,.auto-studio-controls,.studio-preview,.studio-how,.studio-how>div,.estimate-guided,.estimate-help-copy,.estimate-color-meta,.quote-package,.package-selection-summary,.roof-faq-group,.roof-faq-group>*,.roof-faq-contact>*){min-width:0;max-width:100%}
html[data-accessibility-text] :is(.studio-feature,.auto-studio-controls,.quote-package,.roof-faq-group,.roof-faq-contact) :is(h1,h2,h3,p,label,button,a,span,small,strong,summary){overflow-wrap:anywhere;word-break:normal}
html[data-accessibility-text] :is(.home-roof-fallback h2,.story-panel #caption-title,.page-title,.studio-feature h2){max-width:100%;height:auto;overflow:visible;overflow-wrap:anywhere;word-break:normal;hyphens:auto;-webkit-hyphens:auto;line-height:1.16}
html[data-accessibility-text] :is(.home-roof-fallback h2 span,.story-panel #caption-title span){line-height:inherit;hyphens:inherit}
html[data-accessibility-text] .studio-feature-image{width:100%;margin:0;transform:none;box-shadow:none}
html[data-accessibility-text] .studio-feature-image>img{width:100%;max-width:100%}
html[data-accessibility-text] .studio-feature .sample-palette{position:relative;inset:auto;flex-wrap:wrap;max-width:100%;padding:12px}
html[data-accessibility-text] :is(.studio-upload-row,.studio-note-row,.estimate-color-meta,.studio-compare-actions){flex-wrap:wrap;min-width:0;max-width:100%}
html[data-accessibility-text] :is(.studio-upload-row,.studio-note-row,.estimate-color-meta)>*{min-width:0;max-width:100%}
html[data-accessibility-text] .studio-wipe-hint{left:50%;max-width:calc(100% - 20px);white-space:normal;text-align:center}
html[data-accessibility-text] .canvas-labels{flex-wrap:wrap;gap:6px;min-width:0}
html[data-accessibility-text] .canvas-labels span{min-width:0;max-width:100%;overflow-wrap:anywhere}
html[data-accessibility-text] :is(.auto-studio-controls,.estimate-v2) :is(input,select,textarea){min-width:0;max-width:100%}
@media(max-width:850px){
 html[data-accessibility-text] :is(.studio-feature,.auto-studio,.studio-layout,.studio-how,.estimate-guided,.roof-faq-highlights,.roof-faq-group,.roof-faq-contact){grid-template-columns:minmax(0,1fr)}
 html[data-accessibility-text] .studio-feature{overflow:visible}
 html[data-accessibility-text] .studio-feature-image{border-bottom-width:7px}
 html[data-accessibility-text] .home-roof-fallback,html[data-accessibility-text] .home-roof-fallback>div{min-width:0;max-width:100%}
 html[data-accessibility-text] #studio-app .auto-studio-controls{padding-inline:18px}
 html[data-accessibility-text] #studio-app .studio-how>div{grid-template-columns:44px minmax(0,1fr)}
 html[data-accessibility-text] .estimate-v2 .estimate-progress{grid-template-columns:repeat(2,minmax(0,1fr))}
 html[data-accessibility-text] .estimate-goals .estimate-choice{display:flex;flex-direction:column}
 html[data-accessibility-text] .estimate-goals .estimate-choice img{height:130px;min-height:0}
 html[data-accessibility-text] .estimate-v2 .reported-area-fields{max-width:100%;min-width:0}
}
@media(max-width:420px){
 html[data-accessibility-text] #studio-colors .swatches{grid-template-columns:repeat(2,minmax(0,1fr))}
 html[data-accessibility-text] :is(.roof-faq-content,.roof-faq-topics,.roof-faq-contact){padding-inline:20px}
}
html[data-accessibility-text] .work-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-width:0;max-width:100%}
html[data-accessibility-text] .work-grid figure{min-width:0;max-width:100%;width:100%;transform:none}
html[data-accessibility-text] .work-grid :is(img,figcaption,span,strong){min-width:0;max-width:100%;overflow-wrap:anywhere}
html[data-accessibility-text] .customer-social-links .company-social-link{grid-template-columns:20px minmax(0,1fr) max-content;min-width:0;max-width:100%;white-space:normal;gap:8px}
html[data-accessibility-text] .company-social-label{min-width:0;overflow-wrap:anywhere}
html[data-accessibility-text] footer .plain{display:block;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}
html[data-accessibility-text] footer .plain span{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(max-width:850px){
 html[data-accessibility-text] .work-grid{grid-template-columns:minmax(0,1fr)}
 html[data-accessibility-text] footer{grid-template-columns:minmax(0,1fr)}
 html[data-accessibility-text] :is(.customer-social-links,footer .footer-social .customer-social-links){grid-template-columns:minmax(0,1fr)}
 html[data-accessibility-text] footer :is(p,a,span,strong){min-width:0;max-width:100%;overflow-wrap:anywhere}
}
