*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  --gold: #C9A84C;
  --gold-light: #E8C97A;
  --gold-dim: #7A5F2A;
  --bg: #06060E;
  --bg2: #0D0D1F;
  --text: #EDE8DC;
  --text-muted: #9A9278;
  --border: rgba(201,168,76,0.2);
}
body {
  font-family: 'Cormorant Garamond', Georgia, serif;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  overflow-x: hidden;
}
.stars { position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0; }
.star { position:absolute;background:white;border-radius:50%;animation:twinkle var(--d) ease-in-out infinite alternate;opacity:0; }
@keyframes twinkle { from { opacity:0.1; } to { opacity:var(--max-op); } }
nav { position:relative;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:2rem 4rem;border-bottom:0.5px solid var(--border); }
.logo { font-family:'Cinzel',serif;font-size:1.1rem;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase;text-decoration:none; }
.nav-links { display:flex;gap:2.5rem;list-style:none; }
.nav-links a { font-family:'Cinzel',serif;font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color 0.3s; }
.nav-links a:hover, .nav-links a.active { color:var(--gold); }
.section-label { font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:1.2rem; }
.page-header { position:relative;z-index:1;text-align:center;padding:6rem 2rem 4rem;border-bottom:0.5px solid var(--border); }
.page-title { font-family:'Cinzel',serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:400;color:var(--text);letter-spacing:0.05em;margin-bottom:1rem; }
.page-title span { color:var(--gold);font-style:italic;font-family:'Cormorant Garamond',serif; }
.page-sub { font-size:1.1rem;font-style:italic;color:var(--text-muted);font-weight:300; }
.divider { display:flex;align-items:center;gap:1.5rem;max-width:400px;margin:0 auto 2rem; }
.divider-line { flex:1;height:0.5px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent); }
.divider-star { color:var(--gold);font-size:1rem; }
footer { position:relative;z-index:1;text-align:center;padding:2rem;border-top:0.5px solid var(--border); }
.footer-logo { font-family:'Cinzel',serif;font-size:0.75rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold-dim); }

/* index */
.mandala { width:220px;height:220px;margin:0 auto 3rem;animation:rotate 60s linear infinite; }
@keyframes rotate { to { transform:rotate(360deg); } }
.hero { position:relative;z-index:1;text-align:center;padding:8rem 2rem 6rem; }
.hero-eyebrow { font-family:'Cinzel',serif;font-size:0.65rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem; }
.hero-title { font-family:'Cinzel',serif;font-size:clamp(2.8rem,6vw,5rem);font-weight:400;line-height:1.1;letter-spacing:0.05em;margin-bottom:1rem;color:var(--text); }
.hero-title span { color:var(--gold);font-style:italic;font-family:'Cormorant Garamond',serif; }
.hero-sub { font-size:1.25rem;font-style:italic;color:var(--text-muted);max-width:480px;margin:0 auto 3rem;line-height:1.7;font-weight:300; }
.cta-group { display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:6rem; }
.cta-btn { display:flex;align-items:center;gap:0.75rem;padding:0.9rem 2.2rem;border-radius:2px;font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;transition:all 0.3s; }
.cta-btn.primary { background:var(--gold);color:#06060E;font-weight:500; }
.cta-btn.primary:hover { background:var(--gold-light);transform:translateY(-2px); }
.cta-btn.secondary { background:transparent;color:var(--gold);border:0.5px solid var(--gold-dim); }
.cta-btn.secondary:hover { border-color:var(--gold);background:rgba(201,168,76,0.06);transform:translateY(-2px); }
.cta-icon { width:22px;height:22px;flex-shrink:0; }
.about { position:relative;z-index:1;max-width:760px;margin:0 auto;padding:4rem 2rem;text-align:center;border-top:0.5px solid var(--border); }
.about-text { font-size:1.15rem;line-height:1.9;color:var(--text-muted);font-weight:300; }
.about-text em { color:var(--text);font-style:italic; }
.services { position:relative;z-index:1;padding:5rem 2rem;border-top:0.5px solid var(--border);max-width:1100px;margin:0 auto; }
.services-header { text-align:center;margin-bottom:4rem; }
.services-title { font-family:'Cinzel',serif;font-size:1.8rem;font-weight:400;color:var(--text);letter-spacing:0.05em; }
.services-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem; }
.service-card { border:0.5px solid var(--border);padding:2rem 1.5rem;border-radius:2px;background:rgba(255,255,255,0.015);transition:border-color 0.3s,background 0.3s; }
.service-card:hover { border-color:var(--gold-dim);background:rgba(201,168,76,0.04); }
.service-symbol { font-size:1.8rem;margin-bottom:1rem;color:var(--gold);display:block; }
.service-name { font-family:'Cinzel',serif;font-size:0.85rem;letter-spacing:0.1em;color:var(--text);margin-bottom:0.75rem; }
.service-desc { font-size:0.95rem;color:var(--text-muted);line-height:1.7;font-weight:300; }
.testimonials { position:relative;z-index:1;padding:5rem 2rem;border-top:0.5px solid var(--border);max-width:1100px;margin:0 auto; }
.testimonials-header { text-align:center;margin-bottom:4rem; }
.testimonials-title { font-family:'Cinzel',serif;font-size:1.8rem;font-weight:400;color:var(--text);letter-spacing:0.05em; }
.testimonials-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem; }
.testimonial-card { border:0.5px solid var(--border);padding:2rem;border-radius:2px;background:rgba(255,255,255,0.015);display:flex;flex-direction:column;gap:1rem; }
.testimonial-stars { color:var(--gold);font-size:0.85rem;letter-spacing:0.15em; }
.testimonial-text { font-size:1.05rem;line-height:1.85;color:var(--text-muted);font-weight:300;font-style:italic;flex:1; }
.testimonial-text::before { content:'\201C'; }
.testimonial-text::after { content:'\201D'; }
.testimonial-footer { display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:0.5px solid var(--border); }
.testimonial-name { font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.1em;color:var(--text); }
.testimonial-source { font-size:0.75rem;color:var(--gold-dim);font-style:italic; }
.social-section { position:relative;z-index:1;padding:5rem 2rem 6rem;border-top:0.5px solid var(--border);text-align:center; }
.social-title { font-family:'Cinzel',serif;font-size:1.6rem;font-weight:400;margin-bottom:0.75rem;color:var(--text); }
.social-sub { font-size:1rem;font-style:italic;color:var(--text-muted);margin-bottom:3rem; }
.social-cards { display:flex;justify-content:center;gap:2rem;flex-wrap:wrap; }
.social-card { display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 3rem;border:0.5px solid var(--border);border-radius:2px;background:rgba(255,255,255,0.015);text-decoration:none;min-width:200px;transition:all 0.3s; }
.social-card:hover { border-color:var(--gold-dim);transform:translateY(-3px); }
.social-icon { width:44px;height:44px; }
.social-platform { font-family:'Cinzel',serif;font-size:0.75rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold); }
.social-handle { font-size:0.9rem;color:var(--text-muted);font-style:italic; }

/* pricing */
.pricing-section { position:relative;z-index:1;max-width:1000px;margin:0 auto;padding:5rem 2rem 7rem; }
.pricing-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:3rem; }
.pricing-card { border:0.5px solid var(--border);border-radius:2px;background:rgba(255,255,255,0.015);padding:2.5rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;transition:border-color 0.3s,background 0.3s,transform 0.3s; }
.pricing-card:hover { border-color:var(--gold-dim);background:rgba(201,168,76,0.04);transform:translateY(-4px); }
.pricing-symbol { font-size:2.2rem;color:var(--gold); }
.pricing-name { font-family:'Cinzel',serif;font-size:0.9rem;letter-spacing:0.1em;color:var(--text); }
.pricing-desc { font-size:0.95rem;color:var(--text-muted);line-height:1.7;font-weight:300;flex:1; }
.pricing-divider { width:40px;height:0.5px;background:var(--gold-dim); }
.pricing-price { font-family:'Cinzel',serif;font-size:1.6rem;color:var(--gold);letter-spacing:0.05em; }
.pricing-price span { font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--text-muted);font-style:italic; }
.pricing-cta { display:inline-block;margin-top:0.5rem;padding:0.75rem 1.8rem;border:0.5px solid var(--gold-dim);border-radius:2px;font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);text-decoration:none;transition:all 0.3s; }
.pricing-cta:hover { border-color:var(--gold);background:rgba(201,168,76,0.06); }
.pricing-note { text-align:center;margin-top:4rem;font-size:1rem;font-style:italic;color:var(--text-muted);font-weight:300;line-height:1.8; }
.pricing-note a { color:var(--gold);text-decoration:none; }
.pricing-note a:hover { text-decoration:underline; }

/* blog */
.blog-section { position:relative;z-index:1;max-width:860px;margin:0 auto;padding:5rem 2rem 7rem; }
.post-list { display:flex;flex-direction:column;gap:2.5rem;margin-top:3rem; }
.post-card { border:0.5px solid var(--border);border-radius:2px;background:rgba(255,255,255,0.015);padding:2.5rem;transition:border-color 0.3s,background 0.3s;text-decoration:none;display:block; }
.post-card:hover { border-color:var(--gold-dim);background:rgba(201,168,76,0.04); }
.post-meta { display:flex;align-items:center;gap:1rem;margin-bottom:1rem; }
.post-date { font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold-dim); }
.post-tag { font-family:'Cinzel',serif;font-size:0.58rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-muted);border:0.5px solid var(--border);padding:0.2rem 0.6rem;border-radius:1px; }
.post-title { font-family:'Cinzel',serif;font-size:1.2rem;font-weight:400;color:var(--text);letter-spacing:0.03em;margin-bottom:0.75rem;transition:color 0.3s; }
.post-card:hover .post-title { color:var(--gold); }
.post-excerpt { font-size:1rem;color:var(--text-muted);line-height:1.8;font-weight:300; }
.post-read-more { display:inline-block;margin-top:1.25rem;font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold); }
.post-read-more::after { content:' →'; }
.no-posts { text-align:center;font-style:italic;color:var(--text-muted);padding:4rem 0; }

/* blog post */
.post-page { position:relative;z-index:1;max-width:760px;margin:0 auto;padding:5rem 2rem 7rem; }
.post-page-meta { display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem; }
.post-page-date { font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold-dim); }
.post-page-tag { font-family:'Cinzel',serif;font-size:0.58rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-muted);border:0.5px solid var(--border);padding:0.2rem 0.6rem;border-radius:1px; }
.post-page-body { font-size:1.1rem;color:var(--text-muted);line-height:1.9;font-weight:300; }
.post-page-body p { margin-bottom:1.5rem; }
.post-page-body h2 { font-family:'Cinzel',serif;font-size:1rem;letter-spacing:0.1em;color:var(--text);margin:2.5rem 0 1rem; }
.post-page-body em { color:var(--text);font-style:italic; }
.post-page-body table { width:100%;border-collapse:collapse;margin:1.5rem 0; }
.post-page-body th { font-family:'Cinzel',serif;font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);padding:0.5rem 1rem;border-bottom:0.5px solid var(--border);text-align:left; }
.post-page-body td { font-size:0.95rem;color:var(--text-muted);padding:0.5rem 1rem;border-bottom:0.5px solid var(--border); }
.back-link { display:inline-block;margin-bottom:3rem;font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color 0.3s; }
.back-link::before { content:'← '; }
.back-link:hover { color:var(--gold); }

/* contact */
.contact-section { position:relative;z-index:1;max-width:680px;margin:0 auto;padding:5rem 2rem 7rem; }
.contact-email-block { text-align:center;margin-bottom:3.5rem; }
.contact-email-label { font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:0.5rem; }
.contact-email-link { font-size:1.1rem;font-style:italic;color:var(--gold);text-decoration:none;font-weight:300;letter-spacing:0.05em; }
.contact-email-link:hover { text-decoration:underline; }
.contact-form { display:flex;flex-direction:column;gap:1.5rem;margin-top:3rem; }
.form-group { display:flex;flex-direction:column;gap:0.5rem; }
.form-label { font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--text-muted); }
.form-input,.form-select,.form-textarea { background:rgba(255,255,255,0.03);border:0.5px solid var(--border);border-radius:2px;padding:0.85rem 1rem;color:var(--text);font-family:'Cormorant Garamond',Georgia,serif;font-size:1rem;font-weight:300;outline:none;transition:border-color 0.3s;width:100%; }
.form-input:focus,.form-select:focus,.form-textarea:focus { border-color:var(--gold-dim); }
.form-select { appearance:none;cursor:pointer; }
.form-select option { background:var(--bg2); }
.form-textarea { resize:vertical;min-height:140px; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:1.5rem; }
.form-submit { align-self:flex-start;padding:0.9rem 2.4rem;background:var(--gold);color:#06060E;border:none;border-radius:2px;font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:all 0.3s; }
.form-submit:hover { background:var(--gold-light);transform:translateY(-2px); }
.form-note { font-size:0.88rem;font-style:italic;color:var(--text-muted);font-weight:300;margin-top:-0.5rem; }

@media (max-width:640px) {
  nav { padding:1.5rem; }
  .nav-links { display:none; }
  .page-header { padding:4rem 1.5rem 3rem; }
  .hero { padding:5rem 1.5rem 4rem; }
  .cta-group { flex-direction:column;align-items:center; }
  .form-row { grid-template-columns:1fr; }
}
