/* Public City and advertiser presentation. Shared fonts/breadcrumbs own typography. */
.city-hero-facts { margin-top:24px; color:#53637d; font-size:14px; line-height:1.9; }
.city-hero { background:radial-gradient(ellipse at 80% 20%,#e3eeed,transparent 60%),#f8faf7; }
.city-hero-inner { gap:56px; }
.city-hero-lead { font-size:17px; max-width:620px; line-height:1.75; }
.city-hero-illustration { border-radius:32px; box-shadow:0 22px 70px #223b6212; }
.city-journey { padding-block:88px; }
.city-journey-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.city-journey-grid>a { display:flex; flex-direction:column; color:#20324d; text-decoration:none; padding:24px; border:1px solid #dbe3e8; border-radius:24px; background:#fff; transition:transform .2s,box-shadow .2s; }
.city-journey-grid>a:hover { transform:translateY(-4px); box-shadow:0 16px 36px #15366412; }
.city-journey-grid>a:focus-visible { outline:3px solid #0c29ab; outline-offset:5px; }
.city-sector-art { display:block; width:100%; }
.city-sector-svg { display:block; width:100%; height:100%; max-height:230px; }
.city-journey-grid h3 { font-size:23px; line-height:1.3; margin:14px 0 0; }
.city-journey-grid p { line-height:1.7; color:#52627a; margin:14px 0 24px; }
.city-journey-grid b { margin-top:auto; font-size:14px; color:#0c29ab; }
.city-journey-note { max-width:850px; color:#52627a; line-height:1.7; font-size:14px; margin:24px 0 0; }
.city-district-list { gap:8px; }
.city-district-list button { min-height:72px; border-radius:14px; border:1px solid transparent; transition:background .2s,border-color .2s; }
.city-district-list button.is-active { border-color:#9db5d7; background:#eaf0ff; box-shadow:inset 3px 0 #0c29ab; }
.city-district-list button:hover { background:#f0f4f8; }
.city-district-list button strong { font-size:14px; }
.city-map-grid .city-scene { height:170px; background:#f4f8f8; border-radius:18px 18px 0 0; overflow:hidden; }
.city-map-grid .city-scene::before,.city-map-grid .city-scene::after { display:none; }
.city-district-block { border-radius:20px; overflow:hidden; box-shadow:0 6px 20px #173b6710; }
.city-block-copy { padding:18px; }
.city-map-grid { gap:20px; }
.city-list-card { border-radius:18px; }
.city-demo-tours { border-radius:14px; border:1px solid #d7e1ee; padding:14px; }
.city-preview-note p { font-size:14px; }
.city-advert-faq { max-width:920px; }
.city-advert-faq details { border-bottom:1px solid #dbe3ef; padding:22px 0; }
.city-advert-faq summary { cursor:pointer; font-weight:700; font-size:18px; line-height:1.5; }
.city-advert-faq p { color:#52627a; line-height:1.8; }
.advertise-plan-grid article { border-radius:20px; box-shadow:0 12px 32px #15366408; }
.city-art-truck { animation:city-delivery 4s ease-in-out 1; }
.city-art-clean { transform-origin:210px 145px; animation:city-cleaning 2s ease-in-out 2 alternate; }
.city-art-sparkle { animation:city-glint 4s ease-in-out 1; }
.city-art-plant { transform-origin:64px 100px; animation:city-cleaning 2s ease-in-out 2 alternate; }
@keyframes city-delivery { 0%,100% {transform:translateX(-8px)} 50% {transform:translateX(8px)} }
@keyframes city-cleaning { from{transform:rotate(-6deg)} to{transform:rotate(6deg)} }
@keyframes city-glint { 0%,100%{opacity:.5} 50%{opacity:1} }
@media(max-width:900px) { .city-journey-grid{grid-template-columns:1fr} .city-journey-grid>a{display:grid;grid-template-columns:160px 1fr;column-gap:24px} .city-sector-art{grid-row:1/5} .city-journey-grid p{margin:10px 0 18px} }
@media(max-width:560px) { .city-hero-inner{gap:28px}.city-journey{padding-block:52px}.city-journey-grid>a{display:flex;padding:22px}.city-sector-art{max-height:170px}.city-map-grid{gap:12px}.city-map-grid .city-scene{height:140px}.city-hero-lead{font-size:16px}.city-advert-faq summary{font-size:16px} }
@media(prefers-reduced-motion:reduce) { .city-sector-svg *{animation:none!important}.city-journey-grid>a{transition:none}.city-journey-grid>a:hover{transform:none} }
@media(forced-colors:active) { .city-journey-grid>a,.city-district-block,.city-district-list button.is-active{border:1px solid CanvasText}.city-sector-svg{forced-color-adjust:none} }

.city-status,.city-market-picker>span {color:#53637d}
.city-principles .principle-number{color:#a83d2d}
.city-scene .city-billboard{left:auto;right:10px;bottom:10px;width:auto;height:auto;padding:5px 8px;border-radius:6px;transform:none;max-width:100px}
.city-scene .city-billboard::before{display:none}
.city-scene .city-billboard b{font-size:9px}

.advertise-body .advertise-eyebrow,.advertise-principle-grid article>span{color:#92501d}
.advertise-hero .advertise-eyebrow{color:#f0ba76}
.advertise-form-intro .advertise-eyebrow{color:#c7d6ee}
.advertise-field label span{color:#53637d}
.advertise-section-heading{display:block;max-width:900px;margin-bottom:32px}
.advertise-section-heading h2{max-width:24ch;margin:14px 0 20px;font-size:clamp(30px,3.4vw,46px);line-height:1.13}
.advertise-section-heading>p:last-child{max-width:76ch;font-size:16px;line-height:1.75;margin:0}
.advertise-principle-grid article{border-radius:0 0 18px 18px}
.city-district-scene .city-sector-svg{max-height:340px}
