@font-face { font-family: "SLP Oswald"; src: url("fonts/Oswald-Variable.ttf") format("truetype"); font-style: normal; font-weight: 200 700; font-display: swap; }
@font-face { font-family: "SLP Montserrat"; src: url("fonts/Montserrat-Variable.ttf") format("truetype"); font-style: normal; font-weight: 100 900; font-display: swap; }
@font-face { font-family: "SLP Open Sans"; src: url("fonts/OpenSans-Variable.ttf") format("truetype"); font-style: normal; font-weight: 300 800; font-display: swap; }
@font-face { font-family: "SLP Roboto"; src: url("fonts/Roboto-Variable.ttf") format("truetype"); font-style: normal; font-weight: 100 900; font-display: swap; }
@font-face { font-family: "SLP Playfair Display"; src: url("fonts/PlayfairDisplay-Variable.ttf") format("truetype"); font-style: normal; font-weight: 400 900; font-display: swap; }
@font-face { font-family: "SLP Merriweather"; src: url("fonts/Merriweather-Variable.ttf") format("truetype"); font-style: normal; font-weight: 300 900; font-display: swap; }
@font-face { font-family: "SLP Lato"; src: url("fonts/Lato-Regular.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "SLP Lato"; src: url("fonts/Lato-Medium.ttf") format("truetype"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "SLP Lato"; src: url("fonts/Lato-Medium.ttf") format("truetype"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "SLP Lato"; src: url("fonts/Lato-Bold.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "SLP Lato"; src: url("fonts/Lato-Bold.ttf") format("truetype"); font-style: normal; font-weight: 800; font-display: swap; }
@font-face { font-family: "SLP Lato"; src: url("fonts/Lato-Bold.ttf") format("truetype"); font-style: normal; font-weight: 900; font-display: swap; }
@font-face { font-family: "SLP Poppins"; src: url("fonts/Poppins-Regular.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "SLP Poppins"; src: url("fonts/Poppins-Medium.ttf") format("truetype"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "SLP Poppins"; src: url("fonts/Poppins-SemiBold.ttf") format("truetype"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "SLP Poppins"; src: url("fonts/Poppins-Bold.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "SLP Poppins"; src: url("fonts/Poppins-Bold.ttf") format("truetype"); font-style: normal; font-weight: 800; font-display: swap; }
@font-face { font-family: "SLP Poppins"; src: url("fonts/Poppins-Bold.ttf") format("truetype"); font-style: normal; font-weight: 900; font-display: swap; }
* { box-sizing: border-box; }
html.slp-html { min-height: 100%; background: var(--slp-bg); }
body.slp-body { display: block !important; min-height: 100vh; background-color: var(--slp-bg); background-image: var(--slp-bg-image); background-position: center; background-repeat: no-repeat; background-size: cover; color: var(--slp-text); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body.slp-body .slp-page { position: relative !important; left: auto !important; right: auto !important; display: block !important; float: none !important; width: min(100%, var(--slp-width)) !important; min-width: 0 !important; max-width: var(--slp-width) !important; min-height: 100vh; margin: 0 auto !important; padding: clamp(38px, 8vw, 76px) var(--slp-page-padding) 30px !important; transform: none !important; text-align: center; }
body.slp-body .slp-profile, body.slp-body .slp-content, body.slp-body .slp-footer { position: relative; left: auto; right: auto; float: none; width: 100%; min-width: 0; max-width: none; margin-right: 0; margin-left: 0; transform: none; }
.slp-profile { margin-bottom: 28px !important; }
.slp-profile-photo { width: var(--slp-photo-width); margin: 0 auto 18px; }
.slp-profile-photo img { display: block; max-width: 100%; height: auto; margin: auto; }
.slp-photo-original img { width: 100%; height: auto; }
body.slp-body .slp-page.slp-page-full-bleed-photo { padding-top: 0 !important; }
.slp-photo-full-bleed { width: min(100vw, var(--slp-width)); max-width: none; margin: 0 0 0 50%; transform: translateX(-50%); }
.slp-photo-circle { aspect-ratio: 1; border: var(--slp-photo-border-width) solid var(--slp-photo-border-color); border-radius: 50%; overflow: hidden; }
.slp-photo-circle img { width: 100%; height: 100%; object-fit: cover; }
.slp-profile h1 { margin: 0; color: var(--slp-name-color); font-family: var(--slp-name-font-family); font-size: var(--slp-name-font-size); font-weight: var(--slp-name-font-weight); line-height: var(--slp-name-line-height); letter-spacing: -.02em; }
.slp-bio { max-width: 540px; margin: 12px auto 0; color: var(--slp-bio-color); font-family: var(--slp-bio-font-family); font-size: var(--slp-bio-font-size); font-weight: var(--slp-bio-font-weight); line-height: var(--slp-bio-line-height); opacity: .88; }
.slp-content { display: grid; gap: 14px; }
.slp-button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: var(--slp-button-height); padding: 13px 20px; border: var(--slp-border-width) solid var(--slp-border); border-radius: var(--slp-radius); background: var(--slp-button); color: var(--slp-button-text); font-size: var(--slp-button-font-size); font-weight: var(--slp-button-weight); line-height: 1.25; text-align: center; text-decoration: none; overflow-wrap: anywhere; transition: color .18s ease, background-color .18s ease, transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.slp-button:hover, .slp-button:focus-visible { background: var(--slp-button-hover); color: var(--slp-button-text-hover); text-decoration: none !important; transform: translateY(-1px); box-shadow: 0 7px 18px rgb(0 0 0 / 12%); }
.slp-button-highlight { border-color: var(--slp-highlight-border); background: var(--slp-highlight-button); color: var(--slp-highlight-button-text); }
.slp-button-highlight:hover, .slp-button-highlight:focus-visible { background: var(--slp-highlight-button-hover); color: var(--slp-highlight-button-text-hover); filter: none; }
.slp-button:focus-visible, .slp-socials a:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.slp-socials { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px; padding: 8px 0; }
.slp-socials a { display: grid; width: 30px; height: 30px; place-items: center; color: var(--slp-social); text-decoration: none; transition: transform .18s ease, opacity .18s ease; }
.slp-socials a:hover { color: var(--slp-social); opacity: .72; transform: translateY(-2px); }
.slp-socials svg { display: block; width: 24px; height: 24px; fill: currentColor; }
.slp-qr-code { display: grid; width: 100%; padding: 8px 0; place-items: center; }
.slp-qr-code canvas { display: block; width: min(100%, var(--slp-qr-display-size, 240px)); height: auto; image-rendering: pixelated; }
.slp-footer { margin-top: 34px; color: var(--slp-footer-color); font-size: var(--slp-footer-font-size, 13px); opacity: .65; }
.slp-footer p { margin: 0 0 1em; color: inherit; font: inherit; line-height: 1.5; }
.slp-footer p:last-child { margin-bottom: 0; }
@media (min-width: 769px) {
	body.slp-body .slp-page { padding: var(--slp-page-padding) !important; }
	body.slp-body .slp-page.slp-page-full-bleed-photo { padding: 0 var(--slp-page-padding) var(--slp-page-padding) !important; }
	body.slp-body .slp-photo-full-bleed { width: calc(100% + var(--slp-page-padding) + var(--slp-page-padding)); margin-left: calc(-1 * var(--slp-page-padding)); transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.slp-button, .slp-socials a { transition: none; }
}
