/* ── Northstone · Hero und Typografie ──────────────────────────────────────
   Ruhiger Hero mit Logotype, Grotesk für Text und Labels, Serif der jeweiligen
   Logo-Variante für Überschriften (siehe logo.css). Keine Monospace-Schrift.
   ------------------------------------------------------------------------ */
:root{
  --f-display:Georgia,"Times New Roman",serif;          /* wird in logo.css gesetzt */
  --f-body:"Source Sans 3","Helvetica Neue",Arial,sans-serif;
  --f-mono:"Source Sans 3","Helvetica Neue",Arial,sans-serif;
}
h1,h2,h3{font-weight:400}
body{font-size:17.5px}

/* Kleine Versal-Labels: 11.5–12px Grotesk, halbfett */
.eyebrow,.nav a,.live,.tape-note,.mandate .specs span,.mandate .specs b,.fig .l,
.audience .hnw,.clock .city,.clock .venue,.clock .status,.clock .sess,.access-cols li,.access-cols li i,
.step .no,.contact-list dt,.foot-links a,.lang,.btn,.back,.expect .no,.field label,.field .lbl,.chips label,
.modal h3,.modal .stand,.stamp span,.form-foot .note,.field .hint{font-weight:600}
.eyebrow{font-size:12px;letter-spacing:.18em}
.nav a,.foot-links a,.lang,.btn,.back{font-size:12px;letter-spacing:.14em}
.mandate .specs span,.fig .l,.contact-list dt,.clock .venue,.field label,.field .lbl{font-size:11.5px;letter-spacing:.14em}
.mandate .specs b,.access-cols li{font-size:12px;letter-spacing:.08em}
.access-cols li i,.clock .status,.clock .sess,.chips label,.tape-note,.form-foot .note,.field .hint{font-size:11.5px;letter-spacing:.08em}
.fig-note{font-family:var(--f-body);font-size:13.5px;letter-spacing:0;line-height:1.6}
.clock .time{font-family:var(--f-display);letter-spacing:.02em;font-size:clamp(20px,1.7vw,24px)}
.clock .face .num{font-family:var(--f-display);font-size:8.5px}
.fig .n{font-weight:400}
.modal h3{font-size:12px;letter-spacing:.16em}
.topbar-mark{font-weight:600}

/* ── Hero ─────────────────────────────────────────────────────────────── */
.hero2{background:#0B1120;border-bottom:1px solid var(--line)}
.hero2 .hero-bg::after{display:none}
.hero2 .hero-bg .glow{inset:0;height:auto;
  background:radial-gradient(90% 70% at 70% 0%,rgba(40,58,98,.55),transparent 70%),linear-gradient(180deg,#0D1528,#0B1120 75%)}
.hero2-in{position:relative;display:flex;flex-direction:column;min-height:min(100svh,940px);padding-block:26px clamp(36px,5vh,56px)}

.h2-meta{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--line);
  font:600 12px/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--steel-1)}
.h2-meta nav{display:flex;gap:clamp(18px,2.4vw,32px)}
.h2-meta a{color:var(--steel-1);text-decoration:none;transition:color .3s ease}
.h2-meta a:hover,.h2-meta a:focus-visible{color:#F1EFEA}
.h2-meta .h2-lang{padding-left:clamp(18px,2.4vw,32px);border-left:1px solid var(--line-2)}

.h2-mark{margin-top:auto;padding-top:clamp(56px,11vh,130px)}
.h2-body{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,6vw,96px);align-items:end;margin-top:clamp(44px,7vh,76px)}
.h2-body h1{font-family:var(--f-display);font-weight:500;font-size:clamp(32px,3.6vw,50px);line-height:1.06;letter-spacing:-.012em;color:#ECE8E0;max-width:13ch}
.h2-lead{font-size:18.5px;line-height:1.6;color:#B9C0CC;max-width:46ch}
.h2-cta{margin-top:28px;display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 26px}
.h2-cta>a{font:600 13px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:#F1EFEA;text-decoration:none;
  padding-bottom:9px;border-bottom:1px solid var(--temper);transition:color .3s ease,border-color .3s ease}
.h2-cta>a::after{content:"→";margin-left:10px;letter-spacing:0;font-size:15px}
.h2-cta>a:hover{color:var(--temper)}
.h2-cta span{font-size:16px;color:var(--steel-1)}
.h2-cta span a{color:#E3E0D8;text-decoration:none;border-bottom:1px solid var(--line-2)}

.h2-facts{list-style:none;margin:clamp(48px,7vh,84px) 0 0;padding:20px 0 0;border-top:1px solid var(--line);
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px clamp(16px,2vw,32px)}
.h2-facts li{font-size:15px;line-height:1.45;color:var(--steel-1)}
.h2-facts b{display:block;margin-bottom:7px;font:600 12px/1.2 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:#E9E6DF}

/* Diskretion: Label links (schmal), Leitsatz + Erklärung rechts als ein Block.
   Jeder Satz des Leitsatzes steht auf genau einer Zeile: die Schriftgröße richtet
   sich nach der Breite des Textblocks (Container-Einheiten), der Faktor --q-k
   ist je Logo-Variante auf die Laufweite der Schrift abgestimmt (logo.css). */
.discretion .wrap{grid-template-columns:minmax(0,3fr) minmax(0,9fr);align-items:start}
.discretion .eyebrow{padding-top:clamp(10px,1.1vw,16px)}
.disc-body{container-type:inline-size;min-width:0}
.discretion p.q{margin:0;font-size:min(44px,calc(var(--q-k,4.5) * 1cqi));line-height:1.22}
.discretion p.q .ln{display:block;white-space:nowrap}
.disc-body .lead{margin-top:clamp(18px,2vw,26px);max-width:58ch;color:#98A0AD;text-wrap:pretty}
@media (max-width:820px){
  .discretion .wrap{grid-template-columns:1fr;row-gap:18px}
  .discretion .eyebrow{padding-top:0}
  .discretion p.q{font-size:clamp(26px,7vw,34px)}
  .discretion p.q .ln{display:inline;white-space:normal}
}

/* Handelsplätze: gleicher Aufbau wie Diskretion – Label links, Überschrift + Einleitung rechts */
.sec-split{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(24px,5vw,64px);align-items:start}
.sec-split .eyebrow{padding-top:clamp(10px,1.1vw,16px)}
.sec-split h2{margin-top:0}
.sec-split .lead{margin-top:clamp(18px,2vw,24px);max-width:54ch}
@media (max-width:820px){.sec-split{grid-template-columns:1fr;gap:18px}.sec-split .eyebrow{padding-top:0}}
/* Uhren: kompaktere Beschriftung */
.clocks .clock-grid{margin-top:clamp(32px,4vw,48px);padding-top:clamp(32px,4vw,48px)}
.clocks .fig-note{margin-top:clamp(32px,4vw,44px)!important;max-width:none}
.sec-split .lead{text-wrap:pretty}

.clock .time{display:flex;align-items:baseline;justify-content:center;gap:9px}
.clock .time small{display:inline;margin-top:0;font-family:var(--f-body);font-size:11px;letter-spacing:.14em}
.clock .status{margin-top:12px}
.clock .meta2{display:block;margin-top:7px;font-size:11.5px;letter-spacing:.06em;color:#737E93;font-weight:600}
.clock .meta2 .until{display:block;margin:0;font:inherit;letter-spacing:inherit;color:inherit}
.clock .meta2 .sess{display:block;margin:4px 0 0;font:inherit;letter-spacing:.1em;color:#5F6A80}

/* Logo (gemeinsame Bausteine; Form je Variante in logo.css) */
.lv-star{display:inline-block;background:var(--temper);clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%)}
.h2-mark .w{display:block;text-transform:uppercase;color:#F1EFEA;white-space:nowrap}
.h2-mark .s{display:block;font:600 clamp(12px,1.2vw,16px)/1 var(--f-body);letter-spacing:.5em;text-transform:uppercase;color:var(--temper)}

/* Logo im Kopf der Anfrageseite: dieselbe Marke, verkleinert */
.ph-logo{margin-top:34px;zoom:.62}
.ph-logo .h2-mark{margin-top:0;padding-top:0}

@media (max-width:900px){
  .h2-body{grid-template-columns:1fr;align-items:start}
  .h2-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .h2-meta nav a:not(.h2-lang){display:none}
  .h2-meta .h2-lang{border-left:0;padding-left:0}
  .h2-meta>span{letter-spacing:.1em;font-size:11px}
  .hero2-in{min-height:0}
  .h2-mark .s{letter-spacing:.36em}
  .ph-logo{zoom:.8}
}
