/* Gallery links and destination pages only. */
.attraction-title-end{white-space:nowrap}
.attraction-open{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:clamp(44px,4.7vw,58px);height:clamp(44px,4.7vw,58px);margin-left:clamp(14px,1.6vw,24px);border:1px solid #eef7fb;border-radius:50%;background:#eef7fb;color:#173e35;box-shadow:0 0 0 5px #eef7fb18,0 4px 18px #071f2830;text-shadow:none}
.attraction-open svg{width:25px;height:25px;flex:none}
.attraction-open:hover,.attraction-open:focus-visible{background:#173e35;color:#eef7fb;border-color:#173e35;box-shadow:0 0 0 5px #eef7fb30,0 4px 20px #071f2840}
.attraction-open:focus-visible{outline:2px solid white;outline-offset:6px}
.destination-page{background:#fcfaf5;--destination-green:#173e35;--destination-blue:#173f53}
.destination-page .container{max-width:1320px}
.destination-page main{padding-top:80px}
.destination-page [hidden]{display:none!important}
.destination-page :focus-visible{outline:2px solid #517d6f;outline-offset:4px}
.destination-hero{position:relative;isolation:isolate;min-height:460px;height:min(70svh,670px);color:white;background:#173f53;overflow:hidden}
.destination-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--destination-position,center);z-index:-2}
.destination-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#102d362b 10%,#102d3612 26%,#102d36c9);z-index:-1}
.destination-hero-content{height:100%;min-height:inherit;display:flex;flex-direction:column;justify-content:flex-end;padding-block:34px 56px;align-items:flex-start}
.destination-back{margin-bottom:auto;padding:5px 0;border-bottom:1px solid #ffffff75;font-size:.85rem;color:#fff}
.destination-hero h1{max-width:980px;font-size:clamp(2.6rem,5.6vw,5.5rem);line-height:1.08;letter-spacing:-.045em;text-wrap:balance;color:#fff}
.destination-hero-content>p{max-width:670px;margin-top:20px;color:#ffffffed;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7}
.destination-intro{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;padding-block:62px;border-bottom:1px solid #d5dfd9}
.destination-intro h2,.destination-section-heading h2,.destination-homes h2{font-size:clamp(2rem,3.3vw,3.2rem);line-height:1.16;letter-spacing:-.045em}
.destination-intro>div>p{font-size:1.05rem;color:#536f7c;line-height:1.85}
.destination-intro #destination-visit-note{margin-top:18px;font-size:.83rem;color:#587568}
.destination-around{padding-block:68px 72px}
.destination-section-heading{text-align:center;margin-bottom:28px}
.destination-section-heading>p{color:#5a7580;margin-top:15px;font-size:.95rem}
.destination-filters{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:0 0 32px}
.destination-filters button{border:1px solid #cbd9d1;border-radius:999px;background:transparent;color:#355b51;padding:9px 18px;min-height:43px;font-size:.82rem}
.destination-filters button[aria-pressed=true]{background:#173e35;border-color:#173e35;color:white}
.destination-filters button:hover{border-color:#173e35}
.destination-explorer{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.35fr);gap:30px;align-items:start}
.destination-places{display:grid;gap:0;min-width:0;border-bottom:1px solid #cedbdc}
.destination-place{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:18px;padding:27px 2px 29px;background:transparent;border-top:1px solid #cedbdc;position:relative}
.destination-place.is-selected:before{content:'';position:absolute;left:0;top:-1px;width:52px;height:2px;background:#173e35}
.destination-place-number{grid-column:1;grid-row:1/5;padding-top:1px;font-size:.76rem;font-weight:500;line-height:1.65;letter-spacing:.04em;color:#81949a;font-variant-numeric:tabular-nums}
.destination-place.is-selected .destination-place-number{color:#173e35}
.destination-place-meta{grid-column:2;display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.72rem;color:#5c747d;line-height:1.6}
.destination-place-distance{white-space:nowrap;color:#173f53;font-weight:500;font-variant-numeric:tabular-nums}
.destination-place h3{grid-column:2;font-size:clamp(1.4rem,2vw,1.7rem);line-height:1.25;margin:12px 0 13px;font-weight:500;letter-spacing:-.035em;color:#173f53}
.destination-place h3 button{padding:0;background:none;border:0;color:inherit;font:inherit;text-align:left;line-height:inherit;letter-spacing:inherit}
.destination-place h3 button:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.destination-place.is-selected h3{color:#173e35}
.destination-place>p{grid-column:2;font-size:.88rem;color:#5b737d;line-height:1.8}
.destination-place-links{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px}
.destination-place-links a{display:inline-flex;align-items:center;gap:7px;min-height:36px;font-size:.74rem;font-weight:500;color:#244f41}
.destination-place-links a svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.destination-place-links a:hover{text-decoration:underline;text-underline-offset:4px}
.destination-map-column{position:sticky;top:105px;min-width:0}
.destination-map{height:510px;width:100%;border-radius:20px;overflow:hidden;background:#e7eef0;border:1px solid #d5e0dc;isolation:isolate;z-index:0}
.destination-map .leaflet-control-attribution{font-size:10px}
.destination-map .leaflet-control-zoom{border:1px solid #d4dfd7;border-radius:20px;overflow:hidden;box-shadow:0 3px 12px #173e3515}
.destination-map .leaflet-control-zoom a{color:#173e35;width:38px;height:38px;line-height:38px}
.destination-map .leaflet-popup-content{margin:18px 20px;color:#173f53;font-family:var(--font-body);line-height:1.6}
.destination-map .leaflet-popup-content strong{display:block;margin-bottom:4px;font-size:.9rem}
.destination-map .leaflet-popup-content p{margin:4px 0;font-size:.78rem}
.destination-map .leaflet-popup-content a{display:inline-block;margin-top:7px;color:#285748;text-decoration:underline;font-size:.78rem}
.destination-pin{display:grid;place-items:center;width:34px;height:34px;background:#38634f;border:3px solid #fffdf8;border-radius:50%;box-shadow:0 3px 10px #173e3533;color:white;font:600 13px var(--font-body)}
.destination-pin.is-selected{background:#a05038}
.destination-pin--origin{background:#173f53;width:38px;height:38px}
.destination-pin--origin svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.destination-distance-label{border:1px solid #d6dfd8;border-radius:999px;padding:4px 10px;background:#fffdf8;color:#244f41;box-shadow:0 2px 8px #173e3514;font:600 .75rem/1.4 var(--font-body)}
.destination-map-footer{display:flex;align-items:flex-start;gap:18px;justify-content:space-between;padding:18px 3px 0}
.destination-map-footer p{font-size:.73rem;line-height:1.7;color:#5b737d;max-width:420px}
.destination-fit{border:0;border-bottom:1px solid #a1b5ac;color:#244f41;padding:4px 0;background:transparent;font-size:.75rem;white-space:nowrap}
#destination-map-error{font-size:.8rem;color:#5b737d;padding:12px 3px}
.destination-homes{border-top:1px solid #d5dfd9;padding-block:66px 80px}
.destination-homes .section-heading{align-items:center;gap:24px;margin-bottom:34px}
.destination-homes .section-heading>div{max-width:810px}
.destination-homes .section-heading p{font-size:.93rem;line-height:1.8;color:#5b737d;margin-top:18px;max-width:690px}
.destination-homes .homes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:stretch}
.destination-homes .homes-grid:has(>.home-card:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
.destination-homes .homes-grid:has(>.home-card:nth-child(2)):not(:has(>.home-card:nth-child(3))){grid-template-columns:repeat(2,minmax(0,1fr));max-width:880px;margin-inline:0}
/* Match the established A-Living property cards, including their hover lift. */
.destination-homes .home-card{min-width:0;position:relative;isolation:isolate;display:flex;flex-direction:column;background:#fffdf8;border-radius:7px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.destination-homes .home-image{aspect-ratio:1.5;height:auto;position:relative;overflow:hidden;border-radius:7px 7px 0 0;box-shadow:none;flex-shrink:0}
.destination-homes .home-copy{display:flex;flex-direction:column;flex:1;padding:14px 13px 16px}
.destination-homes .home-copy h3{font-size:1.1rem;line-height:1.35;letter-spacing:-.025em;margin-bottom:8px}
.destination-homes .home-features{font-size:.72rem;color:#617785;line-height:1.5;margin-top:auto;padding-top:3px}
.destination-homes .home-rates{margin-top:9px}
.destination-homes .home-rate{font-size:.76rem;color:#687c83;line-height:1.6}
.destination-homes .home-rate strong{font-size:.96rem;font-weight:600;color:#183e52;letter-spacing:-.02em}
@media(hover:hover){.destination-homes .home-card:hover{transform:translateY(-5px);box-shadow:0 15px 32px #143e551c}}
.destination-homes .home-card:focus-within{box-shadow:0 10px 28px #143e551a}
@media(max-width:600px){.destination-homes .homes-grid{padding-top:6px;padding-bottom:20px}.destination-homes .home-copy{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.destination-homes .home-card{transition:none}.destination-homes .home-card:hover{transform:none}}
.destination-empty{grid-column:1/-1;padding:28px;background:#eef3f0;border-radius:16px;color:#456552}
.destination-empty a{text-decoration:underline}
.destination-not-found{padding-block:90px;min-height:55vh}
.destination-not-found h1{font-size:3rem;margin-bottom:22px}
@media(max-width:1000px){.destination-explorer{grid-template-columns:minmax(260px,.95fr) minmax(0,1fr);gap:22px}.destination-map{height:460px}.destination-map-footer{flex-direction:column;gap:10px}.destination-homes .homes-grid,.destination-homes .homes-grid:has(>.home-card:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.destination-homes .section-heading{align-items:flex-start}.destination-intro{gap:32px}.destination-place{padding:24px 2px;column-gap:12px}}
@media(max-width:760px){.destination-page main{padding-top:75px}.destination-hero{height:66svh;min-height:430px}.destination-hero>img{object-position:var(--destination-mobile-position,center)}.destination-hero-content{padding-block:25px 35px}.destination-intro{grid-template-columns:1fr;gap:20px;padding-block:38px}.destination-intro>div>p{font-size:.95rem}.destination-around{padding-block:40px 45px}.destination-filters{gap:7px}.destination-filters button{padding:8px 13px;font-size:.76rem}.destination-explorer{display:flex;flex-direction:column}.destination-map-column{position:relative;top:auto;width:100%;order:-1}.destination-map{height:330px}.destination-map-footer{flex-direction:row;gap:18px}.destination-places{width:100%}.destination-homes{padding-block:42px 55px}.destination-homes .section-heading{display:flex;flex-direction:column;gap:22px}.destination-homes .section-heading h2{max-width:100%}}
@media(max-width:480px){.destination-page main{padding-top:68px}.destination-map-footer{flex-direction:column;gap:10px}.destination-homes .homes-grid,.destination-homes .homes-grid:has(>.home-card:nth-child(4)),.destination-homes .homes-grid:has(>.home-card:nth-child(2)):not(:has(>.home-card:nth-child(3))){grid-template-columns:1fr}.destination-hero h1{font-size:2.65rem}.destination-hero-content>p{font-size:.93rem}}
