.ote-rqe{max-width:1040px;margin:30px auto 80px;padding:0 22px;color:#0f2d4a}.ote-rqe *{box-sizing:border-box}.ote-step{display:none}.ote-step.active{display:block}.ote-rqe h1,.ote-rqe h2{font-size:clamp(34px,5vw,58px);line-height:1.02;margin:10px 0 18px;color:#071d33}.ote-rqe h2{font-size:clamp(30px,4vw,46px)}.ote-kicker{font-size:12px;font-weight:900;letter-spacing:.14em;color:#ff6a00}.ote-lead{font-size:18px;line-height:1.65;color:#53657a;max-width:760px}.ote-rqe label{font-size:13px;font-weight:800;display:block;margin:16px 0 7px}.ote-rqe input,.ote-rqe select{width:100%;padding:15px 14px;border:1px solid #d7dee7;border-radius:10px;background:white;font-size:16px;color:#0f2d4a}.ote-rqe input:focus,.ote-rqe select:focus{outline:2px solid rgba(255,106,0,.2);border-color:#ff6a00}.ote-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:#ff6a00;color:#fff!important;font-weight:900;padding:16px 23px;margin-top:18px;cursor:pointer;text-decoration:none!important;box-shadow:0 8px 20px rgba(255,106,0,.18)}.ote-btn:disabled{opacity:.55;cursor:wait}.ote-back{border:0;background:transparent;font-weight:800;color:#52657b;cursor:pointer;padding:15px 0}.ote-actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.ote-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}.ote-grid .full{grid-column:1/-1}.ote-rqe-progress{display:flex;gap:10px;margin:0 0 40px}.ote-rqe-progress span{height:7px;flex:1;border-radius:99px;background:#e8edf2;font-size:0}.ote-rqe-progress span.active{background:#ff6a00}.ote-status{margin-top:16px;padding:13px 15px;border-radius:10px;background:#edf7ef;color:#1e6b34}.ote-status.bad{background:#fff0ef;color:#9d2d21}.ote-measure-card{border:1px solid #dbe3eb;background:#f8fafc;border-radius:16px;padding:22px;margin:22px 0}.ote-measure-card>strong{font-size:18px}.ote-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.ote-metrics div{background:white;border:1px solid #e4e9ef;border-radius:12px;padding:16px}.ote-metrics span{font-size:22px;font-weight:900;display:block}.ote-metrics small{color:#6c7b8d}.ote-manual{margin:20px 0;padding:18px;border-radius:12px;background:#fff8f3;border:1px solid #ffd8bf}.ote-help,.ote-disclosure,.ote-disclaimer{font-size:12px;line-height:1.6;color:#718096}.ote-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.ote-package{border:1px solid #dfe5ec;border-radius:18px;padding:26px;background:#fff;box-shadow:0 10px 28px rgba(10,35,60,.05)}.ote-package.featured{border:2px solid #ff6a00;transform:translateY(-6px)}.ote-package-label{font-size:12px;font-weight:950;color:#ff6a00;letter-spacing:.12em}.ote-package h3{font-size:22px;margin:8px 0;color:#071d33}.ote-package p{color:#5b6c7f;line-height:1.55}.ote-price{font-weight:950;color:#0f2d4a;font-size:clamp(22px,3vw,34px);margin:18px 0}.ote-estimate-meta{margin:24px 0;background:#f5f8fb;border-radius:12px;padding:16px}.ote-result-address{font-size:16px;color:#5c6f84}.ote-result-cta{margin-top:32px;padding:28px;border-radius:18px;background:#0f2d4a;color:white}.ote-result-cta h3{color:#fff;font-size:28px;margin:0 0 8px}.ote-result-cta p{color:#dce6ef}.ote-result-cta .ote-btn{margin-top:8px}@media(max-width:760px){.ote-grid,.ote-package-grid,.ote-metrics{grid-template-columns:1fr}.ote-package.featured{transform:none}.ote-actions{gap:15px}.ote-actions .ote-btn{flex:1}.ote-rqe{padding:0 16px}}
.ote-roof-image-wrap{margin:22px 0;border:1px solid #d9e1e8;border-radius:18px;overflow:hidden;background:#edf2f6;box-shadow:0 10px 30px rgba(15,45,74,.08)}
.ote-roof-image-wrap img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover}

.ote-property-confirm{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid #e5ebf0}
.ote-property-confirm>span{font-weight:850;color:#0f2d4a}
.ote-property-confirm>div{display:flex;gap:9px;flex-wrap:wrap}
.ote-confirm-yes,.ote-confirm-no{border-radius:8px;padding:11px 14px;font-size:12px;font-weight:950;cursor:pointer}
.ote-confirm-yes{border:0;background:#ff6a00;color:#fff}
.ote-confirm-no{border:1px solid #cfd8e2;background:#fff;color:#52657a}
.ote-property-confirm.confirmed>span{color:#23733d}
@media(max-width:760px){.ote-property-confirm{align-items:flex-start;flex-direction:column}.ote-property-confirm>div{width:100%}.ote-confirm-yes,.ote-confirm-no{width:100%}}

.ote-address-shell{position:relative}
.ote-address-suggestions{position:absolute;z-index:9999;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #d7dee7;border-radius:12px;box-shadow:0 18px 45px rgba(7,29,51,.16);overflow:hidden}
.ote-address-suggestions[hidden]{display:none}
.ote-address-option{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #edf1f5;background:#fff;color:#0f2d4a;padding:14px 16px;cursor:pointer;font-size:14px;line-height:1.35}
.ote-address-option:last-child{border-bottom:0}
.ote-address-option:hover,.ote-address-option.active{background:#fff6ef}
.ote-address-option span{font-weight:750}
.ote-metrics{grid-template-columns:repeat(4,1fr)}
@media(max-width:760px){.ote-metrics{grid-template-columns:1fr 1fr}}

.ote-autocomplete-status{min-height:18px;margin-top:7px;font-size:12px;color:#6a7b8d}
.ote-autocomplete-status.bad{color:#a52e24}

.ote-roof-overlay-legend{display:flex;align-items:center;gap:8px;padding:10px 13px;background:#fff;color:#52657a;font-size:12px;font-weight:750;border-top:1px solid #e1e7ed}
.ote-orange-swatch{width:14px;height:14px;border-radius:3px;background:rgba(255,106,0,.08);border:2px solid #ff6a00}

.ote-roof-editor{position:relative;line-height:0;background:#e9eef3}
.ote-roof-editor img{display:block;width:100%;height:auto}
#ote-roof-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none}
.ote-editor-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 12px;background:#fff;border-top:1px solid #e1e7ed}
.ote-tool-btn{border:1px solid #b9c9db;background:#fff;color:#2478e6;border-radius:6px;padding:8px 10px;font-size:11px;font-weight:900;cursor:pointer}
.ote-tool-btn:hover{background:#f2f7ff}
#ote-editor-help{font-size:11px;color:#607286;margin-left:auto}
.ote-blue-swatch{width:14px;height:14px;border-radius:3px;background:rgba(40,120,230,.28);border:2px solid #2478e6}
@media(max-width:760px){#ote-editor-help{width:100%;margin-left:0}.ote-tool-btn{flex:1}}

.ote-tool-primary{background:#2478e6!important;border-color:#2478e6!important;color:#fff!important}
.ote-tool-btn:disabled{opacity:.45;cursor:not-allowed}

.ote-editor-toolbar{min-height:48px}
.ote-tool-btn{font-size:12px;padding:10px 12px}
#ote-editor-help{font-size:12px;font-weight:700;color:#40566e}
#ote-roof-canvas{z-index:3}
.ote-roof-editor img{position:relative;z-index:1}

.ote-map-wrap{margin:22px 0;border:1px solid #d9e1e8;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(15,45,74,.08)}
.ote-roof-map{width:100%;height:500px;background:#e8edf2}
.ote-map-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px;background:#fff;border-top:1px solid #e1e7ed}
.ote-map-toolbar #ote-map-help{margin-left:auto;font-size:12px;font-weight:700;color:#52657a;max-width:420px;text-align:right}
.ote-map-summary{display:flex;gap:20px;flex-wrap:wrap;padding:11px 13px;background:#f7f9fb;border-top:1px solid #e1e7ed;font-size:12px;color:#52657a}
.ote-map-summary strong{color:#0f2d4a}
@media(max-width:760px){.ote-roof-map{height:390px}.ote-map-toolbar #ote-map-help{width:100%;max-width:none;margin-left:0;text-align:left}.ote-map-summary{gap:10px;flex-direction:column}}

.ote-structure-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 28px}
.ote-structure-card{border:1px solid #d8e1ea;border-radius:16px;background:#fff;padding:18px;box-shadow:0 8px 24px rgba(15,45,74,.05);transition:.2s}
.ote-structure-card.included{border:2px solid #ef5454}
.ote-structure-card.excluded{opacity:.58}
.ote-structure-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ote-structure-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ote-structure-icon{font-size:27px;line-height:1}
.ote-google-badge{font-size:9px;font-weight:900;letter-spacing:.08em;background:#eef5ff;color:#2478e6;border-radius:999px;padding:4px 7px}
.ote-structure-delete{border:0;background:transparent;color:#8a99aa;font-size:22px;line-height:1;cursor:pointer}
.ote-structure-size{margin:12px 0 16px;color:#52657a;font-size:13px}
.ote-structure-slope-label{font-size:11px;font-weight:900;color:#0f2d4a;margin-bottom:8px}
.ote-slope-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.ote-slope-btn{border:1px solid #d8e1ea;background:#fff;border-radius:9px;padding:9px 4px;cursor:pointer;color:#607286;font-size:11px}
.ote-slope-btn.active{border:2px solid #ef5454;color:#0f2d4a;font-weight:900;background:#fff8f8}
.ote-slope-btn:disabled{cursor:default}
.ote-slope-btn small{display:block;font-size:8px;color:#ef5454;margin-top:3px}
.ote-include-toggle{display:flex!important;align-items:center;gap:8px;margin:16px 0 0!important;padding-top:14px;border-top:1px solid #edf1f4;font-size:12px!important}
.ote-include-toggle input{width:auto!important;margin:0}
.ote-map-summary{justify-content:flex-start}
@media(max-width:760px){
 .ote-structure-cards{grid-template-columns:1fr}
 .ote-slope-options{grid-template-columns:repeat(4,1fr)}
}

/* V3.0 RoofQuote-style structure identification */
.ote-structure-card.included{border-color:#ff6a00}
.ote-slope-btn.active{border-color:#ff6a00;background:#fff8f2}
.ote-slope-btn small{color:#ff6a00}
.ote-google-badge{background:#fff3ea;color:#d95700}
.ote-map-toolbar{border-top:0}
.ote-map-summary{background:#fff;border-top:1px solid #e6ebf0}

/* V4.0 Mapbox footprint engine */
.ote-footprint-status{padding:8px 12px;border-top:1px solid #e1e7ed;background:#fff;font-size:11px;font-weight:750;color:#607286}
.ote-roof-map .mapboxgl-ctrl-logo{opacity:.75}
.ote-roof-map .mapboxgl-ctrl-attrib{font-size:10px}
.ote-roof-map .mapbox-gl-draw_ctrl-draw-btn{display:none!important}
.ote-roof-map .mapboxgl-ctrl-group:has(.mapbox-gl-draw_ctrl-draw-btn){display:none!important}

/* V4.1 Hybrid imagery: Google visible, Mapbox footprint data hidden */
.ote-mapbox-data-map{
 position:fixed!important;
 left:-10000px!important;
 top:-10000px!important;
 width:520px!important;
 height:520px!important;
 opacity:.01!important;
 pointer-events:none!important;
 z-index:-9999!important;
}
.ote-data-attribution{
 padding:5px 10px;
 background:#fff;
 border-top:1px solid #edf1f4;
 font-size:9px;
 color:#7c8998;
 text-align:right;
}
.ote-roof-map .gm-style img{max-width:none}

.ote-email-copy-row{margin-top:8px}
.ote-email-copy-label{display:flex!important;align-items:flex-start;gap:9px;margin:0!important;font-size:12px!important;font-weight:750!important;color:#52657a}
.ote-email-copy-label input{width:auto!important;margin:2px 0 0!important}
.ote-email-note{background:#eef8f0;color:#256b38;border:1px solid #cfe8d5;border-radius:10px;padding:11px 13px;font-size:13px;font-weight:750}

/* V4.4 simplified quote intake */
.ote-reason-box{max-width:520px;margin:26px 0 8px}
.ote-reason-box label{display:block;font-size:13px;font-weight:900;color:#0f2d4a;margin-bottom:8px}
.ote-reason-box label span{font-size:10px;font-weight:700;color:#8b98a7;margin-left:5px;text-transform:uppercase;letter-spacing:.06em}
.ote-reason-box select{width:100%;min-height:48px;border:1px solid #cad5df;border-radius:9px;background:#fff;padding:0 13px;color:#0f2d4a;font-size:14px}


/* ===== V5.0 CONVERSION-FOCUSED RESULTS ===== */
.ote-internal-only{display:none!important}
.ote-manual-review{background:#fff8f3;border-color:#ffd7bb}
.ote-manual-review strong{display:block;color:#0f2d4a;margin-bottom:5px}

.ote-roof-details-result{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:12px;
 margin:22px 0 6px;
}
.ote-result-detail{
 background:#f7f9fb;
 border:1px solid #e0e6ec;
 border-radius:12px;
 padding:15px 16px;
}
.ote-result-detail span{
 display:block;
 font-size:17px;
 font-weight:900;
 color:#0f2d4a;
}
.ote-result-detail small{
 display:block;
 margin-top:3px;
 color:#708093;
 font-size:11px;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:.05em;
}

.ote-product-grid{align-items:stretch}
.ote-product-card{
 position:relative;
 display:flex;
 flex-direction:column;
 min-width:0;
}
.ote-product-card.featured{
 border:2px solid #ff6a00;
 transform:translateY(-5px);
 box-shadow:0 18px 40px rgba(255,106,0,.12);
}
.ote-popular-badge{
 position:absolute;
 top:-13px;
 left:50%;
 transform:translateX(-50%);
 background:#ff6a00;
 color:#fff;
 border-radius:999px;
 padding:6px 12px;
 font-size:10px;
 font-weight:950;
 letter-spacing:.08em;
 white-space:nowrap;
}
.ote-product-meta{
 font-size:12px;
 color:#607286;
 line-height:1.45;
 margin-top:5px;
}
.ote-feature-title{
 font-size:11px;
 font-weight:950;
 text-transform:uppercase;
 letter-spacing:.08em;
 color:#0f2d4a;
 margin-top:2px;
}
.ote-feature-list{
 margin:9px 0 16px;
 padding:0;
 list-style:none;
 color:#52657a;
 font-size:13px;
 line-height:1.5;
}
.ote-feature-list li{
 position:relative;
 padding-left:18px;
 margin:7px 0;
}
.ote-feature-list li:before{
 content:"✓";
 position:absolute;
 left:0;
 top:0;
 color:#ff6a00;
 font-weight:950;
}
.ote-package-details{
 margin-top:auto;
 border-top:1px solid #edf1f4;
 padding-top:13px;
}
.ote-package-details summary{
 list-style:none;
 cursor:pointer;
 color:#0f2d4a;
 font-size:12px;
 font-weight:900;
 display:flex;
 justify-content:space-between;
 gap:10px;
}
.ote-package-details summary::-webkit-details-marker{display:none}
.ote-package-detail-copy{
 margin-top:10px;
 color:#607286;
 font-size:12px;
 line-height:1.55;
}

.ote-included-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:18px;
 margin-top:28px;
}
.ote-included-card,.ote-change-card{
 border-radius:18px;
 padding:24px;
}
.ote-included-card{
 border:1px solid #cfe5d5;
 background:#f4fbf6;
}
.ote-change-card{
 border:1px solid #ffd8bd;
 background:#fff8f2;
}
.ote-included-icon,.ote-change-icon{
 width:34px;
 height:34px;
 border-radius:50%;
 display:flex;
 align-items:center;
 justify-content:center;
 font-weight:950;
 margin-bottom:12px;
}
.ote-included-icon{background:#dff2e4;color:#26763c}
.ote-change-icon{background:#ffe5d2;color:#c95100}
.ote-included-card h3,.ote-change-card h3{
 margin:0 0 10px;
 color:#0f2d4a;
 font-size:20px;
}
.ote-included-card p,.ote-change-card p{
 color:#607286;
 line-height:1.55;
 font-size:13px;
}
.ote-included-card ul,.ote-change-card ul{
 margin:12px 0 0;
 padding-left:20px;
 color:#52657a;
 font-size:13px;
 line-height:1.6;
}
.ote-included-card li,.ote-change-card li{margin:6px 0}

.ote-price-protection{
 margin-top:18px;
 padding:18px 20px;
 border-radius:14px;
 background:#0f2d4a;
 color:#fff;
}
.ote-price-protection strong{
 display:block;
 font-size:12px;
 letter-spacing:.1em;
 color:#ff9b5d;
}
.ote-price-protection p{
 margin:7px 0 0;
 color:#e4edf4;
 font-size:14px;
 line-height:1.55;
}

@media(max-width:760px){
 .ote-roof-details-result{grid-template-columns:1fr}
 .ote-included-grid{grid-template-columns:1fr}
 .ote-product-card.featured{transform:none}
}


/* ===== V5.1 GUTTER MEASUREMENT TEST ===== */
.ote-gutter-test-card{margin-top:26px;border:1px solid #d8e1e8;border-radius:18px;padding:22px;background:#fff}
.ote-gutter-test-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.ote-gutter-beta{font-size:10px;font-weight:950;letter-spacing:.11em;color:#ff6a00;margin-bottom:5px}
.ote-gutter-test-head h3{margin:0;color:#0f2d4a;font-size:21px}
.ote-gutter-test-head p{margin:7px 0 0;max-width:680px;color:#607286;font-size:13px;line-height:1.55}
.ote-gutter-method{flex:0 0 auto;border:1px solid #d8e1e8;background:#f7f9fb;color:#52657a;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.06em}
.ote-gutter-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.ote-gutter-metrics>div{border:1px solid #e2e8ed;border-radius:12px;background:#f8fafb;padding:15px}
.ote-gutter-metrics span{display:block;color:#0f2d4a;font-size:22px;font-weight:950}
.ote-gutter-metrics small{display:block;margin-top:3px;color:#708093;font-size:11px;line-height:1.35}
.ote-gutter-note{margin-top:12px;color:#718092;font-size:11px;line-height:1.5}
@media(max-width:760px){.ote-gutter-test-head{display:block}.ote-gutter-method{display:inline-block;margin-top:12px}.ote-gutter-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.ote-gutter-metrics{grid-template-columns:1fr}}

/* V5.3.1: show the optional question before the single confirmation action. */
.ote-measure-card .ote-reason-box{max-width:none;margin:20px 0;padding:18px;background:#fff;border:1px solid #cad5df;border-radius:12px}
.ote-measure-card .ote-reason-box label{font-size:16px;line-height:1.5}
.ote-measure-card .ote-reason-box select{font-size:16px;min-height:48px}
@media(max-width:600px){.ote-property-confirm>div{width:100%}.ote-property-confirm button{width:100%;min-height:48px}}
