.es{--es-pad: 18px;--es-line: color-mix(in srgb, var(--color-ink) 28%, transparent);position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--color-paper-line);border-radius:14px;background:var(--color-white);color:var(--color-ink);box-shadow:var(--shadow-card);scroll-margin-top:16px}.es :focus-visible{outline-color:var(--color-navy-900)}.es-mono{font-family:var(--font-mono);font-size:var(--text-label);line-height:var(--text-label--line-height);font-weight:400}.es-stamp{font-family:var(--font-mono);font-size:var(--text-label);line-height:var(--text-label--line-height);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-muted)}.es-head{order:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 12px;padding:14px var(--es-pad) 0}.es-head>*{white-space:nowrap}.es-head h2{margin:0;font-weight:400}.es-head b{color:var(--color-ink);font-weight:500}.es-price{order:1;display:flex;flex-direction:column;gap:4px;padding:14px var(--es-pad) 4px}.es-price p{margin:0}.es-price-value{position:relative;align-self:flex-start;padding-bottom:6px;font-family:var(--font-display);font-weight:800;font-stretch:78%;font-size:min(var(--text-title),3.3rem);line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}.es-sweep{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--color-signal);transform:scaleX(0);transform-origin:left}.es-sweep[data-run]{animation:es-sweep .6s var(--ease-out) both}@keyframes es-sweep{0%{transform:scaleX(0);opacity:1}60%{transform:scaleX(1);opacity:1}to{transform:scaleX(1);opacity:0}}.es-terms{font-size:var(--text-caption);line-height:var(--text-caption--line-height);color:var(--color-ink-muted)}.es-terms b{color:var(--color-ink);font-weight:600}.es-qs{display:flex;flex-direction:column;gap:14px;padding:12px var(--es-pad) 18px}.es-qs-job{order:2;padding-bottom:4px}.es-qs-rest{order:4}.es-q{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;border:0}fieldset.es-q{display:block}fieldset.es-q>legend{margin-bottom:8px;padding:0}.es-q-label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;width:100%;font-size:var(--text-caption);line-height:var(--text-caption--line-height);font-weight:700;color:var(--color-ink)}.es-step{margin-right:8px;font-family:var(--font-mono);font-size:var(--text-label);font-weight:500;letter-spacing:.12em;color:var(--color-ink-muted)}.es-out{flex:none;font-family:var(--font-mono);font-size:var(--text-caption);font-weight:500;font-variant-numeric:tabular-nums}.es-out small{font-size:var(--text-label);color:var(--color-ink-muted)}.es-chips{display:flex;flex-wrap:wrap;gap:6px}.es-chip{position:relative;display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border:1px solid var(--es-line);border-radius:999px;background:transparent;color:var(--color-ink);font:inherit;font-size:var(--text-caption);font-weight:600;line-height:1.15;text-align:left;cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform var(--duration-150) var(--ease-out)}.es-chip:after{content:"";position:absolute;inset:-4px 0}.es-chip:hover{border-color:var(--color-ink)}.es-chip:active{transform:scale(.95)}.es-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;appearance:none}.es-chip:has(input:checked){background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.es-chip:has(input:focus-visible){outline:2px solid var(--color-navy-900);outline-offset:2px}.es-chip-more{border-style:dashed;color:var(--color-ink-muted)}.es-rule{position:relative;height:34px}.es-ticks{position:absolute;left:0;right:0;top:16px;height:10px;border-top:1.5px solid var(--color-ink);background:repeating-linear-gradient(90deg,var(--color-ink) 0 1px,transparent 1px 10%) 0 0 / 100% 10px no-repeat,repeating-linear-gradient(90deg,color-mix(in srgb,var(--color-ink) 45%,transparent) 0 1px,transparent 1px 2%) 0 0 / 100% 5px no-repeat}.es-rule input{position:relative;z-index:1;display:block;width:100%;height:34px;margin:0;background:transparent;cursor:pointer;appearance:none;-webkit-appearance:none}.es-rule input::-webkit-slider-runnable-track{height:34px;background:transparent}.es-rule input::-moz-range-track{height:34px;background:transparent}.es-rule input::-webkit-slider-thumb{width:22px;height:22px;margin-top:6px;border:3px solid var(--color-paper);border-radius:50%;background:var(--color-signal);box-shadow:0 0 0 1.5px var(--color-ink);transition:transform var(--duration-150) var(--ease-out);-webkit-appearance:none;appearance:none}.es-rule input:active::-webkit-slider-thumb{transform:scale(1.15)}.es-rule input::-moz-range-thumb{width:16px;height:16px;border:3px solid var(--color-paper);border-radius:50%;background:var(--color-signal);box-shadow:0 0 0 1.5px var(--color-ink)}.es-rule-ends{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:var(--text-label);color:var(--color-ink-muted)}.es-dwg{order:3;display:grid;grid-template-columns:minmax(0,1fr);margin:8px var(--es-pad) 0;border:1px solid var(--color-ink);border-radius:2px}.es-dwg svg{display:block;width:100%;height:auto}.es-tblock{display:flex;flex-wrap:wrap;gap:2px 12px;padding:6px 10px;border-bottom:1px solid var(--color-ink);font-family:var(--font-mono);font-size:var(--text-label);line-height:var(--text-label--line-height);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink)}.es-tblock span{white-space:nowrap}.es-tb-k,.es-tb-dims{display:none}.es-cta{order:5;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:0 var(--es-pad) 18px}.es-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 14px;border:1px solid transparent;border-radius:var(--radius-control);font:inherit;font-size:var(--text-body);font-weight:600;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:transform var(--duration-150) var(--ease-out)}.es-btn:active{transform:scale(.97)}.es-btn svg{flex:none;width:20px;height:20px}.es-btn-primary{background:var(--color-signal);color:var(--color-white)}.es-btn-primary:hover{background:var(--color-signal-hover)}.es-btn-ink{border-color:var(--color-ink);background:transparent;color:var(--color-ink);white-space:nowrap}.es-btn-ink:hover{background:var(--color-ink);color:var(--color-paper)}.es-call{grid-column:1 / -1;margin:2px 0 0;letter-spacing:.04em;color:var(--color-ink-muted)}.es-call a{display:inline-block;margin:-15px 0;padding:15px 2px;line-height:1.2;color:var(--color-ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--color-ink) 30%,transparent);text-underline-offset:4px}.es-call a:hover{text-decoration-color:var(--color-ink)}.es-assume{order:6;display:grid;gap:4px;padding:0 var(--es-pad) 16px;font-size:var(--text-caption);line-height:var(--text-caption--line-height);color:var(--color-ink-muted)}.es-assume p{margin:0}.es-assume-title{font-weight:600;color:var(--color-ink)}@media(min-width:640px){.es-cta{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}@media(min-width:1024px){.es-dwg{order:1;grid-template-columns:150px minmax(0,1fr);margin-top:10px}.es-price{order:2}.es-qs-job{order:3;padding-bottom:0}.es-qs-rest{padding-top:14px}.es-tblock{flex-direction:column;flex-wrap:nowrap;justify-content:space-between;gap:0;padding:10px 12px;border-bottom:0;border-right:1px solid var(--color-ink)}.es-tb-k{display:block;color:var(--color-ink-muted)}.es-tb-dims{display:block}.es-tblock .es-tb-name{font-family:var(--font-display);font-weight:800;font-stretch:78%;font-size:var(--text-lead);line-height:1;letter-spacing:0;white-space:normal}}@media(prefers-reduced-motion:reduce){.es-sweep{display:none}.es-chip,.es-btn,.es-rule input::-webkit-slider-thumb{transition:none}.es-chip:active,.es-btn:active{transform:none}}.es-card{--es-pad: 16px;border-radius:16px}.es-card .es-wide{display:none}.es-card .es-head{padding-top:14px}.es-card .es-head>span{color:var(--color-ink-muted)}.es-card .es-qs-job{order:1;padding:10px 0 0}.es-card .es-price{order:2;gap:2px;padding-top:12px}.es-card .es-price>.es-stamp{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.es-card .es-price-value{font-size:min(var(--text-title),2.9rem)}.es-card .es-terms{font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:.04em}.es-card .es-terms b{font-weight:500}.es-card .es-qs-rest{order:3;gap:10px;padding:12px var(--es-pad) 14px}.es-card .es-q-option{order:1}.es-card .es-q-size{order:2;gap:2px}.es-card .es-q-size .es-step,.es-card .es-rule-ends{display:none}.es-card .es-cta{order:4;grid-template-columns:minmax(0,1fr);padding-bottom:16px}.es-card .es-btn{min-height:48px}.es-jobs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding:4px var(--es-pad);scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,var(--color-black) 14px,var(--color-black) calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent 0,var(--color-black) 14px,var(--color-black) calc(100% - 28px),transparent)}.es-jobs::-webkit-scrollbar{display:none}.es-jobs .es-chip{flex:none;white-space:nowrap}.es-jobs .es-chip:last-child{margin-right:var(--es-pad)}@media(min-width:640px){.es-card .es-cta{grid-template-columns:minmax(0,1fr)}}@media(min-width:1024px){.es-card{--es-pad: 20px}.es-card .es-wide{display:inline}.es-card .es-price{order:2}.es-card .es-qs-job{order:1;padding:12px 0 0}.es-card .es-qs-rest{padding-top:12px}}@property --h3-dim{syntax: "<percentage>"; inherits: true; initial-value: 16%;}@property --h3-fade-from{syntax: "<length>"; inherits: true; initial-value: -100px;}@property --h3-fade-to{syntax: "<length>"; inherits: true; initial-value: 48px;}.h3-stage{--h3-dim: 16%;--h3-fade-from: -100px;--h3-fade-to: 48px;position:relative;width:100%;height:100%;isolation:isolate;transition:--h3-dim var(--duration-400) var(--ease-out),--h3-fade-from var(--duration-400) var(--ease-out),--h3-fade-to var(--duration-400) var(--ease-out)}.h3-stage[data-mode=room]{--h3-dim: 0%;--h3-fade-from: 0px;--h3-fade-to: 140px}.h3-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;outline:none;cursor:grab;touch-action:pan-y;-webkit-tap-highlight-color:transparent;-webkit-mask-image:linear-gradient(180deg,transparent 0,var(--color-black) 28px);mask-image:linear-gradient(180deg,transparent 0,var(--color-black) 28px)}.h3-stage.is-hover .h3-canvas{cursor:pointer}.h3-stage.is-dragging .h3-canvas{cursor:grabbing}.h3-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.h3-leader{fill:none;stroke-width:1;vector-effect:non-scaling-stroke}.h3-leader-sel{stroke:var(--color-signal)}.h3-leader-hov{stroke:color-mix(in srgb,var(--color-ink) 45%,transparent)}.h3-pin{position:absolute;left:0;top:0;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--color-signal);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-signal) 22%,transparent);pointer-events:none}.h3-pin-hov{background:var(--color-navy-900);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-navy-900) 14%,transparent)}.h3-tag{position:absolute;left:0;top:0;padding:7px 9px 7px 8px;border:1px solid var(--color-paper-line);border-radius:6px;background:color-mix(in srgb,var(--color-white) 94%,transparent);box-shadow:var(--shadow-card);color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-label);line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none}.h3-tag b{font-weight:500}.h3-tag .h3-tag-sep{padding:0 6px;color:var(--color-ink-muted)}.h3-tag-sel{border-color:var(--color-signal)}.h3-tag-sel:before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;vertical-align:1px;background:var(--color-signal)}.h3-anno{opacity:0;transition:opacity var(--duration-240) var(--ease-out)}.h3-anno.on{opacity:1}.h3-ctrl{position:absolute;z-index:2;top:6px;right:0;display:flex;gap:6px}.h3-ctrl[hidden]{display:none}.h3-ctrl button{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0;border:1px solid var(--color-paper-line);border-radius:22px;background:color-mix(in srgb,var(--color-white) 85%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--color-navy-900);cursor:pointer;transition:transform var(--duration-150) var(--ease-out)}.h3-ctrl button:hover{border-color:var(--color-navy-900)}.h3-ctrl button:active{transform:scale(.95)}.h3-ctrl svg{width:16px;height:16px}.h3-ctrl .h3-ov{padding:0 14px;font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:.12em;text-transform:uppercase}.h3-ctrl .h3-ov[hidden]{display:none}.h3-cap{display:none;align-self:center;margin-left:10px;font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:var(--color-ink-muted)}.h3-fallback{position:absolute;inset:8px 0 calc(var(--h3-cover-bottom, 0px) + 8px);display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;opacity:0;visibility:hidden;transition:opacity var(--duration-400) var(--ease-out),visibility 0s linear var(--duration-400)}.h3-stage:is([data-state=idle],[data-state=fallback]) .h3-fallback{opacity:1;visibility:visible;transition:none}.h3-stage[data-state=fallback] .h3-canvas,.h3-stage[data-state=fallback] .h3-ctrl,.h3-stage[data-state=fallback] .h3-anno,.h3-stage[data-state=fallback] .h3-leaders{display:none}.h3-fb-title{margin:0;font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-muted)}.h3-fb-svg{display:block;flex:1 1 auto;width:100%;min-height:0}.h3-fallback [data-roof=dormer],.h3-fallback [data-roof=rooflight]{display:none}.h3-fallback[data-roof=dormer] [data-roof=dormer],.h3-fallback[data-roof=rooflight] [data-roof=rooflight]{display:inline}.h3-fallback :is(.fb-ln){fill:none;stroke:var(--color-ink);stroke-width:1.4;vector-effect:non-scaling-stroke}.h3-fallback .fb-fill{fill:var(--color-ink)}.h3-fallback .fb-thin{fill:none;stroke:var(--color-ink-muted);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.75}.h3-fallback .fb-dash{stroke-dasharray:4 4}.h3-fallback .fb-room{cursor:pointer;outline:none}.h3-fallback .fb-room :is(rect,path){fill:transparent;stroke:transparent;stroke-width:2;vector-effect:non-scaling-stroke}.h3-fallback .fb-room:hover :is(rect,path){fill:color-mix(in srgb,var(--color-navy-900) 6%,transparent)}.h3-fallback .fb-room:focus-visible :is(rect,path){stroke:var(--color-navy-900);stroke-dasharray:4 3}.h3-fallback .fb-room.on :is(rect,path){stroke:var(--color-signal);stroke-dasharray:none;fill:color-mix(in srgb,var(--color-signal) 14%,transparent)}.h3-fallback .fb-room text{font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;fill:var(--color-ink-muted);pointer-events:none}.h3-fallback .fb-room.on text{fill:var(--color-signal-text)}.h3-fallback .fb-mark{pointer-events:none}.h3-fallback .fb-mark.on :is(rect,path){fill:color-mix(in srgb,var(--color-signal) 7%,transparent)}.h3-fallback .fb-quiet text{display:none}.h3-fallback .fb-quiet.on text{display:inline}@media(min-width:1024px){.h3-canvas{-webkit-mask-image:linear-gradient(90deg,color-mix(in srgb,var(--color-black) var(--h3-dim),transparent) 0,color-mix(in srgb,var(--color-black) var(--h3-dim),transparent) calc(var(--h3-lead-end, 40%) + var(--h3-fade-from)),var(--color-black) calc(var(--h3-lead-end, 40%) + var(--h3-fade-to))),linear-gradient(180deg,transparent 0,transparent 72px,var(--color-black) 156px);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,color-mix(in srgb,var(--color-black) var(--h3-dim),transparent) 0,color-mix(in srgb,var(--color-black) var(--h3-dim),transparent) calc(var(--h3-lead-end, 40%) + var(--h3-fade-from)),var(--color-black) calc(var(--h3-lead-end, 40%) + var(--h3-fade-to))),linear-gradient(180deg,transparent 0,transparent 72px,var(--color-black) 156px);mask-composite:intersect}.h3-ctrl{top:auto;right:auto;bottom:40px;left:var(--h3-edge, 32px)}.h3-ctrl button{min-width:40px;height:40px;border-radius:20px}.h3-cap{display:inline}.h3-ctrl .h3-ov:not([hidden])~.h3-cap{display:none}.h3-fallback{inset:112px var(--h3-edge, 32px) 490px calc(var(--h3-lead-end, 40%) + 24px)}}.h3-stage[data-layout=inset] .h3-canvas{-webkit-mask-image:linear-gradient(180deg,transparent 0,var(--color-black) 28px,var(--color-black) calc(100% - 20px),transparent),linear-gradient(90deg,transparent 0,var(--color-black) 16px,var(--color-black) calc(100% - 16px),transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0,var(--color-black) 28px,var(--color-black) calc(100% - 20px),transparent),linear-gradient(90deg,transparent 0,var(--color-black) 16px,var(--color-black) calc(100% - 16px),transparent);mask-composite:intersect}.h3-stage[data-layout=inset] .h3-ctrl{inset:auto auto 0 0}.h3-stage[data-layout=inset] .h3-cap{display:none}.h3-stage[data-layout=inset] .h3-fallback{inset:6px 0}@media(prefers-reduced-motion:reduce){.h3-stage,.h3-anno,.h3-fallback,.h3-ctrl button{transition:none}.h3-ctrl button:active{transform:none}}
