
.city-guide{--cg-ink:#173e3b;--cg-accent:#a87730;--cg-paper:#faf8f2;--cg-line:#d8e1da;color:var(--cg-ink);font:17px/1.75 Arial,Helvetica,sans-serif;background:var(--cg-paper);padding-bottom:56px}
.city-guide nav{display:block!important;position:static}.city-guide nav.cg-az-nav{display:flex!important}
.city-guide *{box-sizing:border-box;min-width:0}.city-guide .cg-wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.city-guide .cg-crumb{font-size:14px;padding:22px 0;color:#536960}.city-guide a{color:inherit;text-underline-offset:4px}.city-guide .cg-hero{background:linear-gradient(120deg,#102f36,#205652);color:#fff;padding:46px;border-radius:20px}
.city-guide .cg-kicker{color:#ead196;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px}
.city-guide h1{font-size:clamp(30px,4.6vw,58px);line-height:1.13;max-width:23ch;letter-spacing:-.035em;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;text-wrap:balance;margin:0 0 24px;color:inherit}
.city-guide h2{font-size:clamp(24px,3vw,34px);line-height:1.22;margin:0 0 18px;color:inherit;text-wrap:balance;word-break:normal;hyphens:none}.city-guide h3{font-size:21px;line-height:1.35;margin:0 0 12px;color:inherit}
.city-guide p{margin:0 0 18px;max-width:76ch}.city-guide .cg-lead{font-size:20px;color:#e7f0ec}.city-guide .cg-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.city-guide .cg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:#e8c675;color:#122f32!important;border:1px solid #e8c675;padding:12px 20px;border-radius:9px;font-weight:700;text-decoration:none}.city-guide .cg-btn.secondary{background:transparent;color:#fff!important;border-color:#c6dad5}
.city-guide .cg-section{padding:36px 0;border-bottom:1px solid var(--cg-line)}.city-guide .cg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.city-guide .cg-card{background:#fff;padding:28px;border:1px solid var(--cg-line);border-radius:14px}.city-guide .cg-card p:last-child{margin:0}.city-guide .cg-small{font-size:14px;color:#4c6258}.city-guide .cg-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#73531f}
.city-guide .cg-facts{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 0;padding:0;list-style:none}.city-guide .cg-facts li{padding:8px 12px;border:1px solid #56746f;border-radius:7px;color:#ecf4ed;font-size:14px}
.city-guide .cg-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.city-guide .cg-links a{display:block;padding:9px 14px;border:1px solid var(--cg-line);background:white;border-radius:8px;text-decoration:none}.city-guide .cg-links a:hover,.city-guide .cg-az-list a:hover{background:#e8efe7}.city-guide a:focus-visible,.city-guide summary:focus-visible,.city-guide input:focus-visible{outline:3px solid #aa7021;outline-offset:4px}
.city-guide details{padding:18px 0;border-bottom:1px solid var(--cg-line)}.city-guide summary{cursor:pointer;font-weight:700}.city-guide details p{margin:16px 0 0}.city-guide .cg-checks{padding-left:24px}.city-guide .cg-checks li{margin:10px 0}.city-guide .cg-closing{padding:32px;background:#eaf0e7;border-radius:16px;margin-top:32px}.city-guide .cg-az-nav{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.city-guide .cg-az-nav a{display:grid;place-items:center;border:1px solid #b6c6b9;border-radius:5px;width:42px;height:42px;text-decoration:none;font-weight:700}.city-guide .cg-az-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 20px;padding:0;list-style:none}.city-guide .cg-az-list li{margin:0}.city-guide .cg-az-list a{display:block;padding:12px 14px;background:white;border:1px solid var(--cg-line);border-radius:8px;text-decoration:none;overflow-wrap:break-word}.city-guide .cg-az-list small{display:block;color:#536960;font-size:12px}.city-guide .cg-filter{max-width:480px;margin:20px 0}.city-guide .cg-filter label{display:block;font-weight:700;margin-bottom:6px}.city-guide .cg-filter input{width:100%;font:inherit;min-height:48px;padding:10px 14px;border:1px solid #7a9385;border-radius:8px;color:#173e3b;background:#fff}.city-guide [hidden]{display:none!important}
@media(max-width:800px){.city-guide .cg-hero{padding:30px}.city-guide .cg-grid{grid-template-columns:1fr}.city-guide .cg-az-list{grid-template-columns:repeat(2,minmax(0,1fr))}.city-guide h1{max-width:none}}
@media(max-width:480px){.city-guide .cg-wrap{width:calc(100% - 28px)}.city-guide .cg-hero{padding:26px 20px}.city-guide .cg-card{padding:22px}.city-guide .cg-az-list{grid-template-columns:1fr}.city-guide .cg-actions{flex-direction:column}.city-guide .cg-lead{font-size:18px}.city-guide h1{font-size:clamp(22px,6.4vw,29px)}.city-guide .cg-section{padding:28px 0}}

.city-guide .cg-project-plan fieldset{border:1px solid #cbdad6;border-radius:12px;padding:20px;margin:22px 0;min-width:0}.city-guide .cg-project-plan legend{font-weight:700;padding:0 8px}.city-guide .cg-place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.city-guide .cg-place{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#f4f8f6;border-radius:8px;min-width:0;cursor:pointer}.city-guide .cg-place input{flex-shrink:0;width:20px;height:20px;margin-top:3px}.city-guide .cg-place small{display:block;font-size:13px;line-height:1.5;color:#526963}.city-guide .cg-source{font-size:13px;line-height:1.6}.city-guide .cg-note-label{display:block;margin:20px 0;font-weight:700}.city-guide .cg-note-label textarea{display:block;width:100%;box-sizing:border-box;font:inherit;border:1px solid #aebeb6;border-radius:8px;padding:12px;margin-top:8px}.city-guide .cg-plan-output{display:block;white-space:pre-wrap;padding:20px;margin-top:20px;background:#eaf4ef;border:1px solid #aec7ba;border-radius:8px}.city-guide .cg-plan-output[hidden]{display:none}@media(max-width:600px){.city-guide .cg-place-grid{grid-template-columns:minmax(0,1fr)}.city-guide .cg-project-plan fieldset{padding:14px}}

.city-guide .cg-hero p:not(.cg-kicker){color:#e7f0ec}

/* Separate explanatory copy from cards and group the rental terms by topic. */
.city-guide .cg-section > .cg-grid + p{margin-top:28px}
.city-guide .cg-offer-notes{display:grid;gap:30px;max-width:76ch;margin-top:36px;padding-top:30px;border-top:1px solid var(--cg-line)}
.city-guide .cg-offer-note{padding:0;margin:0}
.city-guide .cg-offer-note h3{margin:0 0 12px;line-height:1.4}
.city-guide .cg-offer-note p{margin:0;line-height:1.8}
.city-guide .cg-offer-note p + p{margin-top:16px}
@media(max-width:480px){.city-guide .cg-offer-notes{gap:26px;margin-top:28px;padding-top:26px}}

/* Rental terms: local component styles, readable without interaction. */
.rental-terms{--rt-ink:#173e3b;--rt-muted:#536661;--rt-line:#d6dfd8;--rt-paper:#fffefa;--rt-dark:#153d3a;margin:34px 0 0;color:var(--rt-ink);font-family:Arial,Helvetica,sans-serif;text-align:left}
.rental-terms,.rental-terms *{box-sizing:border-box;min-width:0}
.rental-terms .rt-top,.rental-terms .rt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.rental-terms .rt-card{background:var(--rt-paper);border:1px solid var(--rt-line);border-radius:16px;padding:28px;margin:0;box-shadow:0 3px 15px #143b3505}
.rental-terms .rt-label{font-size:11px!important;letter-spacing:.1em;font-weight:700;line-height:1.6!important;color:#78602f;margin:0 0 12px!important;max-width:none}
.rental-terms h3{font-size:clamp(22px,2.1vw,27px)!important;line-height:1.25!important;letter-spacing:-.025em;color:var(--rt-ink);margin:0 0 22px!important;max-width:none;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;text-wrap:balance}
.rental-terms p{font-size:16px!important;line-height:1.65!important;color:var(--rt-muted);margin:0;max-width:70ch}
.rental-terms dl,.rental-terms dd{margin:0}
.rental-terms .rt-price-list>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--rt-line)}
.rental-terms .rt-price-list dt{font-size:16px;font-weight:700;line-height:1.4}.rental-terms .rt-price-list dt span{display:block;font-size:14px;font-weight:400;color:var(--rt-muted);margin-top:3px}
.rental-terms .rt-price-list dd{font-size:30px;font-weight:700;white-space:nowrap;line-height:1.3}
.rental-terms .rt-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.rental-terms .rt-facts>div{border-top:1px solid var(--rt-line);padding-top:15px}
.rental-terms .rt-facts dt{font-size:14px;font-weight:700;line-height:1.5}.rental-terms .rt-facts dd{font-size:29px;font-weight:700;line-height:1.3;margin:10px 0}.rental-terms .rt-facts dd p{font-size:14px!important;font-weight:400;line-height:1.6!important;margin-top:10px}
.rental-terms .rt-tax{font-size:13px!important;margin:14px 0 24px!important;max-width:none}
.rental-terms .rt-notice{background:#f4eddd;border:1px solid #e1d2b3;border-left:4px solid #a87730;border-radius:12px;padding:22px 26px;margin:0 0 24px}
.rental-terms .rt-notice strong{display:block;font-size:18px;line-height:1.45;margin-bottom:7px}.rental-terms .rt-notice p{max-width:90ch}
.rental-terms .rt-details>div{border-top:1px solid var(--rt-line);padding:15px 0}.rental-terms .rt-details>div:last-child{padding-bottom:0}
.rental-terms .rt-details dt{font-size:14px;line-height:1.5;font-weight:700;margin-bottom:5px}.rental-terms .rt-details dd{font-size:16px;line-height:1.65;color:var(--rt-muted)}
.rental-terms .rt-purchase{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.62fr);gap:26px 36px;background:var(--rt-dark);color:#fffefa;border:1px solid var(--rt-dark);border-radius:18px;padding:34px;margin:24px 0}
.rental-terms .rt-purchase .rt-label{color:#e4c88d}.rental-terms .rt-purchase h3{color:#fffefa;font-size:clamp(26px,3vw,34px)!important;margin-bottom:16px!important}.rental-terms .rt-purchase p{color:#e0e9e3}
.rental-terms .rt-buy-price{display:flex;flex-direction:column;justify-content:center;border-left:1px solid #63817a;padding-left:32px}.rental-terms .rt-buy-price strong{font-size:clamp(45px,4.8vw,60px);line-height:1.1;letter-spacing:-.04em;color:#f0d699;white-space:nowrap}.rental-terms .rt-buy-price span{font-size:14px;color:#e0e9e3;margin-top:8px}.rental-terms .rt-buy-price b{font-size:17px;line-height:1.5;margin-top:18px}
.rental-terms .rt-purchase-note{grid-column:1/-1;border-top:1px solid #63817a;padding-top:20px;font-size:14px!important;max-width:none}
.rental-terms .rt-seo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 32px}.rental-terms .rt-seo h3{margin-bottom:12px!important}
.rental-terms .rt-seo-table{width:100%;border-collapse:collapse;background:transparent;color:var(--rt-ink);font-size:15px;line-height:1.5;border:0;margin:0;align-self:start}
.rental-terms .rt-seo-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.rental-terms .rt-seo-table th,.rental-terms .rt-seo-table td{padding:13px 10px;border:0;border-bottom:1px solid var(--rt-line);background:transparent;text-align:left;vertical-align:middle}
.rental-terms .rt-seo-table thead th{font-size:12px;color:var(--rt-muted);font-weight:700}.rental-terms .rt-seo-table tbody th{font-weight:400}.rental-terms .rt-seo-table td{font-size:24px;font-weight:700;text-align:right;white-space:nowrap}.rental-terms .rt-seo-table thead th:last-child{text-align:right}
.rental-terms .rt-seo-note{grid-column:1/-1;border-top:1px solid var(--rt-line);padding-top:18px;font-size:14px!important;max-width:none}.rental-terms .rt-seo-note strong{display:block;color:var(--rt-ink);margin-bottom:5px}
@media(max-width:800px){.rental-terms .rt-top,.rental-terms .rt-grid,.rental-terms .rt-seo{grid-template-columns:minmax(0,1fr)}.rental-terms .rt-purchase{gap:24px;grid-template-columns:minmax(0,1fr) minmax(170px,.6fr)}.rental-terms .rt-buy-price{padding-left:22px}}
@media(max-width:560px){.rental-terms{margin-top:26px}.rental-terms .rt-card{padding:24px 20px}.rental-terms .rt-notice{padding:20px}.rental-terms .rt-purchase{grid-template-columns:minmax(0,1fr);padding:26px 22px}.rental-terms .rt-buy-price{border-left:0;border-top:1px solid #63817a;padding:22px 0 0}.rental-terms .rt-facts{gap:18px}.rental-terms .rt-facts dd{font-size:25px}.rental-terms .rt-seo-table th,.rental-terms .rt-seo-table td{padding:12px 4px}.rental-terms .rt-label{letter-spacing:.07em}}
