
.city-page main { background:#fff; }
.city-wrap { width:min(var(--content),calc(100% - var(--gutter)*2)); margin-inline:auto; }
.city-hero { position:relative; padding-block:76px; background:#eef1ea; isolation:isolate; }
.city-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; }
.city-hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(247,247,242,.98),rgba(247,247,242,.92) 38%,rgba(247,247,242,.12) 85%); z-index:-1; }
.city-kicker { font-size:12px; font-weight:650; color:#526e5b; margin-bottom:16px; }
.city-hero h1 { font-size:clamp(38px,4.2vw,64px); line-height:1.1; max-width:740px; font-weight:600; }
.city-deck { max-width:600px; color:#38473c; font-size:18px; line-height:1.7; margin:24px 0 28px; }
.city-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px 28px; }
.city-actions .text-link { margin:0; }
.city-section { padding-block:60px; }
.city-intro { display:grid; grid-template-columns:1fr 1.15fr; gap:64px; }
.city-page main h2 { font-size:clamp(28px,3vw,38px); line-height:1.2; font-weight:600; max-width:750px; }
.city-page main h3 { font-size:21px; line-height:1.35; font-weight:600; margin-bottom:12px; }
.city-copy { color:#535e56; max-width:740px; }
.city-copy p { line-height:1.8; }
.city-section-lead { max-width:720px; color:#535e56; margin:20px 0 30px; }
.city-services { background:#f4f6f3; }
.city-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }
.city-grid article { padding:28px; background:white; min-width:0; }
.city-grid p { font-size:15px; color:#535e56; }
.city-grid a { text-decoration:underline; text-underline-offset:4px; font-size:14px; color:#36533f; }
.city-local { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.city-local img { width:100%; height:440px; object-fit:cover; }
.city-local h2 { margin-bottom:24px; }
.city-local-resource { margin-top:28px; max-width:640px; }
.city-local-resource .city-kicker { font-size:10px; letter-spacing:.12em; margin-bottom:10px; }
.city-local-resource p:not(.city-kicker) { font-size:14px; line-height:1.8; color:#535e56; margin-bottom:12px; }
.city-local-resource a { font-size:13px; color:#36533f; text-decoration:underline; text-underline-offset:4px; }
.city-steps { counter-reset:steps; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; list-style:none; padding:0; margin:36px 0 0; }
.city-steps li:before { counter-increment:steps; content:"0" counter(steps); display:block; color:#526e5b; font-size:13px; margin-bottom:16px; }
.city-steps p { color:#535e56; font-size:15px; }
.city-faq { background:#f4f6f3; }
.city-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 64px; margin-top:34px; }
.city-faq-grid p { color:#535e56; font-size:15px; }
.city-close { background:var(--paper); color:var(--ink); padding-block:72px; }
.city-close .city-wrap { display:grid; grid-template-columns:minmax(0,740px) auto; justify-content:space-between; align-items:center; gap:32px 64px; }
.city-page main .city-close h2 { font-family:var(--font-display,Georgia,serif); font-size:clamp(32px,3vw,44px); line-height:1.15; letter-spacing:-.025em; font-weight:400; max-width:690px; }
.city-close p { color:var(--muted); max-width:580px; margin:18px 0 0; font-size:16px; line-height:1.7; }
.city-close .button { background:#26342c; color:#fff; width:max-content; max-width:100%; justify-self:start; white-space:nowrap; }
.city-close .button:hover { background:#3b5142; }
@media(max-width:900px) { .city-grid { gap:18px; }.city-grid article { padding:22px; }.city-intro,.city-local { gap:32px; } }
@media(max-width:760px) { .city-close .city-wrap { grid-template-columns:1fr; gap:28px; } }
@media(max-width:680px) { .city-hero { padding-block:42px; }.city-hero:before { background:rgba(247,247,242,.9); }.city-deck { font-size:16px; }.city-section { padding-block:38px; }.city-intro,.city-local,.city-grid,.city-steps,.city-faq-grid { grid-template-columns:1fr; gap:24px; }.city-local img { height:260px; }.city-close { padding-block:48px; } }

