/* ═══════════════════════════════════════
   CENTERED CARE — HARMONY CARE INSPIRED
   Soft warm palette, professional layout
═══════════════════════════════════════ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --gold:        #c9a96e;
  --gold-light:  #e8c98a;
  --gold-pale:   #fdf6e8;
  --sage:        #6b9e78;
  --sage-light:  #9ec4a8;
  --sage-pale:   #eef6f0;
  --cream:       #faf8f4;
  --off-white:   #f5f1eb;
  --dark:        #1c2422;
  --dark-mid:    #2d3c38;
  --brown:       #4a3520;
  --muted:       #7a7060;
  --text:        #2a2018;
  --border:      rgba(107,158,120,0.15);
  --shadow:      rgba(28,36,34,0.1);
}
html { scroll-behavior:smooth; }
body { font-family:'DM Sans',sans-serif; background:var(--cream); color:var(--text); overflow-x:hidden; }

/* ── TOPBAR ── */
.topbar { background:var(--dark); padding:0.6rem 6rem; display:flex; align-items:center; justify-content:space-between; }
.topbar-left { display:flex; gap:2.5rem; }
.topbar-item { font-size:0.78rem; color:rgba(255,255,255,0.6); display:flex; align-items:center; gap:0.45rem; }
.topbar-right { display:flex; align-items:center; gap:2rem; }
.topbar-phone { font-size:0.82rem; color:white; font-weight:600; text-decoration:none; }
.topbar-phone:hover { color:var(--gold-light); }
.topbar-btn { background:var(--gold); color:var(--dark); padding:0.45rem 1.2rem; border-radius:4px; font-size:0.78rem; font-weight:700; text-decoration:none; transition:all 0.3s; }
.topbar-btn:hover { background:var(--gold-light); }

/* ── NAV ── */
nav { position:sticky; top:0; z-index:200; background:white; padding:0 6rem; display:flex; align-items:center; justify-content:space-between; box-shadow:0 2px 20px rgba(28,36,34,0.08); height:86px; }
.nav-logo { display:flex; align-items:center; gap:0.8rem; text-decoration:none; }
.nav-logo-name { font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:600; color:var(--dark); line-height:1.1; }
.nav-logo-name span { color:var(--sage); }
.nav-logo-sub { font-size:0.58rem; color:var(--muted); letter-spacing:0.1em; text-transform:uppercase; }
nav ul { list-style:none; display:flex; align-items:center; height:86px; }
nav ul li { height:100%; display:flex; align-items:center; position:relative; }
nav ul > li > a { text-decoration:none; font-size:0.87rem; font-weight:500; color:var(--dark); padding:0 1.2rem; height:100%; display:flex; align-items:center; gap:0.3rem; border-bottom:3px solid transparent; transition:all 0.25s; white-space:nowrap; }
nav ul > li > a:hover, nav ul > li > a.active { color:var(--sage); border-bottom-color:var(--sage); }
.dropdown-arrow { font-size:0.6rem; transition:transform 0.25s; }
.has-dropdown:hover .dropdown-arrow { transform:rotate(180deg); }
.dropdown { position:absolute; top:100%; left:0; background:white; border-radius:0 0 10px 10px; box-shadow:0 20px 60px rgba(28,36,34,0.14); min-width:260px; padding:0.7rem 0; opacity:0; visibility:hidden; transform:translateY(8px); transition:all 0.25s; z-index:300; border-top:3px solid var(--gold); }
.has-dropdown:hover .dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.dropdown a { display:flex; align-items:center; gap:0.8rem; padding:0.7rem 1.5rem; font-size:0.84rem; font-weight:400; color:var(--muted); text-decoration:none; transition:all 0.2s; border:none !important; height:auto !important; }
.dropdown a:hover { color:var(--sage); background:var(--sage-pale); padding-left:1.9rem; }
.dropdown-icon { width:22px; text-align:center; }
.nav-cta { background:var(--gold) !important; color:var(--dark) !important; padding:0.72rem 1.6rem !important; border-radius:4px !important; font-weight:700 !important; height:auto !important; border-bottom:none !important; margin-left:1.5rem; transition:all 0.3s !important; }
.nav-cta:hover { background:var(--dark) !important; color:white !important; transform:translateY(-1px) !important; }
.hamburger { display:none; background:none; border:none; font-size:1.5rem; cursor:pointer; color:var(--dark); }
.mobile-menu { display:none; flex-direction:column; background:white; border-top:1px solid var(--border); }
.mobile-menu.open { display:flex; }
.mobile-menu a { padding:0.9rem 2rem; font-size:0.9rem; color:var(--muted); text-decoration:none; border-bottom:1px solid var(--border); }
.mobile-menu a:hover { color:var(--sage); background:var(--sage-pale); }

/* ── BUTTONS ── */
.btn-gold { background:var(--gold); color:var(--dark); padding:1rem 2.4rem; border-radius:4px; font-size:0.92rem; font-weight:700; text-decoration:none; border:none; cursor:pointer; transition:all 0.3s; display:inline-block; }
.btn-gold:hover { background:var(--dark); color:white; transform:translateY(-2px); box-shadow:0 10px 28px rgba(201,169,110,0.35); }
.btn-outline { background:transparent; color:var(--dark); padding:1rem 2.4rem; border-radius:4px; font-size:0.92rem; font-weight:500; text-decoration:none; border:1.5px solid rgba(28,36,34,0.25); cursor:pointer; transition:all 0.3s; display:inline-block; }
.btn-outline:hover { border-color:var(--sage); color:var(--sage); }
.btn-outline-white { background:transparent; color:white; padding:1rem 2.4rem; border-radius:4px; font-size:0.92rem; font-weight:600; text-decoration:none; border:1.5px solid rgba(255,255,255,0.45); cursor:pointer; transition:all 0.3s; display:inline-block; }
.btn-outline-white:hover { background:rgba(255,255,255,0.15); border-color:white; }
.btn-sage { background:var(--sage); color:white; padding:1rem 2.4rem; border-radius:4px; font-size:0.92rem; font-weight:700; text-decoration:none; border:none; cursor:pointer; transition:all 0.3s; display:inline-block; }
.btn-sage:hover { background:var(--dark); transform:translateY(-2px); }

/* ── SECTION HELPERS ── */
.section-tag { font-size:0.72rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-bottom:0.8rem; display:flex; align-items:center; gap:0.7rem; }
.section-tag::before { content:''; width:28px; height:2px; background:var(--gold); border-radius:2px; }
.section-tag.sage { color:var(--sage); }
.section-tag.sage::before { background:var(--sage); }
.section-tag.light { color:rgba(255,255,255,0.7); }
.section-tag.light::before { background:rgba(255,255,255,0.5); }
.section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,3.5vw,3.2rem); font-weight:500; color:var(--dark); line-height:1.2; letter-spacing:-0.01em; }
.section-title em { font-style:italic; color:var(--sage); }
.section-title.gold em { color:var(--gold); }
.section-title.light { color:white; }
.section-title.light em { color:var(--gold-light); }

/* ── FOOTER ── */
footer { background:var(--dark); padding:5rem 6rem 0; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:4rem; padding-bottom:4rem; border-bottom:1px solid rgba(255,255,255,0.07); }
.footer-brand-name { font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:600; color:white; margin-bottom:0.3rem; }
.footer-brand-name span { color:var(--sage-light); }
.footer-sub { font-size:0.62rem; color:var(--gold); letter-spacing:0.12em; text-transform:uppercase; margin-bottom:1.2rem; }
.footer-tagline { font-size:0.85rem; line-height:1.8; color:rgba(255,255,255,0.45); max-width:240px; margin-bottom:1.8rem; font-family:'Cormorant Garamond',serif; font-style:italic; }
.footer-contact-line { font-size:0.83rem; color:rgba(255,255,255,0.65); margin-bottom:0.6rem; }
.footer-col h5 { font-size:0.68rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:rgba(255,255,255,0.3); margin-bottom:1.4rem; }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:0.7rem; }
.footer-col a { text-decoration:none; font-size:0.84rem; color:rgba(255,255,255,0.55); transition:color 0.25s; }
.footer-col a:hover { color:var(--gold-light); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding:1.8rem 0; font-size:0.77rem; color:rgba(255,255,255,0.25); border-top:1px solid rgba(255,255,255,0.05); flex-wrap:wrap; gap:0.5rem; }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes floatY { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
@keyframes countUp { from{opacity:0} to{opacity:1} }
.reveal { opacity:0; transform:translateY(28px); transition:opacity 0.7s ease,transform 0.7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .topbar,nav,footer { padding-left:2rem; padding-right:2rem; }
  nav ul { display:none; } .hamburger { display:block; }
  .footer-top { grid-template-columns:1fr 1fr; gap:2rem; } footer { padding:3rem 2rem 0; }
}
