/* OTSI Ronin - Office Locations page (contact/office-locations) */

.ronin-officelocations{ --ol-green:#1a9c5c; --ol-amber:#e8934a; --ol-blue:#3568c9; }

/* Hero */
.ol-hero{ background:#fff; padding:56px 0 40px; }
.ol-hero__inner{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:center; }
.ol-hero__crumb{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ol-blue); margin-bottom:10px; }
.ol-hero__text h1{ font-size:clamp(28px,3.4vw,40px); line-height:1.14; font-weight:800; color:var(--navy-950); margin-bottom:16px; }
.ol-hero__lead{ font-size:15px; line-height:1.6; color:#5b6472; max-width:46ch; margin-bottom:24px; }
.ol-hero__actions{ display:flex; gap:12px; flex-wrap:wrap; }
.ol-hero__actions .btn{ display:inline-flex; align-items:center; gap:8px; padding:12px 20px; border-radius:8px; font-size:14px; font-weight:700; }
.ol-hero__actions .btn svg{ width:16px; height:16px; }
.ronin-officelocations .btn--outline-navy{ border:1.5px solid #d7dce4; color:var(--navy-950); background:#fff; }
.ronin-officelocations .btn--outline-navy:hover{ border-color:var(--navy-950); }

.ol-hero__map-wrap{ position:relative; aspect-ratio:1/0.72; border-radius:16px; overflow:hidden; background:#f4f6fa; }
.ol-hero__map-wrap svg.ol-hero__dots-svg, .ol-hero__map-wrap > svg:first-child{ position:absolute; inset:0; width:100%; height:100%; }
.ol-hero__route{ position:absolute; inset:0; width:100%; height:100%; }
.ol-hero__region{ position:absolute; font-size:10px; font-weight:700; letter-spacing:.06em; color:#8b95a5; text-transform:uppercase; }
.ol-hero__region.is-europe{ top:14%; left:44%; }
.ol-hero__region.is-africa{ bottom:18%; left:24%; }
.ol-hero__region.is-cis{ top:14%; right:12%; }
.ol-hero__pin{ position:absolute; display:flex; flex-direction:column; align-items:center; text-align:center; transform:translate(-50%,-100%); }
.ol-hero__pin.is-kaduna{ left:32%; top:64%; }
.ol-hero__pin.is-krasnodar{ left:68%; top:26%; }
.ol-hero__pin-dot{ width:30px; height:30px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); display:flex; align-items:center; justify-content:center; box-shadow:0 4px 10px rgba(0,0,0,.18); margin-bottom:8px; }
.ol-hero__pin-dot svg{ width:15px; height:15px; transform:rotate(45deg); stroke-width:2.4; }
.ol-hero__pin-dot.is-green{ background:var(--ol-green); color:#fff; }
.ol-hero__pin-dot.is-amber{ background:var(--ol-amber); color:#fff; }
.ol-hero__pin-label{ background:#fff; border-radius:10px; box-shadow:0 8px 18px rgba(9,20,37,.14); padding:8px 12px; font-size:11px; font-weight:800; color:var(--navy-950); white-space:nowrap; }
.ol-hero__pin-label small{ display:flex; align-items:center; gap:4px; font-size:10px; font-weight:600; color:var(--ol-green); margin-top:3px; }
.ol-hero__pin-label small svg{ width:11px; height:11px; }
.ol-hero__pin-label small.is-amber{ color:var(--ol-amber); }

/* Stats strip */
.ol-stats{ background:var(--navy-950); }
.ol-stats__row{ display:flex; flex-wrap:wrap; gap:14px 34px; padding:16px 0; justify-content:center; }
.ol-stats__item{ display:flex; align-items:center; gap:10px; color:#fff; font-size:13px; font-weight:600; }
.ol-stats__icon{ width:26px; height:26px; display:flex; align-items:center; justify-content:center; color:var(--gold); flex:none; }
.ol-stats__icon svg{ width:18px; height:18px; }

/* Checklist strip */
.ol-checklist{ background:#f4f6fa; border-bottom:1px solid #e6e9ef; }
.ol-checklist__row{ display:flex; flex-wrap:wrap; gap:10px 26px; padding:12px 0; justify-content:center; }
.ol-checklist__item{ display:flex; align-items:center; gap:6px; font-size:11.5px; font-weight:600; color:#5b6472; }
.ol-checklist__item svg{ width:14px; height:14px; color:var(--ol-blue); flex:none; }

@media (max-width:900px){
	.ol-hero__inner{ grid-template-columns:1fr; }
}

/* Section 2: Choose the correct OTSI office */
.ol-compare{ background:#fff; padding:48px 0; }
.ol-compare__heading{ font-size:22px; font-weight:800; color:var(--navy-950); margin-bottom:18px; }
.ol-compare__grid{ display:grid; grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr); gap:22px; align-items:stretch; }
.ol-compare__map{ position:relative; border-radius:14px; overflow:hidden; min-height:280px; background:#eef1f5; }
.ol-compare__map-frame{ position:absolute; inset:0; width:100%; height:100%; border:0; }

.ol-compare__card{ border:1px solid #e6e9ef; border-radius:14px; overflow:hidden; display:flex; flex-direction:column; }
.ol-compare__tabs{ display:flex; }
.ol-compare__tab{ flex:1; padding:14px 16px; font-size:13px; font-weight:700; background:#f4f6fa; color:#5b6472; border:none; cursor:pointer; }
.ol-compare__tab.is-active{ background:var(--ol-blue); color:#fff; }
.ol-compare__panel{ padding:20px 22px; flex:1; display:flex; flex-direction:column; }
.ol-compare__panel[hidden]{ display:none; }
.ol-compare__fields{ display:flex; flex-direction:column; gap:12px; margin-bottom:18px; }
.ol-compare__field{ display:grid; grid-template-columns:180px 1fr; gap:14px; padding-bottom:12px; border-bottom:1px solid #eef1f5; }
.ol-compare__field dt{ font-size:10.5px; font-weight:800; letter-spacing:.05em; color:var(--ol-blue); }
.ol-compare__field dd{ font-size:13px; color:var(--navy-950); margin:0; line-height:1.5; }
.ol-compare__field dd a{ color:var(--ol-blue); }
.ol-compare__status{ display:inline-flex; align-items:center; gap:6px; font-weight:700; }
.ol-compare__status svg{ width:15px; height:15px; flex:none; }
.ol-compare__status.is-green{ color:var(--ol-green); }
.ol-compare__status.is-amber{ color:var(--ol-amber); }
.ol-compare__actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:auto; }
.ol-compare__actions .btn{ display:inline-flex; align-items:center; gap:7px; padding:10px 16px; border-radius:8px; font-size:12.5px; font-weight:700; }
.ol-compare__actions .btn svg{ width:14px; height:14px; }
.ronin-officelocations .btn--green-solid{ background:var(--ol-green); color:#fff; }
.ronin-officelocations .btn--green-solid:hover{ background:#158249; }

.ol-compare__summary{ display:flex; align-items:flex-start; gap:10px; background:#f4f6fa; border-radius:10px; padding:14px 18px; margin-top:16px; font-size:12.5px; color:#5b6472; }
.ol-compare__summary-icon{ width:20px; height:20px; color:var(--ol-blue); flex:none; margin-top:1px; }
.ol-compare__summary-icon svg{ width:20px; height:20px; }
.ol-compare__summary p{ margin:0; }
.ol-compare__summary strong{ color:var(--navy-950); }

/* Section 3: Krasnodar source conflict */
.ol-conflict{ background:#f9fafc; padding:8px 0 48px; }
.ol-conflict__heading{ font-size:19px; font-weight:800; color:var(--navy-950); margin-bottom:16px; }
.ol-conflict__grid{ display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:20px; align-items:start; }
.ol-conflict__table{ background:#fff; border:1px solid #e6e9ef; border-radius:12px; overflow:hidden; }
.ol-conflict__row{ display:grid; grid-template-columns:34px 1.1fr 1.3fr 1fr; gap:14px; align-items:center; padding:14px 16px; border-bottom:1px solid #eef1f5; }
.ol-conflict__row.is-final{ background:#f3faf6; }
.ol-conflict__row:last-child{ border-bottom:none; }
.ol-conflict__row-icon{ width:34px; height:34px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex:none; }
.ol-conflict__row-icon svg{ width:18px; height:18px; }
.ol-conflict__row-icon.is-amber{ background:rgba(232,147,74,.12); color:var(--ol-amber); }
.ol-conflict__row-icon.is-green{ background:rgba(26,156,92,.12); color:var(--ol-green); }
.ol-conflict__row-label{ display:flex; flex-direction:column; gap:2px; font-size:12.5px; }
.ol-conflict__row-label strong{ color:var(--navy-950); }
.ol-conflict__row-label span{ font-size:10.5px; color:#8b95a5; }
.ol-conflict__row-value{ font-size:12.5px; color:#5b6472; line-height:1.4; }
.ol-conflict__row-status{ display:flex; align-items:center; gap:6px; font-size:12px; font-weight:700; justify-self:end; }
.ol-conflict__row-status svg{ width:16px; height:16px; flex:none; }
.ol-conflict__row-status.is-amber{ color:var(--ol-amber); }
.ol-conflict__row-status.is-green{ color:var(--ol-green); }

.ol-conflict__path{ background:#fff; border:1px solid #e6e9ef; border-radius:12px; padding:20px; }
.ol-conflict__path h3{ font-size:14px; font-weight:800; color:var(--navy-950); margin-bottom:14px; }
.ol-conflict__path h3 span{ font-weight:600; color:#8b95a5; font-size:12px; }
.ol-conflict__path ol{ display:flex; flex-direction:column; gap:12px; margin-bottom:16px; list-style:none; padding:0; }
.ol-conflict__path li{ display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--navy-950); font-weight:600; }
.ol-conflict__step-num{ width:22px; height:22px; border-radius:50%; background:var(--ol-blue); color:#fff; font-size:10px; font-weight:800; display:flex; align-items:center; justify-content:center; flex:none; }
.ol-conflict__rule{ font-size:12px; font-weight:700; color:var(--navy-950); margin-bottom:14px; }
.ol-conflict__path .btn--gold-solid{ display:inline-flex; padding:11px 18px; border-radius:8px; font-size:12.5px; font-weight:700; width:100%; justify-content:center; }

/* Section 4: Which office should I contact */
.ol-routing{ background:#fff; padding:48px 0; }
.ol-routing__grid{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:20px; align-items:start; }
.ol-routing__table-wrap h2{ font-size:19px; font-weight:800; color:var(--navy-950); margin-bottom:16px; }
.ol-routing__table{ border:1px solid #e6e9ef; border-radius:12px; overflow:hidden; }
.ol-routing__head{ display:grid; grid-template-columns:1fr 1.5fr 1fr; gap:14px; padding:12px 16px; background:#f4f6fa; font-size:10.5px; font-weight:800; letter-spacing:.05em; color:#8b95a5; text-transform:uppercase; }
.ol-routing__row{ display:grid; grid-template-columns:1fr 1.5fr 1fr; gap:14px; padding:14px 16px; border-top:1px solid #eef1f5; background:#fff; border-left:none; border-right:none; border-bottom:none; width:100%; text-align:left; cursor:pointer; font:inherit; }
.ol-routing__row:hover{ background:#f9fafc; }
.ol-routing__row.is-active{ background:#eef4fc; }
.ol-routing__row span{ font-size:12.5px; color:var(--navy-950); }
.ol-routing__office{ font-weight:700; color:var(--ol-blue); }

.ol-routing__card{ background:#f4f6fa; border-radius:14px; padding:26px 22px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.ol-routing__card-eyebrow{ font-size:10.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#8b95a5; margin-bottom:14px; }
.ol-routing__card-icon{ width:44px; height:44px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; color:var(--ol-blue); margin-bottom:14px; box-shadow:0 6px 14px rgba(9,20,37,.08); }
.ol-routing__card-icon svg{ width:22px; height:22px; }
.ol-routing__card-office{ font-size:15px; font-weight:800; color:var(--navy-950); margin-bottom:6px; }
.ol-routing__card-note{ font-size:12px; color:#5b6472; margin-bottom:18px; }
.ol-routing__card .btn--gold-solid{ padding:11px 20px; border-radius:8px; font-size:12.5px; font-weight:700; width:100%; text-align:center; justify-content:center; }

@media (max-width:900px){
	.ol-compare__grid, .ol-conflict__grid, .ol-routing__grid{ grid-template-columns:1fr; }
}

/* Section 5: Remote contact or office visit form */
.ol-visitform{ background:#f9fafc; padding:48px 0; }
.ol-visitform__grid{ display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:20px; align-items:start; }
.ol-visitform__card{ background:#fff; border:1px solid #e6e9ef; border-radius:14px; padding:24px; }
.ol-visitform__card h2{ font-size:18px; font-weight:800; color:var(--navy-950); margin-bottom:18px; }
.ol-visitform__row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:14px; }
.ol-visitform__field label, .ol-visitform__row label{ display:block; font-size:11px; font-weight:700; color:var(--navy-950); margin-bottom:6px; }
.ol-visitform__field input, .ol-visitform__field select, .ol-visitform__field textarea,
.ol-visitform__row input, .ol-visitform__row select{ width:100%; border:1px solid #d7dce4; border-radius:8px; padding:10px 12px; font-size:12.5px; font-family:inherit; color:var(--navy-950); background:#fff; }
.ol-visitform__field{ margin-bottom:14px; }
.ol-visitform__field--full textarea{ resize:vertical; }
.is-required{ color:#d64545; }
.ol-visitform__privacy{ display:flex; align-items:flex-start; gap:8px; font-size:11.5px; color:#8b95a5; margin:10px 0 0; }
.ol-visitform__privacy svg{ width:15px; height:15px; flex:none; margin-top:1px; }
.ol-visitform__errors{ background:#fdeeee; border:1px solid #f2c5c5; border-radius:8px; padding:10px 14px; margin-bottom:14px; font-size:12px; color:#b03030; }
.ol-visitform__errors ul{ list-style:disc; padding-left:18px; }
.ol-visitform__success{ background:#eef8f2; border:1px solid #bfe4cf; border-radius:10px; padding:18px; font-size:13px; font-weight:600; color:var(--ol-green); }

.ol-visitform__summary{ background:#f4f6fa; border-radius:14px; padding:22px; }
.ol-visitform__summary h3{ font-size:14px; font-weight:800; color:var(--navy-950); margin-bottom:14px; }
.ol-visitform__summary dl{ display:flex; flex-direction:column; gap:12px; margin-bottom:16px; }
.ol-visitform__summary dl > div{ display:flex; justify-content:space-between; gap:10px; padding-bottom:10px; border-bottom:1px solid #e6e9ef; font-size:12px; }
.ol-visitform__summary dt{ color:#8b95a5; font-weight:600; }
.ol-visitform__summary dd{ color:var(--navy-950); font-weight:700; text-align:right; margin:0; }
.ol-visitform__summary dd.is-red{ color:#d64545; }
.ol-visitform__summary .btn--gold-solid{ width:100%; justify-content:center; padding:11px; border-radius:8px; font-size:12.5px; font-weight:700; margin-bottom:12px; }
.ol-visitform__note{ display:flex; align-items:flex-start; gap:7px; font-size:11px; color:#8b95a5; }
.ol-visitform__note svg{ width:14px; height:14px; flex:none; margin-top:1px; }

/* Section 6: pre-visit checklists */
.ol-checklists{ background:#fff; padding:48px 0; }
.ol-checklists h2{ font-size:19px; font-weight:800; color:var(--navy-950); margin-bottom:16px; }
.ol-checklists__grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ol-checklists__card{ border:1px solid #e6e9ef; border-radius:12px; padding:20px; display:flex; flex-direction:column; }
.ol-checklists__card.is-green{ background:#f6fbf8; border-color:#d3ecdf; }
.ol-checklists__card.is-amber{ background:#fef9f3; border-color:#f3ddc0; }
.ol-checklists__head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.ol-checklists__head h3{ font-size:13.5px; font-weight:800; margin:0; }
.ol-checklists__card.is-green h3{ color:var(--ol-green); }
.ol-checklists__card.is-amber h3{ color:var(--ol-amber); }
.ol-checklists__head span{ font-size:12px; font-weight:800; color:var(--navy-950); flex:none; }
.ol-checklists__card ul{ display:flex; flex-direction:column; gap:10px; margin-bottom:16px; }
.ol-checklists__card label{ display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--navy-950); cursor:pointer; }
.ol-checklists__card input[type=checkbox]{ width:16px; height:16px; flex:none; accent-color:var(--ol-blue); }
.ol-checklists__card .btn{ margin-top:auto; text-align:center; justify-content:center; padding:11px; border-radius:8px; font-size:12.5px; font-weight:700; }
.ronin-officelocations .btn--amber-solid{ background:var(--ol-amber); color:#fff; }
.ronin-officelocations .btn--amber-solid:hover{ background:#d67f38; }

/* Section 7: boundaries + verify/correction forms */
.ol-boundaries{ background:#f9fafc; padding:8px 0 48px; }
.ol-boundaries__grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:18px; align-items:stretch; }
.ol-boundaries__col{ background:#fff; border:1px solid #e6e9ef; border-radius:12px; padding:20px; display:flex; flex-direction:column; height:100%; }
.ol-boundaries__col h3{ font-size:14px; font-weight:800; color:var(--navy-950); margin-bottom:16px; }
.ol-boundaries__item{ display:flex; gap:10px; margin-bottom:14px; }
.ol-boundaries__dot{ width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none; margin-top:1px; }
.ol-boundaries__dot svg{ width:12px; height:12px; }
.ol-boundaries__dot.is-green{ background:var(--ol-green); color:#fff; }
.ol-boundaries__dot.is-amber{ background:var(--ol-amber); color:#fff; }
.ol-boundaries__dot.is-blue{ background:var(--ol-blue); color:#fff; }
.ol-boundaries__item strong{ display:block; font-size:12.5px; color:var(--navy-950); margin-bottom:2px; }
.ol-boundaries__item p{ font-size:11.5px; color:#5b6472; line-height:1.4; margin:0; }
.ol-boundaries__notimplied{ border-top:1px solid #eef1f5; padding-top:14px; margin-top:4px; }
.ol-boundaries__notimplied strong{ display:block; font-size:12.5px; color:var(--navy-950); margin-bottom:6px; }
.ol-boundaries__notimplied p{ font-size:11.5px; color:#5b6472; line-height:1.5; margin:0; }
.ronin-officelocations .ol-boundaries__viewall{ display:inline-block; margin-top:14px; font-size:12px; font-weight:700; color:var(--ol-blue); }
.ol-boundaries__form label{ display:block; font-size:11px; font-weight:700; color:var(--navy-950); margin-bottom:5px; margin-top:12px; }
.ol-boundaries__form label:first-child{ margin-top:0; }
.ol-boundaries__form input, .ol-boundaries__form select{ width:100%; border:1px solid #d7dce4; border-radius:8px; padding:9px 11px; font-size:12px; font-family:inherit; color:var(--navy-950); }
.ol-boundaries__form .btn{ width:100%; justify-content:center; margin-top:16px; padding:11px; border-radius:8px; font-size:12.5px; font-weight:700; }
.ronin-officelocations .btn--blue-solid{ background:var(--ol-blue); color:#fff; }
.ronin-officelocations .btn--blue-solid:hover{ background:#2a54a3; }
.ol-boundaries__notice{ display:flex; align-items:flex-start; gap:8px; border-radius:8px; padding:11px 13px; margin-top:12px; font-size:11px; line-height:1.4; }
.ol-boundaries__notice svg{ width:15px; height:15px; flex:none; margin-top:1px; }
.ol-boundaries__notice.is-amber{ background:#fdf6ea; color:#8a6416; }
.ol-boundaries__notice.is-blue{ background:#eef4fc; color:#2a54a3; }
.ol-boundaries__errors{ background:#fdeeee; border:1px solid #f2c5c5; border-radius:8px; padding:10px 14px; margin-bottom:8px; font-size:11.5px; color:#b03030; }
.ol-boundaries__errors ul{ list-style:disc; padding-left:16px; }
.ol-boundaries__success{ background:#eef8f2; border:1px solid #bfe4cf; border-radius:10px; padding:16px; font-size:12.5px; font-weight:600; color:var(--ol-green); }

/* Section 8: safety + FAQ */
.ol-safety{ background:var(--navy-950); padding:0; }
.ol-safety__grid{ display:grid; grid-template-columns:1fr 1fr; }
.ol-safety__panel, .ol-safety__faq{ padding:32px; }
.ol-safety__panel{ border-right:1px solid rgba(255,255,255,.08); }
.ol-safety__grid h2{ font-size:17px; font-weight:800; color:#fff; margin-bottom:20px; }
.ol-safety__col{ margin-bottom:20px; }
.ol-safety__col h4{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:800; color:#fff; margin-bottom:10px; }
.ol-safety__icon{ width:22px; height:22px; display:flex; align-items:center; justify-content:center; color:var(--gold); flex:none; }
.ol-safety__icon svg{ width:16px; height:16px; }
.ol-safety__col ul{ display:flex; flex-direction:column; gap:8px; }
.ol-safety__col li{ display:flex; align-items:flex-start; gap:8px; font-size:12px; color:#c3cbdb; line-height:1.4; }
.ol-safety__col li svg{ width:14px; height:14px; color:#3ecf8e; flex:none; margin-top:2px; }

.ol-safety__accordion{ display:flex; flex-direction:column; gap:10px; }
.ol-safety__faq-item{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:10px; overflow:hidden; }
.ol-safety__faq-q{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:10px; padding:14px 16px; background:none; border:none; color:#fff; font-size:12.5px; font-weight:700; text-align:left; cursor:pointer; font-family:inherit; }
.ol-safety__faq-plus{ width:20px; height:20px; display:flex; align-items:center; justify-content:center; color:var(--gold); flex:none; transition:transform .18s ease; }
.ol-safety__faq-plus svg{ width:14px; height:14px; }
.ol-safety__faq-item.is-open .ol-safety__faq-plus{ transform:rotate(45deg); }
.ol-safety__faq-a{ padding:0 16px 16px; }
.ol-safety__faq-a[hidden]{ display:none; }
.ol-safety__faq-a p{ font-size:12px; color:#c3cbdb; line-height:1.6; margin:0; }

/* Section 9: closing CTA */
.ol-closing{ background:var(--navy-950); padding:48px 0; }
.ol-closing__inner{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:30px; align-items:center; }
.ol-closing__text h2{ font-size:24px; font-weight:800; color:#fff; margin-bottom:10px; }
.ol-closing__text p{ font-size:13.5px; color:#c3cbdb; margin-bottom:20px; max-width:44ch; }
.ol-closing__actions{ display:flex; gap:12px; flex-wrap:wrap; }
.ol-closing__actions .btn{ display:inline-flex; align-items:center; padding:12px 20px; border-radius:8px; font-size:13px; font-weight:700; }
.ronin-officelocations .btn--outline-light{ border:1.5px solid rgba(255,255,255,.35); color:#fff; background:transparent; }
.ronin-officelocations .btn--outline-light:hover{ border-color:#fff; }

.ol-closing__route{ position:relative; height:140px; border-radius:12px; overflow:hidden; background:rgba(255,255,255,.03); }
.ol-closing__route > svg:first-child{ position:absolute; inset:0; width:100%; height:100%; }
.ol-closing__dashes{ position:absolute; inset:0; width:100%; height:100%; }
.ol-closing__pin{ position:absolute; top:50%; width:30px; height:30px; transform:translateY(-50%); }
.ol-closing__pin svg{ width:100%; height:100%; }
.ol-closing__pin.is-green{ left:16%; color:var(--ol-green); }
.ol-closing__pin.is-amber{ right:16%; color:var(--ol-amber); }
.ol-closing__shield{ position:absolute; left:50%; top:50%; width:34px; height:34px; transform:translate(-50%,-50%); color:#fff; background:var(--navy-950); border:2px solid #fff; border-radius:50%; display:flex; align-items:center; justify-content:center; padding:7px; }

@media (max-width:900px){
	.ol-visitform__grid, .ol-checklists__grid, .ol-boundaries__grid, .ol-safety__grid, .ol-closing__inner{ grid-template-columns:1fr; }
	.ol-visitform__row{ grid-template-columns:1fr; }
	.ol-safety__panel{ border-right:none; border-bottom:1px solid rgba(255,255,255,.08); }
}
