:root {
  --ink: #171717;
  --deep: #101010;
  --deep2: #202020;
  --gold: #777;
  --gold-light: #e5e5e5;
  --cream: #f3f3f1;
  --paper: #fff;
  --muted: #686868;
  --line: #e3e3e3;
}

body { color: var(--ink); background: var(--paper); }
.topline, .header, .nav-cta, .approach, .contact, .footer { background-color: #101010; }
.header { background-color: #fff; }
.nav-cta:hover { background-color: #303030; }
.hero {
  background-color: #292929;
  background-blend-mode: normal, normal, luminosity;
}
.hero:after { border-color: rgba(255,255,255,.19); }
.hero h1 em, .approach h2 em, .contact h2 em { color: #e6e6e6; }
.eyebrow, .eyebrow.light, .hero-note, .hero-stamp, .trust-icon,
.art-index, .practice-card>a, .line-icon, .step>span,
.contact-details span, .footer-bottom a { color: #777; }
.eyebrow>span, .note-rule { background: #858585; }
.hero .eyebrow, .approach .eyebrow, .contact .eyebrow { color: #ccc; }
.hero .eyebrow>span, .approach .eyebrow>span, .contact .eyebrow>span { background: #c9c9c9; }
.hero-stamp, .hero-note { color: #d5d5d5; }
.button-gold { background: #ececec; color: #111; }
.button-gold:hover { background: #d6d6d6; }
.button-gold span { color: #555; }
.trust-strip, .practice { background-color: #f2f2f0; }
.art-frame {
  background: linear-gradient(145deg, #d4d4d2 0%, #ededeb 43%, #8e8e8b 43%, #4c4c4a 100%);
}
.art-sun { background: #f2f2f0; }
.art-index span { color: #777; }
.about-copy h2 em, .section-heading h2 em { color: #777; }
.check { color: #666; }
.practice-grid, .practice-card { border-color: #d9d9d7; }
.practice-card:hover { background: rgba(255,255,255,.8); }
.contact { background-color: #252525; }
.contact-details span { color: #c7c7c7; }
.button-outline { border-color: #aaa; }
.approach:before { background: radial-gradient(circle at 10% 80%, rgba(255,255,255,.07), transparent 50%); }
.footer-bottom a { color: #d0d0d0; }
.topline { color: #ccc; }
.brand-mark { color: #555; }
.footer-brand .brand-mark { color: #ccc; }
.header .brand-copy small { color: #777; }
.form-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.form-actions .button { width: 100%; margin: 3px 0 0; padding-inline: 10px; }
.button-whatsapp { background: #fff; color: #171717; border: 1px solid #c8c8c8; }
.button-whatsapp:hover { background: #f0f0f0; }
.button-whatsapp span { color: #555; }
.faq { background: #fafaf9; border-top: 1px solid #e8e8e8; }
.faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: start; }
.faq h2 { font: 500 42px/1.12 var(--serif); margin: 0; letter-spacing: -.035em; }
.faq h2 em { color: #777; }
.faq-intro { max-width: 290px; font-size: 12px; color: #777; margin-top: 17px; }
.faq-list { border-top: 1px solid #dcdcdc; }
.faq-item { padding: 18px 0; border-bottom: 1px solid #dcdcdc; }
.faq-item summary { position: relative; cursor: pointer; list-style: none; padding-right: 28px; font: 500 16px var(--serif); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; right: 2px; top: -2px; color: #666; font: 400 20px var(--sans); }
.faq-item[open] summary::after { content: "−"; }
.faq-item p { max-width: 600px; margin: 12px 26px 0 0; color: #696969; font-size: 12px; line-height: 1.8; }
.footer-links { display: flex; gap: 22px; }
.footer-links a:hover { color: #fff; }
.staff-link { color: #666; font-size: 11px; }
.nav { gap: 19px; font-size: 11px; }
.nav-cta { padding: 10px 12px; }

@media (max-width: 700px) {
  .menu-toggle span { background: #111; }
  .faq-layout { grid-template-columns: 1fr; gap: 30px; }
  .faq h2 { font-size: 36px; }
  .form-actions { grid-template-columns: 1fr; }
  .footer-links { gap: 13px; }
}

@media (max-width: 1000px) {
  .nav { gap: 13px; font-size: 10px; }
  .nav-cta { padding: 9px 10px; }
}
