*{box-sizing:border-box}body{margin:0;background:#f6f8f5;color:#183b33;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.65}a{color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.topline{background:#12342e;color:white;padding:8px max(20px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;gap:16px;font-size:13px}.topline a{text-decoration:none}.header{background:#fff;box-shadow:0 2px 13px #10271a10;display:flex;justify-content:space-between;align-items:center;padding:12px max(20px,calc((100vw - 1180px)/2));gap:20px;position:relative;z-index:4}.header img{width:165px;max-height:62px;object-fit:contain}.header nav{display:flex;align-items:center;gap:6px}.header nav a{font-size:13px;text-decoration:none;font-weight:700;padding:11px 12px;border-radius:8px;white-space:nowrap}.header nav a:hover,.header nav a.current{background:#D79331;color:#fff}.header nav .nav-cta{background:#19443b;color:#fff}.menu-toggle{display:none;background:#19443b;color:white;border:0;border-radius:8px;padding:10px 15px}.hero{background:linear-gradient(105deg,#12382f 10%,#225448 100%);color:#fff;padding:78px 0 84px}.hero .wrap{max-width:1180px}.eyebrow{font-weight:800;letter-spacing:1.6px;font-size:11px;text-transform:uppercase;color:#d99a40;margin:0 0 10px}h1{font-size:clamp(32px,5vw,54px);max-width:790px;line-height:1.13;margin:0 0 16px;letter-spacing:-1.2px}h2{font-size:clamp(25px,3vw,34px);line-height:1.22;margin:0 0 12px;letter-spacing:-.5px}.lead{max-width:780px;font-size:17px;color:#e0ebe5;margin:0}.hero-points{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;margin-top:25px;color:#fff8ec}.bodywrap{margin-top:-40px;position:relative}.calculator{background:#fff;box-shadow:0 14px 40px #162e2420;border-radius:18px;overflow:hidden}.calc-head{display:flex;justify-content:space-between;align-items:center;padding:30px 34px 24px;border-bottom:1px solid #e3ebe6}.calc-head p{margin:0;color:#64776f}.calc-head .eyebrow{color:#b67825;margin-bottom:6px}.head-icon{display:grid;place-items:center;background:#fbf0e0;color:#ac731f;font-size:32px;width:57px;height:57px;border-radius:15px}.formgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;padding:28px 34px 35px}.controls{display:grid;gap:22px}fieldset{border:0;margin:0;padding:0}legend,.field{font-weight:750;font-size:14px;color:#25493f;display:block;width:100%}.radio-cards{display:grid;gap:10px;margin-top:11px}.radio-cards label{border:1px solid #dce7df;border-radius:10px;padding:14px;display:flex;align-items:flex-start;gap:12px;cursor:pointer}.radio-cards label:has(input:checked){border-color:#D79331;background:#fffaf0}.radio-cards input{accent-color:#c88a30;margin-top:6px}.radio-cards small,.field small{display:block;font-weight:400;color:#66776f;font-size:12px;margin-top:3px}select,input:not([type=radio]):not([type=checkbox]),textarea{display:block;width:100%;font:inherit;border:1px solid #d5e0d9;border-radius:9px;padding:12px;background:#fff;color:#173c33;margin-top:8px}input:focus,select:focus,textarea:focus{outline:2px solid #d79331;outline-offset:1px}.field{margin-bottom:17px}.field:last-child{margin-bottom:0}.result{background:#193f36;color:#fff;border-radius:13px;padding:30px;align-self:start;position:sticky;top:20px}.result-tag{font-size:12px;letter-spacing:1px;font-weight:800;color:#dfba74;margin:0 0 15px}.range{font-size:clamp(29px,3.4vw,42px);letter-spacing:-1px;font-weight:850;line-height:1.2}.result #summary{color:#cddbd3;font-size:13px;padding-bottom:20px;border-bottom:1px solid #45655a}.result-detail{font-size:13px;color:#deebe3}.result-detail p{margin:18px 0}.result-detail strong{color:white}.button{display:inline-block;border:0;background:#D79331;color:#112f26!important;text-decoration:none;border-radius:9px;padding:14px 17px;font-weight:800;font-size:14px;cursor:pointer;text-align:center}.button:hover{background:#e6a749}.result .button{display:block}.quiet{font-size:12px;text-align:center;color:#c0d0c7}.info,.faq{padding:62px 0 20px;max-width:940px}.info p{color:#526b61}.inspection{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;background:#eaf0eb;border-radius:18px;padding:35px;margin-top:40px;scroll-margin-top:20px}.inspection-text>p:not(.eyebrow){color:#50665d}.contact-lines{display:grid;gap:8px;margin-top:20px}.contact-lines a{font-weight:700;text-decoration:none}.inspection form{background:#fff;border:1px solid #e0e8e1;border-radius:12px;padding:25px}.inspection form label{display:block;font-weight:700;font-size:13px;margin-bottom:15px}.inspection .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.consent{display:flex!important;gap:9px;align-items:flex-start;font-weight:400!important;color:#50665d}.consent input{margin-top:5px;accent-color:#D79331}.inspection .button{width:100%}#form-status{font-weight:700;font-size:13px}#form-status[data-error]{color:#a52d25}#form-status[data-success]{color:#1c6e4b}.faq{padding-bottom:85px}.faq details{border-bottom:1px solid #d7e0d8;padding:17px 0}.faq summary{cursor:pointer;font-weight:750}.faq details p{color:#586f63}footer{background:#12342e;color:#e5efe9;padding:36px 0 20px}.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.foot img{width:185px;max-height:75px;object-fit:contain}.foot p{font-size:13px;max-width:310px}.foot div{display:flex;flex-direction:column;gap:8px}.foot a{text-decoration:none;font-size:13px}.legal{text-align:center;font-size:12px;margin-top:30px;padding-top:15px;border-top:1px solid #456057}.legal a{color:inherit}@media(max-width:930px){.menu-toggle{display:block}.header nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;padding:20px;box-shadow:0 9px 20px #0002}.header nav.open{display:flex}.formgrid{grid-template-columns:1fr}.result{position:static}.inspection{grid-template-columns:1fr}}@media(max-width:600px){.topline{font-size:11px;flex-wrap:wrap}.hero{padding:52px 0 78px}.hero-points{display:grid;gap:5px}.calc-head{padding:22px}.formgrid{padding:20px;gap:10px}.result{padding:22px}.inspection{padding:20px;gap:16px}.inspection form{padding:16px}.inspection .two,.foot{grid-template-columns:1fr}.info,.faq{padding-top:45px}.wrap{width:min(1180px,calc(100% - 28px))}}

/* Bristol Roofing CT header alignment -- isolated to calculator page */
html,body{max-width:100%;overflow-x:clip}
.topline{background:#102c25;color:#fff;padding:9px 4%;font-size:14px}
.header{width:100%;min-height:108px;padding:14px 4%;gap:22px;display:flex;align-items:center;justify-content:space-between;background:#fff}
.header .header-logo{display:flex;align-items:center;flex:0 0 auto;min-width:0}
.header .header-logo img{width:clamp(180px,18vw,285px);height:auto;max-height:82px;object-fit:contain}
.header #navigation{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0;flex-wrap:nowrap}
.header #navigation>a,.header #navigation>.services-nav>a{font-size:clamp(13px,1vw,16px);font-weight:750;line-height:1.2;padding:14px 10px;text-decoration:none;white-space:nowrap;border-radius:10px}
.header #navigation>a:hover,.header #navigation>a.current{background:#D79331;color:#fff}
.header #navigation>a.nav-cta{background:#193b32;color:#fff;padding:16px 14px}
.header #navigation>a.nav-cta:hover{background:#D79331}
.header .services-nav{display:flex;align-items:center;position:relative;min-width:0;border-radius:10px}
.header .services-nav>a{display:inline-flex;align-items:center}
.header .services-nav:hover,.header .services-nav:focus-within{background:#edf3ee}
.header .services-toggle{flex:0 0 auto;display:inline-grid;place-items:center;background:none;border:0;padding:12px 9px 12px 2px;color:#173b33;cursor:pointer}
.header .chevron{display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.header .services-nav.open .chevron{transform:translateY(2px) rotate(225deg)}
.header #navigation .services-submenu{display:none!important;position:absolute!important;left:0!important;top:100%!important;min-width:245px;max-width:min(310px,90vw);width:max-content;z-index:999;padding:8px;background:white;border:1px solid #e3eae4;box-shadow:0 14px 30px #0c2d2340;border-radius:12px;flex-direction:column;align-items:stretch}
.header #navigation .services-nav.open .services-submenu,.header #navigation .services-nav:hover .services-submenu,.header #navigation .services-nav:focus-within .services-submenu{display:flex!important}
.header #navigation .services-submenu a{display:block!important;width:100%;font-size:14px!important;padding:11px 13px!important;text-decoration:none!important;white-space:normal!important;border-radius:7px;color:#193b32;font-weight:700}
.header #navigation .services-submenu a:hover,.header #navigation .services-submenu a:focus-visible{background:#D79331;color:white}
.header .menu-toggle{display:none;cursor:pointer}
@media(max-width:1360px){
 .header{padding:12px 3%;gap:12px}
 .header .header-logo img{width:200px}
 .header #navigation{gap:2px}
 .header #navigation>a,.header #navigation>.services-nav>a{padding:12px 8px;font-size:13px}
 .header #navigation>a.nav-cta{padding:14px 10px}
}
@media(max-width:1080px){
 .header{min-height:82px;position:relative;flex-wrap:wrap}
 .header .header-logo img{width:205px;max-height:66px}
 .header .menu-toggle{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:#193b32;color:#fff;font-size:15px;font-weight:700;padding:11px 17px;margin-left:auto}
 .header #navigation{display:none!important;position:absolute;left:0;right:0;top:100%;z-index:100;flex-direction:column;align-items:stretch;gap:3px;padding:14px 20px 20px;background:white;box-shadow:0 12px 22px #0002;max-height:calc(100vh - 95px);overflow-y:auto}
 .header #navigation.open{display:flex!important}
 .header #navigation>a,.header #navigation>.services-nav>a{display:block;width:100%;font-size:16px;padding:12px 14px}
 .header .services-nav{width:100%;display:flex;flex-wrap:wrap}
 .header .services-nav>a{flex:1}
 .header .services-toggle{padding:12px 18px}
 .header #navigation .services-submenu{position:static!important;max-width:100%;width:100%;min-width:0;box-shadow:none;flex-basis:100%;margin:0 0 5px 0}
 .header #navigation .services-nav:hover .services-submenu,.header #navigation .services-nav:focus-within .services-submenu{display:none!important}
 .header #navigation .services-nav.open .services-submenu{display:flex!important}
 .topline{padding:8px 3%;font-size:13px}
}
@media(max-width:540px){.topline{font-size:11px;gap:8px}.header .header-logo img{width:185px}.header{padding:10px 15px}}
