.locations{position:relative;isolation:isolate;overflow:hidden;background:#fff7e8;scroll-margin-top:16px}
.locations.is-near{background:url('./assets/optimized/locations-background-1280.webp') center/cover no-repeat}
.locations__inner{position:relative;max-width:1700px;margin:auto;min-height:780px;display:grid;grid-template-columns:38% 62%;padding:48px 3.5% 64px}
.locations__copy{position:relative;z-index:3;align-self:start}
.locations__logo{width:75%;max-width:330px;height:auto;display:block;margin-bottom:62px;mix-blend-mode:multiply}
.locations h2{font-family:'Bystander Serif',Georgia,serif;font-size:clamp(48px,5.7vw,94px);font-weight:700;line-height:.97;letter-spacing:-.035em;text-transform:uppercase;color:var(--red);margin:0}
.locations__lead{font-size:clamp(16px,1.55vw,24px);line-height:1.4;font-weight:650;margin:22px 0 24px}
.locations__choices{display:flex;gap:12px;margin-bottom:26px}
.locations__choices button{flex:1;min-height:56px;border:2px solid white;border-radius:40px;padding:12px 16px;background:#fff8ecdf;color:var(--red-dark);font:700 clamp(16px,1.4vw,22px)/1.2 system-ui;cursor:pointer}
.locations__choices button[aria-pressed=true]{background:linear-gradient(#ff4835,#ec231b);color:white;border-color:transparent;box-shadow:0 9px 24px #e9432020}
.locations__choices button{display:flex;align-items:center;justify-content:center;gap:8px}
.locations__button-pin{display:block;flex:0 0 36px;width:36px;height:36px;object-fit:contain;background:#fff7e8;border-radius:50%;filter:drop-shadow(0 2px 3px #65181425)}
.locations__route{width:100%;max-width:480px;gap:20px;text-transform:none;font-size:clamp(20px,2vw,30px);height:72px}
.locations__status{font-weight:750;font-size:15px;margin:18px 0 4px}
.locations__note{font-size:13px;max-width:380px;line-height:1.5;margin:0}
.locations__signature{font:italic 700 26px/1.05 Georgia,serif;transform:rotate(-7deg);margin:34px 0 0 18px;display:inline-block}
.locations__scene{position:relative;align-self:stretch;min-width:0;min-height:660px;pointer-events:none}
.locations__scene img{position:absolute;object-fit:contain;height:auto}
.locations__building{width:96%;left:-3%;bottom:3%;filter:drop-shadow(0 16px 12px #88301024);transition:opacity .2s}
.locations__building.is-photo{width:54%;height:77%;object-fit:cover;left:15%;bottom:6%;border:8px solid #fff7e8;border-radius:22px;transform:rotate(-3deg)}
.locations__mascot{width:42%;right:-4%;bottom:-1%;z-index:2;filter:drop-shadow(0 13px 8px #773b2726)}
.locations__pin{width:23%;left:51%;top:-2%;z-index:1}
.locations__heart{width:12%;right:0;top:13%}
.locations__heart--floor{width:12%;left:-9%;top:auto;bottom:-5%;transform:rotate(-18deg)}
.locations__sparkle{width:9%;top:4%;left:43%}
.locations__sparkle--two{left:74%;top:6%;width:8%}
.locations__ribbon{position:absolute;left:0;top:0;width:85%;height:45%}
.locations__float{animation:location-float 4.5s ease-in-out infinite;animation-play-state:paused}
.locations.is-visible .locations__float{animation-play-state:running}
.locations__heart.locations__float{animation-delay:-1.6s}
.locations__choices button:focus-visible,.locations__route:focus-visible{outline:3px solid #651814;outline-offset:5px}
@keyframes location-float{50%{transform:translateY(-9px) rotate(3deg)}}
@media(min-width:1500px){.locations__inner{min-height:940px}.locations__scene{min-height:780px}}
@media(max-width:1000px){.locations__inner{padding:38px 5% 35px;grid-template-columns:1fr;min-height:0}.locations__copy{max-width:650px;width:100%;margin:auto;text-align:center}.locations__logo{width:245px;margin:0 auto 30px}.locations h2{font-size:clamp(48px,8.8vw,80px)}.locations__lead{font-size:19px}.locations__choices{max-width:460px;margin:24px auto}.locations__note{margin:auto}.locations__signature{display:none}.locations__scene{width:100%;max-width:850px;margin:15px auto 0;min-height:0;aspect-ratio:1.24}.locations__building{bottom:5%;width:94%;left:0}.locations__mascot{right:-1%;width:39%;bottom:0}.locations__pin{top:0;width:21%}.locations__heart--floor{left:1%;bottom:0}.locations__building.is-photo{height:78%;width:53%}}
@media(max-width:480px){.locations__inner{padding:30px 20px 24px}.locations__logo{width:210px;margin-bottom:24px}.locations h2{font-size:clamp(40px,10.8vw,52px)}.locations__lead{font-size:16px;margin:18px 0}.locations__choices{gap:10px;margin:20px 0}.locations__choices button{padding:12px 8px}.locations__route{height:60px;font-size:22px}.locations__note{font-size:12px}.locations__scene{width:calc(100% + 24px);margin-left:-12px;margin-top:24px;aspect-ratio:1.08}.locations__building{bottom:8%}.locations__mascot{width:43%;bottom:2%;right:-1%}.locations__pin{top:3%;left:50%;width:24%}.locations__sparkle{top:7%}.locations__sparkle--two{top:9%}}
@media(prefers-reduced-motion:reduce){.locations__float{animation:none}.locations__building{transition:none}}

@media(max-width:600px){.locations.is-near{background:url('./assets/optimized/locations-background-640.webp') center / cover no-repeat}}
