*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-main:#1a2e1a;--color-main-dark:#0f1c0f;--color-cream:#f5f0e8;--color-white:#fff;--color-gold:#c4a96a;--font-serif:"Cormorant Garamond", "Georgia", serif;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}html,body{width:100%;height:100%;font-family:var(--font-sans);background:var(--color-main);color:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#root{width:100%;height:100%;overflow:hidden}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}a{color:inherit;text-decoration:none}.app{background:var(--color-main);width:100vw;height:100vh;position:relative;overflow:hidden}.hero-overlay{z-index:100;background:var(--color-main);justify-content:center;align-items:center;transition:opacity .8s,transform .8s;display:flex;position:fixed;inset:0}.hero-overlay.exiting{opacity:0;transform:scale(1.05)}.hero-content{text-align:center;animation:1s forwards fadeInUp}.hero-label{letter-spacing:6px;text-transform:uppercase;color:#fff9;font-size:12px;font-family:var(--font-sans);margin-bottom:24px}.hero-title{font-family:var(--font-serif);color:var(--color-cream);margin-bottom:40px;font-size:clamp(42px,7vw,90px);font-style:italic;font-weight:300;line-height:1.1}.hero-subtitle{color:#ffffff80;letter-spacing:.5px;margin-bottom:32px;font-size:14px}.hero-btn{background:var(--color-cream);min-width:180px;color:var(--color-main);letter-spacing:1px;cursor:pointer;font-size:14px;font-family:var(--font-sans);border:1px solid #ffffff4d;justify-content:center;align-items:center;padding:14px 40px;transition:all .3s;display:inline-flex}.hero-btn:hover{background:var(--color-white);border-color:var(--color-white)}.instruction-overlay{z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000004d;justify-content:center;align-items:center;transition:opacity .5s;animation:.5s fadeIn;display:flex;position:fixed;inset:0}.instruction-overlay.exiting{opacity:0}.instruction-card{background:var(--color-cream);color:var(--color-main);text-align:center;width:90%;max-width:400px;padding:50px 60px;animation:.4s scaleIn}.instruction-title{font-family:var(--font-serif);margin-bottom:12px;font-size:42px;font-style:italic;font-weight:300;line-height:1.2}.instruction-divider{justify-content:center;margin:8px 0;display:flex}.instruction-icon{opacity:.5;margin:12px 0}.instruction-text{letter-spacing:3px;text-transform:uppercase;color:#1a2e1a80;margin-bottom:28px;font-size:10px}.instruction-btn{min-width:160px;color:var(--color-main);letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #1a2e1a4d;justify-content:center;align-items:center;padding:12px 36px;font-size:13px;transition:all .3s;display:inline-flex}.instruction-btn:hover{background:var(--color-main);color:var(--color-cream)}.header{z-index:50;pointer-events:none;opacity:0;justify-content:space-between;align-items:center;padding:20px 24px;transition:opacity .6s .3s;display:flex;position:fixed;top:0;left:0;right:0}.header.visible{opacity:1}.header-menu{pointer-events:auto;color:var(--color-white);letter-spacing:1px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a2e1a66;border:1px solid #ffffff4d;align-items:center;gap:10px;padding:8px 12px;font-size:13px;transition:all .3s;display:flex}.header-menu:hover{background:#1a2e1a99;border-color:#fff9}.menu-icon{align-items:center;display:flex}.header-logo{color:var(--color-white);pointer-events:auto;flex-direction:column;align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.logo-text{font-family:var(--font-serif);letter-spacing:4px;margin-top:-4px;font-size:14px}.logo-subtext{letter-spacing:2px;opacity:.6;font-size:6px}.header-contact{color:var(--color-white);letter-spacing:.5px;pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a2e1a66;border:1px solid #ffffff4d;align-items:center;padding:10px 20px;font-size:13px;transition:all .3s;display:inline-flex}.header-contact:hover{background:#1a2e1a99;border-color:#fff9}.interactive-map{z-index:1;opacity:0;transition:opacity 1s;position:fixed;inset:0;overflow:hidden}.interactive-map.visible{opacity:1}.interactive-map canvas{display:block;width:100%!important;height:100%!important}.map-controls{z-index:30;flex-direction:column;gap:4px;display:flex;position:fixed;top:50%;left:24px;transform:translateY(-50%)}.zoom-btn{width:40px;height:40px;color:var(--color-main);background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:all .2s;display:flex;box-shadow:0 2px 10px #0003}.zoom-btn:hover{background:var(--color-white);box-shadow:0 4px 16px #0000004d}.bottom-toggle{z-index:30;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.toggle-pill{background:#fffffff2;border-radius:50px;padding:4px;display:flex;box-shadow:0 4px 24px #00000026}.toggle-btn{letter-spacing:.5px;color:var(--color-main);white-space:nowrap;border-radius:50px;padding:12px 32px;font-size:13px;font-weight:500;transition:all .3s}.toggle-btn.active{background:var(--color-main);color:var(--color-cream)}.toggle-btn:not(.active):hover{background:#1a2e1a14}.see-all-btn{z-index:30;width:48px;height:48px;color:var(--color-main);background:#fffffff2;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;bottom:28px;right:24px;box-shadow:0 4px 24px #00000026}.see-all-btn:hover{background:var(--color-white);transform:scale(1.05);box-shadow:0 6px 28px #0003}.sidebar{z-index:60;background:var(--color-cream);width:380px;max-width:90vw;color:var(--color-main);flex-direction:column;animation:.4s slideInRight;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-4px 0 30px #0003}.sidebar-header{border-bottom:1px solid #1a2e1a1a;justify-content:space-between;align-items:center;padding:24px 24px 16px;display:flex}.sidebar-header h3{font-family:var(--font-serif);font-size:24px;font-style:italic;font-weight:400}.sidebar-close{color:var(--color-main);opacity:.5;padding:4px 8px;font-size:24px;transition:opacity .2s}.sidebar-close:hover{opacity:1}.sidebar-list{flex:1;padding:8px 0;overflow-y:auto}.sidebar-item{text-align:left;border-bottom:1px solid #1a2e1a0f;flex-direction:column;gap:4px;width:100%;padding:16px 24px;transition:background .2s;display:flex}.sidebar-item:hover{background:#1a2e1a0a}.sidebar-item.active{background:#1a2e1a14}.sidebar-item-title{font-family:var(--font-serif);font-size:18px;font-weight:400}.sidebar-item-meta{opacity:.5;letter-spacing:.5px;font-size:12px}.pin-detail{z-index:40;background:var(--color-cream);color:var(--color-main);min-width:280px;max-width:400px;padding:24px 32px;animation:.3s fadeInUp;position:fixed;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 8px 40px #0003}.pin-detail-close{color:var(--color-main);opacity:.4;font-size:20px;transition:opacity .2s;position:absolute;top:12px;right:16px}.pin-detail-close:hover{opacity:1}.pin-detail-title{font-family:var(--font-serif);margin-bottom:8px;font-size:24px;font-style:italic;font-weight:400}.pin-detail-category{letter-spacing:2px;text-transform:uppercase;opacity:.5;margin-bottom:4px;font-size:11px}.pin-detail-info{opacity:.7;margin-bottom:4px;font-size:13px}.pin-detail-cta{letter-spacing:1px;color:var(--color-main);border:1px solid #1a2e1a4d;margin-top:16px;padding:10px 28px;font-size:12px;transition:all .3s}.pin-detail-cta:hover{background:var(--color-main);color:var(--color-cream)}.zoom-indicator{z-index:30;color:var(--color-white);flex-direction:column;align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex;position:fixed;bottom:28px;left:24px}.zoom-bar{background:#fff3;border-radius:1px;width:2px;height:40px;position:relative}.zoom-bar-fill{background:var(--color-white);border-radius:1px;width:100%;height:30%;position:absolute;bottom:0}.menu-overlay{z-index:80;background:#0f1c0ff7;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.menu-nav{flex-direction:column;align-items:center;gap:24px;display:flex}.menu-nav a{font-family:var(--font-serif);color:var(--color-cream);letter-spacing:1px;font-size:36px;font-style:italic;font-weight:300;transition:opacity .3s}.menu-nav a:hover{opacity:.6}.footer{background:var(--color-main-dark);padding:60px 40px}.footer-inner{max-width:1200px;margin:0 auto}.footer-nav{border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;flex-wrap:wrap;gap:32px;margin:32px 0;padding:24px 0;display:flex}.footer-nav a{opacity:.6;letter-spacing:.5px;font-size:13px;transition:opacity .2s}.footer-nav a:hover{opacity:1}.footer-copy{opacity:.4;margin-top:16px;font-size:11px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@media (width<=768px){.hero-title{font-size:42px}.header{padding:12px 16px}.header-contact span{display:none}.toggle-btn{padding:10px 24px;font-size:12px}.sidebar{width:100%;max-width:100vw}.pin-detail{min-width:auto;left:16px;right:16px;transform:none}.map-controls{left:16px}.see-all-btn{bottom:24px;right:16px}.bottom-toggle{bottom:24px}.zoom-indicator{bottom:24px;left:16px}.menu-nav a{font-size:28px}}
