.city-hero{position:relative;display:flex;align-items:flex-start;min-height:590px;background:var(--wine);color:var(--cream);overflow:hidden}
.city-hero .hero-copy{position:relative;z-index:2;align-self:flex-start;width:100%;max-width:1200px;margin:0 auto;padding:clamp(36px,4vw,56px) clamp(30px,7vw,100px) 70px}
.city-hero .back{display:inline-block;margin:0 0 50px;color:rgba(247,241,232,.82);font-size:10px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.city-hero .eyebrow{margin:0 0 16px;color:rgba(247,241,232,.74);font-size:10px;letter-spacing:.29em;text-transform:uppercase}
.city-hero h1{max-width:820px;font:clamp(48px,6vw,76px)/.96 var(--serif);font-weight:400;letter-spacing:-.045em;margin:18px 0 22px}
.city-hero .lead{max-width:610px;color:rgba(247,241,232,.9);font:15px/1.8 var(--sans)}
.city-hero .hero-image{position:absolute;inset:0;width:100%;height:100%;margin:0;overflow:hidden}
.city-hero .hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(87,7,24,.88) 0%,rgba(87,7,24,.76) 18%,rgba(87,7,24,.46) 36%,rgba(87,7,24,.08) 66%,transparent 82%)}
.city-hero .hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;opacity:.94}
.city-services{max-width:1200px;margin:0 auto;padding:clamp(76px,10vw,130px) 28px clamp(84px,11vw,142px);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(45px,9vw,130px);align-items:start;background:transparent;color:var(--wine)}
.city-services .concept-label{font-size:10px;letter-spacing:.25em;text-transform:uppercase}
.city-services h2{font:clamp(43px,6vw,72px)/.96 var(--serif);font-weight:400;letter-spacing:-.035em;margin:18px 0 24px}
.city-services p{max-width:650px;color:#382b28;font:15px/1.9 var(--sans);margin:0}
.city-services .concept-aside{margin-top:28px;padding:22px 0;border-top:1px solid rgba(87,7,24,.28);border-bottom:1px solid rgba(87,7,24,.28);font-size:10px;letter-spacing:.12em;text-transform:uppercase;line-height:2}
.city-page .locations-cta{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px 28px;border-bottom:1px solid rgba(87,7,24,.2)}
.city-page .locations-cta p{max-width:550px;margin:0;color:#382b28;font:14px/1.7 var(--sans)}
.city-page .locations-cta a{flex:0 0 auto;padding:14px 20px;border-radius:999px;background:var(--wine);color:var(--cream);text-decoration:none;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:760px){.city-hero{min-height:600px}.city-hero .hero-copy{padding:26px 25px 48px}.city-hero .back{margin-bottom:38px}.city-hero h1{font-size:clamp(42px,11vw,60px);line-height:.98;margin:16px 0 18px}.city-hero .eyebrow{margin-bottom:10px}.city-hero .lead{font-size:14px;line-height:1.7}.city-hero .hero-image:after{background:linear-gradient(180deg,rgba(87,7,24,.94) 0%,rgba(87,7,24,.88) 35%,rgba(87,7,24,.6) 60%,rgba(87,7,24,.2) 100%)}.city-hero .hero-image img{object-position:83% 50%}.city-services{grid-template-columns:1fr;gap:24px;padding:70px 23px 84px}.city-services h2{font-size:48px}.city-services p{font-size:14px}.city-services .concept-aside{font-size:9px;line-height:2.1}.city-page .locations-cta{align-items:flex-start;flex-direction:column;padding:27px 23px}.city-page .locations-cta a{font-size:9px}}

.city-page .city-closing{margin:clamp(38px,6vw,78px) auto 0;padding:clamp(58px,7vw,88px) clamp(24px,5vw,70px);background:#efe7dc;text-align:center;color:var(--wine)}
.city-page .city-closing .eyebrow{margin:0 0 14px;color:var(--wine);font-size:10px;letter-spacing:.25em;text-transform:uppercase}
.city-page .city-closing h2{font:clamp(38px,5.5vw,64px)/.98 var(--serif);font-weight:400;letter-spacing:-.035em;margin:0 0 20px}
.city-page .city-closing p:not(.eyebrow){max-width:620px;margin:0 auto 26px;color:#382b28;font:15px/1.8 var(--sans)}
.city-page .city-closing a{display:inline-block;padding:15px 23px;border-radius:999px;background:var(--wine);color:var(--cream);text-decoration:none;font-size:10px;letter-spacing:.16em;text-transform:uppercase;transition:opacity .18s}
.city-page .city-closing a:hover{opacity:.86}
.city-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:26px clamp(28px,6vw,80px);border-top:1px solid rgba(87,7,24,.18);background:var(--cream);color:var(--wine);font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.city-footer a{color:inherit;text-decoration:none}
.city-footer a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.city-page .city-closing{margin-top:34px;padding:54px 23px}.city-page .city-closing h2{font-size:42px}.city-page .city-closing p:not(.eyebrow){font-size:14px}.city-footer{align-items:flex-start;flex-direction:column;gap:12px;padding:22px 23px}}
