*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#23382f;color:#f1eadb;font-family:Arial,sans-serif}#stage{position:fixed;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}#loading{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#263a31;font:25px Georgia}#loading[hidden]{display:none}header{position:fixed;top:30px;left:3.5%;right:3.5%;display:flex;align-items:start;justify-content:space-between;z-index:5;pointer-events:none}.brand{font:32px Georgia;letter-spacing:-1px;color:inherit;text-decoration:none;text-shadow:0 1px 20px #0008;pointer-events:auto}.brand span{font:7px Arial;display:block;letter-spacing:2.5px;margin-top:10px}button{font-family:inherit;cursor:pointer}#concepts-toggle{pointer-events:auto;border:1px solid #d4d7bd55;background:#18352dcc;color:#eee5d5;padding:14px 20px;font-size:12px;backdrop-filter:blur(12px)}#concepts-toggle b{font-size:9px;margin-left:20px;font-weight:normal;opacity:.6}.heading{position:fixed;left:3.5%;top:155px;max-width:260px;text-shadow:0 2px 25px #102018;pointer-events:none}.heading small{font-size:8px;letter-spacing:2px}.heading h1{font:normal clamp(31px,3.5vw,53px)/1.05 Georgia;letter-spacing:-1px;margin:15px 0}.heading p{font-size:11px;line-height:1.8;max-width:220px;opacity:.85}#quality{position:fixed;right:3.5%;top:95px;max-width:270px;font-size:8px;line-height:1.6;opacity:.7;text-align:right;text-shadow:0 1px 5px #000}#look{position:fixed;left:3.5%;bottom:155px;display:flex;gap:5px}#look button{font-size:9px;padding:10px 13px;color:#f3ead8;border:1px solid #c5ccb344;background:#163329aa;backdrop-filter:blur(10px)}footer{position:fixed;bottom:0;left:0;right:0;padding:25px 3.5% 19px;background:linear-gradient(transparent,#122921dd);z-index:4}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:750px}.products button{text-align:left;color:#f5edda;background:none;border:0;border-top:1px solid #d7dcc088;padding:12px 0;font:19px Georgia}.products small{display:block;font:7px Arial;letter-spacing:1.7px;margin-bottom:7px;opacity:.65}.products span{font:12px Arial;float:right;opacity:.7}.products button:hover{border-color:#fff;color:#fff}.controls{display:flex;align-items:center;gap:15px;margin-top:8px;justify-content:space-between}.controls>span{font-size:8px;letter-spacing:.5px;opacity:.65}.move{display:flex;gap:4px;margin-left:auto}.move button{width:30px;height:28px;border:1px solid #c7d4b544;background:#17342b88;color:#e9e5d6}#action{padding:11px 18px;font-size:11px;background:#ded7be;color:#23392d;border:0;min-width:140px}#concepts{position:fixed;inset:0;z-index:20;padding:8vh 9vw;background:#102a25f5;backdrop-filter:blur(20px);overflow:auto}#concepts[hidden]{display:none}#concepts>small{letter-spacing:3px;font-size:9px;opacity:.6}nav{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 55px;margin-top:35px;max-width:1200px}nav button{text-align:left;color:#e9e3ce;background:none;border:0;border-bottom:1px solid #8caa8d55;padding:18px 0;font:25px Georgia;display:flex;align-items:center;gap:17px}nav button span{font:9px Arial;opacity:.5}nav button i{font:7px Arial;letter-spacing:1.5px;opacity:.6;margin-left:auto}nav button.active{color:#d8c08b}.close-concepts{position:absolute;top:30px;right:4%;border:0;background:none;color:inherit;font-size:30px}dialog{padding:40px;border:1px solid #7a886755;background:#ded7c6;color:#253b31;width:440px;max-width:90vw;box-shadow:0 30px 100px #071e2299}dialog::backdrop{background:#0b211bcc;backdrop-filter:blur(9px)}dialog>small{font-size:8px;letter-spacing:1px}dialog h2{font:40px Georgia;margin:22px 0 15px}dialog p{font-size:13px;line-height:1.8}dialog a{display:block;background:#284737;color:#f4edda;padding:16px;text-decoration:none;font-size:12px;margin-top:25px}#inspect{display:block;width:100%;border:1px solid #53674466;background:transparent;color:#253b31;margin:8px 0;padding:12px}dialog .private{font-size:8px;opacity:.6;display:block;margin-top:15px}#close-product{position:absolute;right:15px;top:10px;border:0;background:none;font-size:27px;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #d5bb7b;outline-offset:5px}body.focus .heading,body.focus footer,body.focus header{opacity:0;pointer-events:none}body.focus #look{bottom:30px}body.focus #look button:not(#focus){display:none}body.focus #quality{top:30px}header,footer,.heading{transition:opacity .2s}@media(max-width:700px){header{top:22px;left:6%;right:6%}.brand{font-size:24px}.brand span{font-size:5px;letter-spacing:1.4px}#concepts-toggle{padding:10px;font-size:9px}#concepts-toggle b{display:block;margin:7px 0 0;font-size:7px}.heading{top:112px;left:6%;max-width:65%}.heading h1{font-size:31px;margin:9px 0}.heading p{display:none}.heading small{font-size:6px}#quality{top:84px;right:6%;font-size:6px;max-width:180px}#look{left:6%;bottom:168px;gap:4px}#look button{font-size:8px;padding:8px}footer{padding:23px 6% 18px}.products{gap:12px}.products button{font-size:13px;line-height:1.3}.products small{font-size:5px;letter-spacing:.7px}.products span{display:none}.controls{gap:5px;flex-wrap:wrap}.controls>span{display:none}.move{margin:0}.move button{width:31px;height:34px}#action{font-size:9px;min-width:0;padding:11px;margin-left:auto}nav{display:block;margin-top:22px}nav button{font-size:24px;width:100%;padding:17px 0}#concepts{padding:75px 8% 35px}.close-concepts{top:20px}dialog{padding:30px}dialog h2{font-size:33px}}

.edition{font-size:8px;letter-spacing:2px;opacity:.6}.heading{top:125px}.heading h1{font-size:40px}.heading p{font-size:10px}#look{bottom:140px}.move{display:none}.walking .move{display:flex}.products button.active{color:#e2c08c;border-color:#e2c08c}.controls{height:28px}#detail{position:fixed;right:3.5%;bottom:155px;padding:18px 22px;background:#e5dcc8ec;color:#273a2d;max-width:280px;box-shadow:0 12px 45px #10221755}#detail[hidden]{display:none}#detail small{font-size:8px;letter-spacing:1px}#detail h2{font:26px Georgia;margin:9px 0 15px}#detail a{color:inherit;text-decoration:none;border-bottom:1px solid #45543c;padding-bottom:4px;font-size:12px}#info{margin-left:30px;border:1px solid #6a7156;border-radius:50%;background:none;color:inherit;width:23px;height:23px}body.focus #detail{display:none}body.focus #look button:not(#focus){display:none}@media(max-width:700px){.edition{display:none}.heading{top:94px}.heading h1{font-size:24px;margin:6px 0}.heading small{font-size:6px}#quality{top:65px;font-size:6px}#look{bottom:134px;left:5%;right:5%;justify-content:center}#look button{padding:9px 8px;font-size:8px}#detail{bottom:182px;right:5%;padding:12px 15px;max-width:210px}#detail h2{font-size:20px;margin:6px 0 10px}#detail a{font-size:10px}footer{padding-bottom:12px}.products button{font-size:12px}.products small{font-size:5px;line-height:1.4}.controls{height:25px}.controls>span{display:block;font-size:6px;letter-spacing:0}.walking .controls>span{display:none}.walking .move{margin:auto}.brand{font-size:23px}}.brand{color:#314037;text-shadow:0 1px 8px #ffffff55}#quality{color:#314037;text-shadow:none}

#project-logo{display:block;width:115px;height:auto;margin-bottom:12px}#project-logo[hidden]{display:none}@media(max-width:700px){#project-logo{width:75px;margin-bottom:8px}}
.brand{display:block;width:225px;line-height:0;filter:drop-shadow(0 2px 8px #fff9)}.brand img{width:100%;height:auto}#language{pointer-events:auto;background:#e9e2d1;color:#293d31;border:1px solid #60736566;padding:8px;border-radius:3px}.products{grid-template-columns:repeat(3,1fr);gap:0 18px}.products [data-product]{grid-row:1}.mat-entry{grid-row:2;color:#f1deba;font:10px Arial;text-decoration:none;padding:5px 0 2px}.mat-entry:hover{text-decoration:underline}#quality{top:155px}@media(max-width:700px){.brand{width:155px}#quality{top:110px;max-width:160px}.mat-entry{font-size:8px}.products{gap:0 10px}#language{font-size:11px;padding:6px}}

/* Comfortable pointer targets without making the scene itself a button. */
button,select,a{touch-action:manipulation}
#look button,.move button,#language,#info,#close-product{min-width:44px;min-height:44px}
#look button{font-size:12px;padding:10px 12px}
#zoom-in,#zoom-out{font-size:20px!important;padding:8px!important}
.move button{width:44px;height:44px;font-size:18px}
#language{font-size:12px}
.products button{min-height:52px}
.mat-entry{display:flex;align-items:center;min-height:44px;font-size:12px}
#detail a{display:inline-flex;align-items:center;min-height:44px}
#info{margin-left:10px;font-size:16px}
.controls{height:auto;min-height:28px}
footer{padding-bottom:max(12px,env(safe-area-inset-bottom,0px))}
#look{z-index:6;bottom:168px}
#detail{z-index:7;bottom:224px}
#quality{pointer-events:none}
@media(max-width:700px){
 header{top:max(12px,env(safe-area-inset-top,0px));left:16px;right:16px}
 footer{padding:14px 16px max(12px,env(safe-area-inset-bottom,0px))}
 .products{gap:0 10px}.products button{font-size:13px}.products small{font-size:8px;letter-spacing:.3px}
 .mat-entry{font-size:11px;line-height:1.3}.controls{min-height:44px}.controls>span{font-size:9px;line-height:1.4}
 #look{left:16px;right:16px;bottom:calc(190px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:minmax(0,1fr) 44px 44px minmax(0,1fr) minmax(0,1.2fr);gap:6px}
 #look button{padding:6px;font-size:11px;line-height:1.2;overflow-wrap:anywhere}
 #walk,#focus{grid-column:auto}
 #detail{right:16px;bottom:calc(244px + env(safe-area-inset-bottom,0px));max-width:230px;padding:12px 15px}
 #detail a{font-size:12px}#detail small{font-size:10px}#info{width:44px;height:44px}
 #quality{top:116px;right:16px;max-width:170px;font-size:9px}
 body.focus #look{display:flex;justify-content:center;bottom:max(16px,env(safe-area-inset-bottom,0px))}
}
@media(max-height:540px) and (orientation:landscape){
 header{top:12px}.brand{width:135px}#quality{top:65px;font-size:8px;max-width:150px}
 footer{left:16px;right:16px;padding:10px 0 8px}.products{max-width:56%;gap:0 10px}.products button{font-size:14px;min-height:44px;padding:6px 0}.products small{font-size:7px}.mat-entry{font-size:11px}
 .controls{position:absolute;right:0;bottom:12px}.controls>span{display:none}
 #look{display:flex;left:auto;right:16px;bottom:72px;max-width:40%;flex-wrap:wrap;justify-content:flex-end;gap:6px}
 #look button{font-size:11px;padding:8px}#detail{left:16px;right:auto;bottom:auto;top:86px;padding:10px 14px;max-width:min(230px,44vw);max-height:calc(100dvh - 192px);overflow:auto}
 #project-logo{display:none}#detail h2{font-size:22px;margin:5px 0}body.focus #look{bottom:16px}
}
