*{box-sizing:border-box}body{margin:0;background:#f5f5f3;color:#191c1c;font-family:Arial,Helvetica,sans-serif}button{font:inherit;cursor:pointer}button:focus-visible,[role=button]:focus-visible{outline:3px solid #ffb52c;outline-offset:4px}main{max-width:1800px;margin:auto;padding:0 40px}header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8dad6}.brand{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:700;letter-spacing:1.3px}.brandmark{background:#e4071b;color:white;font-size:32px;width:40px;height:40px;text-align:center;border-radius:4px}.divider{color:#aaa;font-weight:400}.topbutton{border:0;background:none;font-size:14px;padding:12px}.heading{display:flex;align-items:center;justify-content:space-between;padding:28px 0 24px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:#787d78;margin:0 0 8px}h1{font-size:clamp(40px,5vw,72px);letter-spacing:-3px;line-height:1;margin:0;font-weight:800}h1 span{color:#e4071b}.intro{font-size:16px;line-height:1.5;color:#6b716b;margin:0}.viewer{position:relative;overflow:hidden;background:#25352b;isolation:isolate;border-radius:5px;aspect-ratio:1048/618;max-height:70vh}.scene{position:absolute;inset:0;transition:transform .4s;transform-origin:center}.scene img{width:100%;height:100%;object-fit:fill;display:block}.scene svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.zone{fill:#ffcf6410;stroke:transparent;stroke-width:2;cursor:pointer;transition:fill .2s,stroke .2s}.zone:hover,.zone.active,.zone:focus{fill:#f8c65950;stroke:#ffe3a0;filter:drop-shadow(0 0 5px #edc36b)}.viewtag{position:absolute;top:20px;left:20px;background:#14231bce;color:#fff;padding:12px 16px;font-size:12px;letter-spacing:1.3px;pointer-events:none}.viewcontrols{position:absolute;right:20px;bottom:20px;display:flex;gap:6px}.viewcontrols button{background:white;color:#151c16;border:0;height:46px;min-width:46px;font-size:22px;border-radius:3px}.viewcontrols #rotate{padding:0 18px}.viewcontrols span{font-size:14px;margin-left:5px}.hint{position:absolute;bottom:20px;left:20px;background:#17251adb;color:#fff;padding:14px 16px;font-size:14px;max-width:55%}.houses{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:16px}.house{background:#fff;border:1px solid #dedfdc;padding:18px;text-align:left;border-radius:4px;transition:.2s;display:flex;flex-direction:column;gap:10px}.house:hover,.house.active{border-color:#e4071b;background:#fff8f8}.house small{font-size:12px;letter-spacing:1px;color:#818780}.house strong{font-size:19px}.house .arrow{float:right;color:#e4071b}footer{display:flex;justify-content:space-between;color:#898d87;font-size:12px;padding:24px 0}aside{position:absolute;top:20px;right:20px;width:300px;padding:26px;background:#fff;border-radius:5px;box-shadow:0 8px 40px #0003}aside[hidden]{display:none}aside h2{font-size:32px;margin:18px 0 10px}aside p{font-size:15px;line-height:1.5;color:#697068}#close{position:absolute;right:10px;top:6px;border:0;background:none;font-size:28px}.detailnote{font-size:14px;line-height:1.5;border-top:1px solid #ddd;margin-top:22px;padding-top:18px;color:#73776f}#detailBack{margin-top:20px;background:#e4071b;color:#fff;border:0;padding:13px 16px;width:100%;font-size:14px;border-radius:3px}@media(max-width:700px){main{padding:0 16px}header{height:68px}.brand{font-size:11px;gap:8px}.brandmark{width:30px;height:32px;font-size:24px}.divider{display:none}.topbutton{font-size:12px;padding:4px}.heading{padding:24px 0 20px}.intro{font-size:12px}.eyebrow{font-size:10px;letter-spacing:1px}h1{letter-spacing:-2px}.viewer{aspect-ratio:1/1;max-height:none}.scene{width:169.58%;left:-35%;right:auto}.viewtag{left:12px;top:12px;font-size:10px;padding:9px}.hint{display:none}.viewcontrols{bottom:12px;right:12px}.viewcontrols button{height:42px;min-width:42px}.houses{grid-template-columns:repeat(3,1fr);gap:8px}.house{padding:12px;gap:8px}.house strong{font-size:16px}.house small{font-size:10px}aside{top:62px;right:12px;left:12px;width:auto;padding:20px}footer{gap:20px;font-size:10px;line-height:1.5}footer span:last-child{text-align:right}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
