html,body{height:100%;margin:0;padding:0}*{box-sizing:border-box}:root{--vh:1vh}.page{grid-template-columns:2fr 1fr;height:100dvh;display:grid}.mapWrap{height:100%;position:relative}.mapInner{position:absolute;top:0;bottom:0;left:0;right:0}.listWrap{overflow-y:auto}@media (max-width:768px){.page{height:calc(var(--vh)*100);display:block;position:relative}.mapWrap{height:calc(var(--vh)*100)}.listWrap{visibility:hidden;pointer-events:none;z-index:55;will-change:transform;background:#fff;width:100%;max-width:none;height:100%;padding:0;transition:transform .25s,visibility 0s linear .25s;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-6px 0 16px rgba(0,0,0,.08)}.page[data-list=open] .listWrap{visibility:visible;pointer-events:auto;transition:transform .25s;transform:translate(0%)}.mobileToggle{z-index:60;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;font-size:14px;transition:background .2s;position:fixed;bottom:12px;right:12px;box-shadow:0 4px 12px rgba(0,0,0,.06)}.mobileToggle:active{background:#f3f4f6}.listHeader,.listBody{padding-left:0!important;padding-right:0!important}.listWrap article{border-left:none;border-right:none;border-radius:0}}@media (min-width:769px){.mobileToggle{display:none}.listWrap{border-left:1px solid #eee}.listHeader,.listBody{padding:12px}}.emailGate-overlay{z-index:1000;background:rgba(0,0,0,.45);place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.emailGate-modal{background:#fff;border-radius:16px;width:min(520px,92vw);padding:22px;box-shadow:0 12px 40px rgba(0,0,0,.18)}.emailGate-title{margin:0 0 6px;font-size:20px;font-weight:700}.emailGate-desc{color:#555;margin:0 0 16px;font-size:14px;line-height:1.5}.emailGate-form{grid-template-columns:1fr auto;gap:10px;display:grid}.emailGate-form-code{flex-direction:column;gap:10px;display:flex}.emailGate-input{border:1px solid #e5e7eb;border-radius:10px;width:100%;padding:12px 14px;font-size:14px}.emailGate-submit{color:#fff;cursor:pointer;background:#111827;border:1px solid #111827;border-radius:10px;padding:12px 16px;font-weight:600}.emailGate-submit:disabled{opacity:.7;cursor:default}.emailGate-err{color:#b91c1c;margin-top:10px;font-size:13px}.emailGate-note{color:#6b7280;margin-top:10px;font-size:12px}.emailGate-back{color:#2563eb;cursor:pointer;background:0 0;border:none;margin-top:10px;font-size:13px;text-decoration:underline}
