
    :root {
      --bg: #FFF7F2;
      --card: #ffffff;
      --text: #0f172a;
      --muted: #64748b;
      --border: #e2e8f0;
      --accent: #FF7A59;
      --accent-soft: #FFE3DA;
      --accent-dark: #C84E2F;
      --dark: #0f172a;
      --max-width: 1120px;
      --radius: 24px;
      --shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: Arial, Helvetica, sans-serif;
      background: var(--bg);
      color: var(--text);
      line-height: 1.6;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    .container {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0 24px;
    }

    .site-header {
      background: rgba(255,255,255,0.9);
      border-bottom: 1px solid var(--border);
      position: sticky;
      top: 0;
      backdrop-filter: blur(8px);
      z-index: 10;
    }

    .header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 0;
      gap: 24px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .brand-badge {
      width: 42px;
      height: 42px;
      border-radius: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--accent);
      color: white;
      font-weight: 700;
    }

    .brand-title {
      margin: 0;
      font-size: 18px;
      font-weight: 700;
    }

    .brand-subtitle {
      margin: 2px 0 0;
      font-size: 14px;
      color: var(--muted);
    }

    .nav {
      display: flex;
      gap: 24px;
      font-size: 14px;
      color: #475569;
    }

    .nav a:hover,
    .footer-links a:hover {
      color: var(--text);
    }

    .hero {
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 40px;
      align-items: center;
      padding: 72px 0 56px;
    }

    .eyebrow {
      display: inline-block;
      background: var(--accent-soft);
      color: var(--accent-dark);
      padding: 10px 16px;
      border-radius: 999px;
      font-size: 14px;
      font-weight: 700;
      margin-bottom: 20px;
    }

    h1 {
      font-size: 56px;
      line-height: 1.08;
      margin: 0;
      letter-spacing: -0.02em;
    }

    .hero p.lead {
      font-size: 20px;
      color: var(--muted);
      max-width: 680px;
      margin: 24px 0 0;
    }

    .actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 32px;
    }

    .btn {
      display: inline-block;
      padding: 14px 22px;
      border-radius: 18px;
      font-weight: 700;
      transition: 0.2s ease;
    }

    .btn-primary {
      background: var(--accent);
      color: #fff;
      box-shadow: var(--shadow);
    }

    .btn-primary:hover,
    .btn-dark:hover {
      opacity: 0.9;
    }

    .btn-secondary {
      background: #fff;
      color: var(--text);
      border: 1px solid #cbd5e1;
    }

    .btn-secondary:hover {
      background: #f8fafc;
    }

    .sidebar {
      display: grid;
      gap: 16px;
    }

    .card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 28px;
      padding: 28px;
      box-shadow: var(--shadow);
    }

    .card.dark {
      background: var(--dark);
      border-color: var(--dark);
      color: white;
    }

    .card-label {
      margin: 0 0 14px;
      font-size: 14px;
      font-weight: 700;
      color: var(--accent);
    }

    .card.dark .card-label {
      color: #FFB199;
    }

    .card ul {
      margin: 0;
      padding-left: 20px;
      color: #334155;
    }

    .card.dark p {
      color: #e2e8f0;
      margin: 0;
      font-size: 18px;
    }

    section.block {
      padding: 18px 0 24px;
    }

    .panel {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 28px;
      padding: 32px;
      box-shadow: var(--shadow);
    }

    h2 {
      font-size: 34px;
      margin: 0 0 16px;
    }

    h3 {
      margin: 0 0 12px;
      font-size: 22px;
    }

    .muted {
      color: var(--muted);
    }

    .topics-grid,
    .guides-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 28px;
    }

    .topic-card,
    .guide-card {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 28px;
      padding: 28px;
      box-shadow: var(--shadow);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .topic-card:hover,
    .guide-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
    }

    .guide-tag {
      display: inline-block;
      margin-bottom: 14px;
      padding: 8px 12px;
      border-radius: 999px;
      background: var(--accent-soft);
      color: var(--accent-dark);
      font-size: 13px;
      font-weight: 700;
    }

    .guide-card p {
      margin: 0 0 16px;
      color: var(--muted);
    }

    .guide-link {
      color: var(--accent-dark);
      font-weight: 700;
    }

    .event-card {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 28px;
      align-items: center;
      margin-top: 28px;
      padding: 30px 32px;
      border-radius: 28px;
      background: var(--accent-soft);
      border: 1px solid #ffcbbb;
    }

    .event-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 12px;
    }

    .event-badge {
      display: inline-block;
      padding: 7px 11px;
      border-radius: 999px;
      background: var(--accent);
      color: #fff;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.03em;
      text-transform: uppercase;
    }

    .event-date {
      display: inline-block;
      padding: 7px 11px;
      border-radius: 999px;
      background: #fff;
      color: var(--accent-dark);
      font-size: 12px;
      font-weight: 700;
    }

    .event-card h3 {
      margin-bottom: 8px;
      font-size: 26px;
      line-height: 1.2;
    }

    .event-card p {
      margin: 0;
      color: #475569;
      max-width: 720px;
    }

    .event-card .btn {
      white-space: nowrap;
    }

    .cta-box {
      background: var(--accent);
      color: white;
      border-radius: 28px;
      padding: 36px;
      margin: 20px 0 64px;
    }

    .newsletter-box {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 220px;
      gap: 28px;
      align-items: center;
    }

    .newsletter-copy p {
      max-width: 720px;
      color: rgba(255,255,255,0.92);
    }

    .newsletter-icon-wrap {
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .newsletter-icon {
      width: 180px;
      height: 180px;
      border-radius: 32px;
      background: rgba(255,255,255,0.16);
      border: 1px solid rgba(255,255,255,0.28);
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
    }

    .newsletter-icon svg {
      width: 110px;
      height: 110px;
    }

    .btn-dark {
      background: var(--dark);
      color: white;
    }

    .site-footer {
      background: white;
      border-top: 1px solid var(--border);
      margin-top: 24px;
    }

    .footer-inner {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
      padding: 28px 0;
      font-size: 14px;
      color: var(--muted);
    }

    .footer-links {
      display: flex;
      flex-wrap: wrap;
      gap: 18px;
    }

    @media (max-width: 900px) {
      .hero,
      .topics-grid,
      .guides-grid {
        grid-template-columns: 1fr;
      }

      .event-card {
        grid-template-columns: 1fr;
      }

      .event-card .btn {
        width: fit-content;
      }

      .newsletter-box {
        grid-template-columns: 1fr;
      }

      .newsletter-icon {
        width: 140px;
        height: 140px;
      }

      .newsletter-icon svg {
        width: 86px;
        height: 86px;
      }

      h1 {
        font-size: 42px;
      }

      .nav {
        display: none;
      }
    }

    @media (max-width: 640px) {
      .container {
        padding: 0 18px;
      }

      .hero {
        padding-top: 42px;
      }

      h1 {
        font-size: 34px;
      }

      h2 {
        font-size: 28px;
      }

      .footer-inner {
        flex-direction: column;
        align-items: flex-start;
      }
    }
  

/* SwissCarousel language hub components layered on top of homepage styles */
.mobile-language-link { display:none; color:var(--accent-dark); font-size:14px; font-weight:700; white-space:nowrap; }
.nav a[href="/language/"] {font-weight:700;color:var(--accent-dark)}
.site-header .header-inner {min-height:78px}
.lang-hero {padding-top:62px;padding-bottom:46px}
.lang-hero h1 {max-width:730px}
.lang-hero .sidebar .card {padding:26px}
.lang-roadmap-card {background:#ffffff}
.lang-roadmap-card .card-label {font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.lang-level-stamps {display:flex;gap:9px;flex-wrap:wrap;margin-bottom:13px}
.lang-level-stamps span {font-size:27px;font-weight:800;letter-spacing:-.04em;border-radius:14px;padding:9px 14px;background:var(--accent-soft);color:var(--accent-dark)}
.lang-hero .card.dark p {font-size:16px;line-height:1.55}
.lang-lead-copy {font-size:18px;color:#526074}
.lang-section-title {max-width:790px}
.lang-section-title > p {max-width:740px}
.lang-topic {display:block;text-decoration:none}
.lang-topic h3 {font-size:21px;line-height:1.25}
.lang-topic p {font-size:15px;line-height:1.6;color:var(--muted)}
.lang-topic .guide-link {display:inline-block;margin-top:8px}
.lang-topic-icon {display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:var(--accent-soft);color:var(--accent-dark);font-size:20px;font-weight:bold;margin-bottom:16px}
.lang-levels {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}
.lang-level-card {border:1px solid var(--border);background:#fff;border-radius:23px;padding:24px}
.lang-level-card h3 {font-size:19px;margin:0 0 14px}
.lang-level-card .guide-tag {margin-bottom:14px}
.lang-numbers {display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 14px}
.lang-numbers strong {border-radius:13px;background:var(--accent-soft);color:var(--accent-dark);padding:8px 12px;font-size:22px;letter-spacing:-.02em}
.lang-numbers small {display:block;color:#475569;font-size:11px;letter-spacing:0;margin-top:1px}
.lang-level-card p {font-size:14px;color:var(--muted);margin:0}
.lang-note {border-left:4px solid var(--accent);background:#fff4ef;padding:16px 19px;border-radius:0 14px 14px 0;color:#4b5563;margin-top:21px}
.lang-actions {display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.lang-partner {margin:10px auto 36px}
.lang-partner .panel {border-color:#ffcbba;background:linear-gradient(120deg,#fff,#fff2ec)}
.lang-partner .partner-inner {display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center}
.lang-partner h2 {font-size:28px;margin-bottom:7px}
.lang-partner p {color:#475569;margin-bottom:0;max-width:740px}
.lang-disclosure {font-size:13px;color:#64748b;margin-top:16px}
.lang-quicklinks {display:flex;gap:14px;flex-wrap:wrap;padding:10px 0 4px}
.lang-quicklinks a {font-size:14px;color:var(--accent-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.lang-faq details {border-bottom:1px solid var(--border);padding:18px 0}
.lang-faq summary {cursor:pointer;font-weight:700;font-size:17px}
.lang-faq details p {margin-bottom:0;color:var(--muted)}
.lang-article-hero {padding-top:53px;padding-bottom:35px}
.lang-breadcrumbs {font-size:13px;color:var(--muted);margin-bottom:18px}
.lang-breadcrumbs a {color:var(--accent-dark);text-decoration:underline;text-underline-offset:2px}
.lang-article {max-width:810px;margin-left:auto;margin-right:auto}
.lang-article .panel {margin-bottom:24px}
.lang-article h2 {font-size:30px;line-height:1.24;margin-top:10px}
.lang-article h3 {font-size:20px;margin-top:22px}
.lang-article p,.lang-article li {color:#475569;line-height:1.73}
.lang-article ul,.lang-article ol {padding-left:22px}
.lang-article li {margin:9px 0}
.lang-table-scroll {overflow-x:auto;border:1px solid var(--border);border-radius:15px;margin:18px 0}
.lang-table {width:100%;border-collapse:collapse;min-width:520px}
.lang-table th,.lang-table td {padding:13px 16px;text-align:left;border-bottom:1px solid var(--border)}
.lang-table th {background:#fff0e9;color:#743b31;font-size:13px}
.lang-table tr:last-child td {border-bottom:0}
.lang-table td {font-size:15px;color:#475569}
.lang-inline-cta {background:var(--accent-soft);padding:23px;border-radius:21px;margin:23px 0}
.lang-inline-cta h3 {margin-top:0}
.lang-inline-cta p {margin:8px 0 14px}
.lang-inline-cta .btn {padding:11px 18px;font-size:14px}
.lang-related {display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:22px}
.lang-related .guide-card h3 {font-size:20px}
.lang-source-links {overflow-wrap:anywhere}
.lang-source-links a {color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}
.lang-accessible {position:absolute;height:1px;width:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.lang-static-note {font-size:13px;color:var(--muted)}
.nav a[aria-current="page"] {text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--accent)}
a:focus-visible,summary:focus-visible {outline:3px solid var(--accent-dark);outline-offset:3px}
@media (max-width:900px) {
 .mobile-language-link {display:inline-block}
 .lang-levels {grid-template-columns:1fr}
 .lang-partner .partner-inner {grid-template-columns:1fr}
 .lang-hero {padding-top:42px;padding-bottom:35px}
}
@media (max-width:640px) {
 .lang-level-stamps span {font-size:22px}
 .lang-article h2 {font-size:26px}
 .lang-related {grid-template-columns:1fr}
 .lang-partner .panel {padding:23px}
 .lang-topic {padding:22px}
 .brand-subtitle {max-width:190px;font-size:11px;line-height:1.25}
 .brand-badge {flex-shrink:0}
 .header-inner {gap:12px}
}

/* A clear, early credit to the expert partner, also retained in the full disclosure below. */
.lang-hero-partner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 10px;
  width: fit-content;
  max-width: 100%;
  padding: 10px 14px;
  margin-top: 21px;
  border: 1px solid #f5c6b8;
  border-radius: 15px;
  background: #fff;
  color: #475569;
  font-size: 13px;
  line-height: 1.4;
}
.lang-hero-partner a {
  color: var(--accent-dark);
  font-size: 15px;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}
.lang-hero-partner a:hover { color: #9f381c; }
.lang-hero-partner-detail { color: #64748b; }
.lang-hero .actions { margin-top: 20px; }
.lang-article-hero .actions { margin-top: 20px; }
@media (max-width:640px) {
  .lang-hero-partner { align-items: flex-start; }
  .lang-hero-partner-detail { flex-basis: 100%; }
}
