@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--navy:#0b2a42;--deep:#081f31;--gold:#bd9158;--gold-light:#d6b47f;--cream:#f5f3ef;--ink:#132f44;--muted:#586570;--line:#dedfdc;--white:#fff;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);font:16px/1.65 var(--sans);background:#fff}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.025em}h1{font-size:clamp(3.3rem,4.7vw,5rem);margin-bottom:24px}h2{font-size:clamp(2.5rem,3.3vw,3.8rem);margin-bottom:22px}h3{font-size:1.25rem;line-height:1.35;font-weight:600}p{margin-bottom:22px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #2776af;outline-offset:4px}.wrap{width:min(1256px,calc(100% - 96px));margin:auto}.preview-banner{text-align:center;background:#eae5db;padding:6px 20px;font-size:12px;color:#514d43}.preview-banner span{font-weight:700;letter-spacing:.12em;margin-right:12px}.utility{background:var(--deep);color:#dbe1e5;font-size:12px;padding:9px 0;letter-spacing:.08em}.utility .wrap{display:flex;justify-content:space-between;gap:20px}.utility a{letter-spacing:0}.utility b{color:var(--gold-light);margin-left:14px}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.98);border-bottom:1px solid #ecece9}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:104px}.brand{width:180px;flex-shrink:0}.brand img{height:91px;width:180px;object-fit:contain}nav{display:flex;gap:27px;font-size:14px;font-weight:550}nav a:hover{color:#906631}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:16px 22px;line-height:1.3;border:1px solid transparent;border-radius:3px;font-size:14px;font-weight:700;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:var(--deep)}.button-gold:hover{background:#cda46e}.button-navy{background:var(--navy);color:#fff}.button-navy:hover{background:#174363}.button-outline{border-color:#8a99a5;background:transparent;color:#fff}.button-outline:hover{background:#ffffff10}.button-light{background:#fff;border-color:var(--line)}.wide{width:100%}.menu-toggle{display:none;border:0;background:none;font-size:27px}.hero{background:linear-gradient(112deg,#102d43 0%,#0b253b 60%,#081d2f 100%);color:#fff;padding:66px 0 0;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:90px;align-items:center}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.18em;font-weight:700;color:#846033;margin-bottom:20px}.gold{color:var(--gold-light)}h1 em{font-style:normal;color:#d4b382}.hero-intro{font-size:18px;line-height:1.7;max-width:570px;color:#d4dde4;margin-bottom:29px}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-note{display:flex;align-items:center;gap:16px;margin-top:32px}.hero-note p{font-size:13px;margin:0;color:#ece9e3;line-height:1.6}.hero-note p span{color:#a6b6c2}.tiny-mark{font-family:Georgia,serif;font-size:22px;letter-spacing:-3px;color:var(--gold-light);border:1px solid #66707a;border-radius:50%;width:45px;height:45px;display:grid;grid-auto-flow:column;place-content:center;padding-right:4px}.tiny-mark span{font-size:13px;align-self:center}.estimate-card{background:#fff;color:var(--ink);padding:37px 36px 25px;border-radius:5px;box-shadow:0 22px 65px #0002}.estimate-card .eyebrow{margin-bottom:13px}.estimate-card h2{font-size:38px;margin-bottom:14px}.estimate-card>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.55;margin-bottom:22px}.estimate-card label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}input,select,textarea{width:100%;border:1px solid #cfd4d6;border-radius:3px;padding:13px 14px;background:white;color:var(--ink);min-width:0}input::placeholder,textarea::placeholder{color:#6b737b}.estimate-card input,.estimate-card select{margin-bottom:15px;font-size:14px}.form-note{font-size:12px!important;line-height:1.5;text-align:center;margin:13px 0 0!important;color:var(--muted)}.hero-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff20;margin-top:49px;padding:20px 0;font-size:11px;letter-spacing:.17em;color:#b7c3cd}.paths{display:grid;grid-template-columns:repeat(3,1fr);padding:43px 0 49px;gap:40px}.paths article+article{border-left:1px solid var(--line);padding-left:40px}.path-number{font-size:11px;letter-spacing:.13em;font-weight:700;color:#88663b;display:block;margin-bottom:17px}.paths h3{font-size:20px;margin-bottom:11px}.paths p{font-size:15px;color:var(--muted);line-height:1.7}.text-link{border:0;border-bottom:1px solid #bfa77f;background:none;padding:0 0 5px;display:inline-flex;gap:30px;justify-content:space-between;font-weight:650;font-size:14px;text-align:left}.text-link:hover{color:#8a622f}.text-link span{font-size:19px;line-height:1}.skip-link{position:fixed;top:-100px;left:15px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:10px}
@media(min-width:1550px){.hero{padding-top:80px}.hero-grid{gap:115px}.hero-bottom{margin-top:68px}}@media(max-width:1100px){.wrap{width:calc(100% - 60px)}nav{gap:16px}.nav-inner{gap:17px}.nav-cta{padding:14px}.brand{width:153px}.brand img{width:153px}.hero-grid{gap:42px}.hero{padding-top:48px}h1{font-size:3.6rem}.estimate-card{padding:28px}.actions .button{padding:15px 17px}.paths{gap:25px}.paths article+article{padding-left:25px}}@media(max-width:850px){nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:24px 30px;box-shadow:0 10px 20px #0001;flex-direction:column}nav.open{display:flex}.menu-toggle{display:block}.nav-cta{margin-left:auto}.nav-inner{min-height:88px}.brand img{height:77px}.hero-grid{grid-template-columns:1.05fr .95fr;gap:28px}.estimate-card{padding:25px}.hero-copy h1{font-size:3.1rem}.hero-intro{font-size:16px}.hero-note{margin-top:24px}.hero-bottom{font-size:10px;letter-spacing:.08em}}@media(max-width:650px){.wrap{width:calc(100% - 40px)}.preview-banner{font-size:11px;line-height:1.6;padding:6px 15px}.preview-banner span{display:block;margin:0}.utility .wrap>span{display:none}.utility .wrap{justify-content:center}.nav-inner{min-height:78px;gap:11px}.brand{width:136px}.brand img{width:136px;height:70px}.nav-cta{font-size:12px;padding:12px}.nav-cta span{display:none}.menu-toggle{font-size:24px;padding:3px}.hero{padding-top:40px}.hero-grid{grid-template-columns:1fr;gap:32px}.hero-copy h1{font-size:3.45rem;letter-spacing:-.025em}.eyebrow{font-size:10px;letter-spacing:.14em}.hero-intro{font-size:17px}.actions{gap:10px}.actions .button{font-size:13px;padding:15px}.hero-note{margin-top:26px}.estimate-card{padding:26px}.estimate-card h2{font-size:35px}.estimate-card h2 br{display:none}.hero-bottom{flex-wrap:wrap;justify-content:center;gap:10px 20px;text-align:center;margin-top:28px;padding:20px 0}.paths{grid-template-columns:1fr;gap:25px;padding:33px 0}.paths article+article{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:25px}.path-number{margin-bottom:10px}.paths p{margin-bottom:16px}h2{font-size:2.6rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.section{padding:91px 0}.section-heading{margin-bottom:40px}.section-heading p:not(.eyebrow){color:var(--muted);max-width:580px;font-size:17px}.narrow{max-width:700px}.split-heading{display:flex;align-items:end;justify-content:space-between;gap:65px}.split-heading>div{flex:1}.split-heading>p{max-width:360px;font-size:16px!important;margin-bottom:8px}.split-heading h2{margin-bottom:0}.centered{text-align:center;max-width:750px;margin-left:auto;margin-right:auto}.centered>p:not(.eyebrow){margin-left:auto;margin-right:auto}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.concerns{background:var(--cream);border-top:1px solid var(--line)}.concern{text-align:left;background:#fff;border:0;border-top:2px solid #b89b73;padding:29px 29px 25px;border-radius:2px;transition:box-shadow .2s,transform .2s}.concern:hover{transform:translateY(-3px);box-shadow:0 10px 30px #102d430a}.concern h3{margin-bottom:14px}.concern p{font-size:15px;color:var(--muted)}.concern .text-link{border:0;width:100%;font-size:13px}.line-icon{color:#a37d49;display:block;font-size:13px;margin-bottom:21px;letter-spacing:.12em}.founder-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.photo-placeholder{position:relative;background:#e6e7e3;border:1px solid #d8dbd9;overflow:hidden}.owner-placeholder{min-height:460px;background:linear-gradient(135deg,#e9e7e1,#d8dedc)}.placeholder-corner{position:absolute;top:19px;left:20px;font-size:10px;letter-spacing:.13em;color:#65716d;border:1px solid #a8b2ac;padding:6px 9px}.monogram{font:150px/1 Georgia,serif;letter-spacing:-22px;color:#82978e25;position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);white-space:nowrap}.monogram>span{font-size:90px;vertical-align:middle;display:inline-block;transform:translateY(-10px)}.placeholder-caption{position:absolute;bottom:27px;left:29px;right:25px}.placeholder-caption>span{font-size:10px;letter-spacing:.16em;font-weight:650;color:#697775;display:block;margin-bottom:7px}.placeholder-caption strong{font:33px/1.2 var(--serif);display:block}.placeholder-caption p{font-size:13px;margin:10px 0 0;max-width:330px;color:#5c6b6a}.owner-card{margin:-2px 25px 0;background:var(--navy);color:#fff;padding:24px 26px;position:relative}.owner-card>span{color:#d5b27f;display:block;font-size:10px;letter-spacing:.13em;margin-bottom:9px}.owner-card strong{font:28px var(--serif)}.owner-card p{color:#bfccd3;font-size:13px;margin:3px 0 0}.founder-copy>p:not(.eyebrow){color:var(--muted);font-size:16px}.founder-copy .lead{font-size:19px!important;color:var(--ink)!important}.signature{font:italic 31px Georgia,serif;margin:30px 0}.signature span{display:block;font:10px var(--sans);letter-spacing:.17em;margin-top:12px;color:var(--muted)}.explorer-section{background:#f3f5f5}.explorer{display:grid;grid-template-columns:1fr 345px;border:1px solid #d3dbdf;background:white;border-radius:5px;overflow:hidden}.model-surface{background:#e8edf0;min-height:520px;position:relative;display:flex;flex-direction:column}.model-top,.model-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 22px;font-size:10px;letter-spacing:.12em;font-weight:600;position:relative;z-index:2}.diagram-label{color:#66757f;font-size:9px}.model-bottom{font-size:11px;letter-spacing:0;font-weight:400;margin-top:auto}.model-bottom button{border:0;border-bottom:1px solid #7a8c99;background:transparent;padding:4px;font-size:12px;white-space:nowrap}#roof-canvas{position:relative;height:435px;min-height:300px;width:100%;touch-action:pan-y}#roof-canvas canvas{display:block;touch-action:none;outline-offset:-4px}#roof-loading{position:absolute;inset:40% 25px auto;text-align:center;font-size:14px;color:var(--muted)}.explorer-controls{padding:30px 26px}.explorer-controls .eyebrow{margin-bottom:17px}.segmented{display:inline-flex;background:#e9edf0;border-radius:4px;padding:4px;gap:3px}.segmented button{border:0;background:transparent;padding:9px 16px;border-radius:3px;color:#4b5d6a;font-size:13px;font-weight:600}.segmented button.active{background:var(--navy);color:#fff;box-shadow:0 2px 5px #0b2a4210}.explorer-controls .segmented{display:flex}.explorer-controls .segmented button{flex:1}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;margin:24px 0;cursor:pointer;position:relative}.toggle-row input{position:absolute;right:0;width:40px;height:25px;opacity:0;margin:0;z-index:2;cursor:pointer}.switch{width:38px;height:22px;border-radius:20px;background:#aab7c0;position:relative}.switch:after{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.toggle-row input:checked+.switch{background:var(--navy)}.toggle-row input:checked+.switch:after{transform:translateX(16px)}.toggle-row input:focus-visible+.switch{outline:3px solid #2776af;outline-offset:4px}.control-label{font-size:10px;letter-spacing:.12em;font-weight:600;color:var(--muted);margin-bottom:11px}.part-buttons{display:flex;flex-wrap:wrap;gap:7px}.part-buttons button{font-size:12px;padding:7px 10px;background:white;border:1px solid #ccd4da;border-radius:3px}.part-buttons button.active{background:#f1e8db;border-color:#b38b53}.part-info{border-top:1px solid var(--line);margin-top:22px;padding-top:20px;min-height:207px}.part-info>span{font-size:10px;letter-spacing:.09em;color:#876338}.part-info h3{margin:9px 0 10px;font-size:19px}.part-info p{font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:14px}.part-info .ask-john{color:#243f54;font-size:12px}.explorer-controls>.text-link{margin-top:3px;font-size:13px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.service-feature{padding:41px 40px;border-radius:3px}.navy-card{background:var(--navy);color:white}.cream-card{background:#efede8}.service-index{display:block;font-size:11px;letter-spacing:.15em;font-weight:600;color:#846134;margin-bottom:20px}.navy-card .service-index{color:#d2b182}.service-feature h3{font:48px/1.1 var(--serif);letter-spacing:-.02em;margin-bottom:22px}.service-feature p{font-size:16px;line-height:1.7;max-width:430px;color:var(--muted)}.navy-card p{color:#c6d3dc}.service-tags{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 35px}.service-tags span{font-size:11px;padding:6px 10px;border:1px solid #c9c9c2;border-radius:2px}.navy-card .service-tags span{border-color:#456072;color:#d5e0e6}.navy-card .text-link{color:#e3c293}.service-feature .text-link{width:100%;padding-bottom:11px}.service-support{border:1px solid var(--line);padding:29px 30px;display:flex;align-items:center;gap:20px;border-radius:3px}.service-support .service-index{margin-bottom:12px}.service-support h3{font-size:20px}.service-support p{font-size:14px;color:var(--muted);margin:0}.circle-button{width:42px;height:42px;flex-shrink:0;border:1px solid #bfc8cc;background:transparent;border-radius:50%;font-size:24px}.circle-button:hover{background:var(--cream)}.packages-section{background:var(--cream)}.pricing-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 39px;gap:20px}.draft-label{font-size:10px;letter-spacing:.08em;color:#6d6559}.package-card{position:relative;background:#fff;border:1px solid #d5dadb;border-radius:4px;padding:30px 27px 26px;display:flex;flex-direction:column}.package-card.featured{border:2px solid #b18a52;padding:29px 26px 25px}.package-card .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:17px}.package-card h3{font:32px/1.1 var(--serif);margin-bottom:14px;letter-spacing:-.02em}.package-card>p:not(.eyebrow){font-size:14px;color:var(--muted);min-height:48px;margin-bottom:20px}.package-ribbon{position:absolute;bottom:100%;left:-2px;right:-2px;background:#b18a52;color:#112a3c;text-align:center;font-size:9px;font-weight:700;letter-spacing:.14em;padding:6px 10px;border-radius:3px 3px 0 0}.price-block{padding:21px 0;border-block:1px solid var(--line);min-height:126px}.price-label{display:block;font-size:9px;font-weight:650;letter-spacing:.14em;color:#687681;margin-bottom:8px}.price-text{font-size:21px;letter-spacing:-.03em;display:block;line-height:1.3;margin-bottom:7px}.price-caption{font-size:11px;line-height:1.5;color:var(--muted);display:block}.package-card ul{padding:0;list-style:none;margin:23px 0 27px;flex:1}.package-card li{font-size:13px;margin:10px 0;display:flex;gap:9px;align-items:start}.package-card li:before{content:'✓';color:#9b783f}.package-card>.text-link{font-size:12px;align-self:start;border:0;margin-bottom:21px;gap:20px}.package-card>.button{font-size:13px;padding:15px}.pricing-disclosure{font-size:12px;color:var(--muted);max-width:900px;line-height:1.7;margin:24px auto 36px;text-align:center}.remodel-note{display:flex;justify-content:space-between;gap:35px;align-items:center;border-top:1px solid #d7d8d3;padding-top:30px}.remodel-note strong{display:block;font-size:16px;margin-bottom:6px}.remodel-note div>span{font-size:14px;color:var(--muted)}.remodel-note .text-link{white-space:nowrap}.project-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}.project-placeholder{height:345px;background:#e8ebe9}.project-placeholder:nth-child(2){background:#ede7de}.project-placeholder:nth-child(3){background:#e1e6e9}.project-num{position:absolute;top:70px;left:26px;font:100px var(--serif);color:#56706125}.project-placeholder .placeholder-caption{left:25px;bottom:25px}.project-placeholder strong{font-size:27px;max-width:250px}.project-placeholder .placeholder-corner{font-size:9px}.reviews-section{padding-top:0}.review-grid{gap:35px}.review-placeholder{border-top:1px solid var(--line);padding:22px 12px 0}.quote-mark{font:66px/.9 var(--serif);color:#b18b51}.review-placeholder h3{font-size:18px;margin-bottom:14px}.review-placeholder p{font-size:15px;color:var(--muted)}.review-placeholder>span:last-child{font-size:10px;letter-spacing:.13em;color:#7b817f}.areas-section{background:var(--navy);color:white}.areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.areas-grid h2{font-size:58px}.areas-grid h2 em{font-style:normal;color:#d3b386}.areas-grid>div>p:not(.eyebrow){color:#c0cdd7;max-width:460px;font-size:16px}.area-list>div{display:flex;align-items:center;gap:20px;border-bottom:1px solid #ffffff26;padding:24px 0}.area-list>div>span:first-child{font-size:12px;color:#d3b386}.area-list h3{font:30px var(--serif);flex:1;margin:0}.area-list>div>span:last-child{font-size:9px;letter-spacing:.1em;color:#9fb0bd}.area-list>p{font-size:13px;color:#c6d3dc;margin:24px 0 0}.inline-link{border:0;border-bottom:1px solid #a68c68;padding:0;background:none;font-size:inherit;color:inherit}.guide{text-align:left;border:1px solid #d3d8db;background:white;padding:29px 28px;transition:background .2s}.guide:hover{background:var(--cream)}.guide>span:first-child{font-size:10px;letter-spacing:.15em;color:#896436;display:block;margin-bottom:29px}.guide h3{font:31px/1.14 var(--serif);letter-spacing:-.015em;margin-bottom:19px}.guide p{font-size:14px;color:var(--muted)}.guide .text-link{margin-top:12px;border:0;width:100%;font-size:13px}.faq-section{background:var(--cream)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq-grid>div>p:not(.eyebrow){font-size:15px;color:var(--muted);margin:26px 0 10px}.faq-list{border-top:1px solid #cfd4d4}.faq-list details{border-bottom:1px solid #cfd4d4}.faq-list summary{list-style:none;cursor:pointer;display:flex;gap:25px;justify-content:space-between;font-size:16px;font-weight:550;line-height:1.5;padding:23px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:23px;font-weight:400;line-height:1;color:#8c693c}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{font-size:15px;line-height:1.75;color:var(--muted);padding-right:25px;margin-bottom:23px}.steps{gap:45px;counter-reset:none}.steps>article>span{font:48px var(--serif);color:#b68f56;display:block;margin-bottom:20px}.steps h3{font-size:19px;margin-bottom:13px}.steps p{font-size:15px;line-height:1.75;color:var(--muted)}.final-cta{padding:80px 0;text-align:center;color:#fff;background:var(--deep);border-top:4px solid #bd9158}.final-cta h2{font-size:58px}.final-cta .actions{justify-content:center;align-items:center;margin:31px 0 24px}.call-link{font-size:16px;margin-left:15px;border-bottom:1px solid #697b89;padding-bottom:4px}.email-link{font-size:13px;color:#bac9d2}footer{padding:54px 0 0}.footer-grid{display:grid;grid-template-columns:1.15fr .8fr .85fr 1.2fr;gap:35px}.footer-brand img{width:180px;height:105px;object-fit:contain;margin:-13px 0 15px}.footer-brand p{font-size:14px;color:var(--muted)}.footer-grid h3{font-size:10px;letter-spacing:.13em;margin-bottom:22px}.footer-grid a{display:block;font-size:13px;margin-bottom:9px}.footer-grid a:hover{text-decoration:underline}.footer-grid p{font-size:13px;color:var(--muted);line-height:1.8;margin-top:15px}.footer-email{overflow-wrap:anywhere}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;padding:22px 0;font-size:10px;color:#6d757a;margin-top:33px}.footer-bottom span:last-child{font-size:9px;letter-spacing:.05em}.mobile-contact{display:none}dialog{border:0;border-radius:6px;padding:0;width:min(620px,calc(100% - 32px));max-height:90dvh;color:var(--ink);box-shadow:0 20px 100px #0005;overflow:auto}dialog::backdrop{background:#051725bb;backdrop-filter:blur(4px)}.dialog-content{padding:44px 42px}.dialog-content>h2{font-size:42px;padding-right:10px}.dialog-close{position:absolute;top:12px;right:14px;width:33px;height:33px;border:0;background:#f0f2f1;border-radius:50%;font-size:25px;line-height:1;z-index:2}.dialog-content p{color:var(--muted);font-size:15px}.dialog-content h3{font-size:18px;margin-top:25px;margin-bottom:10px}.dialog-content ul{padding-left:22px;color:var(--muted);font-size:15px}.dialog-content li{margin-bottom:10px}.dialog-content .button{margin-top:14px}.demo-notice{font-size:12px!important;padding:10px 12px;border-left:3px solid #b18a52;background:#f5f1e9;color:#685630!important}.planner-progress{display:flex;gap:13px;border-bottom:1px solid var(--line);padding-bottom:15px;margin:24px 0}.planner-progress span{font-size:12px;color:#849098;flex:1}.planner-progress .active{color:var(--ink);font-weight:700}.planner-field{margin-bottom:18px}.planner-field label{font-size:13px;font-weight:600;display:block;margin-bottom:7px}.planner-field small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.planner-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.planner-actions{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:18px}.planner-actions .button{margin-top:0}.planner-actions #planner-next{margin-left:auto}.summary-grid{display:grid;grid-template-columns:100px 1fr;gap:11px;font-size:14px;margin:23px 0}.summary-grid dt{color:var(--muted)}.summary-grid dd{margin:0;overflow-wrap:anywhere}.planner-summary-note{padding:17px;background:var(--cream);font-size:13px!important}.completion-mark{font-size:28px;color:#906a34;border:1px solid #c8b28f;border-radius:50%;width:55px;height:55px;display:grid;place-items:center;margin:25px 0}.model-fallback{padding:60px 30px;font-size:15px;text-align:center}.dialog-content .eyebrow{color:#846033}.dialog-content .demo-complete{color:var(--ink);font-size:23px}.preview-tag{font-size:11px;padding:5px 8px;background:var(--cream);display:inline-block}
@media(max-width:1100px){.section{padding:74px 0}.founder-grid{gap:55px}.explorer{grid-template-columns:1fr 300px}.explorer-controls{padding:25px 20px}.part-buttons button{font-size:11px}.service-feature{padding:34px}.service-feature h3{font-size:43px}.package-card{padding:25px 21px}.package-card.featured{padding:24px 20px}.package-card h3{font-size:29px}.areas-grid{gap:60px}.faq-grid{gap:60px}.footer-grid{gap:24px}.project-placeholder{height:310px}.project-placeholder .placeholder-corner{font-size:8px;left:16px}.project-placeholder .placeholder-caption{left:20px}.project-placeholder strong{font-size:24px}.reviews-section{padding-top:0}}
@media(max-width:850px){.split-heading{gap:35px}.split-heading>p{max-width:290px}.three-grid{gap:18px}.concern{padding:25px 20px}.concern h3{font-size:18px}.concern .text-link{font-size:12px;gap:8px}.founder-grid{gap:35px}.owner-placeholder{min-height:450px}.founder-copy .lead{font-size:17px!important}.founder-copy>p:not(.eyebrow){font-size:15px}.explorer{grid-template-columns:1fr}.explorer-controls{display:grid;grid-template-columns:1fr 1fr;gap:15px 30px}.explorer-controls>.eyebrow{grid-column:1/-1;margin:0}.explorer-controls .segmented{align-self:start}.toggle-row{margin:0}.control-label{grid-column:1;margin:0}.part-buttons{grid-column:1;align-self:start}.part-info{grid-column:2;grid-row:3/6;border:0;padding:0;margin:0;min-height:0}.explorer-controls>.text-link{grid-column:1;align-self:start;justify-self:start}.model-surface{min-height:445px}#roof-canvas{height:360px}.service-feature{padding:30px}.service-feature h3{font-size:41px}.service-support{padding:25px;gap:15px}.service-support h3{font-size:18px}.package-grid{grid-template-columns:1fr}.package-card,.package-card.featured{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;padding:29px}.package-card+.package-card{margin-top:19px}.package-card>.eyebrow,.package-card>h3,.package-card>p{grid-column:1;margin:0;min-height:0!important}.price-block{grid-column:2;grid-row:1/4;padding:5px 0 10px;border-top:0;border-bottom:0;min-height:0;align-self:center}.package-card ul{grid-column:1;margin:10px 0}.package-card>.text-link{grid-column:2;grid-row:4;align-self:center;justify-self:start;margin:0}.package-card>.button{grid-column:1/-1}.package-card h3{font-size:33px}.remodel-note{gap:30px}.remodel-note .text-link{white-space:normal;font-size:13px}.project-grid{grid-template-columns:1fr 1fr}.project-grid>div:first-child{grid-column:1/-1;height:340px}.project-placeholder{height:280px}.project-placeholder strong{font-size:29px}.areas-grid{gap:45px}.areas-grid h2{font-size:49px}.area-list h3{font-size:27px}.area-list>div>span:last-child{display:none}.guide{padding:24px 19px}.guide h3{font-size:27px}.guide p{font-size:13px}.faq-grid{grid-template-columns:.75fr 1.25fr;gap:40px}.faq-grid h2{font-size:39px}.faq-list summary{font-size:14px}.steps{gap:30px}.steps h3{font-size:17px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:last-child{max-width:280px}.footer-bottom{font-size:9px}}
@media(max-width:650px){.section{padding:56px 0}.section-heading{margin-bottom:30px}.section-heading p:not(.eyebrow){font-size:16px}.split-heading{display:block}.split-heading>p{margin-top:20px;max-width:none}.three-grid{grid-template-columns:1fr;gap:20px}.concern{padding:25px}.concern h3{font-size:20px}.concern p{font-size:15px}.concern .text-link{font-size:13px}.founder-grid{grid-template-columns:1fr;gap:37px}.owner-placeholder{min-height:365px}.owner-card{margin-inline:17px;padding:20px 23px}.owner-placeholder .monogram{font-size:145px}.founder-copy>h2 br{display:none}.founder-copy>p:not(.eyebrow){font-size:16px}.model-top,.model-bottom{padding:14px;font-size:9px}.model-bottom{flex-wrap:wrap;gap:6px;font-size:10px}.model-top>span{font-size:9px}.model-surface{min-height:350px}#roof-canvas{height:300px;min-height:260px}.explorer-controls{display:block;padding:24px}.explorer-controls>.eyebrow{margin-bottom:16px}.toggle-row{margin:20px 0}.control-label{margin-bottom:10px}.part-buttons button{font-size:12px}.part-info{border-top:1px solid var(--line);padding-top:18px;margin-top:19px;min-height:0}.part-info p{font-size:14px}.part-info .ask-john{font-size:13px}.explorer-controls>.text-link{margin-top:10px}.service-grid{grid-template-columns:1fr;gap:18px}.service-feature{padding:30px}.service-feature h3{font-size:43px}.service-feature p{font-size:16px}.service-tags{margin-bottom:26px}.service-support{padding:25px}.pricing-toolbar{flex-direction:column;align-items:center;gap:20px;margin-bottom:28px}.draft-label{font-size:9px;text-align:center}.package-card,.package-card.featured{display:flex;gap:0;padding:29px 25px}.package-card>.eyebrow{margin-bottom:14px}.package-card>h3{margin-bottom:14px;font-size:34px}.package-card>p:not(.eyebrow){margin-bottom:20px}.price-block{width:100%;border-block:1px solid var(--line);padding:19px 0;min-height:0}.price-text{font-size:23px}.package-card ul{width:100%;margin:18px 0}.package-card li{font-size:14px}.package-card>.text-link{margin:0 0 18px;align-self:start;font-size:13px}.package-card>.button{font-size:14px}.package-card+.package-card{margin-top:15px}.pricing-disclosure{text-align:left}.remodel-note{display:block}.remodel-note>.text-link{margin-top:19px;gap:25px}.project-grid{grid-template-columns:1fr}.project-grid>div:first-child{height:310px}.project-placeholder{height:270px}.project-placeholder .placeholder-corner{font-size:9px}.project-placeholder strong{font-size:30px}.project-num{top:56px;font-size:95px}.reviews-section{padding-top:0}.review-placeholder{padding:23px 0 0}.review-placeholder p{font-size:16px}.areas-grid{grid-template-columns:1fr;gap:34px}.areas-grid h2{font-size:51px}.area-list>div{padding:20px 0}.area-list h3{font-size:30px}.area-list>div>span:last-child{display:block}.guide{padding:29px}.guide h3{font-size:33px}.guide p{font-size:15px}.guide>span:first-child{margin-bottom:23px}.guide .text-link{margin-top:4px;font-size:14px}.faq-grid{grid-template-columns:1fr;gap:31px}.faq-grid h2{font-size:43px}.faq-grid h2 br{display:none}.faq-grid>div>p:not(.eyebrow){margin-top:18px}.faq-list summary{font-size:16px}.steps{gap:27px}.steps>article>span{margin-bottom:9px;font-size:44px}.steps h3{font-size:20px}.steps p{font-size:16px;margin:0}.final-cta{padding:56px 0}.final-cta h2{font-size:43px}.final-cta .actions{gap:13px}.call-link{margin:5px 0 0}.final-cta .actions>.button{font-size:13px;padding:15px}.email-link{font-size:12px;overflow-wrap:anywhere}.footer-grid{gap:25px 20px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-brand{display:flex;align-items:center;gap:25px}.footer-brand img{width:145px;height:88px;margin:0}.footer-brand p{font-size:12px}.footer-grid>div:last-child{max-width:100%}.footer-grid a{font-size:14px;margin-bottom:11px}.footer-bottom{display:block;margin-top:24px;padding-bottom:82px}.footer-bottom>span{display:block;margin-bottom:7px;font-size:10px}.mobile-contact{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;background:#fff;border-top:1px solid #cfd5d8;box-shadow:0 -3px 20px #0001;padding:9px 12px max(9px,env(safe-area-inset-bottom));gap:10px}.mobile-contact>*{flex:1;text-align:center;font-size:13px;font-weight:700;padding:12px 8px;border:0;border-radius:3px;line-height:1.25}.mobile-contact>a{background:var(--navy);color:#fff}.mobile-contact>button{background:var(--gold)}.dialog-content{padding:39px 24px 28px}.dialog-content>h2{font-size:35px}.planner-row{grid-template-columns:1fr;gap:0}.planner-progress{gap:8px}.planner-progress span{font-size:11px}.summary-grid{grid-template-columns:80px 1fr;gap:10px;font-size:13px}dialog{max-height:88dvh}.dialog-content p{font-size:15px}}
[hidden]{display:none!important}
@media(max-width:650px){.hero-copy h1{font-size:2.8rem}}
/* Whole-home explorer and equally weighted project paths. */
#home-canvas{height:385px;min-height:280px;width:100%;position:relative;touch-action:pan-y}#home-canvas canvas{display:block;outline-offset:-4px}#home-loading{padding:100px 25px;text-align:center;color:var(--muted)}.home-view-switch{align-self:center;margin:0 20px}.home-view-switch button{min-width:115px;font-size:14px}.model-caption{text-align:center;font-size:14px;color:#395265;margin:0;padding:0 18px 12px}.home-controls .part-buttons button{font-size:14px;padding:10px 12px}.home-controls .part-info{min-height:270px}.home-controls .part-info p{font-size:16px}.home-controls .part-info .ask-john{font-size:14px}.home-controls>.text-link{font-size:14px;line-height:1.6}.home-controls .part-info h3{font-size:24px}.explorer-note{font-size:12px;color:var(--muted);margin:20px 0 0}.home-controls .part-info>span{font-size:12px;letter-spacing:.07em}.project-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.project-option{border:1px solid #cbd3d8;border-top:3px solid var(--gold);padding:34px;background:#fff;display:flex;flex-direction:column;border-radius:3px}.project-option>h3{font:36px/1.15 var(--serif);letter-spacing:-.015em;margin:0 0 16px}.project-option>p:not(.eyebrow){font-size:16px;color:var(--muted)}.option-links{margin:8px 0 0;flex:1}.option-links button{display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;border:0;border-top:1px solid var(--line);padding:17px 0;width:100%;background:none;font-size:17px;color:var(--navy);font-weight:600}.option-links button:hover{color:#896333}.option-links small{display:block;font-size:14px;font-weight:400;color:var(--muted);margin-top:4px}.project-option .price-block{margin:14px 0 22px;min-height:0;width:100%;padding:20px 0;border-block:1px solid var(--line)}.project-option .price-text{font-size:25px}.project-option .price-caption{font-size:14px}.project-option .option-footnote{font-size:13px!important;margin:17px 0 0}.project-option .eyebrow{font-size:12px}.model-top>span{font-size:12px;letter-spacing:.05em}.model-top .diagram-label{font-size:10px}.home-explorer .model-bottom{font-size:12px}.pricing-toolbar .segmented button{font-size:14px}
@media(max-width:1100px){.home-explorer{grid-template-columns:minmax(0,1fr) 330px}.home-controls{padding:25px}.project-option{padding:28px}.project-option>h3{font-size:32px}}
@media(max-width:850px){.home-explorer{grid-template-columns:1fr}.home-controls{display:block}.home-controls>.eyebrow{margin-bottom:16px}.home-controls .part-info{min-height:0;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.home-controls .part-info p{max-width:650px}#home-canvas{height:390px}.project-option{padding:25px}.project-option>h3{font-size:31px}.project-option .price-block{grid-column:auto;grid-row:auto}.project-option .price-text{font-size:23px}}
@media(max-width:650px){.project-comparison{grid-template-columns:1fr;gap:22px}.project-option{padding:28px 25px}.project-option>h3{font-size:33px}.home-explorer .model-top{flex-wrap:wrap;gap:5px;padding:17px}.model-top>span{font-size:11px}.model-top .diagram-label{font-size:10px}#home-canvas{height:300px;min-height:280px}.home-controls{padding:24px}.home-view-switch button{min-width:105px}.model-caption{font-size:13px;padding-bottom:10px}.home-explorer .model-bottom{padding:12px 15px;font-size:11px}.home-controls .part-info>span{font-size:11px}.project-option .price-block{padding:20px 0}.project-option .option-footnote{line-height:1.6}.pricing-toolbar .draft-label{font-size:11px}}
.home-explorer>*{min-width:0}#home-canvas{min-width:0}#home-canvas canvas{max-width:100%}
/* The project planner leads to a conversation with John. */
.planner-call-shortcut{font-size:14px!important;color:var(--muted);margin:24px 0 4px}.planner-call-shortcut a{display:inline-block;color:var(--navy);text-decoration:underline;text-underline-offset:3px}.planner-summary-intro{margin:0 0 16px}.planner-next-step{padding:24px;background:var(--cream);margin:24px 0 8px}.planner-next-step h3{margin-top:0;font-size:23px}.planner-next-step p{font-size:16px}.planner-next-step .button{margin-top:10px;font-size:15px}.planner-next-step .call-context,.planner-next-step .visit-context{font-size:14px;margin:12px 0 0;color:var(--muted)}.planner-next-step .button-light{border:1px solid #c3cbd0;background:white}#preview-complete>.button{margin-top:14px}.planner-field label{font-size:14px}.planner-progress span{font-size:14px}.summary-grid{font-size:15px}.summary-grid dd{white-space:pre-wrap}.planner-actions{margin-top:18px}
@media(max-width:650px){.planner-next-step{padding:20px;margin-inline:-4px}.planner-next-step .button{font-size:14px;padding-inline:12px}.planner-progress span{font-size:12px}.summary-grid{font-size:14px}}

/* Planning, a budget conversation, then a visit. */
.path-contact{display:flex;flex-wrap:wrap;gap:12px 26px}.path-contact .text-link{width:auto}
.planner-next-step .contact-note{font-size:13px;line-height:1.6;margin:10px 0 14px}
.share-alternatives{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:22px 0 0;font-size:14px}
.share-alternatives a{text-decoration:underline;text-underline-offset:4px}
.planner-next-step .copy-status{font-size:13px;line-height:1.6;margin:12px 0;color:var(--navy)}
.copy-status:empty{display:none}.planner-next-step .visit-link{margin-top:25px;text-align:left;font-size:14px;line-height:1.7}
#manual-copy{margin-top:18px}#manual-copy[hidden]{display:none}#manual-copy small{overflow-wrap:anywhere}
#project-message{min-height:190px;width:100%;font-size:14px}#planner-title:focus{outline:none}
@media(max-width:650px){.mobile-contact{gap:6px}.mobile-contact>button{flex:1.45}.mobile-contact>a{font-size:12px;padding-inline:5px}.share-alternatives{display:grid;gap:18px}.share-alternatives button{justify-self:start}}

/* Approved roofing workmanship warranty. Always identify the covered trade. */
.hero-bottom .hero-warranty{color:var(--gold-light);font-size:12px;line-height:1.6;text-transform:uppercase;text-underline-offset:5px}.hero-warranty:hover{text-decoration:underline}.footer-warranty{display:block!important;max-width:255px;color:var(--gold-light)!important;font-size:13px!important;line-height:1.7!important;text-decoration:underline;text-underline-offset:4px;margin-top:20px}.home-model-note.roof-warranty-note{border-top:1px solid var(--line);padding-top:14px;margin-top:10px;font-size:12px;line-height:1.7}.roof-warranty-note strong{display:block;color:var(--navy)}.planner-warranty{padding:18px 20px;background:var(--cream);border-left:3px solid var(--gold);margin-bottom:24px}.planner-warranty strong{font-size:15px}.planner-warranty p{font-size:13px;margin:8px 0 0}.roof-warranty-link{display:inline-block;margin-top:22px;font-size:14px;color:#78542a;text-decoration:underline;text-underline-offset:4px}.roof-warranty-band{padding:45px 0;border-bottom:1px solid var(--line)}.roof-warranty-band .wrap{display:grid;grid-template-columns:110px 1fr;gap:35px;align-items:start;max-width:980px}.warranty-year{color:#78542a;font:64px/1 var(--serif);border-right:1px solid var(--line);padding-right:25px;text-align:center}.warranty-year span{display:block;font:11px/2 var(--sans);letter-spacing:2px;margin-top:8px}.roof-warranty-band h2{font-size:34px;line-height:1.2}.roof-warranty-band p:not(.eyebrow){color:var(--muted);font-size:15px;max-width:720px}.roof-warranty-band .eyebrow{font-size:10px;margin-bottom:12px}.roof-warranty-band .text-link{font-size:14px}
@media(max-width:650px){.hero-bottom .hero-warranty{font-size:10px}.roof-warranty-band{padding:32px 0}.roof-warranty-band .wrap{grid-template-columns:64px 1fr;gap:19px}.warranty-year{font-size:44px;padding-right:12px}.warranty-year span{font-size:9px;letter-spacing:1px}.roof-warranty-band h2{font-size:27px}.roof-warranty-band p:not(.eyebrow){font-size:14px}}
