/* Constructor controls are independent of the site palette and media layout. */
a,button{touch-action:manipulation}
.surface-atelier{grid-template-columns:minmax(0,1fr) 360px;align-items:stretch}.surface-stage{min-height:650px}.surface-controls{padding:28px}.surface-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.surface-options>button{flex-direction:column;text-align:center;padding:13px 4px;gap:9px;min-height:91px}.surface-options strong{font-size:11px}.surface-options small{font-size:8px;line-height:1.4}.surface-swatch{width:24px;height:24px}
.surface-control-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#c9c2b2}.surface-control-heading output{font-size:10px;color:#bca87a;text-align:right}.surface-colors{margin-top:25px}.surface-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:13px}.surface-palette>button{display:grid;place-items:center;position:relative;height:44px;min-width:0;border:1px solid #ffffff18;background:#1c1c1a;border-radius:13px;transition:border-color 180ms ease,background-color 180ms ease}.surface-palette>button:before{content:'';width:25px;height:25px;border:1px solid #ffffff36;border-radius:50%;background:linear-gradient(135deg,#ffffff38,transparent 50%),var(--paint);box-shadow:inset 0 -3px 6px #0003}.surface-palette>button[aria-pressed=true]{border-color:#c6ac78;background:#c6ac7814}.surface-palette>button[aria-pressed=true]:after{content:'✓';position:absolute;right:3px;bottom:2px;font-size:9px;color:#e3d5b8}
.surface-custom-color{display:flex;align-items:center;gap:9px;margin-top:10px;font-size:10px;min-height:44px;color:#969185;cursor:pointer}.surface-custom-color input{width:31px;height:31px;min-height:0;padding:3px;border-radius:9px;border:1px solid #6e634b;background:#24231d;cursor:pointer}.surface-custom-color input::-webkit-color-swatch-wrapper{padding:0}.surface-custom-color input::-webkit-color-swatch{border:0;border-radius:5px}.surface-custom-color output{margin-left:auto;font-size:9px;color:#b9a77c;font-variant-numeric:tabular-nums}
.surface-builder{margin-top:19px;padding-top:20px;border-top:1px solid #c6ac7829}.surface-builder[hidden]{display:none}#surface-spread{display:block;width:100%;padding:0;border:0;box-shadow:none;background:transparent;height:32px;min-height:44px;accent-color:#c6ac78;cursor:ew-resize;margin:7px 0 0;touch-action:pan-y}.surface-range-labels{display:flex;justify-content:space-between;font-size:9px;color:#79766d;margin-top:-3px}.surface-layer-switches{display:grid;gap:8px;margin-top:15px}.surface-layer-switches>label{display:flex;align-items:center;gap:11px;position:relative;border:1px solid #ffffff10;border-radius:12px;padding:11px 12px;background:#1a1a18;cursor:pointer;min-height:58px}.surface-layer-switches input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}.layer-check{width:19px;height:19px;display:grid;place-items:center;flex-shrink:0;border:1px solid #807151;border-radius:6px;background:#161612}.surface-layer-switches input:checked+.layer-check{background:#c6ac78;border-color:#d2bd91}.surface-layer-switches input:checked+.layer-check:after{content:'✓';font-size:12px;color:#15130e}.surface-layer-switches input:focus-visible+.layer-check{outline:2px solid #eee0b8;outline-offset:3px}.surface-layer-switches strong{display:block;font-size:11px;color:#d3cdbf;font-weight:500}.surface-layer-switches small{display:block;font-size:9px;color:#858175;margin-top:4px;line-height:1.4}
.surface-description{font-size:11px;line-height:1.8;min-height:0;margin-top:20px}.surface-disclaimer{font-size:9px;line-height:1.65;margin-top:10px}.surface-controls>.text-link{font-size:11px;padding-top:22px}.surface-layer-legend{position:absolute;left:25px;bottom:66px;z-index:2;display:flex;flex-wrap:wrap;gap:7px;pointer-events:none;max-width:calc(100% - 50px)}.surface-layer-legend>span{padding:6px 9px;border:1px solid #c6ac782b;border-radius:999px;background:#111110c9;color:#aaa18d;font-size:9px}.surface-layer-legend[hidden],.surface-layer-legend>span[hidden]{display:none}
.contact-widget{transition:opacity 180ms ease,visibility 180ms ease}.is-choosing-service .contact-widget{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:1000px) and (min-width:701px){.surface-atelier{grid-template-columns:minmax(0,1fr) 320px}.surface-controls{padding:24px}.surface-stage{min-height:640px}.surface-control-heading{gap:7px;font-size:10px}.surface-control-heading output{font-size:9px}.surface-layer-legend{left:18px;max-width:calc(100% - 36px);bottom:72px;gap:5px}.surface-layer-legend>span{font-size:8px;padding:5px 7px}}
@media(max-width:700px){
  html{scroll-padding-top:90px}.header{padding-inline:16px;gap:11px}.menu-toggle{width:44px;height:44px;align-items:center;padding:10px;flex-shrink:0}.header nav{top:78px;background:#171715f7;border-color:#c6ac783d;box-shadow:0 20px 55px #0007}.header nav>a{border-color:#ffffff14;color:#e4dccb;font-size:16px;min-height:50px;display:flex;align-items:center}.header-cta{min-height:44px}.highlights-track{padding-block:5px 12px;scroll-padding-inline:1px}.highlights-hint{font-size:10px;color:#8b8578}.highlight-item>span:last-child{font-size:11px}.service-list>button{min-height:110px}.service-content ul{font-size:13px;gap:13px}.service-content .text-link{min-height:44px}.extra-services{font-size:12px;line-height:1.7}.task-shortcuts>button{font-size:11px}.section-intro{font-size:14px;line-height:1.8}
  .surface-section{padding-block:48px 52px}.surface-heading h2{font-size:clamp(31px,8.8vw,39px)}.surface-heading>p{font-size:13px;line-height:1.8}.surface-atelier{display:flex;border-radius:24px}.surface-stage{min-height:390px;height:390px;flex:none}.surface-stage-top{left:16px;right:15px;top:16px}.surface-stage-top>span{font-size:11px}.surface-controls{padding:24px 20px}.surface-controls>small{font-size:11px}.surface-options>button{min-height:86px;padding:12px 4px}.surface-options strong{font-size:11px}.surface-options small{font-size:9px}.surface-control-heading{font-size:12px}.surface-control-heading output{font-size:11px}.surface-palette{gap:8px}.surface-palette>button{height:46px;border-radius:13px}.surface-custom-color{font-size:12px;min-height:48px}.surface-custom-color output{font-size:10px}.surface-colors{margin-top:23px}.surface-layer-switches>label{min-height:66px;padding:12px}.surface-layer-switches strong{font-size:13px}.surface-layer-switches small{font-size:11px}.surface-description{font-size:13px}.surface-disclaimer{font-size:10px}.surface-controls>.text-link{font-size:13px;min-height:44px}.surface-layer-legend{left:16px;bottom:61px;gap:5px;max-width:calc(100% - 32px)}.surface-layer-legend>span{font-size:8px;padding:5px 7px}.surface-hint{left:16px;right:16px;font-size:10px;line-height:1.5;bottom:18px}
  .project-grid,.project-grid[data-count="1"],.project-grid[data-count="2"]{grid-template-columns:minmax(0,1fr);max-width:none;gap:27px}.project-grid>.project{grid-column:auto!important}.project-grid .project-open{aspect-ratio:1.18!important;border-radius:20px}.project-caption h3,.project-main h3{font-size:17px}.project-caption p{font-size:12px;line-height:1.7}.image-tag,.project-main .image-tag{font-size:10px;padding:7px 11px}.project-expand{width:38px;height:38px}.project-caption{padding-top:14px}.gallery-filters>button{min-height:47px;font-size:12px}.projects .section-top>.text-link{font-size:13px;min-height:44px}.source-note{font-size:11px}.craft-note{grid-template-columns:1fr}.craft-note>img{height:220px;min-height:0;object-position:center 40%}.craft-note>div{padding:25px 22px}.craft-note h3{font-size:25px;line-height:1.25}.craft-note p{font-size:14px;line-height:1.85}.craft-note a{font-size:12px;min-height:44px}.about-image{height:420px}.estimate .wrap{width:calc(100% - 32px)}#estimate-form{padding:25px 18px}.form-heading{font-size:16px}.contact-actions{flex-wrap:wrap;gap:13px 22px}.contact-actions .button{font-size:12px;min-height:53px;max-width:100%}.contact-actions .text-link{min-height:44px}.location-photo-caption>strong{font-size:14px}.location-photo-caption>small{font-size:11px}.map-link{min-height:55px;font-size:12px}.footer{padding-bottom:105px}
  dialog#project-dialog{max-height:calc(100dvh - 24px);width:calc(100% - 20px)}.dialog-media{height:310px}.dialog-copy{padding:26px 22px}.dialog-copy>p:not(.overline){font-size:14px;line-height:1.85}.dialog-copy .text-link{font-size:12px;min-height:44px}.dialog-copy .button{font-size:12px;min-height:51px}.dialog-close{width:44px;height:44px}.story-bottom>#story-description{font-size:14px;line-height:1.8}.story-actions>.button{min-height:48px;font-size:12px}
}
@media(max-width:370px){.header{padding-inline:12px;gap:7px}.brand{gap:8px}.brand>span{font-size:17px}.brand>img{width:36px;height:36px}.header-cta{padding-inline:11px;font-size:9px}.surface-controls{padding-inline:16px}.surface-stage{min-height:360px;height:360px}.surface-palette{gap:5px}.surface-palette>button{height:44px}.surface-palette>button:before{width:24px;height:24px}.surface-options{gap:6px}.surface-options small{font-size:8px}.surface-hint{font-size:9px}.surface-layer-legend>span{font-size:7px;padding:5px 6px}.contact-phone{font-size:24px}.contact-actions .button{padding-inline:14px}}
@media(max-width:700px) and (max-height:500px){.surface-stage{height:330px;min-height:330px}.story-bottom>#story-description{font-size:11px;line-height:1.6}.story-bottom h2{font-size:25px}}
@media(max-width:370px){.surface-palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.brand>img{width:39px;height:39px}}
@media(min-width:701px) and (max-width:1000px){.surface-palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}
.surface-atelier{overflow:clip;align-items:start}.surface-stage{position:sticky;top:105px;height:620px;min-height:520px;align-self:start}
@media(max-width:700px){.surface-stage{position:sticky;top:78px;z-index:3;height:300px;min-height:300px;align-self:stretch;background:#111110;border-bottom:1px solid #c6ac7825}.surface-layer-legend{bottom:58px}.surface-stage-top{top:12px}.surface-hint{bottom:13px}.surface-controls{width:100%}}
@media(max-width:700px) and (max-height:500px){.surface-stage{position:relative;top:0;height:300px;min-height:300px}}
@media(prefers-reduced-motion:reduce){.surface-palette>button,.contact-widget{transition:none}}
