.locations-page{background:#fbf8f2;color:#123b43}
.locations-page .eyebrow{color:#9e6348;letter-spacing:.17em}
.locations-hero{background:#e9eee9;padding:52px 0 60px}
.locations-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px)}
.locations-hero-copy{padding:10px 0 24px}
.locations-hero-copy .breadcrumbs{margin-bottom:48px;text-align:left}
.locations-hero h1{font:400 clamp(3rem,5.5vw,5.6rem)/1.04 Georgia,serif;letter-spacing:-.055em;margin:17px 0 22px;max-width:680px}
.locations-hero .lede{color:#526b6e;max-width:580px;font-size:1.08rem;line-height:1.65;margin-bottom:30px}
.locations-hero .btn{border-radius:999px;padding:15px 25px}
.locations-hero-image{margin:0;position:relative;min-width:0;height:500px;border:8px solid #fdfbf7;outline:1px solid #c5d0c6;border-radius:160px 18px 18px 18px;overflow:hidden;box-shadow:0 24px 50px #173a3929}
.locations-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.locations-hero-image figcaption{position:absolute;right:17px;bottom:15px;color:#fff;background:#082b3bc9;padding:7px 11px;border-radius:99px;font-size:.75rem}
.locations-explorer{background:#fbf8f2}
.locations-lead{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.locations-lead h2{font:400 clamp(2.5rem,4vw,4rem)/1.08 Georgia,serif;letter-spacing:-.045em;margin:11px 0 0}
.locations-lead p{color:#596e71;max-width:395px;line-height:1.6;margin:0}
.locations-controls{display:grid;gap:17px;margin-bottom:19px}
.locations-search-label{display:flex;flex-direction:column;gap:8px;max-width:550px;font-size:.76rem;color:#5c6e6d;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.locations-search-label input{width:100%;min-height:54px;background:#fff;border:1px solid #cad6d0;border-radius:999px;padding:12px 22px;color:#173f45;font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none;outline-offset:3px}
.locations-search-label input:focus{border-color:#08827b}
.locations-filters{display:flex;flex-wrap:wrap;gap:9px}
.locations-filters button{min-height:43px;border:1px solid #cbd7d1;border-radius:99px;padding:9px 17px;background:#fff;color:#153d43;font-size:.85rem;font-weight:700;cursor:pointer}
.locations-filters button[aria-pressed=true],.locations-filters button:hover{background:#0b4850;border-color:#0b4850;color:#fff}
.locations-filters button:focus-visible,.location-card a:focus-visible,.locations-empty button:focus-visible{outline:3px solid #d76f49;outline-offset:3px}
.locations-count{font-size:.79rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#856047;margin:0 0 18px}
.locations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.location-card{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #e3ded5;border-radius:19px;overflow:hidden;box-shadow:0 13px 28px #18393612}
.location-card[hidden]{display:none}
.location-card-photo{display:block;aspect-ratio:1.52;margin:9px 9px 0;overflow:hidden;border:5px solid #fff;outline:1px solid #d9d0c0;border-radius:12px}
.location-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.location-card:hover .location-card-photo img{transform:scale(1.03)}
.location-card-body{display:flex;flex-direction:column;flex:1;padding:19px 22px 23px}
.location-card-meta{display:flex;justify-content:space-between;gap:6px 12px;flex-wrap:wrap;font-size:.69rem;letter-spacing:.04em;text-transform:uppercase;color:#9b654b;font-weight:800}
.location-card h3{font:400 1.7rem/1.18 Georgia,serif;letter-spacing:-.03em;margin:15px 0 10px}
.location-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.location-card p{font-size:.91rem;line-height:1.55;color:#5a6d72;margin:0 0 22px}
.location-card-actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 15px;margin-top:auto;font-size:.82rem;font-weight:800}
.location-card-actions a:first-child{color:#087873}
.location-card-actions a:last-child{color:#5d6a6b;text-decoration:underline;text-underline-offset:3px}
.locations-empty{padding:34px;border:1px dashed #aebdb5;border-radius:16px;background:#fff}
.locations-empty[hidden]{display:none}
.locations-empty h3{font:400 1.5rem Georgia,serif}
.locations-empty p{color:#5c6d71;margin:12px 0}
.locations-empty button{background:#0c4b51;color:#fff;border:0;border-radius:99px;padding:12px 18px;cursor:pointer}
.locations-next{background:#e9eee9}
.locations-next-inner{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.locations-next h2{font:400 clamp(2.4rem,3.5vw,3.4rem)/1.1 Georgia,serif;letter-spacing:-.04em;margin:13px 0}
.locations-next p{color:#53696d;line-height:1.65;max-width:530px}
.locations-combinations{display:grid;gap:11px}
.locations-combinations a{display:flex;justify-content:space-between;gap:12px;padding:18px 20px;background:#fff;border:1px solid #d2ded7;border-radius:14px;color:#153f46}
.locations-combinations a:hover{border-color:#0a7875;box-shadow:0 8px 18px #173a3919}
.locations-combinations a span{color:#0a7774;text-align:right}
@media(max-width:1050px){.locations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.locations-hero-image{height:420px}.locations-hero-copy .breadcrumbs{margin-bottom:28px}}
@media(max-width:700px){.locations-hero{padding:24px 0 35px}.locations-hero-inner,.locations-next-inner{grid-template-columns:1fr;gap:24px}.locations-hero-copy{padding:0}.locations-hero-copy .breadcrumbs{margin-bottom:22px}.locations-hero h1{font-size:clamp(2.7rem,9vw,4rem)}.locations-hero .lede{font-size:1rem}.locations-hero-image{height:270px;border-width:6px;border-radius:70px 14px 14px 14px}.locations-lead{display:block}.locations-lead p{margin-top:13px}.locations-filters{flex-wrap:nowrap;overflow-x:auto;margin-right:-16px;padding:2px 16px 10px 2px;scrollbar-width:thin}.locations-filters button{flex:none}.locations-grid{grid-template-columns:1fr;gap:15px}.location-card-photo{aspect-ratio:1.7}.location-card-body{padding:16px 18px 19px}.locations-combinations a{display:block}.locations-combinations a span{display:block;text-align:left;margin-top:6px}}
@media(prefers-reduced-motion:reduce){.location-card-photo img{transition:none}}
