/* Cybee 4.8 identity/type adoption, approved for this derivative 18 Sep 2026.
   Preserve the landing module's light palette, geometry and native code roles. */
@font-face {
  font-family: "Helvetica Now Text";
  src: url("/assets/fonts/HelveticaNowText-Regular-DvI-Yh2Z.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Now Text";
  src: url("/assets/fonts/HelveticaNowText-Medium-Osqyr1vS.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Now Text";
  src: url("/assets/fonts/HelveticaNowText-Bold-DcV-flXL.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Neue Machina";
  src: url("/assets/fonts/NeueMachina-Medium-C2f4RfyY.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
:root {
  --font: "Helvetica Now Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-signature: "Neue Machina", "Helvetica Now Text", "Helvetica Neue", Arial, sans-serif;
}
main h1,
.section-heading h2,
.closing-body h2,
.faq-intro h2,
.site-cta h2,
.sol-close h2,
.ed-guide-directory h2 {
  font-family: var(--font-signature);
  font-weight: 500;
}
.site-header .brand img,
.footer-identity .brand img {
  width: 161.53722334px;
  height: 41.85px;
  filter: none;
  object-fit: contain;
}
.site-header .nav-wrap { min-height: 84px; }
/* Header wordmark stays at 60% size; emblem has a separate +20% owner adjustment. */
.site-header .brand img { width: 100.7068008px; height: 25.11px; }
@media (max-width: 1100px) {
  .site-header .brand img { width: 80.56544064px; height: 20.088px; }
  .site-header .nav-wrap { min-height: 70px; }
}
@media (max-width: 719px) {
  .site-header .brand { margin-right: 11px; }
  .footer-identity { flex-wrap: wrap; }
  .footer-identity .brand img { width: 129.22977867px; height: 33.48px; }
  .site-header .nav-cta { padding-inline: 8px; }
}
@media (max-width: 389px) {
  .hero h1 { font-size: clamp(30px, 10vw, 33px); }
  .site-header .nav-wrap { gap: 6px; }
  .site-header .nav-cta { padding-inline: 5px; }
}

/* Keep German compounds within their existing columns on narrow screens. */
@media (max-width: 389px) {
  html[lang="de-CH"] main h1,
  html[lang="de-CH"] main h2,
  html[lang="de-CH"] .footer-menu a,
  html[lang="de-CH"] .docs-flow,
  html[lang="de-CH"] .co-self-service {
    hyphens: auto;
    overflow-wrap: anywhere;
  }
}

/* Owner-requested Swiss identity: a quiet country mark, not a status badge. */
main p.swiss-origin{display:flex;align-items:center;gap:9px;margin:0 0 20px;padding:0;color:var(--muted);font-family:var(--font);font-size:13px;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none;max-width:none}
.swiss-origin-mark{width:16px;height:16px;display:block;flex:0 0 16px}
.footer-brand-stack{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.footer-social{display:flex;align-items:center;gap:3px;margin-left:-11px}
.footer-social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--muted)}
.footer-social a:hover{color:var(--blue)}
.footer-social a:focus-visible{outline:2px solid var(--blue);outline-offset:0;color:var(--blue)}
.footer-social svg{display:block;flex-shrink:0}
@media(max-width:479px){.footer-identity{flex-wrap:wrap;align-items:flex-start}.footer-brand-stack{max-width:100%}.footer-identity>p{max-width:100%;font-size:19px}}
@media(max-width:719px){main p.swiss-origin{font-size:12px;margin-bottom:17px;gap:8px}.swiss-origin-mark{width:14px;height:14px;flex-basis:14px}}

@media(min-width:720px){.pricing-intro p.swiss-origin{justify-content:center}}
