:root{--navy:#011d2c;--bg-grad:linear-gradient(180deg, #021e2e 0%, #042637 50%, #011c2b 100%);--orange:#ff4a0e;--orange-bright:#ff6b1a;--white:#fff;--ink:#e9f0fb;--muted:#e9f0fbb8;--font-display:"Anton", sans-serif;--font-cond:"Barlow Condensed", "Anton", sans-serif;--font-ui:"Inter", system-ui, -apple-system, sans-serif;--panel-w:min(440px, 40vw);--ease:cubic-bezier(.22, .61, .36, 1);--tune-menu-title-scale:1.35;--tune-menu-title-lh:.6;--tune-menu-title-gap:16px;--tune-menu-link-scale:1;--tune-menu-link-lh:.9;--tune-menu-nav-gap:0px;--tune-pop-window:3;--tune-pop-dur:.5;--tune-intro-out:7;--tune-intro-hold:1;--tune-intro-back:12}@font-face{font-family:Summer Loving;src:url(./SummerLoving-Regular-BjIF3iRK.woff2)format("woff2");font-display:swap}*{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--navy);touch-action:manipulation}body{background:var(--navy);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;min-height:100svh;overflow-x:hidden}.stage{opacity:0;transition:transform .5s var(--ease), opacity .25s ease}.stage.ready{opacity:1}body.panel-open .stage{transform:translateX(calc(var(--panel-w) / -2))}.map-frame{aspect-ratio:6902/7568;width:100%;max-width:1600px;margin:0 auto;position:relative;overflow:hidden}.map{aspect-ratio:6902/8268;width:100%;position:absolute;top:0;left:0;transform:translateY(-8.466%)}.map picture{display:block;position:absolute;inset:0}.map img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;width:100%;height:100%;display:block}@media (min-width:701px) and (orientation:portrait),(min-width:701px) and (min-height:501px){.map-frame{aspect-ratio:5522/7568}.map{width:124.991%;transform:translate(-11.9965%,-8.466%)}}.map .overlay{object-fit:initial;pointer-events:none;z-index:3;height:auto;position:absolute;transform:translate(-50%,-50%)}.map .overlay,.map .hotspots{opacity:0;transition:opacity .4s}.map.art-ready .overlay,.map.art-ready .hotspots{opacity:1}.hotspots.gsap-pop .hotspot{animation:none}.overlay-camp{animation:4.2s ease-in-out infinite camp-pulse}@keyframes camp-pulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.08)}}.overlay-sun{animation:18s linear infinite sun-spin}@keyframes sun-spin{to{transform:translate(-50%,-50%)rotate(360deg)}}@media (prefers-reduced-motion:reduce){.map .overlay{animation:none}}.stage.resizing .overlay{animation:none}.hotspots{z-index:5;position:absolute;inset:0}.hotspot{aspect-ratio:114/155;cursor:pointer;-webkit-tap-highlight-color:transparent;background:url(./pin-UNal-Ees.png) 50%/contain no-repeat;border:0;width:1.25%;padding:0;animation:2.6s ease-in-out infinite breathe;position:absolute;translate:-50% -50%}.hotspot:after{content:"";position:absolute;inset:-14px}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}@keyframes breathe-dot{0%,to{transform:scale(1)}50%{transform:scale(2)}}.hotspot:hover,.hotspot:focus-visible{animation:none;transform:scale(1.2)}.hotspot:focus-visible{outline:none}.hotspot.active{animation:none;transform:scale(1.3)}.hotspot.dot{aspect-ratio:1;background-image:url(./dot-DYML9CMF.png);width:.7%;animation-name:breathe-dot}.hotspot-hit{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;position:absolute;translate:-50% -50%}.panel{z-index:60;height:100svh;width:var(--panel-w);background:var(--bg-grad);transition:transform .5s var(--ease);overscroll-behavior:contain;border-left:1px solid #ffffff1a;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-20px 0 60px #00000073}body.panel-open .panel{transform:translate(0)}body.panel-open .panel.swapping{transform:translate(100%)}.panel-inner{padding:64px clamp(24px, 3vw, 40px) calc(env(safe-area-inset-bottom,0px) + 40px)}.panel-body{font-family:"Summer Loving", var(--font-cond), cursive;color:var(--white);font-size:clamp(35px,4.6vw,40px);line-height:.8}.panel-title{font-family:"Summer Loving", var(--font-cond), cursive;color:var(--white);margin:0 0 18px;font-size:clamp(40px,7vw,52px);font-weight:400;line-height:.9}.panel:not(.faq) .panel-body p{font-family:"Montserrat", var(--font-ui);color:var(--ink);margin:0 0 13px;font-size:15.5px;line-height:1.6}.panel:not(.faq) .panel-body p:last-of-type{margin-bottom:0}.panel-link{font-family:var(--font-ui);color:var(--orange-bright);border-bottom:1px solid;margin-top:20px;padding-bottom:2px;font-size:15px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-block}.panel-link:before{content:"→ "}.panel-link:hover{opacity:.75}.panel-close{z-index:2;width:44px;height:44px;color:var(--white);cursor:pointer;background:#ffffff14;border:0;border-radius:50%;place-items:center;font-size:26px;line-height:1;transition:background .15s;display:grid;position:absolute;top:14px;right:14px}.panel-close:hover{background:#ffffff2e}body.mode-switching .panel{transition:none}.panel.faq{overflow:hidden}.panel.faq .panel-inner{overscroll-behavior:contain;height:100%;overflow-y:auto}.panel.faq .panel-body{font-family:var(--font-ui);color:var(--muted);font-size:15px;line-height:1.6}.faq-title{font-family:"Summer Loving", var(--font-cond), cursive;color:var(--orange);margin:0 0 20px;font-size:clamp(52px,9vw,66px);font-weight:400;line-height:.85}.faq-section-title{font-family:"Summer Loving", var(--font-cond), cursive;color:var(--white);border-top:1px solid #ffffff24;margin:36px 0 16px;padding-top:22px;font-size:clamp(38px,7vw,47px);font-weight:400;line-height:.9}.faq-item{margin:0 0 22px}.faq-q{font-family:"Summer Loving", var(--font-cond), cursive;color:var(--white);margin:0 0 8px;font-size:clamp(31px,5.6vw,37px);font-weight:400;line-height:1.05}.faq-a{font-family:"Montserrat", var(--font-ui);color:var(--muted);font-size:15px;line-height:1.6}.faq-a p{margin:0 0 9px}.faq-a p:last-child{margin-bottom:0}.faq-a ul{margin:7px 0 9px;padding-left:1.15em}.faq-a li{margin:3px 0}.faq-a a,.faq-contact a{color:var(--orange-bright);border-bottom:1px solid #ff6b1a73;text-decoration:none}.faq-contact{font-family:"Montserrat", var(--font-ui);color:var(--muted);margin-top:34px;font-size:15px;line-height:1.6}.faq-contact p{margin:0 0 9px}.faq-contact-lines{line-height:1.9}.faq-signoff{font-family:"Summer Loving", var(--font-cond), cursive;color:var(--orange);margin-top:20px;font-size:27px;line-height:.95}.menu-title{font-family:"Summer Loving", var(--font-cond), cursive;color:var(--white);font-size:calc(clamp(44px, 8vw, 58px) * var(--tune-menu-title-scale));line-height:var(--tune-menu-title-lh);margin:0 0 var(--tune-menu-title-gap);font-weight:400}.menu-nav{align-items:flex-start;gap:var(--tune-menu-nav-gap);flex-direction:column;display:flex}.menu-link{font-family:"Summer Loving", var(--font-cond), cursive;color:var(--orange-bright);font-size:calc(clamp(40px, 7vw, 52px) * var(--tune-menu-link-scale));line-height:var(--tune-menu-link-lh);font-weight:400;text-decoration:none;transition:opacity .15s}.menu-link:hover,.menu-link:focus-visible{opacity:.72;outline:none}@media (max-width:700px) and (orientation:portrait),(orientation:landscape) and (max-height:500px){.stage{overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-x pan-y;width:100vw;height:100svh;min-height:0;padding:0;display:block;overflow:auto}.stage::-webkit-scrollbar{display:none}body.panel-open .stage{transform:none}.map-frame{max-width:none;margin:0}.stage.pinching .hotspot,.stage.pinching .overlay{animation:none}.map{border-radius:0;width:100%}.panel{border-top:1px solid #ffffff1f;border-left:0;border-radius:22px 22px 0 0;width:auto;height:auto;max-height:82svh;inset:auto 0 0;transform:translateY(100%);box-shadow:0 -20px 60px #00000080}body.panel-open .panel{transform:translateY(0)}body.panel-open .panel.swapping{transform:translateY(100%)}.panel-inner{padding-top:64px}.panel:before{content:"";background:#ffffff47;border-radius:3px;width:44px;height:5px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.panel.menu{min-height:50svh}.panel.faq{border-top:0;border-radius:0;height:100svh;max-height:none;top:0}.panel.faq:before{display:none}}@media (max-width:700px) and (orientation:portrait){.map-frame{width:calc(235.5vw * var(--map-zoom,1))}.stage.intro{overflow:hidden}}@media (orientation:landscape) and (max-height:500px){.map-frame{width:calc(235.5svh * var(--map-zoom,1))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation:none!important}}
