.world-place .place-clock { padding:clamp(24px,4vw,40px) 16px; margin:0 0 20px; text-align:center; border:1px solid var(--he-line); border-radius:var(--he-radius); background:var(--he-surface); }
.world-place .place-local-time { font-size:clamp(46px,11vw,128px); font-weight:300; font-variant-numeric:tabular-nums; letter-spacing:-.055em; line-height:1.1; margin:16px 0; white-space:nowrap; }
.world-place #place-local-date { color:#d8e1eb; font-size:clamp(16px,2vw,22px); }
.world-place .place-zone { color:var(--he-muted); font-size:14px; }
.world-place .place-authority { display:inline-block; padding:8px 14px; margin:12px 0 0; border:1px solid var(--he-line); border-radius:12px; font-size:13px; }
.world-place .place-authority[data-state="calibrated"] { color:#a4e8c5; background:#112a23; }
.world-place .place-authority[data-state="fallback"] { color:#efd591; background:#2c2618; }
.world-place .place-context-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.world-place .place-panel { padding:clamp(20px,2.5vw,28px); border:1px solid var(--he-line); border-radius:var(--he-radius); background:var(--he-surface); margin-bottom:20px; min-width:0; }
.world-place .place-panel h2 { margin:0 0 14px; font-size:24px; line-height:1.3; font-weight:500; }
.world-place .place-panel p { color:var(--he-muted); line-height:1.7; }
.world-place .place-map { display:block; width:100%; height:auto; border-radius:12px; overflow:hidden; }
.world-place .place-coordinates { font-variant-numeric:tabular-nums; font-size:14px; }
.world-place .place-note { font-size:13px; }
.world-place .place-panel a { color:#c4def9; text-underline-offset:3px; }
.world-place .place-panel dl { margin:16px 0; }
.world-place .place-panel dl > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; padding:12px 0; border-bottom:1px solid var(--he-line); }
.world-place .place-panel dt { color:var(--he-muted); font-size:14px; }
.world-place .place-panel dd { margin:0; font-variant-numeric:tabular-nums; }
.world-place .place-solar-values dd { font-size:20px; }
.world-place .city-time-facts { margin-bottom:24px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.world-place .city-time-facts > div { padding:20px; background:var(--he-surface); border-color:var(--he-line); }
.world-place .city-time-facts span { color:var(--he-muted); }
.world-place .city-historical-weather { width:100%; max-width:none; margin:0 0 32px; }
.world-place .place-availability { font-weight:600; color:#dce5ed !important; }
.world-place .place-sources { margin-top:20px; }
.world-place .place-sources summary { cursor:pointer; min-height:28px; line-height:1.5; }
.world-place .place-ad-banner { border-radius:var(--he-radius); }
.world-place .heure-weather-card { width:100%; max-width:none; background:var(--he-surface); border-color:var(--he-line); border-radius:var(--he-radius); }
.world-place .heure-weather-card :is(p,small,dt) { color:var(--he-muted); }
@media(max-width:700px) {
 .world-place .place-context-grid { grid-template-columns:minmax(0,1fr); gap:0; }
 .world-place .city-time-facts { grid-template-columns:minmax(0,1fr); }
 .world-place .place-panel dl > div { grid-template-columns:minmax(0,1fr); gap:6px; }
 .world-place .place-solar-values > div { grid-template-columns:minmax(0,1fr) auto !important; }
}
.world-place .heure-weather-card__metrics dd small { display:block; margin-top:8px; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.world-place .city-historical-weather .heure-weather-card { padding:0; border:0; box-shadow:none; background:transparent; }
.world-place .city-historical-weather > .editorial-kicker { text-align:start; }
.world-place .city-historical-weather > h2 { text-align:start; }
.world-place .city-historical-weather {
 background:var(--he-surface);
 border-color:var(--he-line);
 overflow:hidden;
 max-width:none;
 margin:24px 0;
 padding:clamp(20px,2.5vw,28px);
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:12px;
 text-align:start;
}
.world-place .city-historical-weather > :not(.heure-weather-card) { grid-column:1 / -1; }
.world-place .city-historical-weather > p { max-width:72ch; margin:0; }
.world-place .city-historical-weather > h2 { margin:0; }
.world-place .city-historical-weather::before {
 content:""; grid-column:1 / -1; display:block; width:40px; height:2px; margin:0 0 4px;
 background:#ffc95a;
}
.world-place .city-historical-weather .heure-weather-card {
 padding:22px; margin:0; border:1px solid rgba(187,211,244,.22);
 border-left:5px solid #ffc45b; border-radius:18px;
 background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.045));
 box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.world-place .city-historical-weather .heure-weather-card:nth-of-type(2) {
 border-left-color:#b49aff; background:linear-gradient(135deg,rgba(180,154,255,.17),rgba(255,255,255,.045));
}
.world-place .city-historical-weather .heure-weather-card__state {
 color:#fff2c9; border-color:rgba(255,212,118,.6); background:rgba(255,190,71,.16);
}
.world-place .city-historical-weather .heure-weather-card__symbol {
 background:rgba(255,255,255,.13); border-color:rgba(255,255,255,.2); color:#ffe082;
}
.world-place .city-historical-weather .heure-weather-card__metrics { border:0; gap:8px; background:transparent; }
.world-place .city-historical-weather .heure-weather-card__metrics div {
 display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:92px;
 border-radius:12px; background:rgba(7,15,30,.34);
}
.world-place .city-historical-weather .heure-weather-card__metrics dt { max-width:15ch; line-height:1.4; text-align:center; }
.world-place .city-historical-weather .heure-weather-card__metrics dd { align-self:center; margin:12px 0 0; color:#fff; font-size:18px; line-height:1; text-align:center; white-space:nowrap; }
.world-place .climate-context {
 background:linear-gradient(145deg,#172c3f,#213952 55%,#432939); border-color:#49637c;
}
.world-place .city-historical-weather .climate-context { margin:20px 0 0; text-align:left; }
.world-place .city-time-summary { grid-template-columns:repeat(4,minmax(0,1fr)); margin:20px 0; }
.world-place .city-time-summary > div { padding:18px; border-radius:14px; background:var(--he-surface); }
.world-place .city-time-summary strong { display:block; margin-top:7px; font-size:17px; }
.world-place .city-time-summary a { color:inherit; text-decoration-color:rgba(196,222,249,.55); text-underline-offset:3px; }
@media(max-width:700px) { .world-place .city-time-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.world-place .climate-temperature-chart { display:block; width:100%; margin:24px 0 12px; border-radius:14px; background:rgba(5,16,29,.28); }
.world-place .climate-trend-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:22px 0; }
.world-place .climate-trend-summary div { padding:15px; border:1px solid rgba(255,255,255,.15); border-radius:14px; background:rgba(5,16,29,.25); }
.world-place .climate-trend-summary span { display:block; color:#b9c9da; font-size:12px; }
.world-place .climate-trend-summary strong { display:block; margin-top:4px; color:#fff; font-size:23px; letter-spacing:-.03em; }
.world-place .climate-trend-summary div:last-child { border-color:rgba(255,190,93,.7); background:linear-gradient(135deg,rgba(255,184,73,.2),rgba(218,74,79,.22)); }
.world-place .climate-trend-summary div:last-child strong { color:#ffe18e; }
@media(max-width:600px) { .world-place .climate-trend-summary { grid-template-columns:1fr; } }
@media(max-width:720px) {
 .world-place .city-historical-weather { grid-template-columns:1fr; margin:20px 0; }
}
@media(max-width:500px) {
 .world-place .heure-weather-card__cue { display:flex; flex-wrap:wrap; gap:12px; }
 .world-place .heure-weather-card__cue > div { flex:1 1 140px; }
 .world-place .heure-weather-card__symbol { width:36px; height:36px; font-size:24px; }
}
.world-place .meteoh-discovery { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:8px; padding:18px 20px; border:1px solid rgba(255,255,255,.17); border-radius:16px; background:rgba(5,15,28,.3); text-align:left; }
.world-place .meteoh-discovery span { color:#ffc95a; font-weight:750; letter-spacing:.08em; text-transform:uppercase; font-size:12px; }
.world-place .meteoh-discovery p { margin:0; color:var(--he-muted); }
.world-place .meteoh-discovery a { flex:0 0 auto; color:#fff; font-weight:700; text-underline-offset:3px; }
@media(max-width:700px) { .world-place .meteoh-discovery { align-items:flex-start; flex-direction:column; } }

/* MeteOh discovery banner: compact public excerpt; the complete history belongs to MeteOh. */
.world-place .meteoh-history-banner { grid-column:1 / -1; padding:18px 0 0; border:0; border-top:1px solid var(--he-line); border-radius:0; background:transparent; text-align:left; }
.world-place .meteoh-history-banner__intro { display:flex; align-items:baseline; justify-content:space-between; gap:24px; }
.world-place .meteoh-history-banner__brand { flex:0 0 auto; color:#ffc95a; font-size:12px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.world-place .meteoh-history-banner__intro p { margin:0; max-width:44rem; text-align:left; }
.world-place .meteoh-history-banner__dates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:22px 0 14px; }
.world-place .meteoh-history-banner__dates article { padding:15px 17px; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(7,15,30,.3); }
.world-place .meteoh-history-banner__dates time { display:block; color:#d7e1ec; font-size:13px; font-weight:700; }
.world-place .meteoh-history-banner__dates dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:14px 0 0; }
.world-place .meteoh-history-banner__dates dl > div { padding:0; border:0; }
.world-place .meteoh-history-banner__dates dt { color:var(--he-muted); font-size:12px; }
.world-place .meteoh-history-banner__dates dd { margin:3px 0 0; color:#fff; font-size:20px; font-weight:750; font-variant-numeric:tabular-nums; }
.world-place .meteoh-history-banner__source { margin:0; color:var(--he-muted); font-size:13px; }
.world-place .meteoh-history-banner__proof { margin-top:12px; color:var(--he-muted); font-size:13px; }
.world-place .meteoh-history-banner__proof summary { cursor:pointer; }
.world-place .meteoh-history-banner__proof dl { margin:10px 0 0; }
.world-place .meteoh-history-banner__proof dl > div { grid-template-columns:minmax(9rem,1fr) 2fr; padding:7px 0; }
.world-place .meteoh-history-banner__proof dd { overflow-wrap:anywhere; }
.world-place .meteoh-history-banner__cta { display:inline-block; margin-top:20px; color:#fff; font-weight:700; text-underline-offset:3px; }
@media(max-width:700px) { .world-place .meteoh-history-banner__intro { align-items:flex-start; flex-direction:column; gap:8px; } .world-place .meteoh-history-banner__dates { grid-template-columns:1fr; } }
@media(max-width:500px) { .world-place .meteoh-history-banner__proof dl > div { grid-template-columns:1fr; gap:3px; } }

/* Place pages keep a compact reading rhythm from the clock to onward navigation. */
.he-world-design > main.world-place { padding-block:clamp(32px,4vw,56px) !important; }
.world-place > .editorial-lead { margin-bottom:28px; }
.world-place .city-time-facts > div { padding:16px; }
.world-place .city-related-places { margin-top:24px; }
.world-place .editorial-links { width:100%; margin-top:24px; padding:20px; }
.world-place .editorial-links h2 { margin:0 0 12px; }
.world-place .editorial-links a { min-height:44px; display:flex; align-items:center; }
.world-place ~ .world-footer { margin-top:16px; }
@media(min-width:701px) {
 .world-place .editorial-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; }
 .world-place .editorial-links h2 { width:100%; }
}
@media(max-width:700px) {
 .world-place .city-time-facts { gap:0; border-block:1px solid var(--he-line); }
 .world-place .city-time-facts > div { padding:12px 0; border:0; border-radius:0; background:transparent; }
 .world-place .city-time-facts > div + div { border-top:1px solid var(--he-line); }
 .world-place .city-time-summary { grid-template-columns:minmax(0,1fr); }
 .world-place .city-time-summary > div { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 16px; }
 .world-place .city-time-summary strong { margin:0; font-size:16px; }
}
