/* Base */
body { margin: 0; background: #FBF7F1; -webkit-font-smoothing: antialiased; }
a { color: #55654A; text-decoration: none; }
a:hover { color: #7E8F6E; }
::selection { background: #E4DCCB; }

.icon { flex: none; display: block; }

/* Buttons */
.btn-header { display: inline-flex; align-items: center; gap: 10px; background: #25D366; color: #FFFFFF; padding: 13px 22px; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; min-height: 44px; box-sizing: border-box; transition: background .2s ease; }
.btn-header:hover { background: #1EBE5B; color: #FFFFFF; }

.btn-hero { display: inline-flex; align-items: center; gap: 12px; background: #25D366; color: #FFFFFF; padding: 18px 32px; border-radius: 999px; font-size: 15px; font-weight: 600; letter-spacing: 0.05em; box-shadow: 0 10px 24px rgba(37,211,102,0.24); transition: background .2s ease; }
.btn-hero:hover { background: #1EBE5B; color: #FFFFFF; }

.btn-final { display: inline-flex; align-items: center; gap: 12px; background: #25D366; color: #FFFFFF; padding: 18px 34px; border-radius: 999px; font-size: 15px; font-weight: 600; letter-spacing: 0.05em; transition: background .2s ease; }
.btn-final:hover { background: #1EBE5B; color: #FFFFFF; }

.btn-cta { display: inline-flex; align-items: center; gap: 12px; background: #4F5C43; color: #FFFFFF; padding: 20px 38px; border-radius: 999px; font-size: 16px; font-weight: 600; letter-spacing: 0.05em; transition: background .2s ease; }
.btn-cta:hover { background: #3E4A36; color: #FFFFFF; }

.btn-agenda { display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: #4F5C43; color: #FFFFFF; border: 1.5px solid #4F5C43; padding: 16.5px 30px; border-radius: 999px; font-size: 15px; font-weight: 700; letter-spacing: 0.05em; box-sizing: border-box; box-shadow: 0 10px 24px rgba(79,92,67,0.30); transition: background .2s ease, transform .2s ease, box-shadow .2s ease; }
.btn-agenda:hover { background: #3E4A36; border-color: #3E4A36; color: #FFFFFF; transform: translateY(-2px); box-shadow: 0 14px 28px rgba(79,92,67,0.38); }
.btn-agenda--light { background: #FFFFFF; color: #4F5C43; border-color: #FFFFFF; padding: 18.5px 36px; font-size: 16px; box-shadow: 0 10px 24px rgba(0,0,0,0.25); }
.btn-agenda--light:hover { background: #F1F3EC; border-color: #F1F3EC; color: #3E4A36; }
.process-cta { flex-wrap: wrap; gap: 18px; }
.final-cta-buttons { display: flex; flex-wrap: wrap; gap: 18px; }

/* Floating action button */
.fab { position: fixed; right: 22px; bottom: 22px; z-index: 50; width: 58px; height: 58px; }
.fab-item { position: absolute; right: 4px; bottom: 4px; width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(0,0,0,.22); opacity: 0; transform: translateY(0) scale(.4); pointer-events: none; transition: transform .34s cubic-bezier(.34,1.56,.64,1), opacity .2s ease; }
.fab-item.fab-insta { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.fab-item.fab-wa-item { background: #25D366; }
.fab.open .fab-item.fab-wa-item { opacity: 1; transform: translateY(-72px) scale(1); pointer-events: auto; transition-delay: .04s; }
.fab.open .fab-item.fab-insta { opacity: 1; transform: translateY(-136px) scale(1); pointer-events: auto; transition-delay: .09s; }
.fab-toggle { position: absolute; right: 0; bottom: 0; width: 58px; height: 58px; border-radius: 50%; border: none; padding: 0; background: #25D366; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 8px 22px rgba(37,211,102,.4); transition: transform .32s cubic-bezier(.34,1.56,.64,1); }
.fab.open .fab-toggle { transform: rotate(135deg); }
.fab-toggle-icon { position: relative; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; }

/* Page shell */
.page { font-family: Karla, Helvetica, sans-serif; color: #3A4234; background: #FBF7F1; overflow-x: hidden; }

/* Header */
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 6vw; background: #FFFFFF; border-bottom: 1px solid #EFE7DA; position: sticky; top: 0; z-index: 20; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand-icon { width: 40px; height: 40px; border-radius: 50%; border: 1px solid #C9BBA6; display: flex; align-items: center; justify-content: center; flex: none; color: #8A9B79; }
.brand-text { display: flex; flex-direction: column; gap: 2px; }
.brand-name { font-family: 'Cormorant Garamond', serif; font-size: 22px; letter-spacing: 0.16em; color: #3A4234; }
.brand-tag { font-size: 11px; letter-spacing: 0.22em; color: #8C8778; font-weight: 500; }

/* Hero */
.hero { display: flex; flex-wrap: wrap; align-items: center; gap: 56px; padding: 72px 6vw 84px; background: linear-gradient(180deg, #FFFFFF 0%, #FBF7F1 100%); }
.hero-content { flex: 1 1 420px; display: flex; flex-direction: column; gap: 26px; max-width: 620px; }
.hero-eyebrow { font-size: 12px; letter-spacing: 0.1em; color: #7E8F6E; font-weight: 600; }
.hero-title { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(38px, 5vw, 60px); line-height: 1.05; letter-spacing: -0.01em; margin: 0; color: #333B2D; text-wrap: pretty; }
.hero-description { font-size: 18px; line-height: 1.65; color: #5C5F52; margin: 0; max-width: 520px; text-wrap: pretty; }
.hero-features { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.hero-features-item { display: flex; align-items: center; gap: 12px; font-size: 16px; color: #444B3C; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 6px; }
.hero-note { font-size: 14px; color: #8C8778; }
.hero-media { flex: 1 1 380px; position: relative; }
.hero-media-bg { position: absolute; inset: 24px -18px -24px 30px; background: #E8EDE1; border-radius: 200px 24px 200px 24px; }
.hero-image { position: relative; display: block; width: 100%; height: min(620px, 78vh); object-fit: cover; object-position: center 12%; border-radius: 200px 24px 200px 24px; }
.hero-badge { position: absolute; left: -28px; bottom: 44px; background: #FFFFFF; padding: 18px 24px; border-radius: 14px; box-shadow: 0 16px 40px rgba(58,66,52,0.12); display: flex; flex-direction: column; gap: 4px; }
.hero-badge-name { font-family: 'Cormorant Garamond', serif; font-size: 17px; letter-spacing: 0.14em; }
.hero-badge-crm { font-size: 11px; letter-spacing: 0.2em; color: #8C8778; }
.hero-badge-location { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: #4C5442; margin-top: 4px; }

/* Check icon (feature lists) */
.check-icon { width: 22px; height: 22px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.check-icon--green { background: #E5EADF; }
.check-icon--rose { background: #F6E7E2; }

/* Audience */
.audience { padding: 88px 6vw; background: #FFFFFF; }
.audience-wrap { display: flex; flex-wrap: wrap; gap: 48px; align-items: start; }
.audience-intro { flex: 1 1 240px; display: flex; flex-direction: column; gap: 16px; }
.audience-title { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(30px, 3.6vw, 42px); line-height: 1.1; margin: 0; color: #333B2D; }
.audience-lead { font-size: 16px; line-height: 1.6; color: #6D7062; margin: 0; }
.audience-grid { flex: 3 1 440px; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 18px; }
.audience-card { background: #F3E9DA; border-radius: 16px; padding: 30px 22px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; min-height: 160px; }
.audience-icon { width: 56px; height: 56px; border-radius: 50%; background: #FBF5EC; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.audience-card-text { margin: 0; font-size: 16px; line-height: 1.5; color: #4C4638; font-weight: 500; }

/* Women's health */
.women-health { padding: 88px 6vw; background: #FBF3EE; }
.women-health-wrap { display: flex; flex-wrap: wrap; gap: 48px; align-items: start; }
.women-health-intro { flex: 1 1 280px; max-width: 420px; display: flex; flex-direction: column; gap: 16px; }
.women-health-eyebrow { font-size: 12px; letter-spacing: 0.2em; color: #C08A7A; font-weight: 600; }
.women-health-title { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(30px, 3.6vw, 42px); line-height: 1.1; margin: 0; color: #333B2D; }
.women-health-lead { font-size: 16px; line-height: 1.6; color: #6D7062; margin: 0; }
.women-health-grid { flex: 2 1 440px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px 24px; }
.women-health-item { display: flex; align-items: center; gap: 12px; font-size: 16px; color: #444B3C; }

/* Why choose */
.why { padding: 88px 6vw; background: #FBF7F1; }
.why-wrap { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.why-badge { flex: 1 1 260px; max-width: 360px; background: #E8EDE1; border-radius: 999px; aspect-ratio: 1 / 0.82; display: flex; align-items: center; justify-content: center; padding: 32px; text-align: center; }
.why-badge-title { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 34px; line-height: 1.15; margin: 0; color: #3E4A36; }
.why-grid { flex: 3 1 440px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 24px 0; }
.why-item { padding: 8px 28px; border-left: 1px solid #DED5C4; display: flex; flex-direction: column; gap: 12px; }
.why-item-title { margin: 0; font-size: 17px; font-weight: 600; color: #3A4234; }
.why-item-text { margin: 0; font-size: 15px; line-height: 1.6; color: #6D7062; }

/* Process */
.process { padding: 88px 6vw; background: #FFFFFF; }
.process-header { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
.process-title { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(32px, 4.2vw, 46px); line-height: 1.08; margin: 0; color: #333B2D; }
.process-lead { font-size: 18px; line-height: 1.65; color: #6D7062; margin: 0; text-wrap: pretty; }
.process-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 28px; margin-top: 52px; }
.process-step { display: flex; flex-direction: column; gap: 14px; }
.process-step-number { width: 62px; height: 62px; border-radius: 50%; background: #E8EDE1; color: #5A6B4C; font-family: 'Cormorant Garamond', serif; font-size: 30px; display: flex; align-items: center; justify-content: center; }
.process-step-title { margin: 0; font-size: 18px; font-weight: 600; }
.process-step-text { margin: 0; font-size: 15px; line-height: 1.6; color: #6D7062; }
.process-cta { display: flex; justify-content: center; margin-top: 56px; }

/* About */
.about { display: flex; flex-wrap: wrap; background: #F3E9DA; }
.about-media { flex: 1 1 380px; position: relative; min-height: 560px; }
.about-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 8%; }
.about-quote { position: absolute; inset: auto clamp(18px,4vw,32px) clamp(28px,5vw,44px) clamp(18px,4vw,32px); box-sizing: border-box; background: rgba(255,255,255,.93); padding: clamp(20px,3vw,28px) clamp(24px,3.5vw,34px); border-radius: 14px; box-shadow: 0 16px 40px rgba(58,66,52,0.12); }
.about-quote-mark { font-family: 'Cormorant Garamond', serif; font-size: 40px; line-height: 0.6; color: #C7B79F; display: block; }
.about-quote-text { font-family: 'Cormorant Garamond', serif; font-size: clamp(20px,2.4vw,26px); line-height: 1.3; margin: 12px 0 0; color: #3E4A36; }
.about-content { flex: 1 1 420px; padding: 88px 6vw 88px clamp(28px, 7vw, 96px); display: flex; flex-direction: column; gap: 22px; justify-content: center; }
.about-title { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 44px; margin: 0; color: #333B2D; }
.about-meta { display: flex; flex-direction: column; gap: 2px; }
.about-name { font-size: 18px; font-weight: 600; color: #3A4234; }
.about-crm { font-size: 14px; letter-spacing: 0.14em; color: #8C8778; }
.about-text { font-size: 17px; line-height: 1.7; color: #57594C; margin: 0; max-width: 470px; text-wrap: pretty; }

/* Final CTA */
.final-cta { position: relative; min-height: 520px; display: flex; align-items: center; justify-content: center; padding: 90px 6vw; }
.final-cta-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 20%; }
.final-cta-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(240,236,228,0.95) 0%, rgba(240,236,228,0.82) 45%, rgba(240,236,228,0.25) 100%); }
.final-cta-content { position: relative; display: flex; flex-direction: column; gap: 30px; align-items: flex-start; max-width: 620px; margin-right: auto; }
.final-cta-title { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(32px, 4.4vw, 50px); line-height: 1.08; margin: 0; color: #333B2D; text-wrap: pretty; }

/* Footer */
.site-footer { background: #FFFFFF; border-top: 1px solid #EFE7DA; padding: 56px 6vw; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 40px; align-items: center; }
.footer-brand { display: flex; align-items: center; gap: 14px; }
.footer-brand-icon { width: 46px; height: 46px; border-radius: 50%; border: 1px solid #C9BBA6; display: flex; align-items: center; justify-content: center; flex: none; color: #8A9B79; }
.footer-brand-text { display: flex; flex-direction: column; gap: 6px; }
.footer-name { font-family: 'Cormorant Garamond', serif; font-size: 24px; letter-spacing: 0.16em; color: #3A4234; }
.footer-crm { font-size: 11px; letter-spacing: 0.22em; color: #8C8778; font-weight: 500; }
.footer-links { display: grid; gap: 14px; justify-items: start; }
.footer-item { display: flex; align-items: center; gap: 12px; font-size: 16px; color: #4C5442; }
.footer-link:hover { color: #7E8F6E; }
