.theme-ai-family-draft { background: #fffdf8; color: #24332f; margin: 0 auto; max-width: 50rem; min-height: 100vh; overflow: hidden; }
.theme-ai-family-draft[data-event-type="wedding"] { max-width: 52rem; }
.theme-ai-family-draft * { box-sizing: border-box; }
.ai-draft-hero { min-height: min(86dvh, 48rem); position: relative; }
.ai-draft-hero > img { display: block; height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.ai-draft-hero > img.ai-draft-hero-image--identity { object-position: center; }
.ai-draft-hero-scrim { background: linear-gradient(180deg, transparent 38%, rgb(12 30 27 / 78%)); inset: 0; position: absolute; }
.ai-draft-hero-copy { bottom: 0; color: #fff; padding: clamp(1.5rem, 8vw, 4.5rem); position: absolute; width: 100%; z-index: 1; }
.ai-draft-hero-copy p, .ai-draft-label { font-size: .72rem; font-weight: 800; letter-spacing: .16em; margin: 0 0 .8rem; text-transform: uppercase; }
.ai-draft-hero h1 { font-family: Georgia, serif; font-size: clamp(2.6rem, 10vw, 5.5rem); line-height: .98; margin: 0 0 1rem; overflow-wrap: anywhere; }
.ai-draft-hero h1 span { display: block; font-size: .55em; font-style: italic; line-height: 1.1; }
.ai-draft-hero time { font-size: .95rem; }
.ai-draft-hero--fallback { align-items: center; background: #dfeee8; display: flex; flex-direction: column; justify-content: center; padding: 2rem; text-align: center; }
.ai-draft-hero--fallback h1 { color: #1d594d; }
.ai-draft-section { padding: clamp(2.5rem, 9vw, 5rem) clamp(1.25rem, 7vw, 4rem); }
.ai-draft-section--soft { background: #eef4ef; }
.ai-draft-identity-photos { background: #f2f7f4; padding: clamp(2.5rem, 9vw, 5rem) clamp(1.25rem, 7vw, 4rem); }
.ai-draft-identity-photos h2 { color: #1d594d; font-family: Georgia, serif; font-size: clamp(2rem, 8vw, 3.8rem); line-height: 1.04; margin: 0 0 1.7rem; overflow-wrap: anywhere; }
.ai-draft-identity-photos-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ai-draft-identity-photo-card { margin: 0; }
.ai-draft-identity-photo-card img { aspect-ratio: 4 / 5; border-radius: 1rem; display: block; height: auto; object-fit: cover; width: 100%; }
.ai-draft-identity-photo-card figcaption { color: #1d594d; font-family: Georgia, serif; font-size: 1.15rem; padding: .85rem .5rem 0; text-align: center; }
.ai-draft-section h2 { font-family: Georgia, serif; font-size: clamp(2rem, 8vw, 3.8rem); line-height: 1.04; margin: 0 0 1rem; overflow-wrap: anywhere; }
.ai-draft-section p { color: #60716b; line-height: 1.65; }
.ai-draft-gallery { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ai-draft-gallery img { aspect-ratio: 1; display: block; height: 100%; object-fit: cover; width: 100%; }
.ai-draft-footer { background: #1d594d; color: #fff; font-size: .82rem; padding: 1.5rem; text-align: center; }
@media (max-width: 47.99rem) { .ai-draft-identity-photos-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .theme-ai-family-draft * { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
