/* Extends the firm's existing navy/gold, Libre Baskerville/Almarai system. */
.hero .hero-bilingual { color: #fff; font-size: clamp(1rem, 1.9vw, 1.2rem); max-width: 58ch; margin-top: 1.25rem; }
.hero .hero-language-note { font-size: .95rem; margin-top: .75rem; }
.home-national .hero h1 { max-width: 24ch; font-size: clamp(2.05rem, 4.2vw, 3.65rem); }
.experience-heading { max-width: 48rem; margin-bottom: 2.5rem; }
.experience-heading p { max-width: 68ch; }
.remote-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; list-style: none; padding: 0; margin: 0; counter-reset: remote-step; }
.remote-steps li { counter-increment: remote-step; border-top: 2px solid var(--gold); padding-top: 1.25rem; }
.remote-steps li::before { content: counter(remote-step, decimal-leading-zero); color: var(--navy); font-family: var(--font-heading, 'Libre Baskerville', Georgia, serif); font-size: 1.75rem; display: block; margin-bottom: 1.25rem; }
.remote-steps h3 { font-size: 1.25rem; }
.experience-note { color: var(--muted); font-size: .875rem; margin-top: 2rem; max-width: 80ch; }
.consular-invitation { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 3rem; }
.consular-invitation h2 { max-width: 22ch; margin-bottom: 0; }
.consular-invitation p { max-width: 60ch; }
.legal-guidance { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 4rem; }
.legal-guidance h2 { max-width: 23ch; }
.guidance-items { display: grid; gap: 1.75rem; }
.guidance-items article { border-bottom: 1px solid var(--rule); padding-bottom: 1.25rem; }
.guidance-items h3 { font-size: 1.2rem; }
.consular-hero .hero-inner { max-width: 900px; }
.consular-hero h1 { max-width: 28ch; font-size: clamp(2rem, 4.2vw, 3.5rem); }
.consular-hero p { max-width: 66ch; }
.consular-overview { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 4rem; align-items: start; }
.consular-context p { max-width: 68ch; }
.consular-policy { border-left: 3px solid var(--gold); padding: 1.6rem 1.8rem; background: var(--cream); }
.consular-policy h2 { font-size: 1.4rem; }
.consular-policy p { font-size: .96rem; }
.consular-policy ul { padding-left: 1.2rem; }
.consular-policy li + li { margin-top: .65rem; }
.consular-policy a, .guidance-source { text-decoration: underline; text-underline-offset: .2em; }
.post-locations { margin: 2rem 0; }
.post-location { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 2.5rem; border-top: 1px solid var(--rule); padding: 1.5rem 0; }
.post-location dt { font-family: 'Libre Baskerville', Georgia, serif; font-size: 1.15rem; color: var(--navy); }
.post-location dd { margin: 0; max-width: 70ch; }
.consular-help { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 3.5rem; }
.consular-help article { padding-left: 1.4rem; border-left: 2px solid var(--gold); }
.consular-help h3 { font-size: 1.25rem; }
.consultation-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr); gap: 4rem; align-items: start; }
.consultation-layout h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
.consultation-booking { background: var(--cream); border-top: 3px solid var(--gold); padding: 2rem; }
/* The consultation form reads as a form, not as a row of small caps. */
.consultation-page .contact-form .field label { text-transform: none; letter-spacing: 0; font-size: .98rem; font-weight: 700; color: var(--navy); }
.consultation-page .form-next-step { margin: 0 0 1.25rem; padding-left: 1.1rem; border-left: 2px solid var(--gold); font-size: .95rem; line-height: 1.6; color: var(--navy-soft); }
.consultation-page .contact-form button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
.field-help { display: block; font-size: .85rem; color: var(--muted); margin-top: .5rem; line-height: 1.5; }
.contact-form [hidden] { display: none; }
.contact-form textarea { min-height: 140px; }
.services-menu { position: relative; }
.services-menu > summary { cursor: pointer; list-style: none; }
.services-menu > summary::after { content: '⌄'; display: inline-block; margin-left: .4rem; }
.services-menu > summary::-webkit-details-marker { display: none; }
.services-menu > summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
.services-menu-panel { position: absolute; top: calc(100% + 12px); left: -1rem; width: min(340px, calc(100vw - 48px)); padding: 1rem; background: #fff; border: 1px solid var(--rule); box-shadow: 0 12px 30px rgb(21 42 91 / 12%); }
.site-nav .services-menu-panel a { display: block; padding: .8rem .45rem; white-space: normal; font-size: .86rem; line-height: 1.5; }
.site-nav .services-menu-panel a::after { display: none; }
.site-nav .services-menu-panel a:hover { background: var(--cream); }
@media (max-width: 1400px) {
  .services-menu { width: 100%; }
  .services-menu > summary { padding: 15px 32px; min-height: 44px; }
  .services-menu-panel { position: static; box-shadow: none; border: 0; border-left: 2px solid var(--gold); margin: .5rem 0 .75rem; padding: .1rem .8rem; width: 100%; }
}
@media (max-width: 760px) {
  .remote-steps, .consular-help, .legal-guidance, .consular-overview, .consular-invitation, .consultation-layout { grid-template-columns: 1fr; gap: 2rem; }
  .remote-steps li { padding-top: 1rem; }
  .remote-steps li::before { font-size: 1.35rem; margin-bottom: .6rem; }
  .post-location { grid-template-columns: 1fr; gap: .75rem; }
  .consular-policy, .consultation-booking { padding: 1.4rem; }
}
