:root{--paper:#f7f6f1;--ink:#20372f;--muted:#67756d;--line:#dce1d8;--green:#126849;--tint:#eaf0e5;--col:33.333%;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:none;border:1px solid var(--line)}button:hover{border-color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #da9039;outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;left:20px;top:-90px;z-index:10;background:white;padding:15px}.skip:focus{top:10px}header{height:85px;max-width:1500px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font-size:29px;font-weight:850;letter-spacing:-1.5px;white-space:nowrap}.logo span{font-size:25px;font-weight:300;color:#aab5ac;margin:0 18px}.logo small{font-size:12px;font-weight:400;letter-spacing:.2px}.header-right{display:flex;gap:34px;align-items:center}.back{font-size:13px}.languages{display:flex;gap:4px}.languages a{display:inline-flex;align-items:center;justify-content:center;border:none;padding:10px;color:var(--muted);font-size:12px}.languages [aria-current=page]{color:var(--ink);font-weight:bold;text-decoration:underline;text-underline-offset:6px}main{max-width:1500px;margin:auto;padding:0 48px}.intro{display:flex;justify-content:space-between;gap:40px;align-items:end;padding:35px 0 28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin:0 0 12px}h1{font-size:clamp(28px,3vw,46px);letter-spacing:-1.8px;line-height:1.12;margin:0;max-width:760px}.intro>p{font-size:14px;line-height:1.6;color:var(--muted);max-width:310px;margin:0}.studio{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:25px;align-items:start}.preview{position:sticky;top:15px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#e9ede5;min-width:0}.scene-label{position:absolute;top:22px;left:24px;right:24px;display:flex;gap:8px;align-items:center;font-size:11px;z-index:1;pointer-events:none}.live-dot{width:6px;height:6px;background:var(--green);border-radius:50%}.scene-model{margin-left:auto;color:var(--muted)}#scene{height:min(49vw,660px);min-height:420px;position:relative;cursor:grab;outline-offset:-5px}#scene:active{cursor:grabbing}#scene canvas{display:block;width:100%;height:100%;touch-action:none}.loading{position:absolute;inset:0;display:grid;place-items:center;padding:35px;text-align:center;color:var(--muted);line-height:1.6}.loading.error{background:var(--paper);z-index:2}.view-tools{display:flex;align-items:center;justify-content:center;gap:2px;position:absolute;bottom:83px;left:50%;transform:translateX(-50%);background:#fffffff2;border:1px solid #d6ddd2;border-radius:9px;padding:4px;box-shadow:0 5px 20px #24392909}.view-tools button{font-size:23px;border:0;min-width:40px;height:37px;border-radius:5px}.view-tools button:hover{background:var(--tint)}.view-tools>span{height:18px;width:1px;background:var(--line);margin:0 2px}.gesture{margin:0;text-align:center;font-size:11px;color:var(--muted);position:absolute;bottom:61px;width:100%;pointer-events:none}.scene-note{font-size:10px;line-height:1.5;color:var(--muted);margin:0;padding:13px 22px;background:#f4f5efcf;border-top:1px solid var(--line)}.choices{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;min-width:0}fieldset{border:0;padding:0;margin:0 0 23px;min-width:0}legend{display:flex;gap:10px;font-size:13px;font-weight:700;margin-bottom:13px;width:100%;padding:0}legend>span:first-child{color:#8a978e;font-size:10px;line-height:16px}legend strong{font-size:11px;margin-left:auto;font-weight:400;color:var(--muted)}.houses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.houses button{border-radius:7px;min-height:83px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:7px 3px;font-size:10px}.houses svg{width:57px;height:37px;stroke:currentColor;stroke-width:1.4;fill:none}.houses [aria-pressed=true]{background:var(--tint);border:2px solid var(--green);padding:6px 2px}.textures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.textures button{padding:3px;border-radius:6px;font-size:10px}.sample{display:block;height:47px;border-radius:3px;background-image:url('assets/textures-colors.webp');background-size:400% 400%;background-position:var(--col) var(--row);margin-bottom:6px}.textures button>span:last-child{display:block;margin-bottom:3px}.textures [aria-pressed=true]{border:2px solid var(--green);padding:2px;background:var(--tint)}.colors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.colors button{border:0;padding:0;font-size:10px}.colors i{display:block;width:38px;height:38px;border-radius:50%;margin:4px auto 8px;box-shadow:inset 0 0 0 1px #00000012}.colors [aria-pressed=true] i{outline:2px solid var(--green);outline-offset:3px}.custom-label{display:block;font-size:10px;margin:18px 0 7px;color:var(--muted)}input,textarea{width:100%;border:1px solid var(--line);border-radius:5px;padding:10px;background:#fcfcfa;color:var(--ink);font-size:12px}input::placeholder{color:#89938d}#custom-color{padding:9px 10px;font-size:11px}.wave-note{font-size:10px;color:var(--muted);line-height:1.5;margin:10px 0 0}.quote{padding-top:18px;border-top:1px solid var(--line)}.quote>p{font-size:10px;color:var(--muted);margin:0 0 6px}.quote>strong{display:block;font-size:13px;margin-bottom:16px;line-height:1.5;overflow-wrap:anywhere}.quote>label{display:block;font-size:10px;margin-bottom:7px}.quote input{height:35px;margin-bottom:12px}.primary{display:flex;align-items:center;justify-content:space-between;gap:10px;color:white;background:var(--green);padding:15px 16px;border:0;border-radius:6px;font-size:12px;font-weight:600;line-height:1.4}.primary:hover{background:#0b5038}.primary>span:last-child{font-size:20px}.quote>small{display:block;font-size:10px;line-height:1.5;text-align:center;margin-top:9px;color:var(--muted)}.request{margin-top:25px;border:1px solid var(--line);border-radius:12px;background:white;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:45px}.request h2{font-size:30px;letter-spacing:-1px;margin:0}.request p{font-size:13px;line-height:1.6;color:var(--muted)}.request label{display:block;font-size:12px;margin-bottom:8px}.request textarea{resize:vertical;line-height:1.6}.request-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.request-actions button{padding:10px 14px;border-radius:6px;font-size:12px}.request-actions .primary{font-size:12px}footer{max-width:1500px;margin:35px auto 0;padding:22px 48px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:11px;color:var(--muted);gap:20px}footer .logo{font-size:23px;color:var(--ink)}@media(min-width:1500px){#scene{height:670px}}@media(max-width:1050px){header{padding:0 26px}main{padding:0 26px}.studio{grid-template-columns:minmax(0,1fr) 310px;gap:15px}.choices{padding:18px}.intro{align-items:start}.intro>p{max-width:240px}.logo small,.logo span{display:none}#scene{min-height:500px}.scene-model{display:none}footer{padding:22px 26px}}@media(max-width:760px){header{height:65px;padding:0 18px}.header-right{gap:12px}.back{font-size:11px}.logo{font-size:24px}main{padding:0 14px}.intro{display:block;padding:25px 4px 20px}.intro .eyebrow{font-size:8px;letter-spacing:1.6px}h1{font-size:31px;letter-spacing:-1.2px}.intro>p{font-size:12px;max-width:100%;margin-top:12px}.studio{display:flex;flex-direction:column;gap:13px}.preview{position:relative;top:0;width:100%}#scene{height:325px;min-height:0}.scene-label{top:14px;left:15px;right:15px;font-size:10px}.scene-model{display:inline}.view-tools{bottom:92px}.gesture{bottom:72px;font-size:10px}.scene-note{font-size:9px;padding:12px 14px}.choices{width:100%;padding:19px}.houses button{font-size:11px}.textures button{font-size:11px}.sample{height:54px}.colors i{width:42px;height:42px}.quote>strong{font-size:15px}.primary{font-size:14px}.quote>small{font-size:11px}.request{grid-template-columns:1fr;gap:20px;padding:22px 18px}.request h2{font-size:26px}footer{margin-top:25px;padding:20px 18px;flex-wrap:wrap}footer>span{width:60%;line-height:1.5}input,textarea,#custom-color{font-size:16px}.custom-label{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.application-tabs{display:flex;gap:8px}.application-tabs button{flex:1;padding:10px;border-radius:6px;font-size:12px}.application-tabs [aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.textures small{display:block;font-size:8px;color:var(--muted);margin:3px 0}.scene-label{background:#f7f6f1e8;border-radius:5px;padding:8px 10px;top:14px;left:15px;right:15px}.gesture{background:#f7f6f1d9;padding:5px 0;bottom:54px}.view-tools{bottom:86px}@media(max-width:760px){.gesture{bottom:66px}.view-tools{bottom:102px}}

.tint-picker{margin-top:18px;border:1px solid var(--line);border-radius:7px;padding:12px}.tint-picker>label{font-size:12px;font-weight:600;display:block;margin-bottom:10px}.tint-picker>div{display:flex;align-items:center;gap:12px}.tint-picker input[type=color]{width:65px;height:40px;padding:3px;cursor:pointer;background:white}.tint-picker p{font-size:10px;line-height:1.5;color:var(--muted);margin:10px 0 0}#tint-code{font-size:12px;letter-spacing:.5px}.textures.exterior{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.preview{position:sticky;top:8px;z-index:3;box-shadow:0 5px 20px #20372f0b}#scene{height:310px}.gesture{display:none}.view-tools{bottom:65px}.scene-note{font-size:9px}}

.estimate-link{display:block;margin:0 0 20px;font-size:13px;color:var(--green);text-decoration:underline;text-underline-offset:4px}.estimate{margin-top:24px;padding:25px;background:white;border:1px solid var(--line);border-radius:12px}.estimate summary{cursor:pointer;font-size:21px;font-weight:600}.estimate p{font-size:12px;line-height:1.6;color:var(--muted);max-width:800px}.estimate label{display:flex;flex-direction:column;gap:8px;font-size:12px}.estimate input,.estimate select{font:inherit;min-height:43px}.estimate select{width:100%;padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink)}.estimate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.opening-row{display:grid;grid-template-columns:80px repeat(3,minmax(0,1fr)) 75px;gap:12px;align-items:end;padding:14px 0;border-bottom:1px solid var(--line)}.opening-row strong{align-self:center;font-size:12px}.opening-row button,.opening-actions button{border-radius:6px;padding:12px;font-size:12px}.opening-actions{display:flex;gap:10px;margin:15px 0 24px}.estimate-result{background:var(--tint);border-radius:8px;padding:20px;line-height:1.7;margin-top:22px}.estimate-result>div{display:flex;justify-content:space-between;gap:20px;font-size:14px}.estimate-result>div:last-child{border-top:1px solid var(--line);margin-top:10px;padding-top:10px;font-size:20px}.estimate button:disabled{opacity:.5;cursor:not-allowed}#estimate{scroll-margin-top:25px}@media(max-width:760px){.estimate{padding:18px;scroll-margin-top:420px}.estimate summary{font-size:19px}.estimate-grid{grid-template-columns:1fr}.opening-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.opening-row strong{grid-column:1/-1}.opening-row button{grid-column:1/-1}.estimate input,.estimate select{font-size:16px}.estimate-result{padding:15px}}
.houses{grid-template-columns:repeat(2,minmax(0,1fr))}
#retry-scene{position:absolute;z-index:4;left:50%;top:65%;transform:translateX(-50%);padding:12px 20px;background:var(--green);color:white;border-radius:6px;font-size:14px}
/* On narrow screens, controls have their own row and never cover the 3D scene. */
@media(max-width:760px){
 .preview.tall-house #scene{height:320px}
 .studio:has(.preview.tall-house) .choices :is(button,input,a){scroll-margin-top:480px}
 .view-tools{position:relative;top:auto;bottom:auto;left:auto;transform:none;width:100%;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:5px;background:var(--paper)}
 .view-tools button{min-width:44px;height:44px}
 .application-tabs button{min-height:44px}
 .languages a{min-width:44px;min-height:44px}
 .scene-note{font-size:11px}
 .choices button,.choices input,.choices a{scroll-margin-top:420px}
}
@media(max-width:1050px) and (max-height:600px){
 .preview{position:relative;top:0}
 .choices button,.choices input,.choices a{scroll-margin-top:20px}
}

#surroundings-status{position:absolute;bottom:12px;left:12px;right:12px;padding:8px 12px;border-radius:6px;background:#fffffff0;color:var(--muted);font-size:11px;line-height:1.4;z-index:1;pointer-events:none}

.view-tools [data-view=detail]{width:auto;min-width:68px;padding:0 9px;font-size:12px}.view-tools [data-view=detail][aria-pressed=true]{background:var(--green);color:white;border-radius:4px}
@media(max-width:360px){
 .view-tools{gap:0;padding:5px 1px}
 .view-tools>span{display:none}
 .view-tools [data-view=detail]{min-width:56px;padding:0 3px}
}
