/* Modern homepage map. Legacy map markup/styles/controller are kept separately. */
body.oog-homepage .oog-projects-v2 { padding:38px 0 46px; background:transparent; color:#101d28; }
body.oog-homepage .oog-projects-v2__layout { display:grid; grid-template-columns:minmax(310px,380px) minmax(0,1fr); gap:22px; align-items:stretch; }
body.oog-homepage .oog-projects-v2__panel { position:relative; z-index:2; min-width:0; padding:28px 26px 22px; border:1px solid transparent; border-radius:0; background:transparent; box-shadow:none; }
body.oog-homepage .oog-projects-v2__eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 22px; color:#718198; font-size:10px; font-weight:750; line-height:1.4; letter-spacing:.21em; text-transform:uppercase; }
body.oog-homepage .oog-projects-v2__eyebrow::before { content:""; flex:0 0 24px; height:3px; border-radius:3px; background:#84b900; }
body.oog-homepage .oog-projects-v2 h2 { margin:0 0 18px; font-size:clamp(36px,3.2vw,49px); line-height:1.06; letter-spacing:-.045em; font-weight:850; color:#0b1720; }
body.oog-homepage .oog-projects-v2 h2 span { display:block; color:#83b800; }
body.oog-homepage .oog-projects-v2__intro { margin:0; color:#637185; font-size:16px; line-height:1.5; }
body.oog-homepage .oog-projects-v2__summary { display:grid; margin-top:22px; border-top:1px solid #e9edf0; }
body.oog-homepage .oog-projects-v2__stat { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:16px; min-width:0; padding:14px 0; }
body.oog-homepage .oog-projects-v2__stat-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:12px; color:#78a800; background:#f0f8e7; }
body.oog-homepage .oog-projects-v2__stat-icon svg { width:28px; height:28px; fill:none; }
body.oog-homepage .oog-projects-v2__stat strong { display:inline; color:#101a25; font-size:26px; font-weight:850; line-height:1.15; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
body.oog-homepage .oog-projects-v2__stat h3 { display:inline; margin:0 0 0 7px; color:#5f7084; font-size:10px; font-weight:750; letter-spacing:.055em; line-height:1.4; text-transform:uppercase; }
body.oog-homepage .oog-projects-v2__stat p { margin:4px 0 0; color:#748298; font-size:13px; line-height:1.4; }
body.oog-homepage .oog-projects-v2__stat[data-map-stat="total"] { margin-top:4px; padding-top:18px; border-top:1px solid #e9edf0; }
body.oog-homepage .oog-projects-v2__filters { display:flex; flex-wrap:wrap; gap:6px; padding:18px 0 4px; margin-top:4px; border-top:1px solid #e9edf0; }
body.oog-homepage .oog-projects-v2__filter { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:7px 9px; border:1px solid #dce5e9; border-radius:999px; background:#fff; color:#64717c; font-family:inherit; font-size:11px; font-weight:600; line-height:1.2; cursor:pointer; }
body.oog-homepage .oog-projects-v2__filter[aria-pressed="true"] { color:#20351e; border-color:#d5e8b9; background:#f3f9e9; }
body.oog-homepage .oog-projects-v2__filter:disabled { cursor:default; }
body.oog-homepage .oog-projects-v2__filter[aria-pressed="false"] .oog-projects-v2__dot { opacity:.35; }
body.oog-homepage .oog-projects-v2__dot { flex:0 0 9px; width:9px; height:9px; border:1px solid #ffffffcf; border-radius:50%; background:var(--point-color,#91bf17); }
body.oog-homepage .oog-projects-v2__featured { margin-top:18px; }
body.oog-homepage .oog-projects-v2__featured-label { margin:0 0 8px; color:#7a8799; font-size:10px; font-weight:750; letter-spacing:.13em; line-height:1.4; text-transform:uppercase; }
body.oog-homepage .oog-projects-v2__project { display:flex; align-items:center; gap:14px; padding:7px; border:1px solid #e1e8ee; border-radius:16px; color:inherit; text-decoration:none; }
body.oog-homepage .oog-projects-v2__project img { flex:0 0 88px; width:88px; height:106px; object-fit:cover; border-radius:10px; }
body.oog-homepage .oog-projects-v2__project > span { display:grid; min-width:0; gap:6px; }
body.oog-homepage .oog-projects-v2__project small { color:#68788a; font-size:11px; }
body.oog-homepage .oog-projects-v2__project strong { font-size:14px; line-height:1.3; letter-spacing:-.025em; }
body.oog-homepage .oog-projects-v2__project-description { color:#718096; font-size:12px; line-height:1.4; }
body.oog-homepage .oog-projects-v2__project-link { color:#638f00; font-size:12px; font-weight:750; }
body.oog-homepage .oog-projects-v2__all { display:flex; justify-content:space-between; align-items:center; gap:14px; min-height:44px; margin-top:18px; padding-top:16px; border-top:1px solid #e9edf0; color:#608b00; font-size:14px; font-weight:750; text-decoration:none; }
body.oog-homepage .oog-projects-v2__map-area { position:relative; display:flex; flex-direction:column; min-width:0; }
body.oog-homepage .oog-projects-v2__canvas { position:relative; min-width:0; }
body.oog-homepage .oog-projects-v2__stage { position:relative; min-width:0; height:680px; overflow:hidden; overflow:clip; border-radius:22px; touch-action:pan-y; user-select:none; -webkit-user-select:none; }
body.oog-homepage .oog-projects-v2__stage.is-zoomed { touch-action:none; cursor:grab; }
body.oog-homepage .oog-projects-v2__stage.is-navigation-active { box-shadow:inset 0 0 0 1px #97b95c55; }
body.oog-homepage .oog-projects-v2__stage.is-dragging { cursor:grabbing; }
body.oog-homepage .oog-projects-v2__svg { position:absolute; inset:0; display:block; width:100%; height:100%; overflow:hidden; }
body.oog-homepage .oog-projects-v2 .EstoniaProjectsMap-module__1F7BiW__countyPath { fill:#e7f1df; fill-opacity:.93; stroke:#a8be94; stroke-width:.7; vector-effect:non-scaling-stroke; outline:none; cursor:pointer; transition:fill .18s ease; }
body.oog-homepage .oog-projects-v2 .EstoniaProjectsMap-module__1F7BiW__countyPath:hover,
body.oog-homepage .oog-projects-v2 .EstoniaProjectsMap-module__1F7BiW__countyPath.is-selected { fill:#d9eacb; }
body.oog-homepage .oog-projects-v2 .EstoniaProjectsMap-module__1F7BiW__countyPath:focus-visible { stroke:#507800; stroke-width:2; }
body.oog-homepage .oog-projects-v2 .EstoniaProjectsMap-module__1F7BiW__countyLabel { fill:#344a4b; font-family:inherit; font-size:12px; font-weight:550; pointer-events:none; text-anchor:middle; paint-order:stroke; stroke:#eff7e8; stroke-width:2px; stroke-linejoin:round; }
body.oog-homepage .oog-projects-v2__marker { cursor:pointer; outline:none; }
body.oog-homepage .oog-projects-v2__marker .marker-edge { stroke:#fff; stroke-width:1.5; }
body.oog-homepage .oog-projects-v2__marker.is-selected .marker-edge,
body.oog-homepage .oog-projects-v2__marker:hover .marker-edge,
body.oog-homepage .oog-projects-v2__marker:focus-visible .marker-edge { stroke:#405f00; stroke-width:3; }
body.oog-homepage .oog-projects-v2__marker text { font-family:inherit; font-weight:800; text-anchor:middle; dominant-baseline:central; fill:white; pointer-events:none; }
body.oog-homepage .oog-projects-v2__zoom { position:absolute; top:18px; right:16px; display:none; overflow:hidden; border:1px solid #e3eaee; border-radius:15px; background:#fff; box-shadow:0 7px 22px #294a5c10; }
body.oog-homepage .oog-projects-v2.is-ready .oog-projects-v2__zoom { display:flex; flex-direction:column; }
body.oog-homepage .oog-projects-v2__zoom button { display:grid; place-items:center; width:44px; height:44px; padding:8px; color:#506474; border:0; border-bottom:1px solid #edf0f2; background:white; cursor:pointer; transition:background-color .16s ease,transform .16s ease; }
body.oog-homepage .oog-projects-v2__zoom button:hover:not(:disabled) { background:#f1f6e9; }
body.oog-homepage .oog-projects-v2__zoom button:active:not(:disabled) { transform:scale(.96); }
body.oog-homepage .oog-projects-v2__zoom button:last-child { border-bottom:0; }
body.oog-homepage .oog-projects-v2__zoom button:disabled { opacity:.4; cursor:default; }
body.oog-homepage .oog-projects-v2__zoom button svg { width:26px; height:26px; }
body.oog-homepage .oog-projects-v2__dock { position:absolute; right:14px; bottom:14px; z-index:2; display:flex; flex-wrap:wrap; gap:4px; max-width:calc(100% - 28px); padding:5px; border:1px solid #e3ebea; border-radius:24px; background:#ffffffed; box-shadow:0 8px 24px #43604a0a; }
body.oog-homepage .oog-projects-v2__dock:empty { display:none; }
body.oog-homepage .oog-projects-v2__dock .oog-projects-v2__filter { min-height:36px; border-color:transparent; background:transparent; padding:6px 8px; }
body.oog-homepage .oog-projects-v2__dock .oog-projects-v2__filter[aria-pressed="false"] { opacity:.55; }
body.oog-homepage .oog-projects-v2__status { min-height:20px; margin:4px 12px 0; color:#74828a; font-size:11px; line-height:1.4; text-align:right; }
body.oog-homepage .oog-projects-v2__help { margin:10px 12px 0; color:#64776c; font-size:11px; line-height:1.6; }
body.oog-homepage .oog-projects-v2__help .map-help-touch { display:none; }
body.oog-homepage .oog-projects-v2__info-desktop { display:none; margin-top:22px; }
body.oog-homepage .oog-projects-v2__info-mobile > .oog-projects-v2__popup:not([hidden]) { margin-top:14px; }
body.oog-homepage .oog-projects-v2__message { position:absolute; left:50%; top:50%; width:min(300px,calc(100% - 32px)); padding:16px; transform:translate(-50%,-50%); border:1px solid #e0e8dd; border-radius:16px; background:#fffffff0; text-align:center; }
body.oog-homepage .oog-projects-v2__message[hidden] { display:none; }
body.oog-homepage .oog-projects-v2:not(.is-ready) .oog-projects-v2__message { display:none; }
body.oog-homepage .oog-projects-v2__message p { margin:0; color:#52675b; font-size:14px; line-height:1.5; }
body.oog-homepage .oog-projects-v2__message button { min-height:44px; margin-top:10px; padding:8px 16px; border:1px solid #cfe1b5; border-radius:10px; background:#edf6df; color:#415d19; cursor:pointer; }
body.oog-homepage .oog-projects-v2__popup { position:relative; width:100%; max-height:390px; overflow:auto; overscroll-behavior:contain; padding:18px; border:1px solid #dde5e9; border-radius:18px; background:#fffffff5; box-shadow:0 8px 26px #2f50540c; color:#142630; }
body.oog-homepage .oog-projects-v2__popup[hidden] { display:none; }
body.oog-homepage .oog-projects-v2__close { position:absolute; top:5px; right:5px; display:grid; place-items:center; width:40px; height:40px; padding:0; border:0; border-radius:50%; color:#708391; background:transparent; font-size:24px; cursor:pointer; transition:background-color .16s ease,transform .16s ease; }
body.oog-homepage .oog-projects-v2__close:hover { background:#f1f6e9; }
body.oog-homepage .oog-projects-v2__close:active { transform:scale(.96); }
body.oog-homepage .oog-projects-v2__popup h3 { margin:3px 28px 8px 0; font-size:16px; line-height:1.35; }
body.oog-homepage .oog-projects-v2__popup p { margin:6px 0; color:#6c7c84; font-size:12px; line-height:1.5; }
body.oog-homepage .oog-projects-v2__popup dl { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 12px; margin:12px 0; font-size:12px; line-height:1.4; }
body.oog-homepage .oog-projects-v2__popup dt { color:#68777e; }
body.oog-homepage .oog-projects-v2__popup dd { margin:0; font-weight:700; text-align:right; }
body.oog-homepage .oog-projects-v2__popup a { color:#5b8800; font-size:13px; font-weight:700; }
body.oog-homepage .oog-projects-v2__popup img { width:80px; height:70px; margin-bottom:10px; border-radius:9px; object-fit:cover; }
body.oog-homepage .oog-projects-v2__cluster-list { display:grid; gap:5px; margin:10px 0; }
body.oog-homepage .oog-projects-v2__cluster-list button { min-height:40px; padding:8px; text-align:left; border:1px solid #e2ebdb; border-radius:8px; background:#f6faef; color:#3e5436; font:inherit; cursor:pointer; }
body.oog-homepage .oog-projects-v2__noscript { position:absolute; inset:auto 12px 14px; padding:16px; border-radius:14px; background:#fff; color:#5c6a66; font-size:14px; }
body.oog-homepage .oog-projects-v2 a:focus-visible,
body.oog-homepage .oog-projects-v2 button:focus-visible { outline:3px solid #5d8500; outline-offset:3px; }
body.oog-homepage .oog-projects-v2__stage:focus-visible { outline:2px solid #97bc54; outline-offset:3px; }
@media (min-width:1101px) {
  body.oog-homepage .oog-projects-v2.has-info .oog-projects-v2__info-desktop { display:block; }
  body.oog-homepage .oog-projects-v2.has-info .oog-projects-v2__summary { display:none; }
}
@media (max-width:1100px) {
  body.oog-homepage .oog-projects-v2__layout { grid-template-columns:minmax(0,1fr); }
  body.oog-homepage .oog-projects-v2__panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; }
  body.oog-homepage .oog-projects-v2__heading { grid-column:1; grid-row:1; align-self:start; }
  body.oog-homepage .oog-projects-v2__summary { grid-column:2; grid-row:1; margin-top:0; border-top:0; }
  body.oog-homepage .oog-projects-v2__filters,
  body.oog-homepage .oog-projects-v2__featured,
  body.oog-homepage .oog-projects-v2__all { grid-column:1/-1; }
  body.oog-homepage .oog-projects-v2__stage { height:560px; }
}
@media (max-width:600px) {
  body.oog-homepage .oog-projects-v2 { padding:24px 0 32px; }
  body.oog-homepage .oog-projects-v2__panel { display:block; padding:24px 20px; }
  body.oog-homepage .oog-projects-v2 h2 { font-size:42px; }
  body.oog-homepage .oog-projects-v2__summary { margin-top:20px; border-top:1px solid #e9edf0; }
  body.oog-homepage .oog-projects-v2__stat { padding:12px 0; }
  body.oog-homepage .oog-projects-v2__stage { height:420px; border-radius:18px; }
  body.oog-homepage .oog-projects-v2__dock { position:static; max-width:100%; margin-top:8px; border-radius:16px; justify-content:center; }
  body.oog-homepage .oog-projects-v2__status { text-align:center; }
  body.oog-homepage .oog-projects-v2__popup { max-height:360px; }
  body.oog-homepage .oog-projects-v2__zoom { top:12px; right:12px; }
}
@media (pointer:coarse) {
  body.oog-homepage .oog-projects-v2__help .map-help-touch { display:inline; }
  body.oog-homepage .oog-projects-v2__help .map-help-mouse { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  body.oog-homepage .oog-projects-v2 .EstoniaProjectsMap-module__1F7BiW__countyPath { transition:none; }
  body.oog-homepage .oog-projects-v2__close { transition:none; }
  body.oog-homepage .oog-projects-v2__zoom button { transition:none; }
}
