@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{color:#102c3f;font-synthesis:none;text-rendering:optimizelegibility;background:#c7d5dc;font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit}.app-shell{background:#c7d5dc;width:100%;height:100%;min-height:620px;position:relative;overflow:hidden}.three-scene,.three-scene canvas{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.three-scene{z-index:0}.sky-wash{z-index:1;pointer-events:none;background:linear-gradient(#ecf4f761,#0000 38%,#0b1d2714);position:absolute;top:0;bottom:0;left:0;right:0}.topbar{z-index:10;pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:28px;left:32px;right:32px}.topbar button{pointer-events:auto}.brand-card,.help-button{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#102c3f;background:#f9fcfce6;border:1px solid #fffc;height:62px;box-shadow:0 12px 36px #1a313d21}.brand-card{cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:12px;width:292px;padding:0 18px;display:flex}.brand-card b{letter-spacing:.06em;font:800 16px/1 Manrope,sans-serif;display:block}.brand-card small{color:#6a7d89;letter-spacing:.24em;margin-top:5px;font:700 8px/1 Manrope;display:block}.brand-mark{color:#fff;background:#12364a;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.brand-mark svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:19px}.chevron{margin-left:auto;transition:transform .25s;display:grid}.chevron.rotated{transform:rotate(180deg)}.chevron svg{fill:none;stroke:currentColor;stroke-width:2px;width:22px}.help-button{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-width:112px;padding:0 20px;font-weight:700;display:flex}.help-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:20px}.tour-button{z-index:10;color:#18384c;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f9fcfce6;border:1px solid #fffc;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;min-width:164px;height:52px;padding:0 8px 0 18px;font-weight:700;display:flex;position:absolute;top:108px;left:32px;box-shadow:0 10px 30px #18303d1c}.tour-button svg{fill:#18384c14;stroke:#18384c;stroke-width:1.5px;width:38px;height:38px;padding:3px}.tour-button.active svg{animation:1.2s infinite pulse}@keyframes pulse{50%{opacity:.7;transform:scale(.9)}}.door-control{z-index:9;color:#153548;cursor:pointer;background:#fafcfceb;border:1px solid #ffffffc2;border-radius:20px;align-items:center;gap:9px;height:38px;padding:0 17px;font-size:12px;font-weight:700;display:flex;position:absolute;top:19%;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #132c3a26}.control-dot{background:#e0543c;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 3px #e0543c21}.control-dot.open{background:#6d987c;box-shadow:0 0 0 3px #6d987c24}.config-panel{z-index:12;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;background:#f7faf9f0;border:1px solid #ffffffd9;border-radius:13px;flex-direction:column;width:min(366px,100vw - 64px);padding:25px 25px 20px;transition:transform .36s cubic-bezier(.2,.8,.2,1),opacity .3s;display:flex;position:absolute;top:104px;bottom:100px;right:32px;overflow:auto;transform:translate(calc(100% + 50px));box-shadow:0 22px 60px #11253038}.config-panel.open{opacity:1;transform:translate(0)}.panel-heading{border-bottom:1px solid #d5dedf;justify-content:space-between;gap:20px;padding-bottom:18px;display:flex}.eyebrow{color:#ca593e;letter-spacing:.2em;margin-bottom:7px;font:800 9px/1 Manrope;display:block}.panel-heading h1{color:#102d40;letter-spacing:-.035em;margin:0;font:700 22px/1.2 Manrope}.panel-close,.modal-close{color:#49616e;cursor:pointer;background:#e8eeee;border:0;border-radius:8px;flex:none;place-items:center;width:33px;height:33px;display:grid}.panel-close svg,.modal-close svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:16px}.config-section{border-bottom:1px solid #d5dedf;padding:18px 0}.section-title{align-items:center;gap:10px;margin-bottom:13px;display:flex}.section-title>span{color:#fff;background:#17394b;border-radius:50%;place-items:center;width:25px;height:25px;font:700 9px/1 Manrope;display:grid}.section-title h2{margin:0;font:700 13px/1 Manrope}.size-switch{grid-template-columns:1fr 1fr;gap:8px;display:grid}.size-switch button{color:#18384a;cursor:pointer;background:#fff9;border:1px solid #ccd6d8;border-radius:7px;justify-content:space-between;align-items:center;height:54px;padding:0 13px;display:flex}.size-switch button.selected{color:#fff;background:#17394b;border-color:#17394b}.size-switch b{font:700 15px/1 Manrope}.size-switch small{text-align:right;opacity:.65;max-width:52px;font-size:9px;line-height:1.15}.color-row{gap:11px;display:flex}.color-swatch{background:var(--swatch);cursor:pointer;border:3px solid #fff;border-radius:50%;width:38px;height:38px;padding:0;transition:transform .15s,box-shadow .15s;box-shadow:0 0 0 1px #c5d0d2}.color-swatch:hover{transform:translateY(-2px)}.color-swatch.selected{transform:scale(1.05);box-shadow:0 0 0 2px #17394b}.finish-name{color:#768690;margin:10px 0 0;font-size:10px}.accessories{grid-template-columns:1fr 1fr;gap:8px;display:grid}.accessories .section-title{grid-column:1/-1;margin-bottom:5px}.accessories button{color:#314d5d;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:11px;display:flex}.accessories button:last-child{grid-column:1/-1}.check{color:#fff;background:#fff;border:1px solid #bac6c9;border-radius:4px;place-items:center;width:19px;height:19px;font-size:11px;display:grid}.check.checked{background:#17394b;border-color:#17394b}.quote-button{color:#fff;cursor:pointer;background:#d75b3f;border:0;border-radius:7px;flex:none;justify-content:space-between;align-items:center;width:100%;min-height:48px;margin-top:18px;padding:0 18px;font-weight:700;display:flex;box-shadow:0 8px 24px #d75b3f38}.quote-button b{font-size:20px;font-weight:400;transition:transform .2s}.quote-button:hover b{transform:translate(4px)}.quote-note{text-align:center;color:#8a989f;margin:8px 0 0;font-size:9px}.view-nav{z-index:8;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#f8fbfbed;border:1px solid #fffc;border-radius:11px;grid-template-columns:repeat(4,1fr);width:min(680px,100vw - 220px);height:62px;padding:7px;display:grid;position:absolute;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #132b3733}.view-nav button{color:#294657;cursor:pointer;background:0 0;border:0;border-right:1px solid #bcc9ce;font-size:14px;position:relative}.view-nav button:last-child{border-right:0}.view-nav button:after{content:"";background:#d75b3f;height:2px;transition:transform .2s;position:absolute;bottom:2px;left:30%;right:30%;transform:scaleX(0)}.view-nav button.active{color:#102f41;font-weight:800}.view-nav button.active:after{transform:scaleX(1)}.fullscreen-button{z-index:8;color:#17394b;cursor:pointer;background:#f8fbfbed;border:1px solid #fffc;border-radius:11px;place-items:center;width:62px;height:62px;display:grid;position:absolute;bottom:28px;right:32px;box-shadow:0 12px 34px #132b372b}.fullscreen-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:26px}.drag-hint{z-index:4;color:#ffffffe0;letter-spacing:.04em;pointer-events:none;background:#142a3580;border-radius:12px;padding:6px 11px;font-size:9px;position:absolute;bottom:103px;left:50%;transform:translate(-50%)}.hotspot{z-index:5;color:#fff;cursor:pointer;background:#173f5b;border:2px solid #fff;border-radius:50%;place-items:center;width:27px;height:27px;padding:0;font-size:11px;font-weight:700;transition:transform .18s,background .18s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 12px #0b243559}.hotspot:hover{outline:none;transform:translate(-50%,-50%)scale(1.14)}.hotspot:focus-visible{outline:none;transform:translate(-50%,-50%)scale(1.14)}.hotspot.active{background:#d75b3f;transform:translate(-50%,-50%)scale(1.12)}.hotspot i{color:#1f4155;opacity:0;background:#fcfdfceb;border-radius:4px;width:max-content;padding:6px 9px;font-size:9px;font-style:normal;font-weight:600;transition:all .2s;position:absolute;left:34px;transform:translate(-5px);box-shadow:0 5px 15px #142b3829}.hotspot:hover i{opacity:1;transform:translate(0)}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#06182285;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.help-modal{background:#f7faf9;border-radius:14px;width:min(440px,100vw - 40px);padding:38px;position:relative;box-shadow:0 30px 80px #02111a59}.modal-close{position:absolute;top:15px;right:15px}.help-modal h2{letter-spacing:-.04em;margin:0 0 12px;font:700 27px/1.2 Manrope}.help-modal p{color:#61737d;font-size:14px;line-height:1.65}.help-modal>button:last-child{color:#fff;cursor:pointer;background:#17394b;border:0;border-radius:6px;height:45px;padding:0 20px;font-weight:700}@media (max-width:1050px){.config-panel{width:330px}.view-nav{width:min(590px,100vw - 170px)}}@media (max-width:700px){.app-shell{min-height:540px}.topbar{top:14px;left:14px;right:14px}.brand-card{width:206px;height:52px;padding:0 12px}.brand-mark{width:30px;height:30px}.brand-card b{font-size:13px}.help-button{width:52px;min-width:0;height:52px;padding:0}.help-button span{display:none}.tour-button{min-width:145px;height:45px;top:77px;left:14px}.tour-button svg{width:32px;height:32px}.door-control{top:18%}.config-panel{width:auto;max-height:57vh;top:auto;bottom:88px;left:10px;right:10px;transform:translateY(calc(100% + 110px))}.config-panel.open{transform:translateY(0)}.view-nav{width:auto;height:60px;bottom:14px;left:10px;right:76px;transform:none}.view-nav button{font-size:11px}.fullscreen-button{width:58px;height:60px;bottom:14px;right:10px}.drag-hint{bottom:82px}}@media (max-height:740px) and (min-width:701px){.config-panel{padding-top:18px;top:94px;bottom:88px}.config-section{padding:12px 0}.quote-button{margin-top:12px}.topbar{top:18px}.tour-button{top:91px}.view-nav,.fullscreen-button{bottom:16px}}
