/* Match the previous visible cap height, preserving each uploaded SVG's ratio. */
:root { --personal-mark-height: 2.0682116rem; --personal-mark-intro-gap: 8px; }
.nav_logo_content .nav_logo_svg,
.nav_logo_content .nav_logo_svg-left { height: var(--personal-mark-height); }
.nav_logo_content .nav_logo_svg { width: calc(var(--personal-mark-height) * 567 / 600); }
.nav_logo_content .nav_logo_svg-left { width: calc(var(--personal-mark-height) * 636 / 600); }
.nav_logo-right { margin-top: 50dvh; }

/* Font sizes are calibrated for the actual local Suisse / Apparel glyphs.
   Keep the existing per-character reveals and responsive line structure. */
.text-hero[data-personal-name] {
  font-size: 16.062em;
  position: relative;
  left: -.0125em;
}

/* The bottom signature uses a separate DOM root on all six pages. */
.text-footer .text-content {
  font-size: 16.062em;
  position: relative;
  left: -.0125em;
}

@media (max-width: 1200px) {
  :root { --personal-mark-height: 3.3456364rem; }
  .nav_logo-right { margin-top: 48svh; }
  .text-hero_mob[data-personal-name] {
    max-width: none;
    font-size: 25.93em;
  }
  .text-hero_mob[data-personal-name] .apparel { white-space: nowrap; }
  .text-footer .text-content {
    max-width: none;
    font-size: 25.93em;
    left: 0;
  }
  .text-footer .text-content .apparel { white-space: nowrap; }
}
@media (max-width: 767px) {
  :root { --personal-mark-height: 4.6636144rem; --personal-mark-intro-gap: 4px; }
  /* Let edge antialiasing and the intro blur extend past the SVG viewport. */
  .nav_logo_content .nav_logo_svg,
  .nav_logo_content .nav_logo_svg-left { overflow: visible; }
  .text-hero_mob[data-personal-name] { font-size: 25.34em; }
  .text-footer .text-content { font-size: 25.34em; }
}
