:root{font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;color:#203d34;background:#f4f5ef;font-synthesis:none;font-weight:400;line-height:1.7;--ink:#183e35;--muted:#52675e;--line:#d5ddd2;--paper:#fcfdf8;--accent:#c14d28}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}a{color:inherit;text-decoration:none}button,summary{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #cf6a34;outline-offset:4px}[hidden]{display:none!important}.shell{max-width:1320px;margin-inline:auto;padding-inline:clamp(20px,4vw,64px)}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:13px;align-items:center}.brand-mark{width:47px;height:47px;background:var(--ink);color:#f4f5ef;display:grid;place-items:center;position:relative;font-family:Georgia,serif;font-size:37px;font-weight:700;line-height:1}.brand-mark span{position:absolute;right:4px;top:3px;font:10px sans-serif}.brand b{font-size:20px;letter-spacing:.09em}.brand-sub{font-size:16px;letter-spacing:.04em;margin-left:9px}.brand small{display:block;font:10px/1.4 Verdana,sans-serif;letter-spacing:.08em;margin-top:2px}.site-header nav{display:flex;gap:30px;align-items:center;font-size:12px;font-weight:600}.company-link{border-left:1px solid #bdcbbf;padding-left:28px}.intro{padding-top:42px;padding-bottom:65px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.eyebrow{font:10px/1.5 Verdana,sans-serif;letter-spacing:.19em;font-weight:700;margin:0 0 24px;display:flex;align-items:center;gap:8px}.eyebrow>span{height:7px;width:7px;background:var(--accent);border-radius:50%}h1{font-size:clamp(36px,4.7vw,62px);line-height:1.4;letter-spacing:.035em;font-weight:600;margin:0}.serif{font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-weight:600}.intro-copy{padding:0 24px 6px 0}.intro-copy p{font-size:14px;line-height:2.1;color:#4d6257;margin:0 0 24px}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:10px;display:flex;justify-content:space-between;gap:55px}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:0 0 18px}.section-bar h2{font-size:17px;font-weight:600;margin:0;letter-spacing:.05em}.section-bar h2>span{font:11px Verdana,sans-serif;color:var(--accent);margin-right:18px}.local-badge{font-size:10px;display:flex;align-items:center;gap:7px}.local-badge i{width:6px;height:6px;background:#48805a;border-radius:50%}.work-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);border:1px solid var(--line);border-top:0;background:var(--paper)}.model-panel{padding:24px;min-width:0}.drop-zone{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px;border:1px dashed #9aada0;background:#f5f7f0;transition:background .2s}.drop-zone.dragging{background:#e1ebd8;outline:2px solid var(--ink)}.drop-zone b{font-size:13px;font-weight:600}.drop-zone span{display:block;font-size:10px;margin-top:4px;color:#657566}.button{background:var(--ink);color:#f7f8ef;padding:15px 22px;display:inline-flex;justify-content:space-between;align-items:center;gap:26px;font-size:13px;line-height:1.5;min-height:49px;font-weight:600;transition:background .18s}.button:hover{background:#315b46}.button.small{padding:12px;min-height:42px;font-size:11px;white-space:nowrap;gap:20px}.button span{font-size:17px;margin:0;color:inherit}.button.full{width:100%;margin-top:20px}.viewport-wrap{height:410px;position:relative;background:radial-gradient(ellipse at 50% 70%,#e5eade,#f4f6ee 60%);overflow:hidden;margin-top:18px;border:1px solid #e1e6dc}.viewport-label{position:absolute;top:17px;left:18px;right:18px;z-index:1;font-size:11px;display:flex;justify-content:space-between;gap:12px;pointer-events:none}.viewport-label>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55%;font-weight:600}.viewport-label>span:last-child{font-size:9px;color:#536756;align-self:center}#viewer{width:100%;height:100%;touch-action:none}#viewer canvas{display:block;width:100%;height:100%}.viewer-toolbar{position:absolute;left:18px;right:18px;bottom:39px;display:flex;gap:5px;align-items:center}.viewer-toolbar>span{flex:1}.viewer-toolbar button{background:#fcfdf8f0;border:1px solid #cdd7c7;font-size:10px;min-height:32px;padding:6px 11px}.viewer-toolbar button:hover,.viewer-toolbar button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.viewer-hint{position:absolute;bottom:7px;left:20px;right:20px;text-align:center;font-size:9px;color:#61735e;pointer-events:none;margin:0}.viewer-fallback,.loading{position:absolute;inset:0;display:grid;place-content:center;padding:50px;text-align:center;background:#f0f4e8e8;font-size:14px}.loading{z-index:4}.dimension-strip{display:grid;grid-template-columns:1fr 1fr 1fr 115px;padding:24px 0;border-bottom:1px solid var(--line);gap:18px}.dimension-strip small{font-size:10px;display:block;color:var(--muted)}.dimension-strip strong{font-family:Verdana,sans-serif;font-size:22px;font-weight:400;white-space:nowrap}.dimension-strip em{font:10px Verdana,sans-serif;margin-left:5px;color:#6d7d70}.unit-field label{font-size:10px;display:block}.unit-field select{width:100%;height:30px;margin-top:5px}.model-status{padding:14px 0 0;font-size:12px}.model-status p{margin:4px 0}.model-status .bad{color:#9c351d}.model-status .good{color:#306348}.muted,.fine-print{color:#617165}.fine-print{font-size:10px;line-height:1.8;margin-bottom:0}.options-panel{border-left:1px solid var(--line);padding:26px;background:#fcfdf8}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.panel-title h3{font-size:18px;letter-spacing:.05em;margin:0}.panel-title>span{font-size:10px;color:var(--muted)}.field{margin-bottom:19px}.field label,legend{display:block;font-size:12px;font-weight:600;margin-bottom:8px}input[type=text],input:not([type]),textarea,select{border:1px solid #bac9bb;background:#fcfdf8;border-radius:0;padding:10px 12px;font-size:12px}select{width:100%;height:42px}.field-help{font-size:10px;line-height:1.7;margin:9px 0 0;color:#657565;min-height:17px}fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}.swatches{display:flex;gap:22px}.swatches label{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer}.swatches input{position:absolute;opacity:0;width:30px;height:30px}.swatches label>span{width:29px;height:29px;border:1px solid #b8c2b7;border-radius:50%;background:var(--swatch);display:grid;place-items:center;font-size:21px;color:#51624d}.swatches input:checked+span{outline:2px solid var(--ink);outline-offset:3px}.swatches input:focus-visible+span{outline:3px solid #cf6a34;outline-offset:4px}.swatches small{font-size:9px;margin-top:7px}.custom-swatch{background:linear-gradient(135deg,#dedfc6,#eacba9)}#custom-color{width:100%;margin-top:12px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.quantity-control{display:flex;height:40px;border:1px solid #bac9bb}.quantity-control input{width:45px;min-width:0;flex:1;text-align:center;border:0;background:none;font-size:13px;appearance:textfield;-moz-appearance:textfield}.quantity-control input::-webkit-inner-spin-button{appearance:none}.quantity-control button{width:32px;background:transparent}.quantity-control button:hover{background:#e8ede0}.field label output{float:right;font-size:12px;font-weight:400}input[type=range]{width:100%;height:15px;accent-color:var(--ink);margin:3px 0 0}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:3px}.estimate{border-top:1px solid var(--line);padding-top:19px}.estimate-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px}.outline-tag{border:1px solid #b8c7b7;padding:2px 7px;font-size:9px}.quote-total{font-size:25px;font-weight:500;letter-spacing:.02em;margin:11px 0 0}#quote-help{font-size:10px;color:var(--muted);margin:5px 0 16px}.estimate dl{font-size:10px;margin:0}.estimate dl>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0}.estimate dd{margin:0;text-align:right;font-weight:500}.estimate dt{color:#607060}.method{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-size:10px}.method summary{font-size:10px;min-height:26px}.method p{color:#596b5a}.under-cta{font-size:9px;text-align:center;margin:8px 0 0;color:var(--muted)}.service{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;padding-top:90px;padding-bottom:88px}.service h2,.consult h2{font-size:clamp(26px,3vw,37px);line-height:1.6;letter-spacing:.07em;font-weight:500;margin:0 0 20px}.service p:not(.eyebrow){font-size:12px;color:#5b6e5e;line-height:1.9}.equipment{display:flex;align-items:center;gap:16px;border-top:1px solid #cad4c6;padding-top:17px;margin-top:28px;font-size:10px;flex-wrap:wrap}.equipment b{font:12px Verdana,sans-serif}.equipment a{font-size:9px;text-decoration:underline}.steps{padding:0;margin:0;list-style:none}.steps li{display:flex;gap:30px;border-top:1px solid #c8d3c4;padding:24px 0}.steps li>span{font:14px Georgia,serif;font-style:italic;color:var(--accent)}.steps h3{font-size:15px;letter-spacing:.06em;margin:0 0 7px;font-weight:600}.steps p{margin:0}.consult{background:var(--ink);color:#f1f4e8;display:grid;grid-template-columns:1fr 1.15fr;gap:70px;padding-top:55px;padding-bottom:55px}.consult .eyebrow{color:#becfb7;font-size:9px;margin-bottom:20px}.consult h2{font-size:30px}.consult p{font-size:11px;color:#c3d0bd;line-height:1.8}.email-address{font:14px Verdana,sans-serif;border-bottom:1px solid #7d987e;padding-bottom:5px;display:inline-block}.consult-form{padding-top:10px}.consult-form>label{display:block;font-size:12px;margin-bottom:10px}.consult-form>label span{font-size:9px;opacity:.75;margin-left:15px}.consult textarea{width:100%;background:#21493e;color:#f1f4e8;border:1px solid #63806b;resize:vertical;font-size:12px;padding:14px}.consult textarea::placeholder{color:#afc4ae;opacity:1}.consult .button{background:#ebf0da;color:var(--ink);font-size:12px}.consult .button:hover{background:#fffbe2}.consult-actions{display:flex;gap:20px;align-items:center;margin:15px 0}.text-button{background:none;color:inherit;border-bottom:1px solid currentColor;padding:6px 0;font-size:11px}.consult .fine-print{font-size:10px}.consult summary{font-size:10px}#draft-body{font:11px/1.8 inherit;white-space:pre-wrap;overflow-wrap:anywhere}#draft-status{min-height:18px;margin:6px 0}.faq{padding-top:70px;padding-bottom:65px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.faq h2{font-size:23px;font-weight:500;margin:8px 0}.faq details{border-bottom:1px solid #cbd6c6;padding:19px 0}.faq summary{font-size:12px;font-weight:600}.faq p{font-size:12px;color:#60715f;line-height:1.9}footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #cad4c5;padding-top:28px;padding-bottom:30px;font-size:10px;gap:20px}footer b{font-size:13px}footer span{font:9px Verdana,sans-serif;margin-left:15px}footer p{font:9px Verdana,sans-serif;color:#647461}footer>a{font-size:11px}.alert{background:#fff0df;color:#91391c;border:1px solid #e2b895;font-size:12px;padding:12px;margin:12px 0}.skip{position:absolute;top:-100px;left:15px;background:var(--ink);color:var(--paper);padding:12px;z-index:10}.skip:focus{top:10px}@media(min-width:1450px){.intro{padding-top:55px;padding-bottom:75px}.viewport-wrap{height:460px}}@media(max-width:960px){.shell{padding-inline:26px}.intro{padding-top:25px;gap:20px}.intro-copy{padding-right:0}.intro-copy p{font-size:12px}.work-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,1fr)}.model-panel{padding:18px}.drop-zone{flex-direction:column;align-items:stretch;padding:16px;gap:12px}.button.small{justify-content:center}.viewport-wrap{height:360px}.dimension-strip{grid-template-columns:1fr 1fr 1fr;gap:10px}.unit-field{grid-column:1/-1;display:flex;align-items:center;gap:15px}.unit-field select{width:80px;margin:0}.dimension-strip strong{font-size:18px}.options-panel{padding:20px}.service{gap:45px}.consult{gap:35px}.viewport-label{flex-direction:column;gap:3px}.viewport-label>span:last-child{align-self:flex-start}.viewport-label>span:first-child{max-width:100%}.viewer-toolbar{left:10px;right:10px;gap:3px}.viewer-toolbar button{font-size:9px;padding:6px 7px}}@media(max-width:700px){.shell{padding-inline:20px}.site-header{height:86px}.brand-mark{width:37px;height:37px;font-size:30px}.brand b{font-size:16px}.brand-sub{font-size:12px}.brand small{font-size:8px}.site-header nav{gap:0}.site-header nav>a:not(.company-link){display:none}.company-link{border:0;padding:0;font-size:10px}.intro{display:block;padding-top:26px;padding-bottom:35px}.eyebrow{font-size:9px;margin-bottom:17px}h1{font-size:38px;line-height:1.45}.intro-copy{margin-top:22px;display:flex;justify-content:space-between;gap:15px;align-items:end}.intro-copy p{font-size:11px;line-height:1.9;margin:0}.text-link{font-size:10px;gap:20px;white-space:nowrap}.section-bar{gap:8px;align-items:start;padding-bottom:14px;flex-wrap:wrap}.section-bar h2{font-size:14px}.section-bar h2>span{margin-right:10px}.local-badge{font-size:9px}.work-grid{display:block}.model-panel{padding:16px}.options-panel{border-left:0;border-top:1px solid var(--line);padding:23px 20px}.drop-zone{padding:15px;gap:12px}.drop-zone b{font-size:12px}.drop-zone span{font-size:9px}.button.small{font-size:11px}.viewport-wrap{height:350px}.dimension-strip{padding:17px 0}.dimension-strip strong{font-size:21px}.unit-field{margin-top:5px}.model-status{font-size:11px}.fine-print{font-size:10px}.panel-title{margin-bottom:22px}.field-help{font-size:11px}.two-fields{gap:30px}.estimate dl{font-size:11px}.estimate dl>div{padding:7px 0}.method summary{font-size:11px}.method p{font-size:11px}.under-cta{font-size:10px}.service{display:block;padding-top:55px;padding-bottom:45px}.service h2{font-size:29px}.service>div>p:not(.eyebrow){font-size:12px}.steps{margin-top:35px}.steps li{padding:22px 0;gap:20px}.steps h3{font-size:14px}.consult{display:block;padding-top:38px;padding-bottom:35px}.consult h2{font-size:28px}.consult-form{margin-top:26px}.consult-actions{gap:20px}.consult .button{padding:14px 16px}.faq{display:block;padding-top:45px;padding-bottom:40px}.faq h2{font-size:22px;margin:0 0 15px}.faq details{padding:18px 0}.faq summary{font-size:12px;line-height:1.8}footer{flex-wrap:wrap;padding-top:22px;padding-bottom:25px;gap:15px}footer span{display:block;margin:4px 0 0}footer p{order:3;width:100%;margin:0}input,textarea{font-size:16px!important}.quantity-control{height:44px}select{font-size:16px}.unit-field select{font-size:13px}.viewer-toolbar button{min-height:38px}.color-field{margin-bottom:25px}.swatches{gap:28px}.swatches label>span{height:33px;width:33px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
