.charms-hero {
  position: relative; height: 65vh; min-height: 480px; overflow: hidden; margin-top: 58px;
}
.charms-hero img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.charms-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,.65) 0%, rgba(0,0,0,.15) 60%, transparent 100%); }
.charms-hero-content { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: 0 64px; z-index: 2; max-width: 600px; }
.charms-hero-eyebrow { font-size: 9px; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; color: #b8973a; margin-bottom: 14px; display: block; }
.charms-hero-title { font-family: 'Cormorant Garamond', serif; font-size: 52px; font-weight: 300; color: #fff; line-height: 1.1; margin-bottom: 16px; }
.charms-hero-text { font-size: 13px; font-weight: 300; color: rgba(255,255,255,.78); line-height: 1.85; margin-bottom: 28px; }
.charms-hero-btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 32px; background: #b8973a; color: #fff; font-family: 'Poppins', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; transition: background .25s; }
.charms-hero-btn:hover { background: #9a7c30; }

/* Intro */
.charms-intro { max-width: 820px; margin: 0 auto; text-align: center; padding: 72px 40px 48px; }
.charms-intro-eyebrow { font-size: 9px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: #b8973a; margin-bottom: 16px; }
.charms-intro-title { font-family: 'Cormorant Garamond', serif; font-size: 38px; font-weight: 300; color: #1a1a1a; margin-bottom: 18px; line-height: 1.25; }
.charms-intro-text { font-size: 14px; font-weight: 300; color: #666; line-height: 1.9; }

/* Charm categories */
.charms-categories { max-width: 1100px; margin: 0 auto; padding: 0 40px 72px; }
.charms-cat-title { font-family: 'Cormorant Garamond', serif; font-size: 32px; font-weight: 300; color: #1a1a1a; text-align: center; margin-bottom: 40px; }
.charms-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.charms-card { border: 1px solid #eee; overflow: hidden; transition: border-color .25s, box-shadow .25s; }
.charms-card:hover { border-color: #b8973a; box-shadow: 0 8px 32px rgba(0,0,0,.07); }
.charms-card-img { aspect-ratio: 4/3; overflow: hidden; background: #f0ece4; }
.charms-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.charms-card:hover .charms-card-img img { transform: scale(1.06); }
.charms-card-body { padding: 24px; }
.charms-card-tag { font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #b8973a; margin-bottom: 8px; }
.charms-card-name { font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 400; color: #1a1a1a; margin-bottom: 8px; }
.charms-card-text { font-size: 12px; font-weight: 300; color: #888; line-height: 1.7; }

/* Build section */
.charms-build { background: #f5f3f0; padding: 72px 40px; }
.charms-build-inner { max-width: 960px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.charms-build-eyebrow { font-size: 9px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: #b8973a; margin-bottom: 14px; }
.charms-build-title { font-family: 'Cormorant Garamond', serif; font-size: 36px; font-weight: 300; color: #1a1a1a; margin-bottom: 18px; line-height: 1.25; }
.charms-build-text { font-size: 13px; font-weight: 300; color: #666; line-height: 1.9; margin-bottom: 24px; }
.charms-build-features { list-style: none; padding: 0; margin: 0 0 32px; }
.charms-build-features li { display: flex; align-items: flex-start; gap: 12px; font-size: 13px; color: #555; padding: 10px 0; border-bottom: 1px solid #e8e4dc; line-height: 1.6; }
.charms-build-features li:last-child { border-bottom: none; }
.charms-build-features li::before { content: '✦'; color: #b8973a; font-size: 10px; margin-top: 3px; flex-shrink: 0; }
.charms-build-btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 32px; background: #1a1a1a; color: #fff; font-family: 'Poppins', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; transition: background .25s; }
.charms-build-btn:hover { background: #b8973a; }
.charms-build-img { aspect-ratio: 3/4; overflow: hidden; background: #e8e4dc; }
.charms-build-img img { width: 100%; height: 100%; object-fit: cover; }

/* CTA */
.charms-cta { background: #1a1a1a; padding: 72px 40px; text-align: center; }
.charms-cta-title { font-family: 'Cormorant Garamond', serif; font-size: 38px; font-weight: 300; color: #fff; margin-bottom: 14px; }
.charms-cta-text { font-size: 13px; color: rgba(255,255,255,.6); margin-bottom: 36px; line-height: 1.8; max-width: 500px; margin-left: auto; margin-right: auto; }
.charms-cta-btn { display: inline-flex; align-items: center; gap: 10px; padding: 16px 40px; background: #b8973a; color: #fff; font-family: 'Poppins', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; transition: background .25s; }
.charms-cta-btn:hover { background: #d4af70; }

@media (max-width: 900px) {
  .charms-hero-content { padding: 0 32px; } .charms-hero-title { font-size: 38px; }
  .charms-grid { grid-template-columns: 1fr 1fr; }
  .charms-build-inner { grid-template-columns: 1fr; gap: 36px; }
  .charms-build-img { aspect-ratio: 16/9; order: -1; }
}
@media (max-width: 600px) {
  .charms-hero { height: 55vh; } .charms-hero-content { padding: 0 24px; } .charms-hero-title { font-size: 30px; }
  .charms-grid { grid-template-columns: 1fr; }
  .charms-categories { padding: 0 20px 48px; }
  .charms-intro { padding: 48px 20px 32px; } .charms-intro-title { font-size: 28px; }
  .charms-build { padding: 48px 24px; } .charms-cta { padding: 52px 24px; }
}
