@font-face {
  font-family: 'Outfit';
  src: url('../fonts/Outfit/Outfit-VariableFont_wght.ttf') format('truetype-variations'),
       url('../fonts/Outfit/Outfit-VariableFont_wght.ttf') format('truetype');
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('../fonts/Inter/Inter-VariableFont_opsz,wght.ttf') format('truetype-variations'),
       url('../fonts/Inter/Inter-VariableFont_opsz,wght.ttf') format('truetype');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('../fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf') format('truetype-variations'),
       url('../fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf') format('truetype');
  font-weight: 400 700;
  font-style: italic;
  font-display: swap;
}

:root { --orange: #E59560; --teal: #3DB4B0; --black: #292929; --white: #fff; --cream: #FFF8F2; --mint: #EAF8F7; --gray: #666; --line: #e8e8e8; --shadow: 0 18px 50px rgba(0,0,0,.09); --shadow-sm: 0 8px 24px rgba(0,0,0,.06); --shadow-lg: 0 26px 64px rgba(0,0,0,.12); --shadow-hover: 0 20px 44px rgba(229,149,96,.35); --r: 24px; --radius-lg: 28px; }

* { box-sizing: border-box; }

html { scroll-behavior: smooth; scrollbar-width: thin; scrollbar-color: var(--teal) var(--cream); }

::-webkit-scrollbar { width: 10px; }

::-webkit-scrollbar-track { background: var(--cream); }

::-webkit-scrollbar-thumb { background: var(--teal); border-radius: 999px; border: 2px solid var(--cream); }

::-webkit-scrollbar-thumb:hover { background: var(--orange); }

body { margin: 0; color: var(--black); background: #fff; line-height: 1.55; }

a:focus-visible, button:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; }

h1, h2, h3, .brand { font-family: 'Outfit', sans-serif; font-weight: 700; letter-spacing: .02em; }

h1 { font-size: clamp(3rem,7vw,6.8rem); line-height: .93; margin: 0 0 24px; text-transform: uppercase; }

h2 { font-size: clamp(2.1rem,4vw,4rem); line-height: 1; margin: 0 0 18px; text-transform: uppercase; }

h3 { font-size: 1.6rem; margin: 0 0 10px; }

p { margin: 0 0 16px; }

.wrap { width: min(1180px,calc(100% - 40px)); margin: auto; }

/* Premium homepage refinement */
:root { --charcoal: #292929; --offwhite: #F7F7F5; --surface-dark: #D8D6D2; --surface-dark-2: #C7C4BE; --muted-on-dark: #5b5b57; --teal-soft: rgba(61,180,176,.16); --orange-soft: rgba(229,149,96,.18); }

body { background: var(--offwhite); }

/* Final homepage polish */
body { font-family: 'Inter',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color: #292929; }

/* Global rhythm */
body { line-height: 1.65; }

p { margin: 0 0 18px; line-height: 1.68; text-wrap: pretty; }

h1, h2, h3 { overflow-wrap: break-word; text-wrap: balance; }

h1 { line-height: 1.01; margin-bottom: 30px; }

h2 { line-height: 1.09; margin-bottom: 24px; }

h3 { line-height: 1.16; margin-bottom: 14px; }

/* Release Candidate 10 — editorial QA */
html { scroll-behavior: smooth; }

body { overflow-x: hidden; }

h1, h2, h3, p, li { overflow-wrap: break-word; }

h1, h2, h3 { text-wrap: balance; }

/* Correct German hyphenation instead of arbitrary mid-word breaks */
h1, h2, h3 { hyphens: auto; -webkit-hyphens: auto; }

