
:root{--ink:#233c32;--green:#294f3e;--muted:#6d756e;--paper:#faf9f5;--line:#e0e3d9;--lime:#dce9ab;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #709a50;outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid #88a567;outline-offset:1px}[hidden]{display:none!important}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.header{height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:750;text-decoration:none;letter-spacing:-1.1px;display:flex;align-items:center;gap:4px}.brand>span:not(.brand-icon){font-weight:400}.brand-icon{font-size:35px;margin-right:7px}.brand small{font-size:9px;letter-spacing:1px;background:#e9edde;padding:3px 6px;border-radius:4px;align-self:center;margin-left:9px}nav{display:flex;align-items:center;gap:32px}nav>a{font-size:13px;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--green);border:1px solid var(--green);border-radius:7px;padding:16px 23px;color:white;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}.button:hover{background:#3c634d;transform:translateY(-1px)}.button span{font-size:20px;line-height:1}.button.small{padding:10px 16px;font-size:12px;gap:18px}.button.outline{color:var(--green);background:transparent;border-color:#b2beb0}.button.outline:hover{background:#edf0e5}.button.cream{background:var(--lime);border-color:var(--lime);color:var(--ink)}.button.full{width:100%;justify-content:space-between}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:64px;padding-block:65px 70px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;border-radius:100%;background:#6c8653}.hero h1{font:normal clamp(52px,5.2vw,76px)/1.08 var(--serif);letter-spacing:-3px;margin:25px 0}.hero h1 em,.admin-main h1 em{font-weight:normal;color:#69815b}.intro{color:var(--muted);font-size:16px;max-width:420px;line-height:1.8;margin:0 0 28px}.hero-note{display:flex;gap:22px;font-size:11px;color:var(--muted);margin-top:19px}.hero-art{position:relative;align-self:stretch;min-height:440px;background:#e9ece2;border-radius:100px 9px 9px 9px;overflow:hidden}.hero-art>img{display:block;width:100%;height:100%;object-fit:cover}.art-tag{position:absolute;bottom:53px;left:24px;right:24px;background:#faf9f4f0;backdrop-filter:blur(8px);padding:17px 18px;display:flex;align-items:center;gap:13px;border:1px solid #fff9;border-radius:8px;box-shadow:0 8px 24px #213e3210;font-size:13px;font-weight:600}.art-tag small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:1px}.mini-icon{background:#e7eddd;border-radius:50%;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:24px}.art-caption{position:absolute;bottom:20px;left:25px;letter-spacing:2px;font-size:9px;color:#fff}.trust-strip{background:#eef0e7;border-block:1px solid #e4e8dd}.trust-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:84px;font-size:11px;color:#7c8771}.trust-inner>span:first-child{font:italic 18px var(--serif);color:var(--ink)}.trust-inner b{margin-left:10px;color:var(--ink);font-weight:500}.calculator-section{padding-block:76px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}h2{font:normal 38px/1.17 var(--serif);letter-spacing:-1px;margin:12px 0 17px}.section-heading>p{font-size:13px;color:var(--muted);margin-bottom:18px}h3{font-size:17px;line-height:1.4;margin:0 0 8px}.calculator-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:28px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px}.panel-title{display:flex;align-items:center;gap:13px;margin-bottom:26px}.panel-title p{font-size:12px;color:var(--muted);margin:4px 0 0}.panel-title h3{margin:0}.step{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:50%;background:#eff2e8;font-size:11px;flex-shrink:0}.step.light{background:#ffffff15;color:#d6e3c6}label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}input,select,textarea{border:1px solid #d9ded5;border-radius:6px;background:#fff;width:100%;padding:12px;color:var(--ink);font-size:13px}input::placeholder,textarea::placeholder{color:#9a9f96}.optional{font-weight:400;color:var(--muted);font-size:10px;margin-left:4px}.input-action{display:flex;gap:8px}.input-action input{min-width:0}.input-action button{flex-shrink:0}.field-hint{font-size:11px;line-height:1.65;color:var(--muted);margin:9px 0 20px}.form-divider{height:1px;background:#edf0e9;margin:23px 0}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}.unit-input{position:relative}.unit-input input{padding-right:48px}.unit-input span{position:absolute;right:12px;top:13px;color:var(--muted);font-size:12px}.notice{background:#f1f4e8;border:1px solid #e0e7cd;border-radius:6px;padding:15px;font-size:12px;line-height:1.65;margin:20px 0;color:#526147}.notice b{display:block}.notice.neutral{background:#f6f7f2;border-color:#edf0e5}.error{color:#a73424;font-size:12px;margin:12px 0}.error:empty{display:none}.center-note{text-align:center;font-size:10px;color:var(--muted);margin:12px 0 0}.result{background:var(--green);color:#fff;border:0;min-height:405px;padding:28px 30px;position:relative;overflow:hidden}.result-label{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:1.3px;color:#d7e3cc}.empty-house{font-size:60px;font-weight:200;color:#b8cca6;margin-top:30px;line-height:1}.result #empty-result{text-align:center}.result #empty-result h3{font:normal 29px/1.25 var(--serif);margin-top:20px}.result #empty-result p{color:#c5d2c0;font-size:12px;max-width:260px;margin:15px auto 20px}.empty-lines{display:flex;gap:5px;justify-content:center}.empty-lines span{width:40px;height:4px;background:#d9e5c122;border-radius:2px}.result-kicker{font-size:12px;color:#d1dfc9;margin:30px 0 8px}.price{font:normal clamp(26px,3vw,41px)/1.3 var(--serif);white-space:nowrap;letter-spacing:-1px;color:#e8f0cc}.result-sub{font-size:11px;color:#c6d6c0;margin:8px 0 25px}.result-stats{display:flex;border-block:1px solid #ffffff20;padding:19px 0;justify-content:space-between;gap:10px;margin-bottom:23px}.result-stats span{display:block;font-size:10px;color:#c0d0b8}.result-stats b{font-size:12px;font-weight:500}.estimate-warning{font-size:11px;color:#e3e9d8;margin:0 0 20px}.result-footnote{font-size:10px;text-align:center;color:#c5d4bc;margin-bottom:0}.expectation{display:flex;gap:16px;margin-top:24px;padding:10px 8px}.expectation h3{font-size:15px}.expectation p{font-size:12px;color:var(--muted);margin:0}.how-section{border-top:1px solid var(--line);padding-block:54px 70px}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:38px}.number{font:italic 23px var(--serif);color:#8b9b77;display:block;margin-bottom:23px}.three-grid p{color:var(--muted);font-size:13px;max-width:290px}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:55px 0 70px;border-top:1px solid var(--line);align-items:start}.contact-copy{padding-top:20px}.contact-copy h2{font-size:46px}.contact-copy>p{font-size:14px;color:var(--muted);max-width:395px}.partner{display:flex;gap:15px;margin-top:35px}.partner b,.partner span:not(.mini-icon),.partner a{display:block;font-size:13px}.partner a{margin-top:8px}.partner span:not(.mini-icon){font-size:11px;color:var(--muted)}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:12px;margin:22px 0 15px;cursor:pointer}.check input{width:16px;height:16px;margin-top:3px;accent-color:var(--green);flex-shrink:0}.contact-section form>input,.settings-panel>input{margin-bottom:17px}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:60px;padding-block:60px 80px}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq details:first-child{padding-top:0}.faq summary{font-size:14px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';font-weight:400}.faq details[open] summary:after{content:'−'}.faq details p{font-size:13px;color:var(--muted);margin-bottom:0}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:30px}.footer .brand{font-size:19px}.footer>span,.footer>a:last-child{font-size:11px;color:var(--muted)}.admin-main{padding-block:45px 80px}.admin-main h1{font:normal 48px/1.1 var(--serif);letter-spacing:-1px;margin-top:16px}.login{max-width:480px}.login p{color:var(--muted);font-size:13px}.admin-tabs{display:flex;border-bottom:1px solid var(--line);margin:32px 0;gap:35px}.admin-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:13px 0;font-size:14px;color:var(--muted)}.admin-tabs button.active{border-color:var(--green);color:var(--green);font-weight:600}.admin-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0 35px}.admin-main h3{margin-top:15px}.badge{font-size:11px;padding:5px 10px;border:1px solid var(--line);border-radius:20px;white-space:nowrap;margin-left:auto}.table-scroll{overflow:auto;margin:20px 0}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;font-weight:500;color:var(--muted);padding:8px}td{padding:7px;min-width:115px}td:first-child{min-width:200px;width:40%}td:last-child{min-width:40px}td input{font-size:12px;padding:9px}.remove{border:0;background:#f5eee9;color:#865647;border-radius:5px;font-size:20px}.publish-bar{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.publish-bar p{font-size:12px;color:var(--muted);margin:0}.publish-bar strong{display:block;margin-top:6px}.button-row{display:flex;gap:10px}.settings-panel{max-width:740px}.settings-panel h3{margin-top:25px}.lead-card{border-top:1px solid var(--line);padding:18px 0}.lead-card p{font-size:13px;margin:5px 0;color:var(--muted)}.empty-inbox{padding:40px;text-align:center;color:var(--muted);font-size:14px}
@media(min-width:1500px){.hero h1{font-size:78px}.hero{gap:85px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero{gap:30px}.hero h1{font-size:57px}.hero-art{min-height:420px}.hero-note{gap:12px;font-size:10px}.panel{padding:23px}.section-heading>p{max-width:220px}.price{font-size:29px}.trust-inner{font-size:10px}.trust-inner>span:first-child{font-size:15px}nav{gap:18px}.contact-section{gap:30px}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header{height:80px}.brand{font-size:21px}.brand-icon{font-size:29px}nav>a:not(.button){display:none}nav .button.small{font-size:10px;padding:8px}.brand small{display:none}.hero{grid-template-columns:1fr;padding-block:37px 35px;gap:32px}.hero h1{font-size:59px;margin:20px 0}.hero .intro{font-size:15px;max-width:100%}.hero-art{height:345px;min-height:0;border-top-left-radius:80px}.hero-art>img{object-position:center 58%}.hero-note{font-size:11px}.trust-inner{min-height:70px;flex-wrap:wrap;justify-content:center;gap:7px 15px;padding-block:15px}.trust-inner>span:first-child{width:100%;text-align:center;font-size:17px}.trust-inner b{margin-left:3px;font-size:9px}.section-heading{display:block}.section-heading>p{max-width:none}.calculator-section{padding-block:43px}h2{font-size:32px}.calculator-grid{grid-template-columns:1fr;gap:18px}.price{font-size:36px}.result{min-height:360px}.three-grid{grid-template-columns:1fr;gap:19px;margin-top:20px}.three-grid article{position:relative;padding-left:52px}.three-grid .number{position:absolute;left:0;top:0}.three-grid p{max-width:none}.how-section{padding-block:35px 45px}.contact-section{grid-template-columns:1fr;padding-block:30px 45px;gap:20px}.contact-copy h2{font-size:38px}.faq{grid-template-columns:1fr;gap:20px;padding-block:40px}.faq h2 br{display:none}.footer{flex-wrap:wrap}.footer>span{order:3;width:100%}.admin-fields{grid-template-columns:repeat(2,1fr);gap:15px}.publish-bar{align-items:start;flex-direction:column}.button-row{width:100%;flex-wrap:wrap}.admin-main h1{font-size:40px}.admin-main .panel-title{align-items:start;flex-wrap:wrap}.badge{margin-left:0}.admin-tabs{gap:28px}.input-action .button{padding-inline:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.address-search{position:relative}.address-suggestions{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:10;background:#fff;border:1px solid #cbd4c6;border-radius:8px;box-shadow:0 10px 24px #233c3220;overflow:hidden}.address-suggestions ul{list-style:none;margin:0;padding:4px 0;max-height:270px;overflow:auto}.address-suggestions li{padding:12px 15px;font-size:13px;cursor:pointer;border-bottom:1px solid #edf0e8}.address-suggestions li:hover,.address-suggestions li[aria-selected=true]{background:#edf3e3}.google-attribution{font-family:Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;white-space:nowrap;color:#5e5e5e;padding:10px 12px 5px;text-align:right}.settings-panel+.settings-panel{margin-top:24px}.setup-steps{padding-left:22px;font-size:13px;color:var(--muted)}.setup-steps li{margin:8px 0}#measurement-note .button-row{flex-wrap:wrap;margin-top:14px}#measurement-note h3{font-size:16px}#measurement-note p{margin:8px 0}

/* Keep sign-in actions stationary when validation feedback appears. */
#login-form > .button{margin-top:20px}
#login-error{display:block;min-height:1.6em;margin:12px 0 0;color:#a33d32}

.arrow-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:-.2em}

.password-field{position:relative}
.password-field input{padding-right:52px}
.password-toggle{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:var(--green);padding:0}
.password-toggle:hover{background:#edf3e3}

.publish-bar{flex-wrap:wrap}
.publish-bar .publish-status{flex-basis:100%;margin:0;font-size:13px;min-height:1.6em}
.publish-status[data-state="success"]{padding:12px 16px;background:#edf3e3;border:1px solid #cbd9bd;border-radius:7px;color:var(--green)}
.publish-status[data-state="error"]{color:#a33d32}
#publish-label{font-size:inherit;line-height:inherit}

.recipient-card{border:1px solid var(--line);border-radius:8px;padding:20px;margin:22px 0;min-width:0}
.recipient-card legend{font-weight:600;padding:0 8px}
.recipient-card label{display:block;margin-bottom:16px}
.recipient-card input[type="checkbox"]{width:18px;height:18px;margin:0 10px;vertical-align:middle}
.settings-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.settings-actions > .button{flex:0 1 190px;min-height:56px;gap:16px}
@media(max-width:480px){.settings-actions > .button{flex-basis:100%}}
#load-more-leads{margin-top:20px}

.contact-response{min-width:0}
.request-success{border-color:#cbd9bd;background:#f3f6eb}
.request-success .success-icon{display:block;color:var(--green);margin-bottom:24px}
.request-success h3{font:normal 32px/1.2 var(--serif);margin:16px 0}
.request-success p{color:var(--muted);margin:0 0 24px}
.request-success:focus-visible{outline:2px solid #88a567;outline-offset:4px}

/* Match the two calculator panels while keeping supporting copy below them. */
@media (min-width: 761px) {
  .calculator-grid { align-items: stretch; }
  .calculator-grid > .result-column { display: contents; }
  .calculator-grid > .calculator { grid-column: 1; grid-row: 1; }
  .calculator-grid .result { grid-column: 2; grid-row: 1; }
  .calculator-grid .expectation { grid-column: 2; grid-row: 2; }
}

/* Public editorial pages share the calculator's colors and typography. */
.guide-home,.guide-hub{padding-block:55px;border-top:1px solid var(--line)}
.guide-hub h1,.guide-article h1{font:normal clamp(36px,4.5vw,62px)/1.12 var(--serif);letter-spacing:-1.5px;max-width:850px;margin:22px 0}
.guide-hub .intro,.guide-article .intro{max-width:740px;font-size:18px}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:30px 0}
.guide-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px}
.guide-card h3{font-size:21px;line-height:1.35;margin-top:0}.guide-card p{color:var(--muted)}
.guide-card a{text-decoration-thickness:1px;text-underline-offset:4px}
.guide-article{max-width:840px;padding-block:35px 65px}.guide-article nav{margin-bottom:36px;flex-wrap:wrap;gap:12px}
.guide-article h2{font:normal 30px/1.25 var(--serif);margin:38px 0 15px}.guide-article p,.guide-article li{font-size:17px;line-height:1.8}.guide-article li{margin-bottom:12px}
.guide-article table{font-size:15px}.guide-article th,.guide-article td{padding:14px;border-bottom:1px solid var(--line);min-width:125px}.guide-article caption{text-align:left;margin-bottom:12px}.guide-article td:first-child{width:auto}
.guide-cta{margin-top:45px;background:#e9edde;padding:32px;border-radius:12px}.guide-cta h2{margin-top:0;font:normal 32px/1.2 var(--serif)}
.skip-link{position:absolute;left:16px;top:-100px;z-index:10;background:white;padding:12px}.skip-link:focus{top:16px}
.hero h1{font-size:clamp(40px,4.5vw,65px);letter-spacing:-2px}
@media(max-width:760px){.guide-grid{grid-template-columns:1fr}.guide-home,.guide-hub{padding-block:35px}.guide-cta{padding:24px}.header{height:auto;min-height:80px;flex-wrap:wrap;gap:12px;padding-block:16px}.header nav{flex-wrap:wrap;gap:15px}.header nav>a.guides-nav{display:inline}.guide-article nav>a{display:inline}.guide-article{padding-top:25px}}

.roof-layers{list-style:none;padding:0;display:grid;gap:10px;counter-reset:roof-layer}.roof-layers li{counter-increment:roof-layer;padding:20px;border:1px solid var(--line);border-left:8px solid var(--green);background:#eef1e6;border-radius:8px}.roof-layers strong::before{content:counter(roof-layer) '. '}.roof-layers span{display:block}.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.scope-grid section{padding:20px;background:white;border:1px solid var(--line);border-radius:10px}.scope-grid h3{margin-top:0}
#price-examples{max-width:100%}#price-examples td:last-child{white-space:nowrap}.print-sheet{margin-block:28px;padding:25px;border:1px solid var(--line);background:white}.worksheet-line{display:flex;flex-wrap:wrap;gap:8px}.worksheet-line span{flex:1;min-width:60px;border-bottom:1px solid #888}.worksheet-checks{list-style:none;padding:0}.worksheet-checks li{position:relative;padding-left:25px}.worksheet-checks li::before{content:'';position:absolute;left:0;top:8px;width:13px;height:13px;border:1px solid currentColor}.writing-lines{height:90px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#aaa 29px,#aaa 30px)}.worksheet-footer{font-size:12px!important;color:var(--muted)}
@media(max-width:760px){.scope-grid{grid-template-columns:1fr}.print-sheet{padding:16px}}
@media print{body.checklist-page{background:white;color:black;font-size:10pt}.checklist-page .header,.checklist-page .footer,.checklist-page .skip-link,.checklist-page .guide-cta,.checklist-page .guide-article nav,.checklist-page article>.eyebrow,.checklist-page article>h1,.checklist-page .intro,.checklist-page .print-button,.checklist-page .print-context,.checklist-page noscript{display:none!important}.checklist-page .wrap{width:100%;max-width:none;padding:0;margin:0}.checklist-page .print-sheet{border:0;margin:0;padding:0}.checklist-page .print-sheet h2{font-size:20pt;margin:0 0 12px}.checklist-page .print-sheet p,.checklist-page .print-sheet li{font-size:10pt;line-height:1.4}.checklist-page .worksheet-checks li{break-inside:avoid;margin-bottom:8px}.checklist-page .worksheet-checks li::before{top:3px}.checklist-page .writing-lines{height:75px;border-bottom:1px solid #aaa}.checklist-page .worksheet-footer{margin-top:16px}}

/* Prevent iPhone focus zoom without restricting the user's pinch zoom. */
@media (max-width: 760px), (any-pointer: coarse) {
  input, select, textarea, td input {
    font-size: 16px;
  }
}
