
  @font-face {
    font-family: 'Anton';
    src: local('Anton');
  }
  :root{
    --ink:#0A0A0B;
    --paper:#F2F0EA;
    --blue:#2F6BFF;
    --blue-dim: rgba(47,107,255,0.28);
    --grey:#8A8A8F;
    --line: rgba(242,240,234,0.12);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html,body{height:100%;}
  body{
    background:var(--ink);
    color:var(--paper);
    font-family:'Inter','Helvetica Neue',Arial,sans-serif;
    overflow:hidden;
    animation:page-fade-in 0.6s ease both;
  }
  @keyframes page-fade-in{from{opacity:0;}to{opacity:1;}}
  @media (prefers-reduced-motion:reduce){body{animation:none;}}
  .display{
    font-family: 'Archivo Black','Arial Black',sans-serif;
    text-transform:uppercase;
    letter-spacing:-0.02em;
  }

  /* ---------- HEADER ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:1000;
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 28px;
    background:linear-gradient(to bottom, rgba(10,10,11,0.95), rgba(10,10,11,0));
    pointer-events:none;
  }
  header .brand{
    font-size:22px;
    letter-spacing:0.02em;
    pointer-events:auto;
  }
  header .brand span{color:var(--blue);}
  header .tag{
    font-size:11px;
    color:var(--grey);
    letter-spacing:0.14em;
    text-transform:uppercase;
    text-align:right;
    pointer-events:auto;
  }

  /* ---------- MAP ---------- */
  #map{
    position:absolute; inset:0;
    background:var(--ink);
  }
  .leaflet-tile-pane{ filter: grayscale(1) invert(1) contrast(0.88) brightness(0.95); }
  .leaflet-control-attribution{
    background:rgba(10,10,11,0.7) !important;
    color:var(--grey) !important;
    font-size:9px !important;
  }
  .leaflet-control-attribution a{ color:var(--grey) !important; }
  .leaflet-control-zoom a{
    background:var(--ink) !important;
    color:var(--paper) !important;
    border-color:var(--line) !important;
  }

  /* pulsing dot marker */
  .pin{ position:relative; width:16px; height:16px; }
  .pin .core{
    position:absolute; top:4px; left:4px; width:8px; height:8px;
    background:var(--blue); border-radius:50%;
    box-shadow:0 0 8px 1px var(--blue);
  }
  .pin .ring{
    position:absolute; inset:0; border-radius:50%;
    background:var(--blue-dim);
    animation: pulse 2.2s ease-out infinite;
  }
  @keyframes pulse{
    0%{ transform:scale(0.4); opacity:0.9; }
    100%{ transform:scale(2.6); opacity:0; }
  }
  .leaflet-popup-content-wrapper{
    background:var(--ink);
    color:var(--paper);
    border:1px solid var(--line);
    border-radius:2px;
  }
  .leaflet-popup-tip{ background:var(--ink); }
  .popup-name{ font-size:13px; font-weight:700; letter-spacing:0.02em; text-transform:uppercase; }
  .popup-addr{ font-size:11px; color:var(--grey); margin-top:3px; }

  /* ---------- LOCATIONS PANEL ---------- */
  #panel{
    position:fixed; bottom:0; left:0; right:0; z-index:1000;
    max-height:38vh;
    background:rgba(10,10,11,0.92);
    backdrop-filter: blur(6px);
    border-top:1px solid var(--line);
    padding:14px 20px 20px;
  }
  #panel .panel-head{
    display:flex; align-items:baseline; justify-content:space-between;
    margin-bottom:10px;
  }
  #panel .panel-head h2{
    font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--grey);
  }
  #panel .panel-head .count{
    font-size:12px; color:var(--blue);
  }
  #list{
    display:flex; gap:10px; overflow-x:auto; padding-bottom:4px;
  }
  #list::-webkit-scrollbar{ height:4px; }
  #list::-webkit-scrollbar-thumb{ background:var(--line); }
  .card{
    flex:0 0 auto;
    min-width:180px;
    border:1px solid var(--line);
    border-radius:2px;
    padding:10px 12px;
    cursor:pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
    background:rgba(255,255,255,0.02);
  }
  .card:hover, .card.active{
    border-color:var(--blue);
    background:rgba(47,107,255,0.08);
  }
  .card .name{ font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.02em; }
  .card .addr{ font-size:10.5px; color:var(--grey); margin-top:4px; }

  @media (max-width: 640px){
    header{padding:14px 16px;}
    header .brand{font-size:17px;}
    header .tag{display:none;}
    #panel{max-height:34vh; padding:12px 14px 16px;}
    .card{min-width:150px;}
  }

dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(540px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:24px 32px max(24px,env(safe-area-inset-bottom));border:0;border-left:1px solid var(--line);background:var(--ink);color:var(--paper);overflow:auto}dialog::backdrop{background:#000a}dialog[open]{animation:enter .25s ease-out}@keyframes enter{from{transform:translateX(100%)}to{transform:translateX(0)}}.drawer-head{display:flex;align-items:center;justify-content:space-between}.eyebrow{color:var(--grey)}#contact-close{height:44px;width:44px;border:1px solid var(--line);background:transparent;font-size:28px}#contact h2{font:600 44px/1 'Archivo Narrow',sans-serif;margin:32px 0}label{display:block;font-size:14px;margin:20px 0 8px}input,select,textarea{width:100%;border:1px solid #454545;background:#111113;color:var(--paper);border-radius:0;padding:12px;font-size:16px;line-height:1.4}textarea{resize:vertical}fieldset{margin:0;padding:0;border:0;min-width:0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.send{background:var(--blue);color:white;border:0;padding:16px;width:100%;margin-top:24px;font-size:14px;font-weight:600;letter-spacing:.06em}.send:disabled{opacity:.55;cursor:wait}#form-status{font-size:14px;line-height:1.5;min-height:22px}.sr-only,.honeypot{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}#map-status,.no-script{padding:16px;background:var(--ink);margin:0;font-size:14px}.no-script{position:fixed;top:90px;z-index:1000}[hidden]{display:none!important}
body{animation:none}header,dialog,.leaflet-popup-content{font-family:Archivo,Arial,sans-serif}header{gap:20px}header .brand img{display:block;width:44px;height:auto}header .tag{margin-right:auto;text-align:left;font-family:'Archivo Narrow',Arial,sans-serif}#contact-open{pointer-events:auto;min-height:44px;background:var(--blue);color:var(--paper);border:0;padding:12px 18px;font:600 12px 'Archivo Narrow',Arial,sans-serif;letter-spacing:.12em;cursor:pointer}button,input,select,textarea{font-family:inherit}button{cursor:pointer}button:focus-visible,.card:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.leaflet-top{top:76px}.leaflet-bottom{bottom:145px}#map-status{position:fixed;top:80px;z-index:1000}.card:focus-visible{outline-offset:-3px}@media(max-width:640px){header .brand img{width:38px}.pair{grid-template-columns:1fr;gap:0}dialog{padding:18px 22px 24px}#contact h2{font-size:38px}.leaflet-bottom{bottom:135px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
dialog{color-scheme:dark}#contact-close{color:var(--paper)}

.leaflet-popup-content a.popup-addr{display:block;color:var(--grey);text-decoration:underline;text-underline-offset:3px}.leaflet-popup-content a.popup-addr:hover{color:var(--blue)}
