/* Typography: Instrument Serif for every display line, Jost for text.
   Loaded last. Sizes step down calmly (headline > tagline > keys > text),
   text is a touch smaller but a touch bolder, so nothing reads as a wall. */
@font-face { font-family: "Instrument Serif"; src: url("../fonts/instrument-serif-latin.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Serif"; src: url("../fonts/instrument-serif-italic-latin.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }

:root {
  --f-display: "Instrument Serif", "Times New Roman", serif;
  --t-hero: clamp(2.3rem, 1.2rem + 3vw, 3.9rem);
  --t-tag: clamp(1.25rem, 0.9rem + 1vw, 1.75rem);
  --t-h2: clamp(1.9rem, 1.2rem + 2.1vw, 3.2rem);
  --t-lede: clamp(1rem, 0.96rem + 0.15vw, 1.08rem);
  --t-body: 0.97rem;
}

body { font-weight: 450; letter-spacing: 0.004em; }

/* ---------- display lines: one weight, open leading, no squeezed tracking ---------- */
.hero__title, .hero__tag, .h2, .why__k, .contact__title, .ft__line, .drawer__title, .form__title,
.svc-card__name, .drawer__item h3, .founder__name, .menu__list a, .world__en, .valeur__title,
.founder__quote p, .ft__brand p, .valeur__word, .flight__w, .founder__track span {
  font-weight: 400; font-synthesis: none; letter-spacing: 0.004em;
}
.h2 { line-height: 1.08; }
.why__k { font-size: clamp(1.9rem, 1.2rem + 2vw, 3.1rem); line-height: 1.05; }
.contact__title { font-size: clamp(2.2rem, 1.3rem + 2.6vw, 3.8rem); line-height: 1.05; }
.ft__line { font-size: clamp(2.2rem, 1.1rem + 3.2vw, 4.1rem); line-height: 1.06; }
.valeur__word { font-size: clamp(2.7rem, 1.1rem + 6vw, 7.2rem); line-height: 1; }
.founder__name { font-size: clamp(3rem, 1.5rem + 4.8vw, 6.2rem); line-height: 0.98; }
.svc-card__name { font-size: clamp(1.45rem, 1.15rem + 0.7vw, 1.85rem); line-height: 1.1; }
.drawer__title { font-size: clamp(1.75rem, 1.4rem + 1vw, 2.3rem); line-height: 1.05; }
.drawer__item h3 { font-size: 1.45rem; line-height: 1.12; }
.form__title { font-size: clamp(1.5rem, 1.25rem + 0.7vw, 1.85rem); line-height: 1.1; }
.menu__list a { font-size: clamp(1.9rem, 7vw, 2.8rem); line-height: 1.16; }
.world__en { font-size: clamp(1.15rem, 1rem + 0.5vw, 1.5rem); line-height: 1.25; }
.valeur__title { font-size: clamp(1.3rem, 1.05rem + 0.8vw, 1.85rem); line-height: 1.2; }
.founder__quote p { font-size: clamp(1.3rem, 1rem + 1vw, 2rem); line-height: 1.25; }
.ft__brand p { font-size: 1.15rem; }
.flight__w { font-size: clamp(2.5rem, 5.2vw, 7rem); }

/* ---------- text: a little smaller, a little bolder ---------- */
.lede { font-size: var(--t-lede); line-height: 1.65; }
.ink .lede { color: var(--on-dark); }
.svc-card__line { font-size: 0.95rem; line-height: 1.55; color: var(--text); }
.why__t { font-size: clamp(0.97rem, 0.94rem + 0.15vw, 1.06rem); color: var(--text); }
.valeur__line { font-size: clamp(0.97rem, 0.93rem + 0.2vw, 1.08rem); }
.field__label { font-size: 0.95rem; font-weight: 500; }
.founder__role { font-weight: 500; }

/* ---------- hero: decreasing sizes with air between each line ---------- */
.hero__title { line-height: 1.1; max-width: 11em; }
.hero__tag { margin-top: clamp(1.1rem, 2.6vh, 1.8rem); line-height: 1.2; }
.hero__keys {
  margin-top: clamp(1.2rem, 2.8vh, 1.9rem);
  font-size: clamp(0.95rem, 0.86rem + 0.3vw, 1.1rem); font-weight: 500; letter-spacing: 0.03em; line-height: 1.5;
}
.hero__slogan {
  margin-top: clamp(1.4rem, 3.2vh, 2.2rem);
  font-size: clamp(0.97rem, 0.94rem + 0.12vw, 1.04rem); font-weight: 450; line-height: 1.65; letter-spacing: 0.01em;
}
.hero__actions { margin-top: clamp(1.8rem, 4vh, 2.6rem); }

/* the three keys sit on one line on laptops and up, stacked on tablets and phones */
@media (min-width: 1024px) {
  .hero__keys { flex-direction: row; align-items: center; gap: 0.6rem 0; }
  .hero__keys li:first-child::before { content: none; }
  .hero__keys li + li::before { margin: 0 1.05em 0 0.9em; }
}
@media (max-width: 1023px) {
  .hero__keys { gap: 0.5rem; }
  .hero__keys li::before, .hero__keys li + li::before { margin: 0 0.9em 0 0; }
}
/* short laptop screens: the headline follows the height so the button stays in view */
@media (min-width: 700px) and (max-height: 820px) {
  :root { --t-hero: min(clamp(2.3rem, 1.2rem + 3vw, 3.9rem), 7vh); }
}
@media (max-width: 699px) {
  .hero__title { line-height: 1.12; }
  .hero__tag { margin-top: 1rem; }
  .hero__keys { margin-top: 1.1rem; gap: 0.45rem; font-size: 0.97rem; }
  .hero__slogan { margin-top: 1.3rem; font-size: 0.97rem; line-height: 1.6; }
  .hero__actions { margin-top: 1.6rem; }
}

/* readability over the film */
.hero__tag, .hero__keys, .hero__slogan { text-shadow: 0 1px 2px rgba(4, 7, 11, 0.65), 0 2px 24px rgba(4, 7, 11, 0.7); }
.hero__keys { color: #f2eadf; }
.hero__slogan { color: #f7f0e6; }
@media (max-aspect-ratio: 4/5) {
  .hero__scrim {
    background: linear-gradient(180deg, rgba(6, 9, 13, 0.82) 0%, rgba(6, 9, 13, 0.66) 45%, rgba(6, 9, 13, 0.5) 66%, rgba(6, 9, 13, 0.22) 82%, rgba(6, 9, 13, 0.6) 100%);
  }
}

/* ---------- menu links: no pill behind them, so the bar no longer echoes the logo ---------- */
.nav__links.pill { background: transparent; border-color: transparent; box-shadow: none; }
.nav__links a { font-weight: 500; color: rgba(247, 240, 230, 0.86); text-shadow: 0 1px 12px rgba(4, 7, 11, 0.55); transition: color 0.35s var(--e-out); }
.nav__links a:hover, .nav__links a[aria-current="true"] { color: #fff8ee; }
.nav__ink { top: auto; bottom: 14px; height: 1px; border-radius: 0; background: var(--champagne); margin-left: 1rem; width: calc(var(--iw, 0px) - 2rem); }
.nav--light .nav__links a { color: rgba(30, 23, 16, 0.74); text-shadow: none; }
.nav--light .nav__links a:hover, .nav--light .nav__links a[aria-current="true"] { color: var(--text); }
.nav--light .nav__ink { background: var(--bronze-deep); }

/* ---------- header button: no cream ring around it either (desktop; on phones that slot holds the Menu button) ---------- */
@media (min-width: 1024px) {
  .nav__act.pill { background: transparent; border-color: transparent; box-shadow: none; }
  .nav__act .btn--ink { box-shadow: inset 0 0 0 1px rgba(231, 196, 142, 0.5), 0 10px 28px -14px rgba(4, 7, 11, 0.7); }
}

/* ---------- polish (11 Oct): no decorative numbering, no outlined marquee, solid founder name, larger logo ---------- */
.why__item { grid-template-columns: minmax(0, 1fr); }
.founder__nm {
  background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important;
  -webkit-text-fill-color: var(--champagne) !important; color: var(--champagne) !important; animation: none !important;
}
.nav__lockup { height: 58px; max-width: 232px; }
@media (max-width: 1180px) { .nav__lockup { height: 52px; max-width: 208px; } }
@media (max-width: 1023px) { .nav__lockup { height: 48px; max-width: 184px; } }

/* placeholder until Maria sends her five lines */
.founder__later { display: none; }
