/* Consultation and resource navigation proposal. Uses the existing brand tokens. */
.site-header .nav-cta { white-space: nowrap; }
.home-consultation-actions { flex-direction: column; align-items: center; gap: 12px; }
.home-consultation-actions .consultation-assist { color: #fff; font-size: .86rem; text-underline-offset: 4px; }
.situation-other-services { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; margin: 22px 0 0; font-size: .88rem; }
.situation-other-services > span { color: var(--muted); }
.situation-other-services a { color: var(--ink); text-underline-offset: 4px; }

.consultation-choice { padding: 38px 0 28px; background: var(--paper); }
.consultation-choice .area-breadcrumb { margin-bottom: 16px; }
.consultation-choice .area-breadcrumb, .consultation-choice .area-breadcrumb a { color: var(--ink); }
.consultation-choice .area-breadcrumb span { color: var(--muted); }
.consultation-choice h1 { max-width: 850px; margin: 8px 0 14px; font: 500 clamp(2rem, 3vw, 2.7rem)/1.15 var(--serif); letter-spacing: -.02em; }
.consultation-choice__lead { max-width: 750px; margin: 0; color: var(--muted); font-size: 1rem; }
.consultation-options { padding: 30px 0 40px; }
.consultation-options__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.consultation-option { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 26px; border: 1px solid var(--line); background: var(--paper); }
.consultation-option--labor { border-top: 3px solid var(--accent); }
.consultation-option .eyebrow { margin: 0 0 9px; }
.consultation-option h2 { margin: 0 0 12px; font: 500 1.75rem/1.16 var(--serif); }
.consultation-option .consultation-option__price { margin: 0 0 8px; font-weight: 750; color: var(--ink); }
.consultation-option > p:not(.eyebrow):not(.consultation-option__price) { margin: 0 0 20px; color: var(--muted); font-size: .95rem; }
.consultation-option .button { margin-top: auto; min-height: 48px; }
.consultation-option__secondary { margin-top: 12px; font-size: .86rem; text-underline-offset: 4px; color: var(--ink); }
.consultation-choice__help { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; padding: 24px; margin-top: 20px; border: 1px solid var(--line); }
.consultation-choice__help h2 { margin: 0 0 4px; font: 500 1.35rem/1.25 var(--serif); }
.consultation-choice__help p { margin: 0; color: var(--muted); font-size: .9rem; }
.consultation-choice__help .button { flex: 0 0 auto; }
.consultation-choice__note { margin: 18px 0 0; color: var(--muted); font-size: .84rem; }
.consultation-choice__other { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 18px; font-size: .9rem; }
.consultation-choice__other a { color: var(--ink); text-underline-offset: 4px; }

/* hidden is authoritative even when a card's usual display is grid. */
.model-card[hidden], .model-group[hidden], .model-empty[hidden] { display: none !important; }
.resource-library-compact .model-hero, .resource-library-compact .imm-hero, .resource-library-compact .seo-page-hero { padding-block: 30px; }
.resource-library-compact .model-hero h1, .resource-library-compact .imm-hero h1, .resource-library-compact .seo-page-hero h1 { font-size: clamp(1.85rem, 3vw, 2.55rem); line-height: 1.16; margin-block: 8px 14px; }
.resource-library-compact .model-hero-actions, .resource-library-compact .imm-hero-actions { margin-top: 18px; }
.resource-library-compact .model-hero-grid, .resource-library-compact .imm-hero-grid, .resource-library-compact .seo-hero-grid { gap: 28px; }
body.resource-library-compact .model-hero .model-hero-grid, body.resource-library-compact .imm-hero .imm-hero-grid, body.resource-library-compact .seo-page-hero .seo-hero-grid { padding-block: 0; }
body.resource-library-compact .model-hero h1, body.resource-library-compact .imm-hero h1, body.resource-library-compact .seo-page-hero h1 { font-size: clamp(28px, 2.6vw, 40px); }
.resource-library-compact .model-hero-grid aside, .resource-library-compact .imm-hero-aside { padding: 20px; }
.resource-library-compact .model-hero-grid aside strong, .resource-library-compact .imm-hero-aside strong { font-size: 2.25rem; line-height: 1.2; }
.resource-library-compact .model-catalog, .resource-library-compact .guide-library-v222, .resource-library-compact #herramientas { padding-top: 28px; }
.resource-library-compact .model-search, .resource-library-compact .imm-library-toolbar, .resource-library-compact .tools-hub-search { margin-top: 0; margin-bottom: 22px; }
.resource-library-compact .model-search input, .resource-library-compact .imm-library-toolbar input, .resource-library-compact .tools-hub-search input { min-height: 48px; font-size: 1rem; }
.resource-library-compact .section-heading, .resource-library-compact .guide-section-head-v222 { margin-top: 25px; margin-bottom: 22px; }
.resource-library-compact .guide-section-head-v222 h2, .resource-library-compact .model-catalog > .wrap > .section-heading h2 { font-size: 1.65rem; }
.model-use-details { margin: 0 0 24px; border: 1px solid var(--line); padding: 14px 18px; background: var(--paper); }
.model-use-details summary { cursor: pointer; font-weight: 700; }
.model-use-details .model-value-grid { margin-top: 16px; }
.model-use-details .model-value-grid article { padding: 18px; }
.model-use-details .model-value-grid h2 { font-size: 1.25rem; }
.tools-note .consultation-next-steps { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.tools-note .consultation-next-steps .button { min-height: 48px; }
.area-urgent-note { max-width: 800px; margin: 16px 0 0; color: #d9e4e6; font-size: .83rem; line-height: 1.55; }
.model-linked-resources { margin-top: 28px; padding: 22px; border: 1px solid var(--line); background: var(--paper); }
.model-linked-resources h2 { margin: 0 0 12px; font-size: 1.4rem; }
.model-linked-resources ul { margin: 0; padding-left: 19px; }
.model-linked-resources li + li { margin-top: 9px; }
.model-linked-resources a { color: var(--ink); text-underline-offset: 3px; }
@media(min-width:1001px) {
  .consultation-services .practice-hub-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .consultation-services .practice-hub-card { grid-column: span 2; }
  .consultation-services .practice-hub-card:nth-last-child(2):nth-child(3n+1),
  .consultation-services .practice-hub-card:last-child:nth-child(3n+2) { grid-column: span 3; }
}
@media(min-width:601px) and (max-width:1000px) {
  .consultation-services .practice-hub-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .consultation-services .practice-hub-card:last-child:nth-child(2n+1) { grid-column: 1 / -1; }
}

html.consultation-request-document { scroll-padding-top: 165px; }
.consultation-request-compact #primera-consulta-gratuita { display: block; scroll-margin-top: 0; }
.consultation-request-compact #consulta, .consultation-request-compact #presupuesto { scroll-margin-top: 0; }
.consultation-request-compact .contact-request__form { padding: 28px; }
.consultation-request-compact .contact-request__form > h2 { font-size: clamp(1.65rem, 2.7vw, 2.2rem); line-height: 1.18; }
.consultation-request-compact .contact-request__form > p { margin-block: 12px; }
.consultation-request-compact .contact-request__form form { gap: 14px; }
.consultation-request-compact .contact-request__form fieldset { margin: 0 0 16px; padding: 16px; }
.consultation-request-compact .contact-request__form legend { font-size: .88rem; }
.consultation-request-compact .contact-request__fields { gap: 14px; }
.consultation-request-compact .contact-request__form label { gap: 5px; }
.consultation-request-compact .contact-request__form input:not([type=checkbox]):not([type=hidden]), .consultation-request-compact .contact-request__form select { min-height: 44px; padding-block: 8px; }
.consultation-request-compact .contact-request__warning { padding: 12px 15px; font-size: .83rem; line-height: 1.5; }
.consultation-request-compact .contact-request__privacy { font-size: .77rem; line-height: 1.5; }
.consultation-urgency-details { margin-top: 13px; }
.consultation-urgency-details summary { cursor: pointer; font-size: .88rem; font-weight: 650; }
.consultation-urgency-details > div { margin-top: 14px; }
.consultation-urgency-details .contact-request__check { margin-top: 13px; }
.consultation-scope-details { margin-block: 10px 18px; font-size: .86rem; }
.consultation-scope-details summary { cursor: pointer; text-underline-offset: 4px; }
.consultation-scope-details p { margin-top: 10px; color: var(--muted); }
@media(max-width: 760px) {
  .consultation-options__grid { grid-template-columns: 1fr; }
  .consultation-option { padding: 22px; }
  .consultation-choice__help { align-items: flex-start; }
  .consultation-choice__help .button { width: 100%; }
  .resource-library-compact .model-hero-grid, .resource-library-compact .imm-hero-grid, .resource-library-compact .seo-hero-grid { gap: 18px; }
  .resource-library-compact .model-hero-grid aside, .resource-library-compact .imm-hero-aside { display: flex; align-items: center; gap: 14px; padding: 14px 16px; flex-wrap: wrap; }
  .resource-library-compact .model-hero-grid aside strong, .resource-library-compact .imm-hero-aside strong { margin: 0; }
  .resource-library-compact .model-hero-grid aside span, .resource-library-compact .imm-hero-aside span { flex: 1; margin: 0; }
  .resource-library-compact .model-hero-grid aside small, .resource-library-compact .imm-hero-aside small { flex-basis: 100%; margin: 0; font-size: .8rem; }
  html.consultation-request-document { scroll-padding-top: 18px; }
  .consultation-request-compact .contact-request__form { padding: 20px; }
  .consultation-request-compact .contact-request__form fieldset { padding: 14px; }
  .consultation-request-compact .contact-request__fields { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
