/* KTH Wedding Online — Pre-compiled Critical Layout & Utility Fallback (v1.8.2 — Unified ZenLove Font Stack) */
*, ::before, ::after { box-sizing: border-box; }
html.scroll-smooth { scroll-behavior: smooth; }
body, body.zl-public-site {
    margin: 0;
    font-family: 'Quicksand', -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: #18181b;
    background-color: #FDFBF7;
    -webkit-font-smoothing: antialiased;
}
.font-heading {
    font-family: 'Paytone One', 'Quicksand', sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em;
}
.font-signature {
    font-family: 'Pacifico', 'Great Vibes', cursive !important;
    font-weight: 400 !important;
}
.font-serif {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
}
img, svg, video, canvas { display: block; max-width: 100%; height: auto; }
svg.w-3\.5 { width: 0.875rem; height: 0.875rem; }
svg.w-4, .w-4 { width: 1rem; }
svg.h-4, .h-4 { height: 1rem; }
svg.w-5, .w-5 { width: 1.25rem; }
svg.h-5, .h-5 { height: 1.25rem; }
svg.w-6, .w-6 { width: 1.5rem; }
svg.h-6, .h-6 { height: 1.5rem; }
.h-9 { height: 2.25rem; }
.w-9 { width: 2.25rem; }
.h-10 { height: 2.5rem; }
.w-10 { width: 2.5rem; }
.h-14 { height: 3.5rem; }
.min-h-screen { min-height: 100vh; }
.max-w-7xl { max-width: 80rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.flex { display: flex; }
.inline-flex { display: inline-flex; }
.grid { display: grid; }
.hidden { display: none; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.flex-wrap { flex-wrap: wrap; }
.flex-col { flex-direction: column; }
.gap-2 { gap: 0.5rem; }
.gap-2\.5 { gap: 0.625rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }
.rounded-full { border-radius: 9999px; }
.rounded-2xl { border-radius: 1rem; }
.rounded-3xl { border-radius: 1.5rem; }
.bg-white { background-color: #ffffff; }
.text-white { color: #ffffff; }
.no-underline { text-decoration: none; }
@media (min-width: 1024px) {
    .lg\:block { display: block !important; }
    .lg\:hidden { display: none !important; }
    .lg\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
    .lg\:col-span-8 { grid-column: span 8 / span 8; }
    .lg\:col-span-7 { grid-column: span 7 / span 7; }
    .lg\:col-span-5 { grid-column: span 5 / span 5; }
    .lg\:col-span-4 { grid-column: span 4 / span 4; }
    .lg\:sticky { position: sticky; }
    .lg\:top-20 { top: 5rem; }
}
