/* Routing partials only. Shared shell/profile contracts remain owner-managed. */
.routing-guide {
  --routing-ink: #102235;
  --routing-navy: #14304a;
  --routing-muted: #526579;
  --routing-gold: #d9a63a;
  --routing-line: #dbe4ec;
  --routing-paper: #f7fafc;
  --routing-gutter: clamp(1.125rem, 5vw, 4.5rem);
  max-width: 90rem;
  margin-inline: auto;
  background: #fff;
  color: var(--routing-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
}
.routing-guide *, .routing-guide *::before, .routing-guide *::after { box-sizing: border-box; }
.routing-guide :is(section, article, div, aside, nav) { min-width: 0; }
.routing-guide :is(h1, h2, h3) {
  color: var(--routing-navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  line-height: 1.16;
  letter-spacing: -.025em;
  text-wrap: pretty;
}
.routing-guide h1 { max-width: 23ch; font-size: clamp(2.1rem, 4vw, 3.6rem); margin: 0 0 1.25rem; }
.routing-guide h2 { max-width: 32ch; font-size: clamp(1.65rem, 2.8vw, 2.45rem); margin-bottom: 1.25rem; }
.routing-guide h3 { font-size: clamp(1.3rem, 1.8vw, 1.65rem); margin-bottom: .75rem; }
.routing-guide :is(p, li) { max-width: 68ch; font-size: 1rem; line-height: 1.7; font-weight: 400; }
.routing-guide p { margin-bottom: 1.1rem; color: var(--routing-muted); }
.routing-guide :is(ul, ol) { padding-left: 1.25rem; }
.routing-guide li + li { margin-top: .5rem; }
.routing-guide a { color: #1c4e70; text-underline-offset: .2em; overflow-wrap: anywhere; }
.routing-guide a:hover { color: #755212; text-decoration-thickness: 2px; }
.routing-guide :is(a, button, summary, [tabindex]):focus-visible { outline: 3px solid #8b5d12; outline-offset: 4px; }
.routing-guide [id] { scroll-margin-top: 7rem; }
.routing-guide .eyebrow {
  max-width: none;
  margin-bottom: .8rem;
  color: #765315;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .07em;
  line-height: 1.4;
}
.routing-guide .button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  min-height: 3rem;
  padding: .8rem 1.2rem;
  border-radius: .2rem;
  box-shadow: none;
  white-space: normal;
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}
.routing-guide .button.primary { border: 1px solid var(--routing-gold); background: var(--routing-gold); color: var(--routing-ink); }
.routing-guide .button.primary:hover { border-color: #edc164; background: #edc164; color: var(--routing-ink); }
.routing-guide .button.secondary { border: 1px solid #8193a3; background: transparent; color: var(--routing-navy); }
.routing-guide .button.secondary:hover { border-color: var(--routing-navy); background: #eef3f7; color: var(--routing-navy); }
.routing-guide :is(.actions, .cta-row, .journey-actions) { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: 1.5rem; }
.routing-guide .hero {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(15rem, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
  padding: clamp(2.5rem, 6vw, 5rem) var(--routing-gutter);
  background: var(--routing-navy);
  color: #fff;
}
.routing-guide .hero :is(h1, h2) { color: #fff; }
.routing-guide .hero .hero-copy { max-width: 48rem; }
.routing-guide .hero :is(.hero-text, p) { max-width: 62ch; color: #e2eaf1; font-size: clamp(1.0625rem, 1.35vw, 1.2rem); line-height: 1.65; }
.routing-guide .hero .eyebrow { color: #f3d78f; font-size: 1rem; }
.routing-guide .hero :is(.text-link, .actions .text-link, .cta-row .text-link) { color: #f3d78f; font-size: 1rem; }
.routing-guide .hero :is(.text-link, .actions .text-link, .cta-row .text-link):is(:hover, :focus-visible) { color: #fff; }
.routing-guide .hero .button.secondary { border-color: #92a6b8; background: transparent; color: #fff; }
.routing-guide .hero .button.secondary:hover { background: #24445e; color: #fff; }
.routing-guide .hero :is(a, button):focus-visible { outline-color: #f3d78f; }
.routing-guide .hero .trust-panel {
  display: block;
  align-self: stretch;
  padding: 1.5rem 0 0 1.75rem;
  border: 0;
  border-left: 1px solid #526b80;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.routing-guide .hero .trust-panel h2 { max-width: none; font-size: 1.6rem; }
.routing-guide .hero .trust-panel ul { margin: 0; }
.routing-guide .hero .trust-panel li { margin: 0 0 .9rem; color: #e2eaf1; font-size: 1rem; line-height: 1.6; font-weight: 400; }
/* The retained document image distinguishes paper routes from text-only guides. */
.routing-guide .journey-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  min-height: 0;
  margin: 0;
  border: 0;
  background: #fff;
}
.routing-guide .journey-hero .journey-hero-copy { min-height: 0; padding: clamp(2.5rem, 5.5vw, 5rem) var(--routing-gutter); }
.routing-guide .journey-hero h1 { max-width: 22ch; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.1rem, 4vw, 3.6rem); line-height: 1.16; letter-spacing: -.025em; font-weight: 500; color: var(--routing-navy); }
.routing-guide .journey-hero-copy > p { max-width: 56ch; color: var(--routing-muted); font-size: 1.125rem; line-height: 1.65; font-weight: 400; }
.routing-guide .journey-hero-visual { display: block; min-height: 28rem; background-image: url('/images/home/document-routing-desk.webp'); background-size: cover; background-position: center; }
.routing-guide .journey-hero .journey-actions .button.primary { min-width: 0; }
.routing-guide .apostille-service-assurance { color: var(--routing-muted) !important; font-size: 1rem !important; line-height: 1.5 !important; }
.routing-guide .journey-hero :is(.journey-support-link, .journey-secondary-links a) { display: inline-flex; align-items: center; min-height: 2.75rem; color: #1c4e70; font-size: 1rem; line-height: 1.5; }
.routing-guide .journey-hero :is(.journey-support-link, .journey-secondary-links a):is(:hover, :focus-visible) { color: #755212; }
.routing-guide .journey-secondary-links { gap: .5rem 1.25rem; }
.routing-guide .routing-contents {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .5rem 2rem;
  padding: 1.25rem var(--routing-gutter);
  border-block: 1px solid var(--routing-line);
  background: var(--routing-paper);
}
.routing-guide .routing-contents > span { color: var(--routing-muted); font-size: 1rem; font-weight: 700; }
.routing-guide .routing-contents ul { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; list-style: none; padding: 0; margin: 0; }
.routing-guide .routing-contents li { max-width: none; margin: 0; }
.routing-guide .routing-contents a { display: inline-flex; align-items: center; min-height: 2.75rem; font-size: 1rem; line-height: 1.5; }
.routing-guide .section {
  max-width: none;
  margin: 0;
  padding: clamp(2.5rem, 5vw, 4.5rem) var(--routing-gutter);
  border-bottom: 1px solid var(--routing-line);
  background: #fff;
}
.routing-guide .section + .section::before, .routing-guide .section-header::after, .routing-guide .contact-card::before { content: none; }
.routing-guide .section-header { max-width: 68ch; margin-bottom: 2rem; padding: 0; }
.routing-guide .split { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(15rem, 1fr); align-items: start; gap: clamp(2rem, 5vw, 4.5rem); }
.routing-guide .split p, .routing-guide .card-grid p { color: var(--routing-muted); font-size: 1rem; line-height: 1.7; font-weight: 400; }
.routing-guide :is(.contact-card, .quote-panel) { margin: 0; padding: 1.5rem 0 0 1.75rem; border: 0; border-left: 3px solid var(--routing-gold); border-radius: 0; box-shadow: none; background: transparent; overflow: visible; }
.routing-guide .contact-card h2 { font-size: 1.6rem; line-height: 1.2; }
.routing-guide .contact-card p:last-child, .routing-guide .quote-panel p:last-child { margin-bottom: 0; }
.routing-guide .routing-guide__reading-section { display: block; }
.routing-guide .routing-guide__reading-section > div { max-width: 68ch; }
/* Comparisons read as labeled rows; only the short three-step sequence uses columns. */
.routing-guide .card-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.routing-guide .card-grid article {
  display: grid;
  grid-template-columns: minmax(12rem, .8fr) minmax(0, 1.2fr);
  column-gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
  min-height: 0;
  padding: 1.75rem 0;
  border: 0;
  border-top: 1px solid var(--routing-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.routing-guide .card-grid article > span { grid-column: 1; width: auto; padding: 0; margin-bottom: .65rem; background: transparent; color: #765315; font-size: 1rem; font-weight: 700; line-height: 1.4; letter-spacing: .03em; }
.routing-guide .card-grid article > h3 { grid-column: 1; margin: 0; }
.routing-guide .card-grid article > p { grid-column: 2; margin: 0 0 .8rem; }
.routing-guide .card-grid article > p:first-of-type { grid-row: 1 / span 2; }
.routing-guide .card-grid article .text-link { display: inline; padding: 0; }
.routing-guide .journey-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; margin: 0; padding: 0 var(--routing-gutter); border: 0; border-bottom: 1px solid var(--routing-line); background: #fff; }
.routing-guide .journey-steps article { grid-template-columns: 2rem minmax(0, 1fr); gap: 1rem; min-height: 0; padding: 2rem 1.5rem; border-right: 1px solid var(--routing-line); border-bottom: 0; }
.routing-guide .journey-steps article:first-child { padding-left: 0; }
.routing-guide .journey-steps article:last-child { padding-right: 0; border-right: 0; }
.routing-guide .journey-steps span { width: auto; height: auto; display: block; border: 0; border-radius: 0; color: #765315; font: 2rem/1.1 Georgia, 'Times New Roman', serif; }
.routing-guide .journey-steps h2 { margin: 0 0 .8rem; font-family: Georgia, 'Times New Roman', serif; font-size: 1.45rem; line-height: 1.2; font-weight: 500; }
.routing-guide .journey-steps p { color: var(--routing-muted); font-size: 1rem; line-height: 1.65; }
.routing-guide--court #court-route .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.routing-guide--court #court-route .card-grid article { display: flex; flex-direction: column; gap: .75rem; }
.routing-guide--court #court-route .card-grid article > span { font: 2rem/1.1 Georgia, 'Times New Roman', serif; }
.routing-guide .notice-band { margin: 0; padding: clamp(2.5rem, 5vw, 4.5rem) var(--routing-gutter); border-bottom: 1px solid var(--routing-line); background: var(--routing-paper); }
.routing-guide .notice-band > div { max-width: 68ch; }
.routing-guide .notice-band h2 { max-width: 34ch; }
.routing-guide .apostille-final-cta { background: var(--routing-navy); color: #fff; }
.routing-guide .apostille-final-cta :is(h2, p) { color: #fff; }
.routing-guide .apostille-final-cta .eyebrow { color: #f3d78f; }
.routing-guide .apostille-final-cta a:focus-visible { outline-color: #f3d78f; }
.routing-guide .entity-note-strip { background: var(--routing-paper); }
.routing-guide .entity-note-strip p { margin: 0; font-size: 1rem; }
.routing-guide .faq-list { max-width: none; gap: 0; }
.routing-guide .faq-list details { border: 0; border-top: 1px solid var(--routing-line); border-radius: 0; background: transparent; box-shadow: none; }
.routing-guide .faq-list summary { padding: 1.25rem 0; color: var(--routing-navy); font-size: 1.125rem; font-weight: 700; line-height: 1.5; }
.routing-guide .faq-list details[open] summary { border: 0; }
.routing-guide .faq-list p { max-width: 68ch; padding: 0 0 1.5rem; color: var(--routing-muted); font-size: 1rem; line-height: 1.7; }
.routing-guide .source-details { max-width: 72ch; border: 0; border-block: 1px solid var(--routing-line); border-radius: 0; background: transparent; box-shadow: none; }
.routing-guide .source-details summary { padding: 1.5rem 0; color: var(--routing-navy); font-size: 1.125rem; font-weight: 700; line-height: 1.5; }
.routing-guide .source-details > :not(summary) { margin-left: 0; margin-right: 0; }
.routing-guide .source-details h2 { margin-top: 1.25rem; }
.routing-guide .source-details h3 { margin-top: 2rem; }
/* Explicitly undo site.css's small-screen county-card transform: retain one table. */
.routing-guide .county-table-shell { max-width: 100%; overflow-x: auto; border: 1px solid var(--routing-line); border-radius: 0; background: #fff; box-shadow: none; }
.routing-guide .county-table { display: table; min-width: 46rem; width: 100%; border-collapse: collapse; }
.routing-guide .county-table thead { display: table-header-group; }
.routing-guide .county-table tbody { display: table-row-group; }
.routing-guide .county-table tr { display: table-row; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.routing-guide .county-table :is(th, td) { display: table-cell; padding: 1rem; border-bottom: 1px solid var(--routing-line); text-align: left; vertical-align: top; font-size: 1rem; line-height: 1.5; }
.routing-guide .county-table th { background: #edf2f6; color: var(--routing-navy); font-weight: 700; letter-spacing: 0; text-transform: none; }
.routing-guide .county-table tbody tr:nth-child(even) { background: #f7fafc; }
.routing-guide .county-table td::before { display: none; content: none; }
@media (max-width: 58rem) {
  .routing-guide .hero, .routing-guide .split { grid-template-columns: minmax(0, 1fr); }
  .routing-guide .hero .trust-panel { display: block; padding: 1.5rem 0 0; border-left: 0; border-top: 1px solid #526b80; }
  .routing-guide .journey-hero { grid-template-columns: minmax(0, 1fr); }
  .routing-guide .journey-hero-visual { min-height: clamp(16rem, 60vw, 26rem); }
  .routing-guide .contact-card, .routing-guide .quote-panel { max-width: 68ch; }
  .routing-guide .journey-steps { grid-template-columns: minmax(0, 1fr); }
  .routing-guide .journey-steps article, .routing-guide .journey-steps article:first-child, .routing-guide .journey-steps article:last-child { padding: 1.5rem 0; border-right: 0; border-bottom: 1px solid var(--routing-line); }
  .routing-guide .journey-steps article:last-child { border-bottom: 0; }
  .routing-guide--court #court-route .card-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
@media (max-width: 40rem) {
  .routing-guide .card-grid article { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .routing-guide .card-grid article > span, .routing-guide .card-grid article > h3, .routing-guide .card-grid article > p, .routing-guide .card-grid article > p:first-of-type { grid-column: auto; grid-row: auto; }
  .routing-guide :is(.actions, .cta-row, .journey-actions) { align-items: stretch; flex-direction: column; width: 100%; }
  .routing-guide :is(.actions, .cta-row, .journey-actions) .button { width: 100%; }
  .routing-guide .hero :is(.actions .text-link, .cta-row .text-link) { min-height: 2.75rem; align-content: center; }
  .routing-guide .routing-contents { display: block; }
  .routing-guide .routing-contents ul { display: block; margin-top: .5rem; }
  .routing-guide .routing-contents a { display: flex; }
}
@media print {
  .routing-guide .routing-contents { display: none; }
  .routing-guide .hero, .routing-guide .apostille-final-cta, .routing-guide .notice-band { background: #fff; color: #102235; }
  .routing-guide .hero :is(h1, h2, p, li, .eyebrow), .routing-guide .apostille-final-cta :is(h2, p, .eyebrow) { color: #102235; }
  .routing-guide .hero .button.secondary, .routing-guide .hero :is(.text-link, .actions .text-link, .cta-row .text-link) { color: #102235; border-color: #102235; }
  .routing-guide .hero .trust-panel li { color: #102235; }
  .routing-guide .hero :is(.text-link, .actions .text-link, .cta-row .text-link):is(:hover, :focus-visible) { color: #102235; }
  .routing-guide .hero .button.secondary:is(:hover, :focus-visible) { color: #102235; border-color: #102235; background: #fff; }
  .routing-guide .hero :is(a, button):focus-visible, .routing-guide .apostille-final-cta a:focus-visible { outline-color: #102235; }
  .routing-guide .hero, .routing-guide .journey-hero, .routing-guide .split, .routing-guide .journey-steps { display: block; }
  .routing-guide .county-table-shell { overflow: visible; }
  .routing-guide .county-table { min-width: 0; }
}
