/* ===== FONTS — SMS PTMO Design Preview ===== */

/* General Sans (woff2) */
@font-face { font-family: 'GeneralSans'; src: url('general-sans/GeneralSans-Extralight.woff2') format('woff2'); font-weight: 200; font-style: normal; font-display: swap; }
@font-face { font-family: 'GeneralSans'; src: url('general-sans/GeneralSans-ExtralightItalic.woff2') format('woff2'); font-weight: 200; font-style: italic; font-display: swap; }
@font-face { font-family: 'GeneralSans'; src: url('general-sans/GeneralSans-Light.woff2') format('woff2'); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: 'GeneralSans'; src: url('general-sans/GeneralSans-Italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'GeneralSans'; src: url('general-sans/GeneralSans-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'GeneralSans'; src: url('general-sans/GeneralSans-BoldItalic.woff2') format('woff2'); font-weight: 700; font-style: italic; font-display: swap; }
/* Fallback: map 400/500/600 to existing weights */
@font-face { font-family: 'GeneralSans'; src: url('general-sans/GeneralSans-Bold.woff2') format('woff2'); font-weight: 400 600; font-style: normal; font-display: swap; }

/* Outfit (TTF) */
@font-face { font-family: 'Outfit'; src: url('outfit/Outfit-Thin.ttf') format('truetype'); font-weight: 100; font-style: normal; font-display: swap; }
@font-face { font-family: 'Outfit'; src: url('outfit/Outfit-ExtraLight.ttf') format('truetype'); font-weight: 200; font-style: normal; font-display: swap; }
@font-face { font-family: 'Outfit'; src: url('outfit/Outfit-Light.ttf') format('truetype'); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: 'Outfit'; src: url('outfit/Outfit-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Outfit'; src: url('outfit/Outfit-Medium.ttf') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Outfit'; src: url('outfit/Outfit-SemiBold.ttf') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Outfit'; src: url('outfit/Outfit-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Outfit'; src: url('outfit/Outfit-ExtraBold.ttf') format('truetype'); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'Outfit'; src: url('outfit/Outfit-Black.ttf') format('truetype'); font-weight: 900; font-style: normal; font-display: swap; }

/* SF Pro Display (OTF) */
@font-face { font-family: 'SF Pro Display'; src: url('sf-pro/SF-Pro-Display-Thin.otf') format('opentype'); font-weight: 100; font-style: normal; font-display: swap; }
@font-face { font-family: 'SF Pro Display'; src: url('sf-pro/SF-Pro-Display-Light.otf') format('opentype'); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: 'SF Pro Display'; src: url('sf-pro/SF-Pro-Display-Regular.otf') format('opentype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'SF Pro Display'; src: url('sf-pro/SF-Pro-Display-RegularItalic.otf') format('opentype'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'SF Pro Display'; src: url('sf-pro/SF-Pro-Display-Medium.otf') format('opentype'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'SF Pro Display'; src: url('sf-pro/SF-Pro-Display-Semibold.otf') format('opentype'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'SF Pro Display'; src: url('sf-pro/SF-Pro-Display-Bold.otf') format('opentype'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'SF Pro Display'; src: url('sf-pro/SF-Pro-Display-Heavy.otf') format('opentype'); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'SF Pro Display'; src: url('sf-pro/SF-Pro-Display-Black.otf') format('opentype'); font-weight: 900; font-style: normal; font-display: swap; }

/* SF Pro Rounded */
@font-face { font-family: 'SF Pro Rounded'; src: url('sf-pro/SF-Pro-Rounded-Regular.otf') format('opentype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'SF Pro Rounded'; src: url('sf-pro/SF-Pro-Rounded-Medium.otf') format('opentype'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'SF Pro Rounded'; src: url('sf-pro/SF-Pro-Rounded-Semibold.otf') format('opentype'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'SF Pro Rounded'; src: url('sf-pro/SF-Pro-Rounded-Bold.otf') format('opentype'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'SF Pro Rounded'; src: url('sf-pro/SF-Pro-Rounded-Heavy.otf') format('opentype'); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'SF Pro Rounded'; src: url('sf-pro/SF-Pro-Rounded-Black.otf') format('opentype'); font-weight: 900; font-style: normal; font-display: swap; }

/* Young Serif */
@font-face { font-family: 'Young Serif'; src: url('young-serif/YoungSerif-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
