
:root {
  --lfg-navy: #0D1B2A;
  --lfg-sage: #657F6E;
  --lfg-graphite: #3A3A3A;
  --lfg-ivory: #F6F4EF;
  --lfg-gold: #C9AE7A;
  --lfg-white: #FFFFFF;
}
html { scroll-behavior: smooth; }
body { background: var(--lfg-ivory); color: var(--lfg-graphite); }
.font-heading { letter-spacing: -0.015em; }
.lfg-card { background: rgba(255,255,255,0.86); border: 1px solid rgba(201,174,122,.22); box-shadow: 0 14px 35px rgba(13,27,42,.08); }
.lfg-card-soft { background: rgba(246,244,239,0.9); border: 1px solid rgba(101,127,110,.18); }
.lfg-divider { display:flex; align-items:center; justify-content:center; gap:14px; color:var(--lfg-gold); }
.lfg-divider::before, .lfg-divider::after { content:""; width:72px; height:1px; background:var(--lfg-gold); opacity:.8; }
.lfg-divider span { width:8px; height:8px; transform:rotate(45deg); background:var(--lfg-gold); display:block; }
.lfg-btn-primary { background: var(--lfg-navy); color: white; border: 1px solid var(--lfg-navy); }
.lfg-btn-primary:hover { background: #10263b; }
.lfg-btn-secondary { background: transparent; color: var(--lfg-navy); border: 1px solid var(--lfg-sage); }
.lfg-btn-secondary:hover { background: rgba(101,127,110,.10); }
.lfg-eyebrow { color: var(--lfg-sage); letter-spacing: .22em; text-transform: uppercase; font-weight: 700; font-size: .78rem; }
.lfg-gold-text { color: var(--lfg-gold); }
.lfg-hero-gradient { background: radial-gradient(circle at 85% 10%, rgba(201,174,122,.22), transparent 30%), linear-gradient(135deg, #ffffff 0%, #F6F4EF 60%, rgba(101,127,110,.12) 100%); }
.lfg-section-dark { background: var(--lfg-navy); color: white; }
.lfg-section-dark p, .lfg-section-dark li { color: rgba(255,255,255,.78); }
.prose-lfg h2 { color: var(--lfg-navy); font-family: 'Playfair Display', serif; font-weight: 700; margin-top: 2rem; }
.prose-lfg h3 { color: var(--lfg-sage); font-weight: 700; margin-top: 1.5rem; }
.prose-lfg p { line-height: 1.85; margin-top: 1rem; color: #4B5563; }
.prose-lfg ul { margin-top: 1rem; }
.prose-lfg li { margin: .45rem 0; color: #4B5563; }
.lfg-floating-whatsapp { position: fixed; right: 18px; bottom: 18px; z-index: 60; background: var(--lfg-sage); color: white; border-radius: 999px; box-shadow: 0 16px 36px rgba(13,27,42,.22); display: flex; gap: .55rem; align-items: center; padding: .85rem 1rem; font-weight: 700; }
.lfg-floating-whatsapp:hover { background: #556f5e; }
@media (max-width: 640px) { .lfg-floating-whatsapp span { display:none; } }


/* Marca no cabeçalho */
.lfg-header-brand { display:flex; align-items:center; gap:1rem; min-width: 300px; }
.lfg-header-monogram { height: 72px; width: auto; display:block; }
.lfg-header-text { display:flex; flex-direction:column; line-height:1.02; }
.lfg-header-name { font-family:'Playfair Display', serif; color:var(--lfg-navy); font-weight:700; font-size:1.38rem; letter-spacing:-.015em; white-space:nowrap; }
.lfg-header-subtitle { color:var(--lfg-sage); font-weight:800; font-size:.78rem; letter-spacing:.10em; text-transform:uppercase; white-space:nowrap; margin-top:.25rem; }
@media (max-width: 520px) { .lfg-header-text { display:none; } .lfg-header-monogram { height:58px; } .lfg-header-brand { min-width:auto; } }
@media (min-width: 1024px) { .lfg-header-monogram { height:78px; } .lfg-header-name { font-size:1.48rem; } .lfg-header-subtitle { font-size:.82rem; } }

/* Rodapé legível */
.lfg-footer-brand-card { background:rgba(255,255,255,.96); border:1px solid rgba(201,174,122,.45); border-radius:18px; padding:18px; display:flex; align-items:center; gap:16px; box-shadow:0 14px 35px rgba(0,0,0,.14); min-width: 270px; }
.lfg-footer-monogram { height:88px; width:auto; flex:none; }
.lfg-footer-name { font-family:'Playfair Display', serif; color:var(--lfg-navy)!important; font-size:1.35rem; font-weight:700; line-height:1.05; }
.lfg-footer-specialty { color:var(--lfg-sage)!important; font-size:.76rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; line-height:1.25; margin-top:.34rem; }

/* Cards clicáveis */
.lfg-treatment-card { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; min-height: 250px; }
.lfg-treatment-card:hover { transform: translateY(-4px); box-shadow:0 20px 45px rgba(13,27,42,.13); border-color:rgba(201,174,122,.65); }

@media (max-width: 768px) { .lfg-footer-brand-card { max-width: 360px; } }
