.locations-page{background:var(--ivory)}
.locations-hero{padding:135px 0 75px;background:#f1ebe3;border-bottom:1px solid var(--line)}
.locations-hero .container{max-width:940px}
.locations-hero h1{max-width:760px;font:500 clamp(3.7rem,7vw,6.4rem)/.84 var(--serif);letter-spacing:-.045em;margin:15px 0 22px}
.locations-hero p:not(.eyebrow){max-width:560px;color:var(--muted);font-size:16px}
.locations-list{padding:75px 0 100px}
.locations-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.locations-grid .location-card{height:330px}
.locations-grid .location-card:nth-child(2),.locations-grid .location-card:nth-child(5){margin-top:35px}
.location-card .location-arrow{position:absolute;right:18px;bottom:18px;font-size:18px;transition:transform .25s ease}
.location-card:hover .location-arrow{transform:translateX(4px)}
.location-back{padding:28px 0 0}
.location-back a{font-size:10px;color:var(--brown);font-weight:700;text-transform:uppercase;letter-spacing:.15em}
.location-detail-hero{height:min(620px,70vh);min-height:480px;position:relative;display:flex;align-items:end;color:var(--white)}
.location-detail-hero>img,.location-detail-hero:after{position:absolute;inset:0;width:100%;height:100%}
.location-detail-hero>img{object-fit:cover;object-position:center 45%}
.location-detail-hero:after{content:"";background:linear-gradient(0deg,rgba(12,8,4,.78),rgba(12,8,4,.05) 72%)}
.location-detail-hero .container{position:relative;z-index:1;padding-bottom:58px}
.location-detail-hero h1{font:500 clamp(3.8rem,8vw,7rem)/.82 var(--serif);letter-spacing:-.05em;margin:14px 0 0}
.location-detail-intro{padding:78px 0;border-bottom:1px solid var(--line)}
.location-detail-intro .container{display:grid;grid-template-columns:1.1fr .9fr;gap:12%;align-items:end}
.location-detail-intro h2{font:500 clamp(2.7rem,4.5vw,4.4rem)/.88 var(--serif);letter-spacing:-.04em;margin:0 0 22px}
.location-detail-intro p:not(.eyebrow){color:var(--muted);max-width:540px;font-size:15px}
.location-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.location-facts div{border-left:1px solid #cfb8a3;padding-left:14px}.location-facts span{display:block;color:var(--brown);font-size:9px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:9px}.location-facts strong{font-size:12px;color:var(--muted);font-weight:500}
.location-story{padding:85px 0}.location-story-row{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:center;margin-bottom:75px}.location-story-row:nth-child(even){grid-template-columns:.9fr 1.1fr}.location-story-row:nth-child(even) .location-story-image{order:2}.location-story-image{height:410px;object-fit:cover}.location-story-copy{max-width:440px}.location-story-copy h2{font:500 clamp(2.5rem,4vw,3.8rem)/.9 var(--serif);letter-spacing:-.035em;margin:12px 0 18px}.location-story-copy p:not(.eyebrow){color:var(--muted);font-size:15px}
.location-love{background:#f1ebe3;padding:80px 0}.location-love-heading{text-align:center;margin-bottom:42px}.location-love-heading h2{font:500 clamp(2.7rem,4vw,4rem)/.9 var(--serif);margin:12px 0 0}.location-love-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.location-love-card{padding:28px 24px;border-top:1px solid #cfb8a3}.location-love-card b{font:500 35px var(--serif);color:var(--brown)}.location-love-card h3{font:500 22px var(--serif);margin:17px 0 8px}.location-love-card p{color:var(--muted);font-size:13px;margin:0}
.location-gallery{padding:85px 0}.location-gallery h2{font:500 clamp(2.7rem,4vw,4rem)/.9 var(--serif);margin:12px 0 28px}.location-gallery-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:230px 230px;gap:10px}.location-gallery-grid img{width:100%;height:100%;object-fit:cover}.location-gallery-grid img:first-child{grid-row:span 2}.location-practical{padding:60px 0;background:#f1ebe3;border-block:1px solid var(--line)}.location-practical h2{font:500 clamp(2.5rem,4vw,3.7rem)/.9 var(--serif);margin:12px 0 28px}.location-practical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.location-practical-grid div{border-left:1px solid #cfb8a3;padding-left:15px}.location-practical-grid span{display:block;color:var(--brown);font-size:9px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px}.location-practical-grid strong{font-size:14px;font-weight:500}
.related-locations{padding:85px 0}.related-locations h2{font:500 clamp(2.7rem,4vw,4rem)/.9 var(--serif);margin:12px 0 28px}.related-location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.related-location-card img{height:220px;margin-bottom:13px}.related-location-card strong{display:block;font:500 23px var(--serif)}.related-location-card small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}
@media(max-width:767px){.locations-hero{padding:105px 0 55px}.locations-hero h1{font-size:clamp(3.2rem,14vw,5rem)}.locations-list{padding:55px 0 70px}.locations-grid{grid-template-columns:1fr;gap:12px}.locations-grid .location-card,.locations-grid .location-card:nth-child(2),.locations-grid .location-card:nth-child(5){height:290px;margin-top:0}.location-detail-hero{height:540px;min-height:0}.location-detail-hero .container{padding-bottom:38px}.location-detail-hero h1{font-size:clamp(3.5rem,16vw,5.5rem)}.location-detail-intro{padding:55px 0}.location-detail-intro .container{display:block}.location-detail-intro h2{font-size:clamp(2.6rem,11vw,4rem)}.location-facts{margin-top:35px;gap:9px}.location-facts div{padding-left:10px}.location-facts strong{font-size:11px}.location-story{padding:60px 0}.location-story-row,.location-story-row:nth-child(even){display:flex;flex-direction:column;gap:28px;margin-bottom:55px}.location-story-row:nth-child(even) .location-story-image{order:0}.location-story-image{height:300px;width:100%}.location-love{padding:60px 0}.location-love-grid{grid-template-columns:1fr;gap:0}.location-love-card{padding:22px 0}.location-gallery{padding:60px 0}.location-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px}.location-gallery-grid img:first-child{grid-column:span 2;grid-row:span 1}.location-practical{padding:50px 0}.location-practical-grid{grid-template-columns:1fr;gap:18px}.related-locations{padding:60px 0}.related-location-grid{grid-template-columns:1fr;gap:26px}.related-location-card img{height:230px}}
