/* Identidad visual: azul marino y cromo del emblema del bufete. */
:root {
  --silver: #c5cbd0;
  --silver-light: #f0f3f5;
  --silver-dark: #64717b;
  --silver-metal: linear-gradient(135deg, #8e9aa4 0%, #edf1f4 30%, #b1bbc3 55%, #e7ecf0 78%, #9ba7b0 100%);
}

.brand-logo {
  width: 64px;
  height: 64px;
  object-fit: contain;
  flex-shrink: 0;
  background: #fff;
  border: 2px solid #c5cdd5;
  border-radius: 50%;
  padding: 2px;
  box-shadow: 0 0 0 3px #c5cdd512;
}
.footer-top .brand-logo { width: 76px; height: 76px; }
.header .brand strong { font-size: 16px; letter-spacing: .5px; }
h2 em, .manifesto em { color: #526e85; }
.hero h1 em, .family-content h2 em, .contact h2 em { color: #d9e2eb; }
.button-gold {
  background: var(--silver-metal);
  color: #102c45;
  border-color: #cad4dd;
  box-shadow: inset 0 1px 0 #ffffffc4, 0 3px 12px #04172a12;
}
.button-gold:hover { background: linear-gradient(135deg, #c2cdd6, #fff 45%, #d4dee7); }
.floating-contact { background: var(--silver-metal); color: #102c45; }
.hero .eyebrow, .family-content > .eyebrow, .contact .eyebrow { color: #d5e0e9; }
.hero-scroll > span:last-child { color: #d3dfe9; }
.contact-detail small { color: #adbdcb; }
.form-eyebrow, .steps small { color: #526d83; }
.manifesto .eyebrow { color: #5b7287; }
.footer-top em { color: #c6d4e0; }
.service-number { color: #526d83; }
.featured .service-number { color: #c8d6e2; }
.image-label > span { color: #c9d8e4; }

@media (max-width: 1150px) {
  .header .brand strong { font-size: 14px; }
  .header-inner { gap: 16px; }
  .header nav { gap: 18px; }
}
@media (max-width: 850px) {
  .header .brand-logo { width: 56px; height: 56px; }
}
@media (max-width: 600px) {
  .header .brand-logo { width: 54px; height: 54px; }
  .header .brand strong { font-size: 14px; letter-spacing: .2px; }
  .header .brand small { font-size: 6px; letter-spacing: 1.4px; }
  .footer-top .brand-logo { width: 60px; height: 60px; }
  .footer-top > .brand strong { font-size: 14px; }
}

.header { border-bottom-color: #c5cbd047; }
.topbar { border-bottom-color: #c5cbd029; }
.brand-symbol { color: var(--silver); }
.brand small { color: #bfc7cd; }
.header-cta { border-color: #bbc5cd; color: #e9eef1; box-shadow: inset 0 0 0 1px #e2e8ed0a; }
.header-cta > span:last-child { color: var(--silver); }
.header-cta:hover { border-color: var(--silver-light); color: var(--silver-light); background: #c5cbd011; }

.hero-side, .hero-caption { color: #dce2e7; }
.hero-caption span { color: #bdc8d0; }
.hero-lines { border-right-color: #c5cbd040; }
.hero-tags i { background: var(--silver-metal); }
.light-link { border-bottom-color: #b4c0c990; }
.light-link > span { color: var(--silver); }
.principles { border-top-color: #c5cbd04d; }
.principles p { border-right-color: #c5cbd029; }

.about-visual::before { border-color: #aeb9c2; }
.image-label { border-top: 1px solid #c5cbd073; }
.image-seal { border-color: #8998a4; background: var(--silver-metal); color: #34434d; box-shadow: 0 5px 18px #25333d13; }

.service { border-color: #c5cbd0; }
.service:not(.featured) > svg { stroke: var(--silver-dark); }
.service.featured { border-color: #aebbc377; box-shadow: inset 0 3px 0 #bac5cd; }
.service.featured > svg { stroke: var(--silver); }
.service.featured .service-arrow, .service.featured .service-bottom > span { color: var(--silver); }
.service:hover { border-color: #8193a0; }
.service-row { border-bottom-color: #b8c2c9; }
.service-row .service-arrow { color: var(--silver-dark); }

.steps::before { background: linear-gradient(#a6b4bf, #dae0e4, #a6b4bf); }
.steps li > span { border-color: #9baab6; background: var(--silver-metal); color: #34434d; }
.process-note { border-top-color: #bdc7ce; }
.process-note > span { color: var(--silver-dark); }
.faq-list, .faq details { border-color: #c1cbd2; }
.faq summary > span { color: var(--silver-dark); }

.contact { border-top: 1px solid #bbc7ce65; }
.contact::before { border-color: #c5cbd040; }
.contact-icon { color: var(--silver); border-color: #c5cbd085; }
.contact-copy .contact-demo { border-top-color: #c5cbd03b; }
.consultation-form { border-top: 3px solid #b9c4cd; }
.consultation-form > input, .consultation-form > select { border-color: #bdc7ce; }
.footer-bottom { border-top-color: #c5cbd040; }
.back-top { color: #273740; border-color: #b6c3cc; background: var(--silver-metal); }
.floating-contact { border-color: #d7e0e6; box-shadow: 0 0 0 3px #c5cbd024, 0 5px 25px #0002; }
dialog { border-color: #a9b8c3; }

@media (max-width: 600px) {
  .menu-toggle { color: var(--silver); }
  .header nav { border-bottom-color: #c5cbd066; }
  .principles p:nth-child(-n+2) { border-bottom-color: #c5cbd029; }
}
