/* Single-office contact pages — moved verbatim from the static includes/office-contact.php <style> block. */
/* ==============================================================
       SINGLE-OFFICE CONTACT (scoped)
    ============================================================== */
    .oc-banner{
      position:relative;overflow:hidden;
      background:linear-gradient(120deg,#06245b 0%,#1D308E 55%,#3b1e8f 100%);
      color:#fff;padding:52px 0;
    }
    .oc-banner::after{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;
      border-radius:50%;background:radial-gradient(circle,rgba(232,65,16,.35),transparent 65%)}
    .oc-banner .container{position:relative;z-index:2}
    .oc-banner .oc-badge{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;
      letter-spacing:.4px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
      padding:6px 14px;border-radius:30px;margin-bottom:14px}
    .oc-banner .oc-badge .dot{width:8px;height:8px;border-radius:50%;background:#E84110;display:inline-block}
    .oc-banner h1{color:#fff;font-size:clamp(34px,5vw,52px);margin:0 0 10px;line-height:1.05}
    .oc-banner h1 em{font-style:normal;color:#ff8a5c}
    .oc-banner p{color:#d5ddf6;font-size:18px;margin:0}
    .oc-banner .oc-back{display:inline-flex;align-items:center;gap:6px;color:#cfe0ff;font-weight:600;
      font-size:14px;margin-top:16px}
    .oc-banner .oc-back:hover{color:#fff}
    .oc-banner .oc-back .material-symbols-outlined{font-size:18px}

    /* Map */
    .map-shell{position:relative;border-radius:18px;overflow:hidden;
      box-shadow:0 30px 70px -34px rgba(6,36,91,.30);border:1px solid #eef1f8;background:#fff}
    #officeMap{width:100%;height:420px;z-index:1;background:#fff}
    .leaflet-container{background:#fff !important}
    .leaflet-control-zoom{border:none !important;box-shadow:0 8px 24px -8px rgba(6,36,91,.4) !important;border-radius:12px !important;overflow:hidden}
    .leaflet-control-zoom a{width:38px !important;height:38px !important;line-height:38px !important;
      font-size:21px !important;color:#06245b !important;font-weight:700;background:#fff !important;border:none !important}
    .leaflet-control-zoom a:hover{background:#eef1ff !important;color:#E84110 !important}
    .cl-pin{position:relative;width:34px;height:34px}
    .cl-pin span{position:absolute;inset:0;margin:auto;width:16px;height:16px;border-radius:50%;
      background:#6d3bef;border:3px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.3);z-index:2}
    .cl-pin::before{content:"";position:absolute;inset:0;border-radius:50%;
      background:rgba(109,59,239,.28);animation:clPulse 2.4s ease-out infinite}
    @keyframes clPulse{0%{transform:scale(.5);opacity:.8}100%{transform:scale(2.4);opacity:0}}
    .cl-label{background:transparent !important;border:0 !important;box-shadow:none !important}
    .cl-label .lbl{display:inline-block;font-family:'Roboto',sans-serif;font-weight:800;font-size:13px;
      color:#06245b;background:#fff;padding:4px 11px;border-radius:30px;white-space:nowrap;
      box-shadow:0 6px 16px -6px rgba(6,36,91,.35);border:1px solid #eceffa}
    .leaflet-tooltip-top.cl-label:before{display:none}
    .leaflet-popup-content-wrapper{border-radius:14px !important;box-shadow:0 18px 40px -18px rgba(6,36,91,.5) !important;padding:4px 6px}
    .leaflet-popup-content{margin:14px 16px !important;font-family:'Roboto',sans-serif}
    .map-pop b{display:block;color:#06245b;font-size:16px;font-weight:800;margin-bottom:4px}
    .map-pop small{color:#5b6577;font-size:13px;line-height:1.5;display:block}
    .map-pop a{color:#E84110;font-weight:600;font-size:13px;display:inline-block;margin-top:6px}

    /* Full-width address bar (above the Get Started section) */
    .oc-addressbar{padding:38px 0 0}
    .oc-addr-card{position:relative;overflow:hidden;background:#fff;border-radius:16px;
      padding:24px 28px 24px 32px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 48px;
      box-shadow:0 14px 38px -22px rgba(6,36,91,.20)}
    .oc-addr-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;
      background:linear-gradient(180deg,#1D308E 0%,#E84110 100%)}
    .oc-addr-main{flex:1 1 360px}
    .oc-addr-card h3{color:#E84110;font-size:28px;margin:0 0 8px}
    .oc-addr-card .company{color:#06245b;font-weight:800;font-size:19px;margin-bottom:10px}
    .oc-addr-card address{font-style:normal;color:#5b6577;font-size:17.5px;line-height:2;margin:0;letter-spacing:.2px}
    .oc-addr-card .oc-lines{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
    .oc-addr-card .oc-lines li{display:inline-flex;align-items:stretch;overflow:hidden;
      border:2px solid transparent;border-radius:12px;
      background:linear-gradient(#fff,#fff) padding-box,
                 linear-gradient(180deg,#1D308E 0%,#E84110 100%) border-box;
      box-shadow:0 8px 18px -12px rgba(109,59,239,.55);transition:transform .2s ease,box-shadow .2s ease}
    .oc-addr-card .oc-lines li:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(109,59,239,.6)}
    .oc-addr-card .oc-lines li .material-symbols-outlined{display:flex;align-items:center;justify-content:center;
      background:linear-gradient(180deg,#1D308E 0%,#E84110 100%);color:#fff;font-size:22px;padding:0 14px}
    .oc-addr-card .oc-lines li a{display:flex;align-items:center;padding:11px 22px;font-weight:800;font-size:17px;letter-spacing:.4px;
      background:linear-gradient(180deg,#1D308E 0%,#E84110 100%);-webkit-background-clip:text;background-clip:text;
      -webkit-text-fill-color:transparent;color:transparent}
