.dtf-place-profile{--dtf-ink:#183d35;--dtf-green:#355f4b;--dtf-gold:#b8a56a;--dtf-mist:#edf1e8;--dtf-paper:#faf8f1;color:var(--dtf-ink);background:var(--dtf-paper);overflow:hidden}
.dtf-place-profile *{box-sizing:border-box}
.dtf-place-profile__hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:clamp(580px,76vh,820px);background:var(--dtf-ink)}
.dtf-place-profile__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(64px,8vw,130px) clamp(28px,6vw,96px);color:#fff}
.dtf-place-profile__back{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin:0 0 36px;padding:12px 18px;border:1px solid rgba(255,255,255,.55);border-radius:2px;color:#fff!important;font-size:14px;font-weight:800;line-height:1.2;text-decoration:none!important;transition:background .2s ease,border-color .2s ease}
.dtf-place-profile__back:hover,.dtf-place-profile__back:focus-visible{background:var(--dtf-green);border-color:var(--dtf-gold);color:#fff!important}
.dtf-place-profile__eyebrow,.dtf-place-profile__kicker{margin:0 0 18px;text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:800;color:var(--dtf-gold)}
.dtf-place-profile__area{margin:0 0 14px;color:#d9e5dc;font-size:15px;font-weight:700}
.dtf-place-profile__hero h1{max-width:850px;margin:0;color:#fff;font-size:clamp(48px,6.4vw,96px);font-weight:800;line-height:.94;letter-spacing:-.045em}
.dtf-place-profile__intro{max-width:660px;margin:28px 0 0;color:#e8eee9;font-size:clamp(18px,1.6vw,24px);line-height:1.55}
.dtf-place-profile__tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}
.dtf-place-profile__tags span{padding:8px 13px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:12px;font-weight:750;letter-spacing:.035em}
.dtf-place-profile__image{min-height:100%;margin:0;overflow:hidden}
.dtf-place-profile__image img{display:block;width:100%;height:100%;min-height:580px;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.75,.2,1)}
.dtf-place-profile__hero:hover .dtf-place-profile__image img{transform:scale(1.025)}
.dtf-place-profile__hero--plain{grid-template-columns:1fr;min-height:620px;background:radial-gradient(circle at 82% 20%,rgba(184,165,106,.28),transparent 25%),linear-gradient(135deg,#183d35,#355f4b)}
.dtf-place-profile__body{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:clamp(55px,8vw,120px);width:min(1240px,calc(100% - 48px));margin:0 auto;padding:clamp(70px,9vw,130px) 0}
.dtf-place-profile__content{color:#294d45;font-size:clamp(17px,1.25vw,20px);line-height:1.85}
.dtf-place-profile__content h2,.dtf-place-profile__content h3{margin:1.55em 0 .55em;color:var(--dtf-ink);line-height:1.12;letter-spacing:-.02em}
.dtf-place-profile__content a{color:var(--dtf-green);text-decoration-thickness:2px;text-underline-offset:3px}
.dtf-place-profile__content img{border-radius:4px}
.dtf-place-profile__visit{align-self:start;padding:34px;border-top:5px solid var(--dtf-gold);background:#fff;box-shadow:0 20px 60px rgba(24,61,53,.12)}
.dtf-place-profile__visit h2{margin:0 0 28px;color:var(--dtf-ink);font-size:32px;line-height:1.08;letter-spacing:-.025em}
.dtf-place-profile__detail{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:22px 0;border-top:1px solid #dce5dd}
.dtf-place-profile__detail strong{display:block;margin-bottom:5px;color:var(--dtf-green);font-size:12px;text-transform:uppercase;letter-spacing:.13em}
.dtf-place-profile__detail address{color:#3d5d55;font-style:normal;line-height:1.55}
.dtf-place-profile__detail a{color:var(--dtf-green)}
.dtf-place-profile__pin{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--dtf-mist);color:var(--dtf-green);font-size:20px}
.dtf-place-profile__actions{display:grid;gap:11px;margin-top:8px}
.dtf-place-profile__button{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 17px;border:1px solid var(--dtf-green);border-radius:2px;font-size:14px;font-weight:800;line-height:1.2;text-decoration:none!important;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.dtf-place-profile__button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(24,61,53,.14)}
.dtf-place-profile__button--main{background:var(--dtf-green);color:#fff!important}
.dtf-place-profile__button--main:hover{background:var(--dtf-ink)}
.dtf-place-profile__button--alt{color:var(--dtf-green)!important;background:transparent}
.dtf-place-profile__button--alt:hover{background:var(--dtf-mist)}
.dtf-place-profile__events{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:0 0 clamp(70px,8vw,110px)}
.dtf-place-profile__events .dtfr-events{margin:0}
.dtf-place-profile__events .dtfr-events__head{margin-bottom:28px}
.dtf-place-profile__events .dtfr-eyebrow{color:var(--dtf-gold)!important;letter-spacing:.22em}
.dtf-place-profile__events .dtfr-events__head h2{color:var(--dtf-ink);font-size:clamp(34px,4vw,58px);letter-spacing:-.035em}
.dtf-place-profile__map-section{width:min(1400px,calc(100% - 48px));margin:0 auto;padding:0 0 clamp(70px,9vw,130px)}
.dtf-place-profile__map-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}
.dtf-place-profile__map-heading h2{margin:0;color:var(--dtf-ink);font-size:clamp(34px,4vw,58px);line-height:1;letter-spacing:-.035em}
.dtf-place-profile__map-heading a{color:var(--dtf-green);font-size:14px;font-weight:800;text-decoration:none;border-bottom:2px solid var(--dtf-gold);padding-bottom:4px}
.dtf-place-profile__map{position:relative;width:100%;height:clamp(390px,52vw,620px);min-height:390px;border:8px solid #fff;box-shadow:0 20px 60px rgba(24,61,53,.12);background:#dfe9df;z-index:1}
.dtf-place-profile__map .leaflet-control-attribution{font-size:10px}
.dtf-place-profile__marker{display:grid;place-items:center;width:42px;height:42px;border:4px solid #fff;border-radius:50% 50% 50% 0;background:var(--dtf-green);box-shadow:0 6px 18px rgba(24,61,53,.35);transform:rotate(-45deg)}
.dtf-place-profile__marker:after{content:"";width:12px;height:12px;border-radius:50%;background:var(--dtf-gold)}
.dtf-place-profile__popup strong{display:block;margin-bottom:5px;color:#183d35;font-size:15px}
.dtf-place-profile__popup span{display:block;max-width:230px;color:#547064;line-height:1.4}
.dtf-place-profile-notice{padding:20px;background:#edf1e8;color:#183d35}
@media(max-width:980px){.dtf-place-profile__hero{grid-template-columns:1fr;min-height:auto}.dtf-place-profile__copy{min-height:520px}.dtf-place-profile__image{height:min(72vw,650px)}.dtf-place-profile__image img{min-height:0}.dtf-place-profile__body{grid-template-columns:1fr}.dtf-place-profile__visit{order:-1}}
@media(max-width:600px){.dtf-place-profile__copy{min-height:460px;padding:64px 24px}.dtf-place-profile__hero h1{font-size:clamp(43px,14vw,66px)}.dtf-place-profile__image{height:78vw;min-height:330px}.dtf-place-profile__body{width:min(100% - 32px,1240px);gap:48px;padding:56px 0}.dtf-place-profile__visit{padding:26px}.dtf-place-profile__intro{font-size:18px}.dtf-place-profile__events{width:calc(100% - 32px);padding-bottom:56px}.dtf-place-profile__map-section{width:calc(100% - 32px);padding-bottom:56px}.dtf-place-profile__map-heading{align-items:flex-start;flex-direction:column}.dtf-place-profile__map{height:430px;min-height:430px;border-width:5px}}
@media(prefers-reduced-motion:reduce){.dtf-place-profile__image img,.dtf-place-profile__button{transition:none}.dtf-place-profile__hero:hover .dtf-place-profile__image img,.dtf-place-profile__button:hover{transform:none}}
