.dhf{--ink:#192a26;--lime:#ddf580;--line:#e1e5dc;--muted:#657063;--soft:#7c8d6b;background:#f4f5ef;color:var(--ink);padding:72px 24px;font-family:Inter,"Helvetica Neue",Arial,sans-serif;overflow:hidden}
.dhf *,.dhf *::before,.dhf *::after{box-sizing:border-box}
:where(.dhf) :is(h2,p){margin:0;font-family:inherit;text-transform:none;letter-spacing:0}
.dhf :where(a){color:inherit;text-decoration:none;border:0}
.dhf a::after,.dhf button::after{display:none}
.dhf :focus-visible{outline:3px solid #6c8440;outline-offset:3px}
.dhf svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dhf-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dhf--club{background:#eef1e8}
.dhf-in{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.dhf--map-left .dhf-copy{order:2}
.dhf-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.17em;font-weight:700;color:#6b775c;text-transform:uppercase}
.dhf-eyebrow i{width:7px;height:7px;border-radius:50%;background:#657e36;box-shadow:0 0 0 4px #e5ecd8;animation:dhfp 2.4s ease-in-out infinite}
@keyframes dhfp{50%{box-shadow:0 0 0 8px #e5ecd800}}
.dhf h2{font-size:clamp(38px,4.8vw,64px);line-height:1.02;letter-spacing:-.055em;font-weight:600;margin:16px 0 0;color:var(--ink)}
.dhf-text{font-size:16px;line-height:1.65;color:var(--muted);max-width:480px;margin-top:16px!important}
.dhf-form{margin-top:26px;max-width:520px}
.dhf-q{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 6px 6px 18px;box-shadow:0 14px 34px -24px #192a2699;transition:border-color .2s,box-shadow .2s}
.dhf-q:focus-within{border-color:#a9b99a;box-shadow:0 0 0 5px #e6edda}
.dhf-q>svg{width:19px;height:19px;color:#6b7769;flex:0 0 auto}
.dhf .dhf-q input{flex:1;min-width:0;height:46px;border:0;outline:0;background:transparent;color:var(--ink);font:500 16px Inter,Arial,sans-serif;padding:0;margin:0;box-shadow:none;-webkit-appearance:none;appearance:none}
.dhf-q input::placeholder{color:#8a9686}
.dhf .dhf-q button{flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 20px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:700 14px Inter,Arial,sans-serif;cursor:pointer;letter-spacing:0;text-transform:none;min-width:0;transition:background .2s}
.dhf-q button span{color:var(--lime);transition:transform .2s}
.dhf-q button:hover{background:#28453e}
.dhf-q button:hover span{transform:translateX(3px)}
.dhf-cities{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;margin-top:14px!important;font-size:13px;color:var(--muted)}
.dhf-cities span{font-size:10px;letter-spacing:.15em;font-weight:700;text-transform:uppercase;color:#7a8676}
.dhf-cities a{font-weight:600;color:var(--ink);background-image:linear-gradient(var(--lime),var(--lime));background-size:0 40%;background-position:0 88%;background-repeat:no-repeat;transition:background-size .25s}
.dhf-cities a:hover{background-size:100% 40%}
.dhf-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.dhf-chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:9px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);transition:transform .2s,background .2s,border-color .2s}
.dhf-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:#9ccc3c}
.dhf-chip:hover{transform:translateY(-2px);background:var(--lime);border-color:var(--lime)}
.dhf-link{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-size:14px;font-weight:700;border-bottom:2px solid var(--lime);padding-bottom:2px;transition:gap .2s}
.dhf-link:hover{gap:12px}
.dhf-note{max-width:1220px;margin:28px auto 0!important;font-size:12px;line-height:1.6;color:#7a8676}

/* visual */
.dhf-vis{position:relative;perspective:1200px;--rx:0deg;--ry:0deg;--mx:0px;--my:0px;padding:28px 18px}
.dhf-map{position:relative;aspect-ratio:13/9;border-radius:30px;overflow:hidden;background:#e4e9dc;border:1px solid #d7dece;box-shadow:0 40px 80px -46px #192a26aa;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .4s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}
.dhf-map::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#d6ddcc 1px,transparent 1px),linear-gradient(90deg,#d6ddcc 1px,transparent 1px);background-size:34px 34px;opacity:.6}
.dhf--club .dhf-map{background:#e2ebe0}
.dhf-roads{position:absolute;inset:0;width:100%;height:100%}
.dhf-roads path{stroke:#fff;stroke-width:9;opacity:.95}
.dhf-roads .dhf-route{stroke:var(--ink);stroke-width:3.5;stroke-dasharray:8 9;opacity:1;stroke-dashoffset:900}
.dhf.is-in .dhf-route{animation:dhfroute 3.2s .4s cubic-bezier(.4,0,.2,1) forwards,dhfmarch 1.6s 3.6s linear infinite}
@keyframes dhfroute{from{stroke-dashoffset:900}to{stroke-dashoffset:0}}
@keyframes dhfmarch{to{stroke-dashoffset:-34}}
.dhf-park{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);border-radius:22px;background:#cfe2b8}
.dhf-water{position:absolute;right:-6%;bottom:-10%;width:34%;height:34%;border-radius:50%;background:#c9dde6}
.dhf-ring{position:absolute;left:46%;top:46%;width:64%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(.2);border:1.5px dashed var(--ink);background:radial-gradient(circle,#ddf58040,#ddf58014 60%,transparent 70%);opacity:0}
.dhf.is-in .dhf-ring{animation:dhfring .9s .2s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes dhfring{to{transform:translate(-50%,-50%) scale(1);opacity:1}}
.dhf-ring::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#ddf58066,transparent 22%);animation:dhfsweep 4s linear infinite;mask:radial-gradient(circle,#000 69%,transparent 70%);-webkit-mask:radial-gradient(circle,#000 69%,transparent 70%)}
@keyframes dhfsweep{to{transform:rotate(360deg)}}
.dhf-you{position:absolute;left:46%;top:46%;width:22px;height:22px;transform:translate(-50%,-50%);z-index:3}
.dhf-you i{display:block;width:22px;height:22px;border-radius:50%;background:var(--lime);border:4px solid var(--ink);animation:dhfyou 2s ease-out infinite}
@keyframes dhfyou{0%{box-shadow:0 0 0 0 #9ccc3ccc}70%{box-shadow:0 0 0 18px #9ccc3c00}100%{box-shadow:0 0 0 0 #9ccc3c00}}
.dhf-pin{position:absolute;left:var(--x);top:var(--y);z-index:4;width:30px;height:30px;margin:-36px 0 0 -15px;opacity:0;transform:translateY(-14px) scale(.6);cursor:pointer;outline:none}
.dhf.is-in .dhf-pin{animation:dhfdrop .55s var(--d) cubic-bezier(.3,1.6,.5,1) forwards}
@keyframes dhfdrop{to{opacity:1;transform:none}}
.dhf-pin i{position:relative;z-index:0;display:grid;place-items:center;width:30px;height:30px;font:700 12px/1 Inter,Arial,sans-serif;font-style:normal;color:#fff;transition:transform .2s,color .2s}
.dhf-pin i::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50% 50% 50% 3px;transform:rotate(-45deg);background:var(--ink);border:2px solid #fff;box-shadow:-3px 6px 12px -5px #000a;transition:background .2s}
.dhf-pin em{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,6px);opacity:0;pointer-events:none;white-space:nowrap;background:#fff;border-radius:12px;padding:8px 11px;font:500 12px/1.3 Inter,Arial,sans-serif;font-style:normal;color:var(--muted);box-shadow:0 14px 30px -14px #192a26aa;transition:opacity .2s,transform .2s}
.dhf-pin em b{display:block;color:var(--ink);font-weight:700;font-size:13px}
.dhf-pin:hover,.dhf-pin:focus{z-index:6}
.dhf-pin:hover i,.dhf-pin:focus i{color:var(--ink);transform:scale(1.2)}
.dhf-pin:hover i::before,.dhf-pin:focus i::before{background:var(--lime)}
.dhf-pin:hover em,.dhf-pin:focus em{opacity:1;transform:translate(-50%,0)}
.dhf-stat{position:absolute;left:0;bottom:0;z-index:8;background:var(--ink);color:#fff;border-radius:22px;padding:16px 20px;min-width:190px;box-shadow:0 24px 44px -24px #192a26;transform:translate(var(--mx),var(--my));transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.dhf-stat strong{display:block;font-size:40px;line-height:1;letter-spacing:-.05em;font-weight:600;color:var(--lime);font-variant-numeric:tabular-nums}
.dhf-stat span{display:block;font-size:13px;font-weight:600;margin-top:4px}
.dhf-stat small{display:block;font-size:11px;color:#b9c4b4;margin-top:2px;max-width:200px;line-height:1.4}
.dhf--map-left .dhf-stat{left:auto;right:0}
.dhf-float{position:absolute;z-index:7;background:#fff;border-radius:16px;padding:10px 14px;box-shadow:0 18px 36px -20px #192a2699;display:flex;flex-direction:column;font-size:12px;color:var(--muted);transform:translate(calc(var(--mx)*-1),calc(var(--my)*-1));transition:transform .4s cubic-bezier(.2,.8,.2,1);animation:dhffloat 5s ease-in-out infinite}
.dhf-float b{font-size:13px;color:var(--ink);display:flex;align-items:center;gap:7px}
.dhf-float--a{right:0;top:8px}
.dhf-float--a b::before{content:"";width:7px;height:7px;border-radius:50%;background:#4f9a1c;box-shadow:0 0 0 3px #4f9a1c33}
.dhf-float--b{right:6%;bottom:12%;animation-delay:-2.5s}
.dhf--map-left .dhf-float--a{right:auto;left:0}
.dhf--map-left .dhf-float--b{right:auto;left:8%}
@keyframes dhffloat{50%{margin-top:-6px}}
@media(max-width:900px){.dhf{padding:52px 18px}.dhf-in{grid-template-columns:1fr;gap:26px}.dhf--map-left .dhf-copy{order:0}.dhf-vis{padding:22px 4px}.dhf-stat strong{font-size:32px}}
@media(max-width:520px){.dhf .dhf-q button{padding:0 14px;font-size:0;gap:0}.dhf-q button span{font-size:18px}.dhf-float--b{display:none}.dhf-stat{min-width:0;padding:12px 16px}.dhf-pin em{display:none}}
@media(prefers-reduced-motion:reduce){.dhf *,.dhf *::before,.dhf *::after{animation:none!important;transition:none!important}.dhf-pin,.dhf-ring{opacity:1;transform:none}.dhf-ring{transform:translate(-50%,-50%)}.dhf-route{stroke-dashoffset:0}}
