.map{border-radius:12px;overflow:hidden;background:radial-gradient(120% 120% at 100% 0,rgba(115,102,255,.12) 0,rgba(238,237,255,.5) 45%,rgba(247,247,255,.9) 100%),#f7f6ff}.map,.map__inner{position:relative;min-height:320px}.map__inner{width:100%}.map__inner--fallback{background:linear-gradient(135deg,#f2f1ff,#ebe9ff)}.map__canvas{position:absolute;inset:0;width:100%;height:100%}.map__fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(140deg,#f0effd,#e5e3fb 45%,#f9f9ff)}.map__fallback--skeleton:after,.map__loading{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,0),rgba(255,255,255,.6) 45%,rgba(255,255,255,0) 70%);animation:map-loading 1.6s ease-in-out infinite}.map__placeholder{width:100%;height:100%;background:repeating-linear-gradient(135deg,rgba(165,160,255,.16),rgba(165,160,255,.16) 12px,transparent 0,transparent 24px)}.map__badge{position:absolute;inset-block-start:24px;inset-inline-start:24px;gap:12px;padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 18px 38px rgba(37,25,107,.12);backdrop-filter:blur(14px);max-width:min(340px,85%)}.map__badge,.map__badge-icon{display:inline-flex;align-items:center}.map__badge-icon{justify-content:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,rgba(74,48,211,.18),rgba(94,67,236,.24));color:#4a30d3}.map__badge-content{display:flex;flex-direction:column;gap:4px;text-align:right}.map__badge-title{font-size:14px;font-weight:600;color:#34324b}.map__badge-subtitle{font-size:12px;color:#726f87;line-height:1.4}.map__controls{position:absolute;inset-block-start:24px;inset-inline-end:24px;display:flex;flex-direction:column;gap:8px}.map__control-button{width:44px;height:44px;border-radius:14px;border:none;background:rgba(255,255,255,.95);color:#4a30d3;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 16px 32px rgba(74,48,211,.18);cursor:pointer;transition:transform .18s ease,box-shadow .2s ease,opacity .2s ease}.map__control-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 20px 44px rgba(74,48,211,.26)}.map__control-button:active:not(:disabled){transform:translateY(0);box-shadow:0 12px 24px rgba(74,48,211,.22)}.map__control-button:disabled{opacity:.45;cursor:default;box-shadow:none}.map__cta{position:absolute;inset-inline-left:24px;inset-block-end:24px;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:14px;background:linear-gradient(135deg,#4a30d3,#5d41f1);color:#ffffff;font-size:14px;font-weight:600;text-decoration:none;box-shadow:0 18px 32px rgba(74,48,211,.25);transition:transform .18s ease,box-shadow .2s ease,background .2s ease}.map__cta:hover{transform:translateY(-1px);background:linear-gradient(135deg,#3a23ab,#5135d4);box-shadow:0 22px 40px rgba(74,48,211,.32)}.map__cta:active{transform:translateY(0);box-shadow:0 14px 28px rgba(74,48,211,.28)}.map__notice{position:absolute;inset-inline-right:24px;inset-block-end:24px;max-width:min(280px,80%);padding:12px 16px;border-radius:14px;background:rgba(35,34,57,.92);color:#ffffff;font-size:12px;line-height:1.6;text-align:right;box-shadow:0 12px 24px rgba(15,18,46,.28)}@keyframes map-loading{0%{transform:translateX(-100%)}50%{transform:translateX(0)}to{transform:translateX(100%)}}.map-section{display:flex;padding:40px 24px;flex-direction:column;gap:24px;align-self:stretch;border-radius:16px;background:#FFF;box-shadow:0 8px 14px 0 rgba(15,42,81,.04);scroll-margin-top:128px}.map-section__header{display:flex;align-items:center;justify-content:space-between}.map-section__title{font-size:20px;font-weight:700;color:#3A3C48;line-height:30.5px}.map-section__body{display:flex;flex-direction:column;gap:24px;text-align:right}@media (max-width:768px){.map{border-radius:24px}.map,.map__inner{min-height:280px}.map__badge{inset-block-start:16px;inset-inline-left:16px;padding:10px 14px}.map__controls{inset-block-start:16px;inset-inline-right:16px}.map__cta{inset-inline-left:16px}.map__cta,.map__notice{inset-block-bottom:16px}.map__notice{inset-inline-right:16px}}@media (max-width:640px){.map{border-radius:20px}.map,.map__inner{min-height:240px}.map__badge{max-width:calc(100% - 32px)}.map__controls{flex-direction:row;inset-block-top:auto;inset-block-bottom:16px;inset-inline-right:16px}.map__cta{inset-inline-left:16px;inset-inline-right:auto}.map__notice{display:none}}[dir=ltr] .map__badge-content,[dir=ltr] .map__notice{text-align:left}