/* ToolsForModels Cities — sprint 17 — visual alignment with shared ecosystem tokens.
   One non-destructive override loaded after the legacy and sprint CSS layers.
   No hide/show changes to indexable text, navigation or module destinations. */
:root{
  --tfm-brand-bg:#fbfafc;
  --tfm-brand-ink:#171717;
  --tfm-brand-ink-light:#3d3b3e;
  --tfm-brand-muted:#66615f;
  --tfm-brand-surface:#fff;
  --tfm-brand-warm:#f7f4ee;
  --tfm-brand-border:#e4dedb;
  --tfm-brand-accent:#9e2c2c;
  --tfm-brand-focus:#6c55f7;
  --tfm-brand-radius:18px;
  --tfm-brand-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
/* Consistent modern UI typography and section rhythm across all six locales. */
body[data-tfm-module="cities"]{
  color:var(--tfm-brand-ink);background:var(--tfm-brand-bg);
  font-family:var(--tfm-brand-font);-webkit-font-smoothing:antialiased;
}
body[data-tfm-module="cities"] :is(h1,h2,h3,h4),
body[data-tfm-module="cities"] :is(.city-guide-hero h1,.cities-home-copy h1,.city-guide-main h2),
body[data-tfm-module="cities"] :is(.city-guide-hero h1,.cities-home-copy h1,.city-guide-main h2) *{
  font-family:var(--tfm-brand-font)!important;
}
body[data-tfm-module="cities"] :is(h1,h2,h3){text-wrap:balance;overflow-wrap:break-word}
body[data-tfm-module="cities"] .eyebrow{color:var(--tfm-brand-accent);font-family:var(--tfm-brand-font);font-weight:800;letter-spacing:.12em}
body[data-tfm-module="cities"] :is(.city-guide-hero h1,.cities-home-copy h1){
  font-family:var(--tfm-brand-font)!important;font-size:clamp(2.65rem,5.5vw,5.35rem)!important;
  font-weight:830!important;line-height:1.035!important;letter-spacing:-.052em!important;
  color:var(--tfm-brand-ink);max-width:920px;
}
body[data-tfm-module="cities"] :is(.city-guide-main h2,.cities-section-intro h2,.cities-all-head h2,.cities-atlas-home h2,.cities-method-strip h2){
  font-family:var(--tfm-brand-font)!important;font-size:clamp(1.65rem,3.1vw,2.6rem)!important;
  line-height:1.13!important;font-weight:800!important;letter-spacing:-.04em!important;
}
body[data-tfm-module="cities"] :is(.city-guide-main h3,.cities-featured h3){font-family:var(--tfm-brand-font)!important;line-height:1.3}
body[data-tfm-module="cities"] :is(.city-guide-hero,.cities-home-hero){background:var(--tfm-brand-warm)!important}
body[data-tfm-module="cities"] .city-guide-content{background:var(--tfm-brand-bg)!important}
body[data-tfm-module="cities"] .city-guide-main p{color:var(--tfm-brand-ink-light)}
body[data-tfm-module="cities"] :is(.city-market-intro,.cities-home-lead){color:var(--tfm-brand-ink-light)}
body[data-tfm-module="cities"] .city-country-line{color:var(--tfm-brand-muted);font-weight:800}
/* Shared ecosystem chrome, replace the legacy serif logo and avoid tiny clipped language labels. */
body[data-tfm-module="cities"] .tfm-unit-header{
  background:rgba(247,244,238,.98)!important;color:var(--tfm-brand-ink)!important;
  border-color:var(--tfm-brand-border)!important;
}
body[data-tfm-module="cities"] .tfm-unit-header .tfm-unit-brand,
body[data-tfm-module="cities"] .tfm-unit-footer .tfm-unit-footbrand{
  font-family:var(--tfm-brand-font)!important;font-weight:850!important;letter-spacing:-.045em!important;
}
body[data-tfm-module="cities"] .tfm-unit-module{color:var(--tfm-brand-muted);font-weight:800}
body[data-tfm-module="cities"] .tfm-unit-header .tfm-unit-lang{
  font-family:var(--tfm-brand-font)!important;min-width:58px;color:var(--tfm-brand-ink);
  font-weight:700;text-overflow:clip!important;
}
body[data-tfm-module="cities"] .tfm-unit-menu-toggle{
  background:#fff;border-color:var(--tfm-brand-border);font-weight:750;
}
body[data-tfm-module="cities"] .tfm-mobile-menu-nav{
  background:rgba(250,249,247,.99)!important;border-color:var(--tfm-brand-border)!important;
}
body[data-tfm-module="cities"] :is(.tfm-unit-breadcrumb,.tfm-unit-breadcrumb a){color:var(--tfm-brand-muted)}
body[data-tfm-module="cities"] :is(a,button,select,summary):focus-visible{
  outline:3px solid var(--tfm-brand-focus)!important;outline-offset:3px;
}
/* Balanced, touch-friendly action hierarchy: a distinct primary plus two secondary routes. */
body[data-tfm-module="cities"].city-page .city-primary-actions{gap:10px!important;margin-top:24px!important}
body[data-tfm-module="cities"].city-page .city-primary-action{
  min-height:94px;padding:15px 16px;gap:10px;border-radius:var(--tfm-brand-radius);
  border:1px solid var(--tfm-brand-border);background:#fff;color:var(--tfm-brand-ink);
  box-shadow:0 3px 10px rgba(23,23,23,.025);text-decoration:none;
}
body[data-tfm-module="cities"].city-page .city-primary-action-main{
  background:var(--tfm-brand-ink)!important;border-color:var(--tfm-brand-ink)!important;color:white!important;
}
body[data-tfm-module="cities"].city-page .city-primary-action span{
  font-size:.96rem!important;line-height:1.3!important;font-weight:750;
}
body[data-tfm-module="cities"].city-page .city-primary-action b{
  font-size:.78rem!important;line-height:1.3!important;font-weight:650;
}
body[data-tfm-module="cities"].city-page .city-primary-action:hover{border-color:var(--tfm-brand-accent)}
body[data-tfm-module="cities"] .city-market-tags .event-tag{background:#f3e6e3}
body[data-tfm-module="cities"] :is(.city-action-playbook,.city-market-comparison,.city-sprint2-brief,.city-sprint7-evidence,.city-sprint8-evidence,.city-sprint9-fieldnotes,.city-sprint10-fieldnotes,.city-calendar-card,.city-rail-card){
  border-color:var(--tfm-brand-border);border-radius:var(--tfm-brand-radius);
}
body[data-tfm-module="cities"] :is(.city-action-playbook,.city-sprint7-evidence,.city-sprint8-evidence,.city-calendar-card){background:#f7f4ee}
body[data-tfm-module="cities"] :is(.city-market-comparison,.city-sprint2-brief,.city-sprint9-fieldnotes,.city-sprint10-fieldnotes){background:#fff}
body[data-tfm-module="cities"] :is(.city-action-playbook,.city-market-comparison,.city-sprint2-brief,.city-sprint7-evidence,.city-sprint8-evidence,.city-sprint9-fieldnotes,.city-sprint10-fieldnotes) h2{
  font-family:var(--tfm-brand-font)!important;font-weight:800!important;letter-spacing:-.035em;
}
body[data-tfm-module="cities"] :is(.city-market-comparison-grid a,.city-curated-directory li a){border-radius:12px}
body[data-tfm-module="cities"] .btn.primary{background:var(--tfm-brand-ink);border-color:var(--tfm-brand-ink);border-radius:14px}
body[data-tfm-module="cities"] :is(.city-rail-primary,.city-sprint2-actions a,.city-event-link){text-underline-offset:4px}
/* Mobile: legible introductory text; no artificial two-line clamp. */
@media(max-width:960px){
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-identity{min-width:0;gap:6px;overflow:visible}
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-headrow{
    display:grid!important;grid-template-columns:minmax(0,1fr) 84px auto!important;gap:7px!important;
  }
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-brand{
    font-size:clamp(1rem,4.35vw,1.15rem)!important;overflow:visible;text-overflow:clip;
  }
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-module{
    max-width:none;font-size:.6rem;letter-spacing:.025em;padding-left:6px;white-space:nowrap;
  }
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-lang{
    grid-column:2!important;grid-row:1!important;min-width:74px!important;max-width:84px!important;
    font-size:.78rem!important;padding-left:5px!important;padding-right:14px!important;
  }
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-menu-toggle{
    grid-column:3!important;grid-row:1!important;min-width:63px!important;min-height:44px!important;
  }
}
@media(max-width:760px){
  body[data-tfm-module="cities"].city-page .city-guide-hero{padding:25px 0 28px!important}
  body[data-tfm-module="cities"].city-page .city-guide-hero h1{
    font-size:clamp(2.25rem,8.1vw,3.55rem)!important;line-height:1.08!important;
    font-weight:830!important;margin:8px 0 14px!important;
  }
  body[data-tfm-module="cities"].city-page .city-guide-hero .eyebrow{font-size:.69rem!important;letter-spacing:.12em!important}
  body[data-tfm-module="cities"].city-page .city-country-line{margin:0 0 15px!important;font-size:.76rem!important}
  body[data-tfm-module="cities"].city-page .city-market-intro{
    display:block!important;-webkit-line-clamp:unset!important;-webkit-box-orient:unset!important;
    overflow:visible!important;text-overflow:clip!important;
    max-height:none!important;white-space:normal!important;max-width:65ch!important;
    font-size:1rem!important;line-height:1.56!important;margin:0!important;color:var(--tfm-brand-ink-light);
  }
  body[data-tfm-module="cities"].city-page .city-primary-actions{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:22px!important;
  }
  body[data-tfm-module="cities"].city-page .city-primary-action{min-height:84px;padding:13px!important;gap:8px!important}
  body[data-tfm-module="cities"].city-page .city-primary-action-main{grid-column:1/-1;min-height:70px!important}
  body[data-tfm-module="cities"].city-page .city-primary-action span{font-size:.88rem!important;line-height:1.3!important}
  body[data-tfm-module="cities"].city-page .city-primary-action b{font-size:.74rem!important;line-height:1.35!important}
  body[data-tfm-module="cities"].city-page .city-guide-content{padding:38px 0 64px!important}
  body[data-tfm-module="cities"].city-page .city-guide-main>section+section{margin-top:30px!important}
  body[data-tfm-module="cities"].city-page .city-guide-main h2{
    font-size:clamp(1.6rem,6vw,2.1rem)!important;line-height:1.18!important;margin-bottom:14px!important;
  }
  body[data-tfm-module="cities"].city-page .city-guide-main p{font-size:.96rem!important;line-height:1.65!important}
  body[data-tfm-module="cities"] .cities-home-copy h1{font-size:clamp(2.25rem,8vw,3.55rem)!important;max-width:620px!important;line-height:1.08!important}
  body[data-tfm-module="cities"] .cities-home-lead{font-size:1rem!important;line-height:1.58!important}
  body[data-tfm-module="cities"] :is(.city-action-playbook,.city-market-comparison,.city-sprint2-brief,.city-sprint7-evidence,.city-sprint8-evidence,.city-sprint9-fieldnotes,.city-sprint10-fieldnotes){padding:18px!important}
}
@media(max-width:385px){
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-headrow{grid-template-columns:minmax(0,1fr) 75px auto!important}
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-lang{max-width:75px!important}
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-module{display:none}
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-brand{font-size:1rem!important}
  body[data-tfm-module="cities"].city-page .city-primary-action{padding:12px 11px!important}
}
@media(prefers-reduced-motion:reduce){body[data-tfm-module="cities"] *{scroll-behavior:auto!important}}


/* ================================================================
   ToolsForModels Cities — Sprint 18 / homepage visual reference
   Reference: user-provided screenshots of toolsformodels.com/fr/ (01 Nov 2026)
   Editorial monochrome / thin spacious uppercase typography / rules /
   square primary actions / understated underlined secondary actions.
   Keeps all underlying text, links, metadata, scripts and functionality.
   ================================================================ */
:root {
  --tfm-brand-bg:#ffffff;
  --tfm-brand-warm:#ffffff;
  --tfm-brand-ink:#1a1a1a;
  --tfm-brand-ink-light:#5b5b5b;
  --tfm-brand-muted:#6a6a6a;
  --tfm-brand-surface:#ffffff;
  --tfm-brand-border:#d8d8d8;
  --tfm-brand-accent:#1a1a1a;
  --tfm-brand-focus:#1e1e1e;
  --tfm-brand-radius:0px;
  --tfm-editorial-display:"Roboto","Helvetica Neue","Arial",sans-serif;
}
body[data-tfm-module="cities"]{background:#fff!important;color:#1a1a1a!important}
body[data-tfm-module="cities"] :is(.city-guide-hero,.cities-home-hero,.city-guide-content,.cities-atlas-home,.cities-featured,.cities-method-strip,.cities-all){background:#fff!important}
body[data-tfm-module="cities"] :is(.city-guide-hero,.cities-home-hero){border-bottom:1px solid #d8d8d8!important}
body[data-tfm-module="cities"] :is(.cities-home-lead,.city-market-intro,.city-guide-main p,.cities-section-intro>p,.city-atlas-heading>p){color:#626262!important}
body[data-tfm-module="cities"] .eyebrow,
body[data-tfm-module="cities"] :is(.city-fashion-kicker,.city-country-line,.city-feature-country,.city-dna-type,.cities-all-head>p){
  color:#686868!important;font-size:.79rem!important;font-weight:600!important;
  letter-spacing:.17em!important;text-transform:uppercase!important;line-height:1.45!important;
}
/* Fine widely spaced editorial display matches main site's section titles. */
body[data-tfm-module="cities"] :is(.city-guide-hero h1,.cities-home-copy h1,.city-guide-main h2,.cities-section-intro h2,.cities-atlas-intro h2,.cities-all-head h2,.cities-method-strip h2,.city-atlas-heading h2){
  font-family:var(--tfm-editorial-display)!important;
  font-weight:200!important;text-transform:uppercase!important;
  letter-spacing:.067em!important;line-height:1.16!important;
  text-wrap:pretty!important;color:#1a1a1a!important;
  overflow-wrap:normal!important;word-break:normal!important;
}
body[data-tfm-module="cities"] :is(.city-guide-hero h1,.cities-home-copy h1){
  font-size:clamp(2.35rem,6.6vw,5.25rem)!important;letter-spacing:.054em!important;
  margin-bottom:22px!important;max-width:1100px!important;
}
body[data-tfm-module="cities"] :is(.city-guide-main h2,.cities-section-intro h2,.cities-atlas-intro h2,.cities-all-head h2,.cities-method-strip h2,.city-atlas-heading h2){
  font-size:clamp(1.7rem,3.5vw,3rem)!important;letter-spacing:.068em!important;
}
/* First initial contrasts with the lightweight rest; no markup or H1 text changes. */
body[data-tfm-module="cities"] :is(.city-guide-hero h1,.cities-home-copy h1,.city-guide-main h2,.cities-section-intro h2,.cities-atlas-intro h2,.cities-all-head h2,.cities-method-strip h2,.city-atlas-heading h2)::first-letter{
  font-weight:800!important;letter-spacing:0!important;
}
body[data-tfm-module="cities"] :is(.city-guide-main h3,.cities-featured h3,.cities-atlas-home h3){font-family:var(--tfm-brand-font)!important;font-weight:700!important;letter-spacing:-.015em!important}
/* Header exactly of same family as homepage: clean white, brand left, text lang + menu right. */
body[data-tfm-module="cities"] .tfm-unit-header{
  background:#fff!important;border-bottom:1px solid #dedede!important;box-shadow:none!important;
}
body[data-tfm-module="cities"] .tfm-unit-header .tfm-unit-brand{font-family:var(--tfm-brand-font)!important;color:#1a1a1a!important;font-weight:820!important;letter-spacing:-.06em!important}
body[data-tfm-module="cities"] .tfm-unit-module{color:#767676!important;letter-spacing:.15em!important}
body[data-tfm-module="cities"] .tfm-unit-lang{
  width:auto!important;max-width:130px!important;min-width:98px!important;
  color:#171717!important;background:#fff!important;border:0!important;
  border-radius:0!important;padding:8px 19px 8px 5px!important;
  font-weight:700!important;font-size:.88rem!important;letter-spacing:-.015em!important;
  text-overflow:clip!important;box-shadow:none!important;
}
body[data-tfm-module="cities"] .tfm-unit-menu-toggle{
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  padding:7px 1px 7px 7px!important;min-height:44px!important;gap:12px!important;
  color:#171717!important;font-weight:700!important;
}
body[data-tfm-module="cities"] :is(.tfm-mobile-menu-nav,.tfm-unit-navgroup-menu){background:#fff!important;box-shadow:none!important;border-color:#ddd!important}
body[data-tfm-module="cities"] .tfm-unit-breadcrumb{border:0!important;color:#777!important}
body[data-tfm-module="cities"] .tfm-unit-breadcrumb :is(a,span){color:#777!important;font-size:.77rem!important}
/* Photography: editorial grayscale, unrounded, full bleed within original shell. */
body[data-tfm-module="cities"] .cities-editorial-photo{border-radius:0!important;overflow:hidden!important;box-shadow:none!important;background:#e9e9e9!important}
body[data-tfm-module="cities"] .cities-editorial-photo img{filter:grayscale(100%)!important;border-radius:0!important}
body[data-tfm-module="cities"] :is(.city-feature-card,.city-index-card) img{filter:grayscale(100%)}
/* Reduce decorative pills/tiles; thin rules + square edges. */
body[data-tfm-module="cities"] :is(.city-action-playbook,.city-market-comparison,.city-sprint2-brief,.city-sprint7-evidence,.city-sprint8-evidence,.city-sprint9-fieldnotes,.city-sprint10-fieldnotes,.city-calendar-card,.city-rail-card,.city-s12-routes,.city-s13-routes,.city-dna-card,.city-feature-card,.city-index-card){
  border-color:#dedede!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;
}
body[data-tfm-module="cities"] :is(.city-guide-main>section,.cities-section-intro,.cities-atlas-home,.cities-featured,.cities-method-strip){border-color:#dcdcdc!important}
body[data-tfm-module="cities"] :is(.city-market-tags span,.city-market-tags .event-tag,.city-atlas-home .atlas-chip-row a,.city-index-region-nav a,.city-index-explorer a){background:#fff!important;color:#555!important;border-color:#d8d8d8!important;border-radius:0!important}
body[data-tfm-module="cities"] :is(.city-page-jumpnav a,.city-local-nav a,.city-quick-nav a){border-radius:0!important;background:#fff!important;border-color:#dedede!important}
body[data-tfm-module="cities"] :is(.city-guide-main>section + section,.city-atlas-home,.cities-featured,.cities-method-strip){scroll-margin-top:90px}
/* Home-like CTA: one solid black rectangle and plain underlined secondary actions. */
body[data-tfm-module="cities"].city-page .city-primary-actions{
  display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:13px 23px!important;
  margin-top:24px!important;
}
body[data-tfm-module="cities"].city-page .city-primary-action{
  min-height:44px!important;display:flex!important;flex-direction:column!important;
  align-items:flex-start!important;justify-content:center!important;
  flex:none!important;grid-column:auto!important;max-width:100%!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  padding:8px 0!important;background:transparent!important;color:#1d1d1d!important;
  text-decoration:none!important;
}
body[data-tfm-module="cities"].city-page .city-primary-action:not(.city-primary-action-main) span{display:inline!important;text-decoration:underline!important;text-underline-offset:5px;text-decoration-thickness:1.5px}
body[data-tfm-module="cities"].city-page .city-primary-action-main{
  background:#1b1b1b!important;color:white!important;border-radius:1px!important;
  padding:16px 25px!important;min-height:62px!important;
}
body[data-tfm-module="cities"].city-page .city-primary-action span{font-weight:720!important;font-size:.96rem!important}
body[data-tfm-module="cities"].city-page .city-primary-action b{font-weight:450!important;font-size:.75rem!important;opacity:.8}
body[data-tfm-module="cities"] :is(.cities-home-actions,.cities-home-primary){gap:12px 21px!important}
body[data-tfm-module="cities"] .cities-home-action{
  min-height:44px!important;flex:0 1 auto!important;width:auto!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  padding:11px 2px!important;background:transparent!important;color:#171717!important;
  text-align:left!important;
}
body[data-tfm-module="cities"] .cities-home-action span{font-size:.93rem!important;font-weight:720!important;text-decoration:underline!important;text-underline-offset:5px!important}
body[data-tfm-module="cities"] .cities-home-action b{font-weight:450!important;font-size:.74rem!important;color:#555!important}
body[data-tfm-module="cities"] .cities-home-action-primary{
  order:-1!important;border:0!important;background:#1b1b1b!important;color:#fff!important;
  padding:16px 23px!important;min-height:60px!important;
}
body[data-tfm-module="cities"] .cities-home-action-primary span,
body[data-tfm-module="cities"] .cities-home-action-primary b{color:#fff!important;text-decoration:none!important}
body[data-tfm-module="cities"] .cities-home-action:not(.cities-home-action-primary){background:transparent!important}
body[data-tfm-module="cities"] :is(.btn.primary,.city-rail-primary){border-radius:0!important}
body[data-tfm-module="cities"] a{text-underline-offset:4px}
body[data-tfm-module="cities"] :is(a,button,select,summary,input):focus-visible{
  outline:2px solid #111!important;outline-offset:4px!important;
}
/* Homepage-style broad white breathing room, clean dividers. */
body[data-tfm-module="cities"] .city-guide-main>section+section{border-top:1px solid #dedede!important;padding-top:clamp(25px,3.9vw,45px)!important;margin-top:clamp(28px,4.8vw,52px)!important}
body[data-tfm-module="cities"] :is(.city-guide-main p,.cities-home-lead){line-height:1.65!important}
body[data-tfm-module="cities"] .city-guide-main .city-action-playbook{padding:24px 0!important}
body[data-tfm-module="cities"] .city-guide-main .city-rail-card{padding:24px 0!important}
body[data-tfm-module="cities"] .cities-home-copy .eyebrow{margin-bottom:20px!important}
@media(max-width:960px){
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-headrow{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;
    gap:8px!important;align-items:center!important;min-height:69px!important;
  }
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-identity{min-width:0!important;overflow:visible!important}
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-brand{
    font-size:clamp(.99rem,4.35vw,1.45rem)!important;letter-spacing:-.065em!important;
    white-space:nowrap!important;
  }
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-module{display:none!important}
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-lang{
    grid-column:2!important;grid-row:1!important;min-width:82px!important;
    width:clamp(82px,24vw,109px)!important;max-width:109px!important;
    font-size:clamp(.78rem,3.6vw,.96rem)!important;
  }
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-menu-toggle{
    grid-column:3!important;grid-row:1!important;min-width:72px!important;
    padding:6px 1px 6px 3px!important;gap:10px!important;
  }
}
@media(max-width:760px){
  body[data-tfm-module="cities"].city-page .city-guide-hero,
  body[data-tfm-module="cities"] .cities-home-hero{padding-top:22px!important;padding-bottom:35px!important}
  body[data-tfm-module="cities"].city-page .city-guide-hero h1,
  body[data-tfm-module="cities"] .cities-home-copy h1{
    font-size:clamp(2.17rem,9vw,3.5rem)!important;line-height:1.15!important;
    letter-spacing:.054em!important;margin:15px 0 22px!important;
  }
  body[data-tfm-module="cities"].city-page .city-guide-main h2,
  body[data-tfm-module="cities"] :is(.cities-section-intro h2,.cities-atlas-intro h2,.cities-all-head h2,.cities-method-strip h2,.city-atlas-heading h2){
    font-size:clamp(1.72rem,7.4vw,2.5rem)!important;line-height:1.2!important;
    letter-spacing:.054em!important;margin-bottom:20px!important;
  }
  body[data-tfm-module="cities"] .city-guide-main p{font-size:1rem!important;line-height:1.67!important}
  body[data-tfm-module="cities"].city-page .city-market-intro{
    font-size:1rem!important;line-height:1.65!important;color:#626262!important;
    display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;
  }
  body[data-tfm-module="cities"].city-page .city-primary-actions,
  body[data-tfm-module="cities"] .cities-home-primary{display:flex!important;flex-wrap:wrap!important;gap:9px 20px!important;margin-top:23px!important}
  body[data-tfm-module="cities"].city-page .city-primary-action-main{width:auto!important;max-width:100%!important;margin-right:0!important}
  body[data-tfm-module="cities"].city-page .city-primary-action{min-height:44px!important;padding:9px 0!important}
  body[data-tfm-module="cities"].city-page .city-primary-action-main{padding:17px 22px!important;min-height:61px!important}
  body[data-tfm-module="cities"] .cities-home-action{max-width:100%!important}
  body[data-tfm-module="cities"] .cities-home-action-primary{width:auto!important;padding:16px 22px!important}
  body[data-tfm-module="cities"].city-page .city-guide-content{padding:38px 0 80px!important}
  body[data-tfm-module="cities"].city-page .city-guide-main>section+section{margin-top:32px!important;padding-top:28px!important}
  body[data-tfm-module="cities"] .city-guide-main :is(.city-action-playbook,.city-rail-card){padding:20px 0!important}
  body[data-tfm-module="cities"] .cities-editorial-photo{margin-top:28px!important}
}
@media(max-width:360px){
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-headrow{gap:4px!important}
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-brand{font-size:.96rem!important}
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-lang{min-width:77px!important;width:77px!important;font-size:.74rem!important;padding-left:0!important}
  body[data-tfm-module="cities"] .tfm-mobile-menu-header .tfm-unit-menu-toggle{min-width:65px!important;gap:7px!important}
  body[data-tfm-module="cities"] .tfm-unit-menu-label{font-size:.79rem!important}
  body[data-tfm-module="cities"].city-page .city-guide-hero h1,
  body[data-tfm-module="cities"] .cities-home-copy h1{font-size:2.05rem!important}
}
/* Stronger than the Sprint 17 city-only H1 !important selector. */
body[data-tfm-module="cities"].city-page .city-guide-hero h1{
  font-family:var(--tfm-editorial-display)!important;font-weight:200!important;
  text-transform:uppercase!important;letter-spacing:.054em!important;
}
body[data-tfm-module="cities"].city-page .city-guide-hero h1::first-letter{font-weight:800!important}
body[data-tfm-module="cities"] .city-country-line::before{background:#1a1a1a!important}
@media(prefers-reduced-motion:reduce){body[data-tfm-module="cities"] *{scroll-behavior:auto!important}}

/* Cities Sprint 23 — mobile-only accessibility and heading containment (no copy hidden). */
@media(max-width:430px){
  body[data-tfm-module="cities"] :is(.city-guide-hero h1,.cities-home-copy h1,.city-guide-main h2){
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    hyphens:auto;
  }
  body[data-tfm-module="cities"] :is(.cities-home-action,.city-primary-action){
    max-width:100%;
    touch-action:manipulation;
  }
}

/* Sprint 30 — Asian editorial depth: consistent with existing quiet, mobile-first city layout. */
body[data-tfm-module="cities"] .city-guide-main :is(.city-s30-market-depth,.city-s30-logistics){
  border-top:1px solid rgba(20,20,20,.13);
  padding-top:26px;
  margin-top:28px;
}
body[data-tfm-module="cities"] .city-guide-main :is(.city-s30-market-depth,.city-s30-logistics) h2{
  font-size:clamp(1.2rem,2.2vw,1.55rem);
  line-height:1.32;
  overflow-wrap:anywhere;
}
body[data-tfm-module="cities"] .city-guide-main .city-s30-market-depth h3{
  margin-top:20px;
  font-size:1.05rem;
  line-height:1.35;
}
body[data-tfm-module="cities"] .city-guide-main :is(.city-s30-market-depth,.city-s30-logistics) p{
  max-width:72ch;
  line-height:1.75;
}
body[data-tfm-module="cities"] .city-s30-logistics .city-local-source a{
  overflow-wrap:anywhere;
  text-underline-offset:3px;
}
@media(max-width:430px){
 body[data-tfm-module="cities"] .city-guide-main :is(.city-s30-market-depth,.city-s30-logistics){padding-top:20px;margin-top:23px;}
}
