.service-planner{isolation:isolate;background:linear-gradient(145deg,#eee3d2,#f5efe6);border:1px solid #d8c3a1;border-radius:10px;padding:40px}.service-planner [hidden]{display:none!important}.service-planner h2{max-width:850px}.service-planner .planner-intro{max-width:760px}.planner-wizard,.planner-result{background:#fff;border:1px solid #d8c3a1;border-radius:8px;margin-top:30px;padding:32px}.planner-progress-row{justify-content:space-between;align-items:center;gap:16px;font-size:14px;font-weight:600;display:flex}.planner-drawing-label{letter-spacing:.1em;color:#7b6b58;font:14px/1.4 monospace}.planner-progress{--progress:20%;background:#eee3d2;border-radius:2px;height:4px;margin:16px 0 30px;overflow:hidden}.planner-progress>span{width:var(--progress);background:#b4532a;height:100%;transition:width .25s cubic-bezier(.2,.8,.2,1);display:block}.planner-stage{display:grid;overflow:hidden}.planner-step{visibility:hidden;pointer-events:none;grid-area:1/1;min-width:0}.planner-step.is-active{visibility:visible;pointer-events:auto;animation:.25s cubic-bezier(.2,.8,.2,1) planner-slide}.service-detail .planner-step h3{outline:none;margin:0 0 18px;font-size:clamp(24px,2.4vw,32px)}.service-detail .planner-help{margin:0 0 20px;font-size:15px}.planner-optional{font:400 15px var(--font-body);color:#56504a}.planner-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.planner-chip{box-sizing:border-box;cursor:pointer;text-align:left;color:#1e1b18;width:100%;min-height:58px;font:500 15px/1.4 var(--font-body);background:#f5efe6;border:1px solid #d8c3a1;border-radius:5px;justify-content:space-between;align-items:center;gap:14px;padding:17px 18px;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s cubic-bezier(.2,.8,.2,1),background .25s cubic-bezier(.2,.8,.2,1),color .25s cubic-bezier(.2,.8,.2,1),border-color .25s cubic-bezier(.2,.8,.2,1);display:flex;position:relative}.chip-check{color:#0000;border:1px solid #c7b799;border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;font-size:14px;line-height:1;display:grid}.planner-chip:is([aria-pressed=true],[aria-checked=true]){background:#f8e9df;border-color:#b4532a;box-shadow:inset 0 0 0 1px #b4532a}.planner-chip:is([aria-pressed=true],[aria-checked=true]) .chip-check{color:#fff;background:#b4532a;border-color:#b4532a}.planner-size-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.planner-size{flex-direction:column;justify-content:start;align-items:start;gap:12px;padding:24px;display:flex}.planner-size strong{font:600 23px/1.2 var(--font-heading)}.planner-size>span:not(.chip-check){font-size:14px;font-weight:400}.planner-size .chip-check{margin-top:auto}.planner-step fieldset{border:0;min-width:0;margin:0 0 26px;padding:0}.planner-step legend{margin-bottom:12px;padding:0;font-size:16px;font-weight:600}.service-detail .planner-budget-note{max-width:660px;margin:22px 0 0;font-size:14px;line-height:1.6}.planner-actions{border-top:1px solid #d8c3a1;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;padding-top:24px;display:flex}.planner-actions button{cursor:pointer}.planner-actions button:disabled{opacity:.4;cursor:default;box-shadow:none;transform:none}.service-detail .planner-error{color:#9b4220;margin-bottom:0;font-size:14px}.planner-result h3{outline:none;font-size:32px}.planner-summary{border-bottom:1px solid #d8c3a1;padding-bottom:20px}.service-detail .planner-summary p{font-size:16px}.planner-result-grid{grid-template-columns:1.2fr 1fr;gap:40px;margin-top:28px;display:grid}.planner-result h4{font:600 22px/1.3 var(--font-heading);margin:0 0 18px}.planner-result ul{margin:0;padding-left:20px}.service-detail .planner-result li{padding-bottom:10px;font-size:15px;line-height:1.6}.planner-cost-links a{color:#9b4220;text-underline-offset:4px}.service-detail .planner-no-quote,.service-detail .planner-send-note{color:#56504a;font-size:14px;line-height:1.6}.planner-result-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:30px;display:flex}.planner-reset{color:#56504a;text-underline-offset:4px;font:400 14px var(--font-body);cursor:pointer;background:0 0;border:0;padding:12px;text-decoration:underline}.planner-print-heading{display:none}.planner-cost-pulse{outline-offset:4px;outline:2px solid #b4532a;animation:1.4s ease-out planner-cost-pulse}@keyframes planner-slide{0%{opacity:0;transform:translateX(calc(var(--slide-direction,1) * 20px))}to{opacity:1;transform:translate(0)}}@keyframes planner-cost-pulse{0%,60%{box-shadow:0 0 0 7px #b4532a25}to{box-shadow:0 0 #b4532a00}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.planner-chip:hover{border-color:#b4532a;transform:translateY(-2px);box-shadow:0 10px 24px -10px #1e1b1840}.planner-chip:active{transform:scale(.97)}}@media (hover:none){.planner-chip:active{transform:scale(.97)}}@media (width<=767px){.service-planner{padding:26px 18px}.planner-wizard,.planner-result{padding:24px 16px}.planner-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.planner-chip{gap:8px;min-height:64px;padding:12px;font-size:14px}.planner-size-choices{grid-template-columns:1fr;gap:10px}.planner-size{grid-template-columns:1fr 18px;gap:5px 12px;min-height:92px;padding:16px;display:grid}.planner-size strong{font-size:22px}.planner-size>span:not(.chip-check){grid-area:2/1}.planner-size .chip-check{grid-area:1/2/3;margin:auto}.planner-drawing-label{display:none}.planner-result-grid{grid-template-columns:1fr;gap:28px}.planner-result-actions{flex-direction:column;align-items:stretch}.planner-result-actions .button{white-space:normal;text-align:left}.planner-result-actions .planner-reset{align-self:center}}@media (prefers-reduced-motion:reduce){.planner-step.is-active,.planner-cost-pulse{animation:none}.planner-chip,.planner-progress>span{transition:none}.planner-chip:active{transform:none}}@media print{@page{margin:18mm}html.printing-project-brief{color-scheme:light;overflow:visible!important}.printing-project-brief body{color:#1e1b18!important;background:#fff!important;padding:0!important}.printing-project-brief body>:not(main),.printing-project-brief main>:not(.service-detail),.printing-project-brief .service-detail>:not(#planner),.printing-project-brief #planner>:not(.planner-result){display:none!important}.printing-project-brief main,.printing-project-brief .service-detail,.printing-project-brief #planner,.printing-project-brief .planner-result{width:100%!important;max-width:none!important;box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important;display:block!important}.printing-project-brief .planner-result-actions,.printing-project-brief .planner-send-note,.printing-project-brief .planner-result>.section-label{display:none!important}.printing-project-brief .planner-print-heading{border-bottom:1px solid #d8c3a1;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:18px;display:flex}.printing-project-brief .planner-print-heading img{object-fit:contain;width:90px;height:75px}.printing-project-brief .planner-print-heading span{margin-top:8px;font-size:10pt;display:block}.printing-project-brief .planner-result h3{font-size:24pt}.printing-project-brief .planner-result h4{font-size:14pt}.printing-project-brief .planner-result :is(p,li){font-size:10pt!important;line-height:1.5!important}.printing-project-brief .planner-result-grid{grid-template-columns:1fr 1fr;gap:25px}.printing-project-brief a{text-decoration:none;color:#1e1b18!important}.printing-project-brief .planner-result-grid>div{break-inside:avoid}}.planner-step h3,.planner-result h3{scroll-margin-top:80px}@media (width<=767px){.planner-step h3,.planner-result h3{scroll-margin-top:12px}}.planner-progress-row{font-variant-numeric:tabular-nums}.service-detail{padding-block:24px 70px}.service-detail section+section{margin-top:84px}.service-detail h1{text-wrap:balance;letter-spacing:-.035em;font-size:clamp(36px,4.4vw,62px);line-height:1.08}.service-detail h2{text-wrap:balance;letter-spacing:-.025em;margin-bottom:28px;font-size:clamp(28px,3vw,40px);line-height:1.16}.service-detail h3{margin:0 0 12px;font-size:23px;line-height:1.25}.service-detail p,.service-detail li{color:#56504a;font-size:17px;line-height:1.65}.service-detail .section-label{letter-spacing:.14em;color:#9b4220;font-size:14px}.service-detail-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:60px;display:grid}.service-detail-hero figure{margin:0}.service-detail-hero img{object-fit:cover;border-radius:8px;width:100%;height:560px}.service-detail .service-lead{font-size:17px}.service-detail-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.service-page-nav{z-index:20;backdrop-filter:blur(10px);background:#f5efe6f5;border:1px solid #d8c3a1;border-radius:6px;justify-content:center;gap:12px;margin-top:48px;margin-bottom:60px;padding:12px;display:flex;position:sticky;top:108px}.service-page-nav a{border-radius:3px;padding:10px 20px;font-size:14px;text-decoration:none;transition:background .2s,color .2s}.service-page-nav a[aria-current]{color:#f5efe6;background:#1e1b18}.service-detail [data-service-section]{scroll-margin-top:65px}.service-scope-grid{grid-template-columns:1fr 1fr;gap:0 40px;display:grid}.service-scope-grid article{border-top:1px solid #d8c3a1;gap:18px;padding:24px 0;display:flex}.service-scope-grid svg{color:#b4532a;flex-shrink:0;margin-top:3px}.service-scope-grid p{margin:0}.service-three-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;display:grid}.service-three-grid article{min-width:0}.service-three-grid p{margin-bottom:0}.service-why{color:#f5efe6;background:#1e1b18;border-radius:8px;padding:40px}.service-detail .service-why .section-label{color:#d8c3a1}.service-why .service-three-grid p{color:#e6dcd0}.service-point{font:500 30px var(--font-heading);color:#d8c3a1;margin-bottom:16px;display:block}.service-local-cards article{background:#eee3d2;border:1px solid #d8c3a1;border-radius:6px;padding:28px}.service-cost-list{grid-template-columns:1fr 1fr;gap:26px 40px;padding:0;list-style:none;display:grid}.service-cost-list li{border-top:1px solid #d8c3a1;gap:18px;padding-top:24px;display:flex}.service-cost-list>li>span{font:500 26px var(--font-heading);color:#b4532a}.service-cost-list p{margin-bottom:0}.service-project-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:28px;display:flex}.service-project-heading>div{max-width:760px}.service-project-heading .outline-button{flex-shrink:0}.service-project-heading p{margin-bottom:0}.gallery-feature{position:relative}.gallery-feature img{object-fit:cover;border-radius:8px;width:100%;height:520px;display:block}.gallery-feature>span{pointer-events:none;background:#f5efe6ed;border-radius:3px;padding:10px 16px;font-size:14px;position:absolute;bottom:20px;left:20px}.gallery-thumbnails{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;margin-top:12px;display:grid}.gallery-thumbnails a{border-radius:4px;display:block;overflow:hidden}.gallery-thumbnails img{object-fit:cover;width:100%;height:100px;display:block}.gallery-is-open{overflow:hidden}.gallery-lightbox{box-sizing:border-box;color:#f5efe6;background:#1e1b18;border:1px solid #d8c3a1;border-radius:8px;width:min(1200px,94vw);max-width:94vw;max-height:94svh;margin:auto;padding:20px}.gallery-lightbox::backdrop{background:#1e1b18ed}.gallery-lightbox figure{margin:16px 0}.gallery-lightbox figure img{object-fit:contain;width:100%;height:65svh;display:block}.gallery-lightbox figcaption{text-align:center;margin-top:12px;font-size:14px;line-height:1.5}.lightbox-toolbar,.lightbox-controls{justify-content:space-between;align-items:center;gap:16px;display:flex}.gallery-lightbox button{color:#f5efe6;cursor:pointer;background:0 0;border:1px solid #d8c3a1;border-radius:3px;padding:10px 16px}.lightbox-toolbar>span{font-size:14px}.service-client-review{color:#f5efe6;background:#1e1b18;border-radius:8px;padding:40px}.service-client-review blockquote{margin:20px 0;font-size:18px;line-height:1.65}.service-client-review>span:first-child{color:#d8c3a1}.service-review-type{color:#e6dcd0;margin-top:8px;font-size:14px;display:block}.service-faqs details{border-bottom:1px solid #d8c3a1;padding:22px 0}.service-faqs summary{cursor:pointer;padding-right:16px;font-weight:600;line-height:1.5}.service-faqs p{max-width:900px;margin-bottom:0}.related-service-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.related-service-cards>a{background:#fff;border:1px solid #d8c3a1;border-radius:7px;flex-direction:column;min-width:0;text-decoration:none;display:flex;overflow:hidden}.related-service-photo{overflow:hidden}.related-service-photo img{object-fit:cover;width:100%;height:230px;transition:transform .45s;display:block}.related-service-title{flex:1;justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.related-service-title h3{margin:0}.related-service-title svg{flex-shrink:0}.service-quote-section{background:#eee3d2;border-radius:8px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:60px;padding:40px;display:grid}.service-quote-phone{font:500 clamp(21px,2.5vw,30px) var(--font-heading);align-items:center;gap:12px;margin:30px 0;text-decoration:none;display:flex}.service-quote-section address{font-size:15px;font-style:normal;line-height:1.8}.service-quote-hours{color:#56504a;margin-top:18px;font-size:14px;display:block}.service-detail :is(a,button,summary):focus-visible{outline-offset:4px;outline:2px solid #b4532a}@media (hover:hover) and (prefers-reduced-motion:no-preference){.related-service-cards a:hover img{transform:scale(1.04)}.gallery-thumbnails a:hover{outline-offset:2px;outline:2px solid #b4532a}}@media (width<=1119px){.service-page-nav{top:0}.service-detail [data-service-section]{scroll-margin-top:0}.service-detail-hero{gap:30px}.service-three-grid{gap:18px}.service-local-cards article{padding:22px}.service-quote-section{gap:30px;padding:30px}}@media (width<=767px){.service-detail-hero,.service-three-grid,.service-quote-section{grid-template-columns:minmax(0,1fr);gap:26px}.service-detail-hero img{height:320px}.service-detail section+section{margin-top:52px}.service-page-nav{display:none}.service-detail>#scope{margin-top:48px}.service-detail [data-service-section]{scroll-margin-top:24px}.service-scope-grid{grid-template-columns:1fr 1fr;gap:0 22px}.service-scope-grid article{flex-direction:column;gap:12px}.service-scope-grid h3{font-size:21px}.service-scope-grid p{font-size:16px}.service-cost-list{grid-template-columns:1fr}.service-why{padding:28px}.service-detail h1{margin-top:16px}.service-quote-section{padding:26px 20px}.service-project-heading{flex-direction:column;align-items:start;gap:20px}.gallery-feature img{height:300px}.gallery-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-thumbnails img{height:80px}.related-service-cards{grid-template-columns:1fr}.service-client-review{padding:28px}.service-detail p{font-size:16px}}@media (prefers-reduced-motion:reduce){.related-service-photo img{transition:none}}.service-detail .outline-button{color:#1e1b18;border:1px solid #1e1b18;justify-content:center;align-items:center;gap:14px;padding:14px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.service-detail .outline-button svg{flex-shrink:0}@media (hover:hover){.service-detail .outline-button:hover{color:#f5efe6}}.service-detail .service-cost-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-detail .service-cost-list li{background:#fff;border:1px solid #d8c3a1;border-radius:6px;gap:12px;padding:24px}.service-detail .service-cost-list h3{font-size:22px}.service-section-intro{margin-bottom:30px;max-width:850px!important}.service-detail .gallery-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.service-detail .gallery-thumbnails img{height:150px}.service-detail .service-why .service-three-grid article{background:#ffffff05;border:1px solid #d8c3a14d;border-radius:6px;padding:24px}.service-why-icon{color:#d8c3a1;margin-bottom:18px;display:block}.service-detail .service-why h3{font:600 16px/1.3 var(--font-body);white-space:nowrap}.service-detail .service-why p{font-size:16px}.service-detail .service-client-review .section-label{color:#d8c3a1}.service-review-link{color:#f5efe6;text-underline-offset:5px;align-items:center;gap:10px;margin-top:22px;font-size:14px;display:inline-flex}.service-detail .service-client-review>span[aria-label]{color:#d8c3a1}@media (width<=1000px){.service-detail .service-cost-list{grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail .service-why h3{white-space:normal}}@media (width<=767px){.service-detail .service-cost-list{grid-template-columns:minmax(0,1fr)}.service-detail .gallery-thumbnails img{height:70px}.service-detail .gallery-thumbnails{gap:8px}.service-detail .service-why h3{white-space:nowrap}}
