/* DCCC Free Estimation Services — working preliminary gateway v1 */
:root{--df-red:#e30613;--df-yellow:#ffd400;--df-ink:#111318;--df-muted:#686d73;--df-line:#dfe3e7;--df-soft:#f4f6f7;--df-max:1480px}
body.dccc-free-estimate{overflow-x:hidden;background:#fff}body.dccc-free-estimate #app{max-width:none;padding:0;overflow:clip;background:#fff}.dccc-free-estimate .desktop-nav a.dfree-current,.dccc-free-estimate .mobile-menu a.dfree-current{position:relative;color:var(--df-red)!important;font-weight:850}.dccc-free-estimate .desktop-nav a.dfree-current::after{content:"";position:absolute;left:12%;right:12%;bottom:-9px;height:3px;border-radius:99px;background:var(--df-red)}
.dfree-page{width:100%;background:#fff;color:var(--df-ink)}.dfree-carousel{position:relative;overflow:hidden;isolation:isolate;background:#d9dde2;touch-action:pan-y}.dfree-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}.dfree-slide.on{opacity:1;z-index:1}.dfree-slide canvas,.dfree-slide img{display:block;width:100%!important;height:100%!important;object-fit:cover}.dfree-arrow{position:absolute;z-index:8;top:50%;width:42px;height:48px;transform:translateY(-50%);border:1px solid rgba(255,255,255,.5);border-radius:3px;background:rgba(0,0,0,.35);color:#fff;font-size:29px;cursor:pointer;opacity:.28;transition:.2s}.dfree-carousel:hover>.dfree-arrow{opacity:.9}.dfree-arrow.prev{left:16px}.dfree-arrow.next{right:16px}.dfree-dots{position:absolute;z-index:8;right:24px;bottom:18px;display:flex;gap:7px}.dfree-dots button{width:9px;height:9px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent}.dfree-dots button.on{width:24px;border-radius:99px;background:#fff}
.dfree-hero{position:relative;height:430px;min-height:430px;overflow:hidden;color:#fff;background:#111}.dfree-hero-media{position:absolute;inset:0}.dfree-hero-shade{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(3,5,8,.94),rgba(3,5,8,.76) 33%,rgba(3,5,8,.30) 61%,rgba(3,5,8,.06)),linear-gradient(0deg,rgba(0,0,0,.48),transparent 37%)}.dfree-hero-copy{position:relative;z-index:4;width:min(var(--df-max),calc(100% - 78px));height:100%;margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:30px 0 78px}.dfree-bread{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:15px;color:rgba(255,255,255,.72);font-size:10px}.dfree-bread a{color:#fff;text-decoration:none}.dfree-eyebrow{margin:0 0 8px;font-size:11px;font-weight:850;letter-spacing:.24em}.dfree-hero h1{margin:0;max-width:790px;font-size:clamp(45px,4.65vw,75px);line-height:.91;letter-spacing:-.045em;text-transform:uppercase}.dfree-hero h1 em{color:var(--df-red);font-style:normal}.dfree-hero h2{margin:8px 0 0;font-size:21px;line-height:1.05}.dfree-hero-copy>p:last-child{max-width:635px;margin:10px 0 0;color:rgba(255,255,255,.9);font-size:13.5px;line-height:1.43}.dfree-indicators{position:absolute;z-index:5;left:max(40px,calc((100% - var(--df-max))/2));bottom:0;display:grid;grid-template-columns:repeat(3,max-content);min-height:58px;border-top:1px solid rgba(255,255,255,.27);background:rgba(4,7,11,.52);backdrop-filter:blur(6px)}.dfree-indicators>div{padding:10px 20px;border-right:1px solid rgba(255,255,255,.22)}.dfree-indicators b,.dfree-indicators small{display:block}.dfree-indicators b{font-size:10px}.dfree-indicators small{margin-top:2px;font-size:8px;color:rgba(255,255,255,.7)}
.dfree-tools{width:min(var(--df-max),calc(100% - 48px));margin:12px auto 8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dfree-tool{min-height:62px;display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;padding:9px 14px;border:1px solid #dfe3e7;border-radius:5px;background:#fff;color:#15181c;text-align:left;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.03);transition:.2s}.dfree-tool>span{width:43px;height:43px;display:grid;place-items:center;border-radius:7px;color:#111;background:#f2f3f4;font-size:25px}.dfree-tool b,.dfree-tool small{display:block}.dfree-tool b{font-size:13px}.dfree-tool small{margin-top:3px;color:#73787f;font-size:9.5px;line-height:1.25}.dfree-tool.on{border-color:#ff3948;background:linear-gradient(110deg,#ee0618,#ff2433);color:#fff}.dfree-tool.on>span{color:#fff;background:rgba(255,255,255,.16)}.dfree-tool.on small{color:rgba(255,255,255,.82)}
.dfree-work{width:min(var(--df-max),calc(100% - 48px));margin:0 auto 20px;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,.9fr) minmax(210px,.58fr);gap:12px;align-items:stretch}.dfree-panel{border:1px solid var(--df-line);border-radius:6px;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.035)}.dfree-form-card{padding:14px}.dfree-form-card>header{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.dfree-form-card>header>span{font-size:24px}.dfree-form-card h2,.dfree-summary h2{margin:0;font-size:16px}.dfree-form-card header p{margin:3px 0 0;color:#7a7f86;font-size:9.5px}.dfree-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}.dfree-field,.dfree-custom label{display:flex;flex-direction:column;gap:5px}.dfree-field>span,.dfree-custom label>span{font-size:10px;font-weight:800}.dfree-field i{color:var(--df-red);font-style:normal}.dfree-field input,.dfree-field select,.dfree-custom input{width:100%;height:38px;padding:0 10px;border:1px solid #d6dade;border-radius:4px;background:#fff;color:#17191d;font:inherit;font-size:11px;outline:none}.dfree-field input:focus,.dfree-field select:focus,.dfree-custom input:focus{border-color:var(--df-red);box-shadow:0 0 0 3px rgba(227,6,19,.08)}.dfree-custom{display:none;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:11px;border:1px dashed #d8dde2;border-radius:4px;background:#fafbfc}.dfree-custom.show{display:grid}.dfree-controls{grid-column:1/-1;display:grid;grid-template-columns:1.25fr .55fr 1fr;gap:10px;margin-top:4px}.dfree-controls button,.dfree-controls a{min-height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;font-size:11px;font-weight:850;text-decoration:none;cursor:pointer}.dfree-primary{border:0;background:var(--df-yellow);color:#111}.dfree-reset{border:1px solid #d8dde1;background:#fff;color:#111}.dfree-detail{border:1px solid #222;color:#111;background:#fff}.dfree-form-note{grid-column:1/-1;margin:0;padding:8px 10px;border-left:3px solid #8b939d;background:#f7f8f9;color:#70767d;font-size:9px;line-height:1.35}
.dfree-summary{padding:12px}.dfree-summary>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #e5e8eb}.dfree-summary header>div{display:flex;align-items:center;gap:8px}.dfree-summary header>div>span{font-size:21px}.dfree-summary header>strong{padding:5px 10px;border-radius:99px;background:#ff1226;color:#fff;font-size:9px}.dfree-sumrow{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:13px 8px;border-bottom:1px solid #eceef0}.dfree-sumrow span{font-size:10.5px;font-weight:800}.dfree-sumrow small{display:block;margin-top:2px;color:#8b9096;font-size:8px;font-weight:500}.dfree-sumrow b{font-size:16px;white-space:nowrap}.dfree-sumrow.total{margin-top:2px;border-radius:4px;background:#fff0f2}.dfree-sumrow.total b{color:var(--df-red);font-size:18px}.dfree-summary[data-tool="material"] .dfree-sumrow.material,.dfree-summary[data-tool="labour"] .dfree-sumrow.labour,.dfree-summary[data-tool="cost"] .dfree-sumrow.total{box-shadow:inset 4px 0 0 var(--df-red);background:#fff6f7}.dfree-rate{display:grid;grid-template-columns:auto 1fr;gap:5px 8px;margin-top:9px;padding:9px;border-radius:4px;background:#f6f7f8}.dfree-rate span{font-size:8px;color:#777}.dfree-rate b{font-size:8.8px;text-align:right}.dfree-warning{margin:9px 0 0;padding:9px;border-radius:4px;background:#f3f5f6;color:#72777e;font-size:8.5px;line-height:1.38}.dfree-side{position:relative;overflow:hidden;border-radius:6px;background:#e6e8eb;min-height:100%}.dfree-side-media{position:absolute;inset:0}.dfree-side:after{content:"";position:absolute;z-index:2;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7))}.dfree-side>div:last-child{position:absolute;z-index:3;right:14px;bottom:18px;color:#fff;text-align:right;font-size:13px;font-weight:850;line-height:1.12;transform:rotate(-5deg)}
.dfree-compare{width:min(var(--df-max),calc(100% - 48px));margin:8px auto 0;display:grid;grid-template-columns:260px 1fr 1fr;gap:12px;align-items:stretch;padding:18px 0}.dfree-compare>header{display:flex;flex-direction:column;justify-content:center;padding:10px 6px}.dfree-compare>header span{font-size:25px;font-weight:950;line-height:.93}.dfree-compare>header i{color:var(--df-red);font-style:normal}.dfree-compare>header small{margin-top:7px;font-size:9px;font-weight:800;letter-spacing:.08em}.dfree-compare-card{padding:14px 18px;border-left:1px solid #d8dce0}.dfree-compare-card h3{margin:0 0 8px;font-size:13px}.dfree-compare-card ul{margin:0;padding-left:18px;color:#42474d;font-size:9.5px;line-height:1.55}.dfree-compare-card li::marker{color:#0b9b39}.dfree-compare-card a{margin-top:10px;display:inline-flex;padding:9px 13px;border-radius:3px;background:#ffd400;color:#111;text-decoration:none;font-size:10px;font-weight:900}
.dfree-footer{margin-top:4px;padding:24px max(24px,calc((100% - var(--df-max))/2)) 0;color:#fff;background:#0d131a}.dfree-footer,.dfree-footer *{background-image:none!important}.dfree-footer img,.dfree-footer video,.dfree-footer svg,.dfree-footer canvas{display:none!important}.dfree-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr .85fr;gap:28px;padding-bottom:20px}.dfree-brand strong{display:block;font-size:18px;line-height:1.12}.dfree-brand p{max-width:350px;margin:9px 0 0;color:#bbc1c7;font-size:9.5px;line-height:1.48}.dfree-footer section>b{display:block;margin-bottom:8px;font-size:10.5px}.dfree-footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px}.dfree-footer a{color:#dce0e4;text-decoration:none;font-size:8.8px}.dfree-footer a:hover{text-decoration:underline}.dfree-tag{align-self:center;padding-left:18px;border-left:1px solid #3a444e;font-size:11px}.dfree-tag strong{font-size:14px}.dfree-footer-bottom{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #303943;color:#aeb5bc;font-size:8px}.dfree-footer-bottom span{display:flex;gap:12px}
@media(max-width:1200px){.dfree-hero-copy{width:calc(100% - 48px)}.dfree-indicators{left:24px}.dfree-work{grid-template-columns:1.6fr .9fr}.dfree-side{grid-column:1/-1;min-height:210px}.dfree-side-media{position:absolute;inset:0}.dfree-form{grid-template-columns:repeat(2,minmax(0,1fr))}.dfree-custom{grid-template-columns:repeat(2,minmax(0,1fr))}.dfree-compare{grid-template-columns:220px 1fr 1fr}.dfree-footer-grid{grid-template-columns:1.3fr 1fr 1fr}.dfree-tag{grid-column:1/-1;border-left:0;border-top:1px solid #3a444e;padding:12px 0 0}}
@media(max-width:820px){.dfree-hero{height:520px;min-height:520px}.dfree-hero-shade{background:linear-gradient(0deg,rgba(3,5,8,.95),rgba(3,5,8,.72) 70%,rgba(3,5,8,.32))}.dfree-hero-copy{width:calc(100% - 32px);justify-content:flex-end;padding-bottom:93px}.dfree-hero h1{font-size:clamp(40px,9vw,60px)}.dfree-hero-copy>p:last-child{max-width:100%}.dfree-indicators{left:0;right:0;grid-template-columns:repeat(3,1fr)}.dfree-indicators>div{padding:9px 8px;text-align:center}.dfree-indicators small{display:none}.dfree-tools{grid-template-columns:1fr;width:calc(100% - 28px)}.dfree-work{width:calc(100% - 28px);grid-template-columns:1fr}.dfree-summary{order:2}.dfree-side{order:3;min-height:240px}.dfree-compare{width:calc(100% - 28px);grid-template-columns:1fr 1fr}.dfree-compare>header{grid-column:1/-1}.dfree-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.dfree-arrow{display:none}.dfree-hero{height:600px;min-height:600px}.dfree-hero-copy{width:calc(100% - 26px);padding-bottom:88px}.dfree-bread{font-size:8px}.dfree-eyebrow{font-size:8.5px}.dfree-hero h1{font-size:clamp(37px,12.5vw,53px)}.dfree-hero h2{font-size:18px}.dfree-hero-copy>p:last-child{font-size:12.5px}.dfree-indicators>div{display:flex;align-items:center;justify-content:center}.dfree-indicators b{font-size:8px}.dfree-tool{grid-template-columns:42px 1fr}.dfree-form{grid-template-columns:1fr}.dfree-custom{grid-template-columns:1fr}.dfree-controls{grid-template-columns:1fr}.dfree-controls button,.dfree-controls a{width:100%}.dfree-summary{padding:10px}.dfree-side{min-height:260px}.dfree-compare{grid-template-columns:1fr}.dfree-compare>header{grid-column:auto}.dfree-compare-card{border-left:0;border-top:1px solid #d8dce0}.dfree-footer{padding-left:14px;padding-right:14px}.dfree-footer-grid{grid-template-columns:1fr}.dfree-footer nav{grid-template-columns:1fr 1fr}.dfree-tag{grid-column:auto}.dfree-footer-bottom{align-items:flex-start;flex-direction:column;padding:11px 0}.dfree-footer-bottom span{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.dfree-slide,.dfree-tool{transition:none!important}}
