/* Heure-Exacte: shared public visual system. No external assets. */
.he-world-design {
  --he-background: #030a11;
  --he-surface: #0b141e;
  --he-text: #f4f6f8;
  --he-muted: #a4b3c3;
  --he-line: #293744;
  --he-link: #f4f6f8;
  --he-link-line: #a52731;
  --he-link-line-hover: #df4351;
  --he-radius: 20px;
  --he-content: 1040px;
  --he-gutter: clamp(16px, 4vw, 40px);
  background: var(--he-background) !important;
  color: var(--he-text) !important;
  min-height: 100vh;
  margin: 0;
  font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
html body.he-world-design { background:var(--he-background) !important; color:var(--he-text) !important; }
.he-world-design .skip-link { position:fixed; z-index:10000; top:.75rem; left:.75rem; padding:.75rem 1rem; border:2px solid #111; background:#fff; color:#111; transform:translateY(-180%); }
.he-world-design .skip-link:focus { transform:translateY(0); }
.he-world-design *, .he-world-design *::before, .he-world-design *::after { box-sizing: border-box; }
.he-world-design :is(a,button,input,select,summary):focus-visible { outline: 2px solid #b6d9ff; outline-offset: 4px; }
.he-world-design main a {
  color: var(--he-link) !important;
  text-decoration-line: underline !important;
  text-decoration-color: var(--he-link-line) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
}
.he-world-design main a:is(:hover,:focus-visible) { text-decoration-color: var(--he-link-line-hover) !important; }
/* Cards and actions retain their component shape; the rule above governs reading and source links. */
.he-world-design main :is(.home-explore,.home-guide-grid,.home-precision-strip,.coverage-actions,.city-related-links) a,
.he-world-design main :is(a.language-directory-item,a.world-cities-cta,a.city-card) {
  color: var(--he-text) !important;
  text-decoration: none !important;
}
.he-world-design :is(p,h1,h2,h3,dd,strong,a) { overflow-wrap: anywhere; }
.he-world-design :is(input,select) { min-width: 0; }
.he-world-design :is(input,button,select,summary) { font: inherit; }
.he-world-design .reference-header { display:grid; grid-template-columns:minmax(280px,1fr) auto minmax(150px,1fr); align-items:center; width:100%; min-height:92px; padding:0 var(--he-gutter); gap:16px; color:var(--he-text) !important; border-bottom:1px solid rgba(255,255,255,.08) !important; background:rgba(3,10,17,.94) !important; }
.he-world-design .reference-brand { display:inline-flex; align-items:center; justify-self:start; gap:19px; color:#fff !important; text-decoration:none; }
.he-world-design .reference-swiss-mark { position:relative; display:block; width:31px; height:31px; flex:0 0 31px; background:#e9272b; }
.he-world-design .reference-swiss-mark::before, .he-world-design .reference-swiss-mark::after { content:""; position:absolute; top:50%; left:50%; background:#fff; transform:translate(-50%,-50%); }
.he-world-design .reference-swiss-mark::before { width:16px; height:5px; }
.he-world-design .reference-swiss-mark::after { width:5px; height:16px; }
.he-world-design .reference-brand-name { color:#fff; font-size:clamp(15px,1.3vw,21px); font-weight:500; line-height:1; letter-spacing:.31em; white-space:nowrap; }
.he-world-design .reference-main-nav { display:flex; align-items:center; justify-content:center; justify-self:center; gap:clamp(28px,3vw,52px); }
.he-world-design .reference-main-nav a { min-height: 44px; display: inline-flex; align-items: center; }
.he-world-design .reference-main-nav a { color:rgba(255,255,255,.78) !important; font-size:13px; text-decoration:none; white-space:nowrap; }
.he-world-design .reference-main-nav a:hover, .he-world-design .reference-main-nav a[aria-current="page"] { color:#fff !important; }
.he-world-design .reference-header-actions { justify-self:end; }
.he-world-design .reference-language-link { min-height: 44px; }
.he-world-design .reference-language-link { display:inline-flex; align-items:center; gap:9px; color:rgba(255,255,255,.84) !important; font-size:12px; font-weight:600; letter-spacing:.08em; text-decoration:none; }
.he-world-design .reference-globe { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; opacity:.7; }
.he-world-design .reference-language-chevron { font-size:15px; opacity:.7; }
.he-world-design .visually-hidden,
.he-home .hero-copy.he-accessible-heading { display: block !important; position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.he-home .hero { height: auto !important; min-height: clamp(380px, 58vh, 590px) !important; padding: 56px var(--he-gutter) 40px !important; background: var(--he-background); }
.he-home .landscape, .he-home .hero-glow { display: none !important; }
.he-home .digital-time { font-size: clamp(56px, 15vw, 196px); letter-spacing: -.055em; line-height: 1.05; text-shadow: none; white-space: nowrap; }
.he-home .digital-time-separator { display:inline-block; margin:0 .055em; color: #e9272b; }
.he-home .digital-date { margin-top: 22px; font-size: clamp(16px, 2vw, 24px); color: #d3dce4; }
.he-home .time-panel::before { color: var(--he-muted); letter-spacing: .19em; font-size: clamp(10px, 1vw, 12px); margin-bottom: 28px; }
.he-home .timezone-pill { color: var(--he-muted); }
.he-home :is(.home-precision-strip,.world-cities,.home-guides,.home-seo-intro,.home-explore,.home-noscript) { width: min(var(--he-content), calc(100% - 2 * var(--he-gutter))); margin-inline: auto; }
.he-home .home-explore { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 24px; margin-block: 0 24px; }
.he-home .home-explore a { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; color: var(--he-text); text-decoration: none; border-bottom: 1px solid #a52731; }
.he-home .home-precision-strip { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 12px 20px; padding: 16px; margin-block: 0 40px; border: 1px solid var(--he-line); border-radius: var(--he-radius); background: var(--he-surface); color: #ced8e2; }
.he-home .home-precision-strip > span { min-width: 0; }
.he-home .home-precision-strip a { min-height: 32px; display: inline-flex; align-items: center; }
.he-world-design #proof-calibration::before { box-shadow: none; flex-shrink: 0; }
.he-home .world-cities { padding: clamp(20px, 4vw, 40px); border: 1px solid var(--he-line); border-radius: var(--he-radius); background: var(--he-surface); }
.he-world-design .city-search { color: var(--he-text); border-color: var(--he-line); }
.he-world-design .city-search::placeholder { color: var(--he-muted); opacity: 1; }
.he-world-design .city-quick button { min-height: 44px; }
.he-home :is(.home-guides,.home-seo-intro) { padding: clamp(20px,4vw,40px); margin-block: 32px; border: 1px solid var(--he-line); border-radius: var(--he-radius); background: var(--he-surface); }
.he-home :is(.home-guides,.home-seo-intro) p { color: var(--he-muted); line-height: 1.75; }
.he-home .home-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.he-world-design :is(.reference-footer,.shared-information-footer) { width: min(var(--he-content), calc(100% - 2 * var(--he-gutter))); margin-inline: auto; padding-inline: 0; gap: 24px; }
@media(max-width: 600px) {
 .he-home .digital-time { font-size: clamp(52px, 19vw, 112px); }
 .he-home .home-precision-strip { gap: 8px 16px; }
 .he-home .home-precision-state { flex-basis: 100%; display: flex; justify-content: center; }
 .he-home .hero { height: auto !important; min-height: 360px !important; }
 .he-home .home-guide-grid { grid-template-columns:minmax(0,1fr); }
 .he-world-design .reference-brand-name { letter-spacing: .14em; }
}
@media(prefers-reduced-motion:reduce) { .he-world-design *, .he-world-design *::before, .he-world-design *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
.he-home .hero-inner { min-height: 0; }
.he-home .hero::before {
  content:"" !important;
  display:block !important;
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.24;
  background-image:
    radial-gradient(circle at 4% 14%,rgba(255,255,255,.95) 0 1px,transparent 1.7px),
    radial-gradient(circle at 11% 63%,rgba(185,216,255,.78) 0 .8px,transparent 1.6px),
    radial-gradient(circle at 18% 28%,rgba(255,225,179,.9) 0 1.2px,transparent 2px),
    radial-gradient(circle at 27% 81%,rgba(255,255,255,.82) 0 .65px,transparent 1.4px),
    radial-gradient(circle at 34% 9%,rgba(184,208,255,.86) 0 1px,transparent 1.8px),
    radial-gradient(circle at 42% 47%,rgba(255,255,255,.78) 0 .7px,transparent 1.4px),
    radial-gradient(circle at 51% 21%,rgba(255,230,192,.95) 0 1.4px,transparent 2.4px),
    radial-gradient(circle at 59% 72%,rgba(199,224,255,.75) 0 .8px,transparent 1.6px),
    radial-gradient(circle at 67% 38%,rgba(255,255,255,.9) 0 1px,transparent 1.8px),
    radial-gradient(circle at 76% 88%,rgba(255,255,255,.74) 0 .65px,transparent 1.4px),
    radial-gradient(circle at 83% 16%,rgba(196,217,255,.86) 0 1.15px,transparent 2px),
    radial-gradient(circle at 91% 57%,rgba(255,235,204,.88) 0 .9px,transparent 1.7px),
    radial-gradient(circle at 97% 31%,rgba(255,255,255,.78) 0 .7px,transparent 1.4px),
    radial-gradient(circle at 23% 52%,rgba(255,255,255,.55) 0 .55px,transparent 1.1px),
    radial-gradient(circle at 71% 7%,rgba(255,255,255,.6) 0 .5px,transparent 1px);
}
.he-home .hero::before {
  opacity:.34;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.9) 0 .7px,rgba(255,255,255,.2) .85px,transparent 1.45px),
    radial-gradient(circle,rgba(202,227,255,.72) 0 .9px,rgba(143,200,255,.16) 1.15px,transparent 1.8px),
    radial-gradient(circle,rgba(255,255,255,.96) 0 1px,rgba(255,255,255,.28) 1.2px,transparent 2.15px),
    radial-gradient(circle,rgba(255,230,192,.65) 0 .65px,transparent 1.3px);
  background-position:3px 7px,41px 19px,97px 58px,17px 71px;
  background-size:89px 97px,149px 131px,241px 219px,383px 307px;
}
/* Shared editorial rhythm: one centered column, short readable lines. */
.he-world-design:not(.he-home) > main { width:min(var(--he-content),calc(100% - 2 * var(--he-gutter))); max-width:var(--he-content); margin-inline:auto; padding-block:clamp(48px,7vw,88px) !important; }
.he-world-design :is(.world-time-page,.language-directory,.coverage-page,.editorial-page) { width: min(var(--he-content),calc(100% - 2 * var(--he-gutter))); margin-inline: auto; padding-block: clamp(48px,7vw,88px); }
.he-world-design :is(.world-time-intro,.coverage-intro) { width: 100%; max-width: none; }
.he-world-design :is(.world-time-intro h1,.coverage-intro h1,.language-directory > h1,.editorial-page > h1) { width: 100%; max-width: 920px; margin: 16px auto 24px; text-align: center; font-size: clamp(32px,5.1vw,64px); font-weight: 450; letter-spacing: -.04em; line-height: 1.12; }
.he-world-design :is(.about-page,.editorial-page,.city-time-page,.language-directory,.languages-page)::before,
.he-world-design :is(.world-time-intro,.coverage-intro)::before {
  content: "";
  display: block;
  width: 74px;
  height: 2px;
  margin: 0 auto 26px;
  background: #e9272b;
  box-shadow: none;
}
.he-world-design .editorial-kicker { text-align: center; color: var(--he-muted); font-size: 11px; letter-spacing: .16em; line-height: 1.6; }
.he-world-design :is(.world-time-intro > p:last-child,.coverage-intro > p:last-child,.language-directory-lead,.editorial-page > .editorial-lead) { max-width: 700px; margin: 0 auto 40px; text-align: center; font-size: clamp(16px,1.5vw,18px); line-height: 1.75; color: var(--he-muted); }
.he-world-design :is(.world-cities-dedicated,.world-time-science,.coverage-key-fact,.coverage-method,.language-directory-search,.language-directory-regions,.language-directory-method) { width: 100%; max-width: none; margin-inline: auto; }
.he-world-design :is(.world-cities-dedicated,.coverage-key-fact,.coverage-card,.coverage-method,.language-directory-search,.world-time-science-principles article,.world-time-science-details,.precision-proof,.language-directory-method) { border: 1px solid var(--he-line); border-radius: var(--he-radius); background: var(--he-surface); box-shadow: none; padding: clamp(20px,3vw,32px); }
.he-world-design .world-time-page > .world-cities { border:1px solid var(--he-line); border-radius:var(--he-radius); background:var(--he-surface); box-shadow:none; }
.he-world-design :is(.language-directory-regions button,.language-directory-item,.city-card,.place-panel,.place-clock,.city-time-facts > div) { border-color:var(--he-line); border-radius:var(--he-radius); box-shadow:none; }
.he-world-design :is(.coverage-grid,.world-time-science-principles) { gap: 16px; }
.he-world-design .coverage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.he-world-design :is(.coverage-card p,.coverage-method p,.coverage-status dd,.coverage-key-fact span,.world-time-science p,.world-time-science li,.world-time-science dd,.language-directory-summary,.language-directory-search > label,.language-directory-regions small,.language-directory-regions > h2,.language-directory-method p,.language-directory-method li) { color: var(--he-muted); line-height: 1.75; }
.he-world-design .editorial-page > .editorial-copy { width: min(720px,100%); max-width: 720px; margin-inline: auto; color: var(--he-muted); line-height: 1.8; }
.he-world-design .editorial-copy h2 { margin: 32px 0 16px; color: var(--he-text); font-size: 24px; line-height: 1.3; }
.he-world-design .editorial-copy p { color: var(--he-muted); }
.he-world-design .editorial-links { width: min(720px,100%); margin: 32px auto 0; }
.he-world-design .precision-proof { margin-block: 32px; }
.he-world-design .precision-proof dl { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.he-world-design .precision-proof dd { white-space: normal; margin: 0; }
.he-world-design .precision-proof :is(dt,dd) { padding: 12px 8px; }
.he-world-design .precision-proof dd:first-of-type { justify-content: flex-start; }
.he-world-design .world-time-science-details { padding: 0; }
.he-world-design .world-time-science-details summary { min-height: 48px; }
.he-world-design .language-directory-search-field:focus-within { outline: 2px solid #b6d9ff; outline-offset: 3px; }
.he-world-design .language-directory-regions button { border-radius: 14px; border-color: var(--he-line); }
.he-world-design .language-directory-regions button:focus-visible { outline: 2px solid #b6d9ff; }
.he-world-design .language-directory-search-field input::placeholder { color: var(--he-muted); opacity: 1; }
.he-world-design .science-navigation { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 24px; margin:0 auto 36px; }
.he-world-design .science-navigation a { display:inline-flex; align-items:center; min-height:44px; color:#c8d9eb; text-decoration:underline; text-underline-offset:5px; }
.he-world-design .science-navigation a[aria-current] { color:var(--he-text); text-decoration-color:#df4351; }
@media(max-width:600px) {
 .he-world-design .coverage-grid { grid-template-columns: minmax(0,1fr); }
 .he-world-design .precision-proof dl { grid-template-columns:minmax(0,1fr); }
 .he-world-design .precision-proof dt { padding-bottom:0; border-bottom:0; }
 .he-world-design .precision-proof dd { padding-top:6px; margin-bottom:12px; }
 .he-world-design .world-time-science-detail-body { padding:20px; }
 .he-world-design .world-time-science-detail-body dl > div { grid-template-columns:minmax(0,1fr); gap:4px; }
}
.he-world-design .language-directory small { color:var(--he-muted); }

@media(max-width:1050px) {
 .he-world-design .reference-header { grid-template-columns:minmax(250px,1fr) auto; min-height:78px; padding-inline:24px; }
 .he-world-design .reference-main-nav { display:none; }
}
@media(max-width:560px) {
 .he-world-design .reference-header { grid-template-columns:minmax(0,1fr) auto; min-height:68px; padding-inline:14px; }
 .he-world-design .reference-brand { gap:11px; }
 .he-world-design .reference-swiss-mark { width:27px; height:27px; flex-basis:27px; }
 .he-world-design .reference-brand-name { font-size:11px; letter-spacing:.2em; }
 .he-world-design :is(.about-page,.editorial-page,.city-time-page,.language-directory,.languages-page)::before,
 .he-world-design :is(.world-time-intro,.coverage-intro)::before { width: 56px; margin-bottom: 22px; }
}
