#vf-shell{position:fixed;inset:0;z-index:50;pointer-events:none;font-family:Arial,sans-serif;color:#4c2614}#vf-shell *{box-sizing:border-box}#vf-shell button,#vf-shell a{cursor:pointer;font:inherit}#vf-shell .vf-control{pointer-events:auto}#vf-menu{position:absolute;left:16px;top:16px;bottom:16px;width:265px;background:#faebd9f5;border:1px solid #e5d5c2;border-radius:23px;padding:19px;box-shadow:0 12px 45px #241c1540;display:flex;flex-direction:column;gap:9px;transition:transform .32s ease,opacity .32s ease}#vf-menu.closed{transform:translateX(-115%);opacity:0;pointer-events:none}#vf-logo{width:110px;height:110px;object-fit:cover;border-radius:100%;display:block;margin:0 auto 7px}#vf-menu h2{text-align:center;font-size:17px;margin:0 0 8px;letter-spacing:.08em}#vf-menu a,#vf-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 13px;background:#fff8ed;border:1px solid #e7d8c5;border-radius:12px;color:#4c2614;text-decoration:none;text-align:left;font-size:13px}#vf-menu a:hover,#vf-menu button:hover{background:#e4e9df}#vf-menu .vf-note{font-size:11px;line-height:1.5;margin-top:auto;color:#625e51}#vf-toggle{position:absolute;top:23px;left:296px;border:0;border-radius:14px;background:#77806a;color:white;padding:12px 15px;box-shadow:0 3px 15px #0004;transition:left .32s ease}#vf-shell.menu-closed #vf-toggle{left:22px}#vf-whats{position:absolute;right:22px;bottom:25px;background:#77806a;color:white;border:2px solid #fff;border-radius:40px;padding:14px 20px;font-weight:bold;box-shadow:0 5px 25px #0005}#vf-start{position:absolute;inset:0;background:linear-gradient(135deg,#faebd9f5,#e5e8dbea);display:flex;align-items:center;justify-content:center;pointer-events:auto;transition:opacity .5s}#vf-start.hidden{opacity:0;pointer-events:none}#vf-welcome{max-width:390px;text-align:center;padding:30px}#vf-welcome img{width:210px;height:210px;object-fit:cover;border-radius:100%}#vf-welcome h1{font-size:24px;letter-spacing:.08em}#vf-welcome p{line-height:1.6}#vf-enter{background:#77806a;color:white;border:0;border-radius:30px;padding:16px 36px;font-weight:bold}#vf-dialog{position:absolute;inset:0;background:#1a1a1a77;display:none;align-items:center;justify-content:center;pointer-events:auto}#vf-dialog.visible{display:flex}#vf-panel{background:#faebd9;border-radius:20px;padding:26px;max-width:380px;margin:18px;line-height:1.6;box-shadow:0 10px 45px #0004}#vf-panel button{background:#77806a;border:0;border-radius:10px;padding:11px 20px;color:white}@media(max-width:700px){#vf-menu{left:8px;top:8px;bottom:8px;width:min(82vw,320px);padding:13px;overflow:auto}#vf-logo{width:85px;height:85px}#vf-toggle{top:15px;left:calc(min(82vw,320px) + 18px)}#vf-shell.menu-closed #vf-toggle{left:14px}#vf-whats{right:12px;bottom:14px;padding:12px 15px;font-size:13px}#vf-welcome img{width:170px;height:170px}}

/* V8: unified mobile layout. Scale compensation is applied to the shell only by JS.
   3DVista script.js modifies metaViewport initial-scale to 0.5 on iOS. */
#vf-header-logo{position:absolute;right:20px;top:18px;width:76px;height:76px;object-fit:contain;border-radius:50%;pointer-events:none;filter:drop-shadow(0 2px 5px #0003)}
#vf-toggle{display:flex;align-items:center;justify-content:center;gap:9px;z-index:65;font-weight:700;white-space:nowrap}
#vf-toggle .vf-hamburger{font-size:24px;line-height:1}
#vf-toggle .vf-toggle-label{font-size:16px}
#vf-whats{display:flex;align-items:center;gap:8px;font-size:14px;min-height:44px}
#vf-whats svg{width:24px;height:24px;flex:none}
#vf-shell #vf-menu{z-index:60}
#vf-shell #vf-header-logo,#vf-shell #vf-whats{transition:opacity .28s ease,visibility .28s ease}
#vf-shell.vf-menu-open #vf-header-logo,#vf-shell.vf-menu-open #vf-whats{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
#vf-shell.vf-menu-open::before{content:"";position:absolute;inset:0;background:#1019143d;z-index:49;pointer-events:auto}
#vf-shell.vf-before-start #vf-toggle,#vf-shell.vf-before-start #vf-header-logo,#vf-shell.vf-before-start #vf-whats,#vf-shell.vf-before-start #vf-menu{visibility:hidden!important;pointer-events:none!important}
#vf-dialog{z-index:80}
#vf-shell.vf-mobile{transform-origin:0 0!important;right:auto!important;bottom:auto!important;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
#vf-shell.vf-mobile #vf-menu{left:0;top:0;bottom:0;width:min(82vw,350px);max-width:calc(100vw - 22px);border-radius:0 18px 18px 0;padding:84px 16px 22px;gap:10px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#faebd9f7}
#vf-shell.vf-mobile #vf-menu.closed{transform:translateX(-110%);opacity:0;pointer-events:none}
#vf-shell.vf-mobile #vf-logo{width:112px;height:112px;object-fit:contain;flex-shrink:0}
#vf-shell.vf-mobile #vf-menu h2{font-size:19px;line-height:1.3;flex-shrink:0;margin:0 0 12px}
#vf-shell.vf-mobile #vf-menu a,#vf-shell.vf-mobile #vf-menu button{font-size:17px;line-height:1.25;min-height:58px;padding:13px 12px;gap:9px;border-radius:12px;flex-shrink:0;font-weight:700;white-space:normal}
#vf-shell.vf-mobile #vf-menu .vf-note{font-size:12px;line-height:1.5;margin:12px 0 0;flex-shrink:0}
#vf-shell.vf-mobile #vf-toggle,#vf-shell.vf-mobile.menu-closed #vf-toggle{position:absolute;top:max(13px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));min-width:130px;min-height:54px;padding:11px 15px;border:2px solid #fff;border-radius:14px;z-index:65;background:#77806a;color:#fff;box-shadow:0 3px 12px #0004}
#vf-shell.vf-mobile #vf-toggle .vf-hamburger{font-size:24px}
#vf-shell.vf-mobile #vf-toggle .vf-toggle-label{font-size:18px}
#vf-shell.vf-mobile #vf-header-logo{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:96px;height:96px;object-fit:contain}
#vf-shell.vf-mobile #vf-whats{right:max(12px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));padding:10px 13px;font-size:13px;min-height:46px;max-width:175px;gap:7px}
#vf-shell.vf-mobile #vf-whats svg{width:23px;height:23px}
#vf-shell.vf-mobile #vf-whats span{font-size:13px}
#vf-shell.vf-mobile #vf-start{min-height:100%;}
@media(max-width:350px){#vf-shell.vf-mobile #vf-menu{width:88vw;padding-left:12px;padding-right:12px}#vf-shell.vf-mobile #vf-menu a,#vf-shell.vf-mobile #vf-menu button{font-size:16px}}
@media(prefers-reduced-motion:reduce){#vf-shell #vf-menu,#vf-shell #vf-header-logo,#vf-shell #vf-whats{transition:none!important}}
