.roof-page{padding-bottom:90px}.roof-page-heading{padding-block:32px 36px}.roof-back{color:var(--muted);margin-bottom:28px;font-size:13px;text-decoration:none;display:inline-flex}.roof-page-heading>div{justify-content:space-between;align-items:flex-end;gap:36px;display:flex}.roof-eyebrow{letter-spacing:1.6px;text-transform:uppercase;color:var(--blue);font-size:10px;font-weight:650;display:block}.roof-page h1{margin-top:8px;font-size:clamp(34px,4vw,58px)}.roof-page-heading p{color:var(--muted);margin-top:15px;font-size:16px}.roof-steps{color:var(--muted);flex-shrink:0;gap:20px;margin:0 0 4px;padding:0;font-size:11px;list-style:none;display:flex}.roof-steps span{color:var(--blue);margin-bottom:6px;font-size:10px;display:block}.roof-workspace{grid-template-columns:minmax(0,1.65fr) minmax(340px,1fr);align-items:start;gap:24px;display:grid}.roof-scene{border:1px solid var(--line);isolation:isolate;background:radial-gradient(at 40% 30%,#fff,#eef4ff 60%,#e0eafb);border-radius:20px;position:sticky;top:20px;overflow:hidden}.roof-scene-top{z-index:2;pointer-events:none;justify-content:space-between;gap:16px;display:flex;position:absolute;top:24px;left:26px;right:26px}.roof-scene h2{margin-top:6px;font-size:28px}.roof-scene-top p{color:var(--muted);max-width:310px;margin-top:7px;font-size:12px}.roof-source{height:max-content;color:var(--blue);white-space:nowrap;background:#fff;border:1px solid #d6e4ff;border-radius:30px;padding:6px 10px;font-size:10px}.roof-viewport{width:100%;height:620px;position:relative}.roof-viewport canvas{touch-action:none;cursor:grab;opacity:0;width:100%;height:100%;display:block}.roof-viewport canvas.is-ready{opacity:1}.roof-viewport canvas:active{cursor:grabbing}.roof-fallback{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:100px 25px 90px}.roof-fallback svg{width:100%;max-height:380px}.roof-fallback p{text-align:center;color:var(--muted);font-size:12px}.roof-viewer-tools{flex-wrap:wrap;gap:7px;display:flex;position:absolute;bottom:40px;left:24px;right:24px}.roof-viewer-tools button{min-height:40px;color:var(--ink);background:#fffffff0;border:1px solid #d6e2f5;border-radius:7px;padding:8px 11px;font-size:12px;box-shadow:0 4px 12px #204b8910}.roof-viewer-tools button:hover{border-color:var(--blue)}.roof-viewer-tools button[aria-pressed=true]{color:#fff;background:var(--blue);border-color:var(--blue)}.roof-drag-hint{color:var(--muted);font-size:10px;position:absolute;bottom:13px;left:26px}.roof-model-stats{background:#ffffffdf;border:1px solid #fff;border-radius:12px;grid-template-columns:1fr .85fr 1.25fr;margin:0 18px;padding:17px 0;display:grid}.roof-model-stats>div{border-right:1px solid var(--line);padding-inline:19px}.roof-model-stats>div:last-child{border:0}.roof-model-stats span{color:var(--muted);letter-spacing:.7px;font-size:8px;font-weight:650;display:block}.roof-model-stats strong{font-size:27px;font-weight:650;line-height:1.5;display:block}.roof-model-stats small{color:var(--muted);font-size:11px;font-weight:400}.roof-model-stats .roof-material-stat{margin-top:4px;font-size:18px}.roof-model-note{color:var(--muted);padding:13px 25px 17px;font-size:10px;line-height:1.5}.dimension-labels{pointer-events:none;position:absolute;inset:0}.dimension-labels span{color:var(--blue);white-space:nowrap;background:#fff;border:1px solid #d2e0ff;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 12px #1c4bb815}.roof-complex{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:540px;padding:90px 40px 30px;display:flex}.roof-complex>span{color:var(--blue);font-size:80px}.roof-complex h3{font-family:var(--font-heading);font-size:32px}.roof-complex p{color:var(--muted);max-width:340px;margin-top:16px;font-size:15px}.roof-controls{border:1px solid var(--line);background:#fff;border-radius:20px;padding:27px}.roof-control-section+.roof-control-section{border-top:1px solid var(--line);margin-top:25px;padding-top:24px}.roof-control-section>.roof-eyebrow{margin-bottom:13px}.roof-address label{margin-bottom:10px;font-size:15px;font-weight:650;display:block}.roof-search-row{gap:7px;display:flex}.roof-search-row input{background:var(--paper);width:100%;min-width:0;color:var(--ink);border:1px solid #b9c9e1;border-radius:8px;padding:11px;font-size:14px}.roof-search-row .Button{flex-shrink:0;gap:9px;min-height:45px;padding:11px;font-size:12px}.roof-search-status{color:var(--muted);margin-top:10px;font-size:11px;line-height:1.5}.roof-address-results{border:1px solid var(--line);border-radius:8px;max-height:300px;margin:12px 0 0;padding:0;list-style:none;overflow:hidden auto}.roof-address-results li+li{border-top:1px solid var(--line)}.roof-address-results button{text-align:left;width:100%;color:var(--ink);background:#fff;border:0;padding:12px;font-size:13px}.roof-address-results button:hover{background:var(--wash)}.roof-address-results strong{display:block}.roof-address-results button>span{color:var(--muted);justify-content:space-between;margin-top:3px;font-size:11px;display:flex}.roof-address-selected{color:var(--blue);background:var(--wash);border:1px solid #c9dafb;border-radius:8px;gap:9px;margin-top:12px;padding:12px;display:flex}.roof-address-selected strong{font-size:12px;display:block}.roof-address-selected div>span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.roof-attribution{color:var(--muted);margin-top:8px;font-size:10px}.roof-attribution a{color:inherit}.roof-small{color:var(--muted);margin-top:13px;font-size:11px;line-height:1.6}.roof-materials{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:0;display:grid}.roof-materials legend{margin-bottom:12px;font-size:15px;font-weight:650}.roof-materials button{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fff;border-radius:9px;padding:6px}.roof-materials button[aria-pressed=true]{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:var(--wash)}.roof-swatch{background-color:#24282e;background-image:repeating-linear-gradient(0deg,#0000 0 12px,#0008 12px 14px),repeating-linear-gradient(90deg,#ffffff05 0 11px,#fff2 11px 14px,#0005 14px 17px);border-radius:5px;height:48px;margin-bottom:7px;display:block}.roof-swatch-tegl{background-color:#171e29;background-image:repeating-linear-gradient(0deg,#0000 0 12px,#0009 12px 14px),repeating-linear-gradient(90deg,#0000 0 9px,#ffffff45 9px 13px,#0005 13px 17px)}.roof-swatch-metall{background-color:#293a52;background-image:repeating-linear-gradient(90deg,#0000 0 16px,#ffffff30 16px 18px,#0005 18px 20px)}.roof-materials strong{font-size:11px;font-weight:600;display:block}.roof-materials small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.roof-material-description{color:var(--muted);min-height:34px;margin-top:10px;font-size:11px}.roof-select-row{margin-top:17px}.roof-select-row label{margin-bottom:7px;font-size:12px;font-weight:600;display:block}.roof-page select{font:inherit;background:var(--paper);min-height:42px;color:var(--ink);border:1px solid #b9c9e1;border-radius:7px;width:100%;padding:8px 10px;font-size:13px}.roof-measure-intro{border-top:1px solid var(--line);margin-top:23px;padding-top:20px}.roof-measure-intro h3{letter-spacing:0;font-size:15px}.roof-measure-intro p{color:var(--muted);margin-top:8px;font-size:11px;line-height:1.6}.roof-range{margin-top:17px}.roof-range>div{justify-content:space-between;font-size:12px;display:flex}.roof-range output{color:var(--blue);font-weight:650}.roof-range input{width:100%;accent-color:var(--blue);min-height:24px;margin:8px 0 0}.roof-confirm{background:var(--wash);border-radius:7px;align-items:flex-start;gap:10px;margin-top:18px;padding:12px;font-size:11px;line-height:1.5;display:flex}.roof-confirm input{width:17px;height:17px;accent-color:var(--blue);flex-shrink:0;margin:0}.roof-budget{background:var(--wash);border-radius:12px;margin-top:25px;padding:19px}.roof-budget h3{letter-spacing:-.8px;margin-top:9px;font-size:clamp(21px,2vw,27px);font-weight:650;line-height:1.2}.roof-budget p{color:var(--muted);margin-top:10px;font-size:11px;line-height:1.6}.roof-budget summary{cursor:pointer;margin-top:15px;font-size:11px;font-weight:600}.roof-budget details>div{border-top:1px solid #d1def3;margin-top:10px}.roof-inquiry-button{gap:12px;width:100%;margin-top:15px;font-size:14px}.roof-no-obligation{color:var(--muted);text-align:center;margin-top:10px;font-size:10px}.roof-inquiry-section{outline:none;max-width:780px;margin:55px auto 0;scroll-margin-top:30px}.roof-inquiry{border:1px solid var(--line);background:#fff;border-radius:18px;padding:clamp(24px,4vw,48px)}.roof-inquiry-heading h2{margin-top:10px;font-size:38px}.roof-inquiry-heading p{color:var(--muted);margin-top:18px;font-size:15px}.roof-request-summary{background:var(--wash);border:1px solid var(--line);border-radius:10px;margin-block:25px;padding:20px}.roof-request-summary strong,.roof-request-summary span{font-size:13px;display:block}.roof-request-summary span{color:var(--muted);margin-top:6px;font-size:12px}.roof-inquiry fieldset{border:0;min-width:0;margin:0;padding:0}.roof-inquiry .field label span{color:var(--muted);font-weight:400}.roof-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.roof-form-actions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.roof-text-button{color:var(--ink);text-underline-offset:4px;background:0 0;border:0;padding:10px 0;font-size:13px;text-decoration:underline}.roof-notice{background:var(--wash);border-left:3px solid var(--blue);color:var(--muted);margin-bottom:20px;padding:16px;font-size:13px}.roof-success{background:var(--wash);border:1px solid var(--line);border-radius:16px;padding:40px}.roof-success>span{color:var(--blue);font-size:32px}.roof-success h3{margin-top:12px}.roof-success p{margin-block:18px;font-size:16px}.roof-success small{overflow-wrap:anywhere;font-size:12px;display:block}.roof-success a{margin-top:25px;display:block}@media (min-width:1450px){.roof-viewport{height:660px}}@media (max-width:1100px){.roof-workspace{grid-template-columns:minmax(0,1.35fr) minmax(330px,1fr);gap:16px}.roof-steps{display:none}.roof-controls{padding:21px}.roof-scene-top{left:20px;right:20px}.roof-scene h2{font-size:24px}.roof-scene-top .roof-eyebrow{font-size:8px}.roof-source{font-size:9px}.roof-model-stats>div{padding-inline:12px}.roof-model-stats .roof-material-stat{font-size:15px}.roof-model-stats strong{font-size:24px}.roof-viewer-tools{gap:5px;left:18px;right:18px}.roof-viewer-tools button{padding:7px 9px;font-size:11px}}@media (max-width:800px){.roof-workspace{grid-template-columns:1fr}.roof-scene{position:relative;top:auto}.roof-viewport{height:520px}.roof-controls{padding:26px}.roof-page-heading{padding-top:20px}.roof-page-heading h1{font-size:42px}.roof-back{margin-bottom:22px}.roof-scene h2{font-size:27px}.roof-model-stats span{font-size:9px}.roof-model-stats .roof-material-stat{font-size:18px}.roof-control-section+.roof-control-section{margin-top:30px;padding-top:27px}.roof-swatch{height:64px}.roof-materials strong{font-size:13px}.roof-materials small{font-size:10px}.roof-materials button{padding:9px}.roof-budget h3{font-size:29px}.roof-page-heading p{font-size:14px}.roof-controls .roof-small,.roof-confirm,.roof-budget p,.roof-measure-intro p{font-size:12px}}@media (max-width:460px){.roof-page>.wrapper{width:calc(100% - 28px)}.roof-page-heading h1{font-size:34px}.roof-page-heading{padding-bottom:24px}.roof-viewport{height:440px}.roof-scene-top{top:20px;left:17px;right:17px}.roof-scene-top p{max-width:180px;font-size:10px}.roof-scene h2{font-size:23px}.roof-source{padding:5px 8px;font-size:8px}.roof-scene-top .roof-eyebrow{letter-spacing:1px;font-size:8px}.roof-model-stats{grid-template-columns:1fr .8fr 1.2fr;margin-inline:10px;padding-block:14px}.roof-model-stats>div{padding-inline:10px}.roof-model-stats span{letter-spacing:.2px;font-size:7px}.roof-model-stats strong{font-size:23px}.roof-model-stats .roof-material-stat{font-size:14px}.roof-model-stats small{font-size:10px}.roof-controls{padding:21px}.roof-materials{gap:6px}.roof-materials button{padding:6px}.roof-materials strong{font-size:11px}.roof-materials small{font-size:9px}.roof-model-note{padding-inline:17px;font-size:9px}.roof-viewer-tools{left:15px;right:15px}.roof-viewer-tools button{padding:7px 8px;font-size:10px}.roof-drag-hint{font-size:9px;left:17px}.roof-inquiry-heading h2{font-size:30px}.roof-budget h3{font-size:25px}.roof-search-row input{font-size:13px}.roof-confirm input{width:20px;height:20px}.roof-viewer-tools button{min-height:40px}}.roof-conditions{border-top:1px solid var(--line);margin-top:23px;padding-top:20px}.roof-conditions h3{letter-spacing:0;font-size:15px}@media (min-width:801px){.roof-viewport{height:clamp(350px,100dvh - 240px,620px)}}
