
    /* Shared city-template repair: balanced editorial sections and high-contrast cards. */
    .city-page .city-photo{position:relative;overflow:visible!important;clip-path:none!important;border-radius:0!important;margin-bottom:24px}
    .city-page .city-photo img{display:block;width:100%;height:100%;object-fit:cover;clip-path:none!important;border-radius:48% 48% 18px 18px!important}
    .city-photo-badge{position:absolute;right:-18px;bottom:24px;z-index:4;width:112px;height:112px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--lime);color:#07120d!important;border:6px solid #071d2a;box-shadow:0 14px 30px rgba(0,0,0,.28);font-family:Montserrat,sans-serif;text-align:center;transform:rotate(7deg)}
    .city-photo-badge b{display:block;color:#07120d!important;font-size:.88rem;line-height:1;letter-spacing:.08em}
    .city-photo-badge small{display:block;color:#07120d!important;font-size:.66rem;line-height:1;margin-top:6px;letter-spacing:.22em}

    .city-page .city-context{position:relative;border-top:0!important}
    .city-page .city-context::before{content:"";position:absolute;inset:0 0 auto;height:8px;background:linear-gradient(90deg,var(--city-accent) 0 18%,var(--lime) 18% 52%,var(--city-accent-2) 52% 100%)}
    .city-context-layout{grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr)!important;align-items:stretch!important;gap:clamp(28px,4vw,56px)!important}
    .city-context-layout>div{align-self:center}
    .city-context-layout .city-market-lens{height:100%;min-height:100%;display:flex;flex-direction:column;justify-content:center;margin:0;padding:clamp(30px,4vw,48px);border-top:7px solid var(--lime)}
    .city-context-layout .city-market-lens p:last-child{margin-bottom:0}
    .city-context-layout .city-market-lens .text-link{color:var(--lime)!important}

    .city-competition-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:34px}
    .city-competition-copy{max-width:none!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,4vw,54px);row-gap:14px}
    .city-competition-copy h2,.city-competition-copy>.eyebrow,.city-competition-copy>.shop-divider{grid-column:1/-1}
    .city-competition-copy p{max-width:72ch;margin:0}
    .city-signal-board{margin:0!important;padding:clamp(28px,4vw,42px)!important;border-top:7px solid var(--lime);width:100%}
    .city-signal-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px!important;margin-top:20px!important}
    .city-signal-list li{min-width:0;margin:0!important;padding:16px 16px 16px 38px!important;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);display:flex;align-items:center;line-height:1.45}
    .city-signal-list li::before{left:14px!important;top:50%!important;transform:translateY(-50%);color:var(--lime)!important}

    .city-page :is(.season-grid,.semantic-grid) article{background:#090909;color:#fff}
    .city-page :is(.season-grid,.semantic-grid) article :is(h3,h4,strong,b){color:#fff!important}
    .city-page :is(.season-grid,.semantic-grid) article :is(p,small,li){color:#e6efec!important}
    .city-page .semantic-grid article .entity-tag{color:var(--lime)!important}

    @media(max-width:900px){
      .city-context-layout{grid-template-columns:1fr!important}
      .city-context-layout .city-market-lens{min-height:0}
      .city-competition-copy{grid-template-columns:1fr}
      .city-competition-copy h2,.city-competition-copy>.eyebrow{grid-column:auto}
      .city-signal-list{grid-template-columns:repeat(2,minmax(0,1fr))}
    }
    @media(max-width:620px){
      .city-page .city-photo,.city-page .city-photo img{min-height:260px!important;height:260px!important;aspect-ratio:auto!important;clip-path:none!important}
      .city-page .city-photo{overflow:visible!important;border-radius:0!important;margin-bottom:32px!important}
      .city-page .city-photo img{border-radius:46% 46% 14px 14px!important}
      .city-photo-badge{width:86px;height:86px;right:8px;bottom:-24px;border-width:4px}
      .city-photo-badge b{font-size:.7rem}.city-photo-badge small{font-size:.55rem;margin-top:4px}
      .city-signal-list{grid-template-columns:1fr}
      .city-signal-list li{min-height:0}
    }
  