:root {
  --ink: #eef2f7;
  --muted: #aab4c0;
  --night: #0e1723;
  --navy: #172536;
  --navy-soft: #1d2d40;
  --line: #344456;
  --copper: #c68b5b;
  --copper-soft: rgba(198, 139, 91, .14);
  --pale: #dce7f3;
  --pale-ink: #15253a;
  --paper: #f1eadf;
  --paper-ink: #1e2c3e;
  --success: #83c3a8;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--banner-h, 0px) + 1rem); }
body { margin: 0; background: var(--night); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--copper); outline-offset: 3px; }

/* Premium micro-interactions: restrained movement, pointer light and clear focus. */
.button,
.situation-choice,
.navigator-choice,
.route-tabs button,
.practice-grid a,
.route-links a,
.related-grid a {
  transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.practice-grid a,
.route-links a,
.related-grid a {
  --pointer-x: 50%;
  --pointer-y: 50%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.practice-grid a::before,
.route-links a::before,
.related-grid a::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(circle 14rem at var(--pointer-x) var(--pointer-y), rgba(198, 139, 91, .2), transparent 60%);
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}

.practice-grid a:hover,
.route-links a:hover,
.related-grid a:hover {
  z-index: 2;
  transform: translateY(-4px);
  border-color: var(--copper);
  box-shadow: 0 1rem 2.4rem rgba(5, 13, 22, .16);
}

.practice-grid a:hover::before,
.route-links a:hover::before,
.related-grid a:hover::before { opacity: 1; }
.practice-grid a:hover strong,
.route-links a:hover strong,
.related-grid a:hover strong { color: var(--copper); }
.practice-grid a:hover em { transform: translateX(.3rem); }
.practice-grid em { transition: transform 180ms ease; }
.button:hover:not(:disabled):not([aria-disabled="true"]),
.situation-choice:hover,
.navigator-choice:hover,
.route-tabs button:hover { transform: translateY(-2px); border-color: var(--copper); }

.urgency-bar {
  position: sticky;
  z-index: 60;
  top: 0;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .65rem clamp(1.1rem, 4vw, 4.25rem);
  background: var(--pale);
  color: var(--pale-ink);
  font-size: .72rem;
  letter-spacing: .05em;
}

.site-header {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  padding: 1.3rem clamp(1.1rem, 4vw, 4.25rem);
  background: var(--navy);
  border-bottom: 1px solid var(--line);
}

.brand { display: flex; align-items: center; gap: .85rem; font-family: Georgia, "Times New Roman", serif; }
.brand strong { display: block; font-weight: 400; }
.brand small { display: block; margin-top: .28rem; color: var(--muted); font: .62rem Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.brand-mark { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border: 1px solid var(--copper); color: var(--copper); font-size: .8rem; letter-spacing: .08em; }
.desktop-nav { display: flex; gap: 1.5rem; align-items: center; color: var(--muted); font-size: .78rem; }
.desktop-nav a { transition: color 150ms ease; }
.desktop-nav a:hover { color: var(--ink); }
.desktop-nav .nav-contact { padding: .72rem 1rem; background: var(--pale); color: var(--pale-ink); }
.mobile-menu { display: none; }

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(19rem, .7fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
  min-height: 32rem;
  padding: clamp(2.5rem, 4.5vw, 4.5rem) clamp(1.1rem, 7vw, 7.5rem);
  background: radial-gradient(circle at 78% 30%, rgba(65, 92, 121, .2), transparent 30%);
}

.eyebrow, .panel-label, .chapter-number {
  margin: 0 0 1rem;
  color: var(--copper);
  font-size: .67rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.hero h1 {
  max-width: 54rem;
  margin: 0;
  font: 400 clamp(2.35rem, 4.5vw, 4.5rem)/1.02 Georgia, "Times New Roman", serif;
  letter-spacing: -.035em;
}

.lede { max-width: 48rem; margin: 1.25rem 0 1.55rem; color: var(--muted); font: 1rem/1.58 Georgia, "Times New Roman", serif; }
.hero-actions, .navigator-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.button { display: inline-flex; min-height: 2.85rem; align-items: center; justify-content: center; padding: .8rem 1.1rem; border: 1px solid var(--line); background: transparent; color: var(--ink); font-size: .76rem; cursor: pointer; }
.button-primary { background: var(--pale); color: var(--pale-ink); border-color: var(--pale); }
.button-secondary { background: transparent; color: var(--ink); }
.button:disabled, .button[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }

.situation-panel { padding: 1.75rem; background: var(--navy); border-top: 3px solid var(--copper); box-shadow: 0 1.4rem 4rem rgba(0, 0, 0, .2); }
.situation-panel h2 { margin: 0; font: 400 1.75rem/1.1 Georgia, "Times New Roman", serif; }
.situation-options { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.3rem 0; }
.situation-choice { padding: .62rem .72rem; border: 1px solid var(--line); background: var(--night); color: var(--ink); cursor: pointer; font-size: .72rem; }
.situation-choice.is-active { border-color: var(--copper); background: var(--copper-soft); color: var(--copper); }
.situation-result { display: grid; gap: .42rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.situation-result p { margin: 0; color: var(--success); font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; }
.situation-result strong { font: 400 1.1rem Georgia, "Times New Roman", serif; }
.situation-result span { color: var(--muted); font-size: .73rem; line-height: 1.55; }
.situation-result a { margin-top: .35rem; color: var(--copper); font-size: .72rem; }

.principles { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--navy); border-block: 1px solid var(--line); }
.principles span { padding: 1rem; text-align: center; color: var(--muted); font-size: .72rem; letter-spacing: .04em; }
.principles span + span { border-left: 1px solid var(--line); }

.navigator-section, .route-section, .practice-section, .related-section {
  padding: clamp(2.75rem, 4vw, 4.25rem) clamp(1.1rem, 7vw, 7.5rem);
}
.navigator-section, .practice-section { background: var(--paper); color: var(--paper-ink); }
.route-section, .related-section { background: var(--night); }
.navigator-section .eyebrow, .practice-section .eyebrow { color: #96603b; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2.25rem; margin-bottom: 1.6rem; }
.section-heading h2, .method-section h2, .contact-band h2, .related-section h2 { max-width: 55rem; margin: 0; font: 400 clamp(1.85rem, 3.2vw, 3.25rem)/1.06 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.section-heading > p { max-width: 33rem; margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.65; }
.navigator-section .section-heading > p, .practice-section .section-heading > p { color: #66707d; }

.navigator-progress-meta { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .55rem; color: #657181; font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
.navigator-progress { height: 3px; background: #d7cfc3; }
.navigator-progress span { display: block; height: 100%; background: #9d6037; transition: width 180ms ease; }
.navigator-question { padding: clamp(1.35rem, 4vw, 2.5rem); background: #fffdf8; border-top: 3px solid #9d6037; }
.navigator-question h3 { max-width: 48rem; margin: 0 0 1.2rem; font: 400 clamp(1.65rem, 2.8vw, 2.55rem)/1.1 Georgia, "Times New Roman", serif; }
.navigator-choices { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; }
.navigator-choice { min-height: 4.5rem; padding: 1rem; text-align: left; border: 1px solid #d7cfc3; background: #f4eee5; color: var(--paper-ink); cursor: pointer; font-size: .8rem; line-height: 1.35; }
.navigator-choice.is-active { border-color: #9d6037; background: #eadaca; color: #814c2d; }
.navigator-controls { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; margin-top: 1.35rem; }
.navigator-controls .button-secondary { color: var(--paper-ink); border-color: #cfc4b5; }
.navigator-controls span { color: #66707d; text-align: center; font-size: .74rem; }

.navigator-result { background: #fffdf8; color: var(--paper-ink); }
.navigator-result-head { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(15rem, .75fr); gap: 2rem; padding: clamp(1.5rem, 4vw, 2.75rem); background: var(--navy); color: var(--ink); }
.navigator-result-head h3 { margin: 0 0 1rem; font: 400 clamp(2rem, 4vw, 3.5rem)/1 Georgia, "Times New Roman", serif; }
.navigator-result-head p:last-child { max-width: 45rem; margin: 0; color: var(--muted); font-size: .83rem; line-height: 1.6; }
.recommended-page { display: flex; flex-direction: column; justify-content: center; padding-left: 2rem; border-left: 1px solid var(--line); }
.recommended-page span { color: var(--muted); font-size: .62rem; letter-spacing: .11em; text-transform: uppercase; }
.recommended-page strong { margin: .75rem 0; font: 400 1.6rem Georgia, "Times New Roman", serif; }
.recommended-page a { color: var(--copper); font-size: .75rem; }
.navigator-columns { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #d7cfc3; border-top: 0; }
.navigator-columns section { padding: 1.5rem; }
.navigator-columns section + section { border-left: 1px solid #d7cfc3; }
.navigator-columns h4 { margin: 0; font: 400 1.15rem Georgia, "Times New Roman", serif; }
.navigator-columns ul, .navigator-columns ol { padding-left: 1.1rem; }
.navigator-columns li { margin-bottom: .65rem; color: #66707d; font-size: .74rem; line-height: 1.5; }
.navigator-actions { margin-top: 1.25rem; }
.navigator-actions .button-secondary { color: var(--paper-ink); border-color: #cfc4b5; }
.privacy-note { color: #6e7782; font-size: .68rem; }

html:not(.js-enabled) [data-navigator] { display: none; }
.wc-navigator-fallback { padding: 1.35rem; background: #fffdf8; border-top: 3px solid #9d6037; }
.wc-navigator-fallback > p { max-width: 48rem; margin: 0 0 1rem; color: #66707d; font-size: .8rem; line-height: 1.6; }
.wc-navigator-fallback .route-links a { background: #f4eee5; color: var(--paper-ink); border: 1px solid #d7cfc3; }
.wc-navigator-fallback .route-links strong { color: var(--paper-ink); }
.wc-navigator-fallback .route-links span { color: #814c2d; }

.route-tabs { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1.1rem; }
.route-tabs button { padding: .65rem .85rem; border: 1px solid var(--line); background: var(--navy); color: var(--muted); cursor: pointer; font-size: .75rem; }
.route-tabs button[aria-pressed="true"] { border-color: var(--copper); color: var(--copper); }
.route-links { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.route-links a { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1.2rem; background: var(--navy); }
.route-links strong { font: 400 1rem Georgia, "Times New Roman", serif; }
.route-links span { color: var(--copper); font-size: .7rem; }

.practice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #d2c8bb; border: 1px solid #d2c8bb; }
.practice-grid a { display: flex; min-height: 15rem; flex-direction: column; padding: 1.4rem; background: #fffdf8; }
.practice-grid a > span { color: #9d6037; font-size: .65rem; letter-spacing: .12em; }
.practice-grid strong { margin: .8rem 0 .6rem; font: 400 1.25rem/1.18 Georgia, "Times New Roman", serif; }
.practice-grid p { margin: 0; color: #66707d; font-size: .76rem; line-height: 1.55; }
.practice-grid em { margin-top: auto; padding-top: 1.2rem; color: #9d6037; font-size: .7rem; font-style: normal; }

.method-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 5vw, 5rem); padding: clamp(2.75rem, 4vw, 4.25rem) clamp(1.1rem, 7vw, 7.5rem); background: var(--navy); }
.method-section ol { margin: 0; padding: 0; list-style: none; }
.method-section li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.05rem 0; border-top: 1px solid var(--line); }
.method-section li > span { color: var(--copper); font-size: .68rem; letter-spacing: .12em; }
.method-section strong { font: 400 1.2rem Georgia, "Times New Roman", serif; }
.method-section li p { margin: .45rem 0 0; color: var(--muted); font-size: .76rem; line-height: 1.5; }

.contact-band { display: flex; justify-content: space-between; align-items: center; gap: 2.5rem; padding: clamp(2.75rem, 5vw, 4.5rem) clamp(1.1rem, 7vw, 7.5rem); background: var(--paper); color: var(--paper-ink); }
.contact-band h2 { max-width: 50rem; }
.contact-band > div > p:last-child { max-width: 42rem; color: #66707d; font-size: .78rem; line-height: 1.55; }

.site-footer { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(20rem, 2fr) minmax(12rem, auto) auto; gap: 2.5rem; align-items: start; padding: 2.2rem clamp(1.1rem, 5vw, 5rem); background: #09111b; border-top: 1px solid var(--line); }
.site-footer strong { font: 400 1rem Georgia, "Times New Roman", serif; }
.site-footer p { margin: .4rem 0 0; color: var(--muted); font-size: .66rem; line-height: 1.55; }
.site-footer > a { color: var(--copper); font-size: .7rem; }
.footer-links { display: grid; gap: .65rem; }
.footer-links a { color: var(--muted); font-size: .7rem; transition: color 150ms ease; }
.footer-links a:hover { color: var(--copper); }

.practice-hero { padding: clamp(2.5rem, 4.5vw, 4.5rem) clamp(1.1rem, 10vw, 11rem); background: radial-gradient(circle at 80% 25%, rgba(65, 92, 121, .24), transparent 28%); }
.breadcrumbs { display: flex; gap: .6rem; margin-bottom: 2rem; color: var(--muted); font-size: .67rem; }
.practice-hero h1 { max-width: 70rem; margin: 0; font: 400 clamp(2.4rem, 4.5vw, 4.25rem)/1.02 Georgia, "Times New Roman", serif; letter-spacing: -.04em; }
.practice-intro { max-width: 55rem; margin: 1.25rem 0; color: var(--muted); font: 1.02rem/1.58 Georgia, "Times New Roman", serif; }
.incident-list, .relief-list { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1rem 0 1.45rem; }
.incident-list span, .incident-list a, .relief-list span { padding: .55rem .7rem; border: 1px solid var(--line); background: var(--navy); color: var(--muted); font-size: .68rem; }
.incident-list a { text-decoration: none; transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease; }
.incident-list a:hover, .incident-list a:focus-visible { color: var(--paper); border-color: var(--gold); background: var(--navy-2); transform: translateY(-1px); outline: none; }

.page-chapters { display: grid; grid-template-columns: minmax(12rem, .32fr) minmax(0, 1fr); gap: clamp(2rem, 4.5vw, 4.5rem); padding: clamp(2.75rem, 4vw, 4.25rem) clamp(1.1rem, 8vw, 9rem); background: var(--paper); color: var(--paper-ink); }
.chapter-content { min-width: 0; }
.chapter-index { align-self: start; display: grid; position: sticky; top: 2rem; }
.chapter-index a { padding: .8rem 0; border-top: 1px solid #d2c8bb; color: #66707d; font-size: .72rem; }
.chapter-block { padding-bottom: 3.25rem; scroll-margin-top: 2rem; }
.chapter-block + .chapter-block { padding-top: 3rem; border-top: 1px solid #d2c8bb; }
.chapter-block h2 { max-width: 52rem; margin: 0 0 1.4rem; font: 400 clamp(1.75rem, 3vw, 3rem)/1.08 Georgia, "Times New Roman", serif; }
.question-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #d2c8bb; border: 1px solid #d2c8bb; }
.question-list p { margin: 0; padding: 1.15rem; background: #fffdf8; color: #4e5966; font: .88rem/1.5 Georgia, "Times New Roman", serif; }
.process-steps { margin: 0; padding: 0; list-style: none; }
.process-steps li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1rem 0; border-top: 1px solid #d2c8bb; }
.process-steps span { color: #9d6037; font-size: .65rem; letter-spacing: .1em; }
.process-steps strong { font: 400 1rem Georgia, "Times New Roman", serif; }
.priority-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #d2c8bb; border: 1px solid #d2c8bb; }
.priority-grid article { min-height: 10.5rem; padding: 1.2rem; background: #fffdf8; }
.priority-grid article > span { color: #9d6037; }
.priority-grid p { color: #586473; font-size: .78rem; line-height: 1.6; }
.legal-framework-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #d2c8bb; border: 1px solid #d2c8bb; }
.legal-framework-grid article { padding: 1.3rem; background: #fffdf8; transition: background-color 180ms ease, box-shadow 180ms ease; }
.legal-framework-grid article:hover { position: relative; z-index: 1; background: #fffaf2; box-shadow: inset 3px 0 0 #9d6037; }
.legal-framework-grid span { display: block; color: #9d6037; font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.legal-framework-grid strong { display: block; margin: .7rem 0 .55rem; font: 400 1.08rem/1.25 Georgia, "Times New Roman", serif; }
.legal-framework-grid p { margin: 0; color: #586473; font-size: .76rem; line-height: 1.6; }
.source-strip { display: flex; justify-content: space-between; align-items: flex-start; gap: 2rem; margin-top: 1rem; padding: 1rem; color: #596574; background: #e9e0d4; border-left: 3px solid #9d6037; }
.source-strip p { margin: 0; font-size: .67rem; line-height: 1.5; }
.source-strip div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem 1rem; }
.source-strip a { color: #884f2e; font-size: .67rem; line-height: 1.5; }
.source-strip a:hover { text-decoration: underline; text-underline-offset: .2rem; }
.relief-list span { border-color: #cfc4b5; background: #fffdf8; color: #4f5966; }
.content-note { max-width: 50rem; color: #6c7580; font-size: .7rem; line-height: 1.55; }

.related-section > h2 { margin-bottom: 1.5rem; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.related-grid a { min-height: 12rem; padding: 1.25rem; background: var(--navy); }
.related-grid span { color: var(--copper); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.related-grid strong { display: block; margin: 1rem 0; font: 400 1.2rem Georgia, "Times New Roman", serif; }
.related-grid p { color: var(--muted); font-size: .74rem; line-height: 1.55; }

html.has-motion .reveal-item { opacity: 0; transform: translateY(1rem); }
html.has-motion .reveal-item.is-visible { opacity: 1; transform: none; transition: opacity 420ms ease, transform 420ms ease; }
html.has-motion .practice-grid a.reveal-item.is-visible:hover,
html.has-motion .related-grid a.reveal-item.is-visible:hover { transform: translateY(-4px); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .navigator-progress span { transition: none; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  html.has-motion .reveal-item { opacity: 1; transform: none; }
}

@media (max-width: 920px) {
  .urgency-note, .desktop-nav { display: none; }
  .mobile-menu { display: block; margin-left: auto; }
  .mobile-menu summary { padding: .65rem .8rem; border: 1px solid var(--line); color: var(--muted); cursor: pointer; font-size: .72rem; list-style: none; }
  .mobile-menu[open] nav { position: absolute; z-index: 20; top: 100%; right: 1rem; display: grid; min-width: min(21rem, calc(100vw - 2rem)); padding: .75rem; background: var(--navy); border: 1px solid var(--line); box-shadow: 0 1.2rem 3rem rgba(0,0,0,.3); }
  .mobile-menu nav a { padding: .7rem; color: var(--muted); font-size: .72rem; }
  .hero { grid-template-columns: 1fr; min-height: 0; padding-block: 3.4rem; }
  .section-heading { display: block; }
  .section-heading > p { margin-top: 1rem; }
  .navigator-choices, .practice-grid { grid-template-columns: 1fr 1fr; }
  .navigator-columns { grid-template-columns: 1fr; }
  .navigator-columns section + section { border-left: 0; border-top: 1px solid #d7cfc3; }
  .navigator-result-head { grid-template-columns: 1fr; }
  .recommended-page { padding: 1.5rem 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .method-section { grid-template-columns: 1fr; }
  .contact-band { display: block; }
  .contact-band > .button { margin-top: 1.5rem; }
  .site-footer { grid-template-columns: 1fr; }
  .source-strip { display: block; }
  .source-strip div { justify-content: flex-start; margin-top: .75rem; }
  .page-chapters { grid-template-columns: 1fr; }
  .chapter-index { display: none; }
  .related-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .urgency-bar { flex-direction: row; padding: .4rem .75rem; }
  .wc-urgency-copy { display: none; }
  .wc-urgency-actions { width: 100%; }
  .wc-top-contact { flex: 1; }
  .brand-mark { display: none; }
  .brand strong { font-size: .9rem; }
  .hero h1 { font-size: 2.3rem; }
  .situation-panel { padding: 1.3rem; }
  .principles { grid-template-columns: 1fr; }
  .principles span + span { border-left: 0; border-top: 1px solid var(--line); }
  .navigator-choices, .practice-grid, .route-links, .question-list, .priority-grid, .legal-framework-grid { grid-template-columns: 1fr; }
  .navigator-controls { grid-template-columns: 1fr; }
  .navigator-controls span { order: -1; }
  .navigator-controls .button { width: 100%; }
  .route-links a { align-items: flex-start; flex-direction: column; }
  .practice-grid a { min-height: 12rem; }
  .practice-hero h1 { font-size: 2.5rem; }
}

/* 2026 static silo baseline: conversion, accessibility and cross-border route. */
.wc-noscript {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.wc-anchor-alias { display: block; height: 0; scroll-margin-top: calc(var(--banner-h, 0px) + 1rem); }

.skip-link {
  position: fixed;
  z-index: 100;
  top: .75rem;
  left: .75rem;
  padding: .8rem 1rem;
  background: var(--pale);
  color: var(--pale-ink);
  transform: translateY(-150%);
}
.skip-link:focus { transform: none; }

.nav-toggle {
  display: none;
  min-width: 3.25rem;
  min-height: 2.75rem;
  padding: .65rem .8rem;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}

.wc-urgency-copy { line-height: 1.4; }
.wc-urgency-actions { display: flex; flex: 0 0 auto; gap: .45rem; }
.wc-top-contact {
  display: inline-flex;
  min-height: 2.35rem;
  align-items: center;
  justify-content: center;
  padding: .55rem .8rem;
  border: 1px solid #8593a2;
  color: var(--pale-ink);
  font-weight: 700;
  letter-spacing: .02em;
}
.wc-top-contact:hover { background: #c6d5e5; border-color: #4f6074; }
.wc-top-whatsapp { background: #1f6b4e; border-color: #1f6b4e; color: #fff; }
.wc-top-whatsapp:hover { background: #17553e; border-color: #17553e; }

.wc-hamburger-icon { display: grid; width: 1.35rem; gap: .25rem; }
.wc-hamburger-icon > span { display: block; height: 2px; background: currentColor; transition: transform 160ms ease, opacity 160ms ease; }
.nav-toggle[aria-expanded="true"] .wc-hamburger-icon > span:nth-child(1) { transform: translateY(.375rem) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .wc-hamburger-icon > span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .wc-hamburger-icon > span:nth-child(3) { transform: translateY(-.375rem) rotate(-45deg); }
.mobile-menu[open] .wc-hamburger-icon > span:nth-child(1) { transform: translateY(.375rem) rotate(45deg); }
.mobile-menu[open] .wc-hamburger-icon > span:nth-child(2) { opacity: 0; }
.mobile-menu[open] .wc-hamburger-icon > span:nth-child(3) { transform: translateY(-.375rem) rotate(-45deg); }
.wc-nav-track { display: none; }
.mobile-menu summary { min-width: 2.75rem; min-height: 2.75rem; }

.wc-site .hero { min-height: 29rem; }
.wc-site .hero h1 { font-size: clamp(2.25rem, 4vw, 3.75rem); line-height: 1.04; }
.wc-site .section-heading h2,
.wc-site .method-section h2,
.wc-site .related-section h2,
.wc-site .wc-intake h2 { font-size: clamp(1.75rem, 2.8vw, 2.75rem); }
.wc-site .chapter-block { padding-bottom: 2.5rem; }
.wc-site .chapter-block + .chapter-block { padding-top: 2.5rem; }

.wc-track-section,
.wc-intake,
.wc-answer-strip {
  padding: clamp(2.75rem, 4vw, 4rem) clamp(1.1rem, 7vw, 7.5rem);
}

.wc-track-section { background: var(--paper); color: var(--paper-ink); }
.wc-track-section .eyebrow { color: #925a34; }
.wc-track-section .section-heading > p { color: #5d6976; }
.wc-track-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.wc-track-card {
  display: flex;
  min-height: 17rem;
  flex-direction: column;
  padding: clamp(1.4rem, 3vw, 2.1rem);
  border: 1px solid #cfc4b5;
  background: #fffdf8;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.wc-track-card:hover { transform: translateY(-3px); border-color: #9d6037; box-shadow: 0 1rem 2.5rem rgba(24, 36, 51, .12); }
.wc-track-card > span { color: #8a5534; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.wc-track-card strong { max-width: 34rem; margin: 1rem 0 .75rem; font: 400 clamp(1.55rem, 2.5vw, 2.4rem)/1.08 Georgia, "Times New Roman", serif; }
.wc-track-card p { max-width: 38rem; margin: 0; color: #5a6674; font-size: .86rem; line-height: 1.65; }
.wc-track-card em { margin-top: auto; padding-top: 1.5rem; color: #8a5534; font-size: .75rem; font-style: normal; }
.wc-track-card-accent { background: var(--navy); color: var(--ink); border-color: var(--line); }
.wc-track-card-accent p { color: var(--muted); }
.wc-track-card-accent > span,
.wc-track-card-accent em { color: var(--copper); }

.wc-search { margin-bottom: 1.4rem; padding: 1.15rem; border: 1px solid var(--line); background: var(--navy); }
.wc-search label { display: block; margin-bottom: .55rem; color: var(--copper); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.wc-search input {
  width: 100%;
  min-height: 3.2rem;
  padding: .8rem 1rem;
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--night);
  color: var(--ink);
  font: 1rem Arial, sans-serif;
}
.wc-search input::placeholder { color: #8793a1; }
.wc-search-help,
.wc-search-status { margin: .65rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.wc-search-status { color: var(--success); }
.wc-route-groups { display: grid; gap: 1.25rem; }
.wc-route-groups h3 { margin: 0 0 .65rem; color: var(--copper); font: 400 1rem Georgia, "Times New Roman", serif; }
.wc-route-groups [hidden] { display: none; }

.wc-search-questions {
  padding: clamp(2.75rem, 4vw, 4rem) clamp(1.1rem, 7vw, 7.5rem);
  background: var(--paper);
  color: var(--paper-ink);
  border-top: 1px solid #d2c8bb;
}
.wc-search-questions .eyebrow { color: #925a34; }
.wc-search-questions .section-heading > p { color: #5d6976; }
.wc-query-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.5rem; border-top: 0; }
.wc-query-grid details { border-top: 1px solid #d2c8bb; }
.wc-query-grid .ans a { display: inline-block; margin-top: .55rem; color: #814b2d; }

.wc-answer-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  padding-block: 0;
  background: var(--line);
  border-block: 1px solid var(--line);
}
.wc-answer-strip div { min-height: 9.5rem; padding: 1.4rem; background: var(--navy); }
.wc-answer-strip span { display: block; margin-bottom: .75rem; color: var(--copper); font-size: .63rem; letter-spacing: .12em; text-transform: uppercase; }
.wc-answer-strip strong { font: 400 1rem/1.5 Georgia, "Times New Roman", serif; }
.wc-cross-hero { padding-bottom: 3.5rem; }
.wc-cross-content { padding-top: 3.5rem; }
.wc-answer-first { max-width: 55rem; margin: 0 0 1.5rem; color: #485563; font: 1rem/1.7 Georgia, "Times New Roman", serif; }

.wc-stage-map { margin: 0; padding: 0; list-style: none; border-top: 1px solid #d2c8bb; }
.wc-stage-map li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.15rem 0; border-bottom: 1px solid #d2c8bb; }
.wc-stage-map li > span { color: #965c36; font-size: .68rem; letter-spacing: .1em; }
.wc-stage-map strong { font: 400 1rem Georgia, "Times New Roman", serif; }
.wc-stage-map p { max-width: 50rem; margin: .45rem 0 0; color: #5a6673; font-size: .8rem; line-height: 1.6; }

.wc-table-wrap { overflow-x: auto; border: 1px solid #d2c8bb; }
.wc-process-table { width: 100%; min-width: 46rem; border-collapse: collapse; background: #fffdf8; }
.wc-process-table th,
.wc-process-table td { padding: 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid #d2c8bb; color: #55616e; font-size: .76rem; line-height: 1.55; }
.wc-process-table thead th { background: #e7ddd0; color: #2b3949; font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.wc-process-table tbody th { width: 8rem; color: #884f2e; font: 400 .95rem Georgia, "Times New Roman", serif; }
.wc-process-table tbody tr:last-child th,
.wc-process-table tbody tr:last-child td { border-bottom: 0; }

.wc-question-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #d2c8bb; border: 1px solid #d2c8bb; }
.wc-question-cards article { padding: 1.3rem; background: #fffdf8; }
.wc-question-cards span { color: #925a34; font-size: .63rem; letter-spacing: .1em; text-transform: uppercase; }
.wc-question-cards h3 { margin: .7rem 0 .55rem; font: 400 1.1rem/1.3 Georgia, "Times New Roman", serif; }
.wc-question-cards p { margin: 0; color: #586473; font-size: .78rem; line-height: 1.65; }
.wc-boundary { margin-top: 1rem; padding: 1.15rem; background: #e8ddd0; border-left: 3px solid #8e4b36; }
.wc-boundary strong { font: 400 1rem Georgia, "Times New Roman", serif; }
.wc-boundary p { margin: .55rem 0 0; color: #5a6470; font-size: .78rem; line-height: 1.6; }

.wc-source-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #d2c8bb; }
.wc-source-list li { display: grid; grid-template-columns: minmax(16rem, .8fr) 1.2fr; gap: 1.25rem; padding: 1rem 0; border-bottom: 1px solid #d2c8bb; }
.wc-source-list a { color: #814b2d; font-size: .76rem; line-height: 1.5; }
.wc-source-list a:hover { text-decoration: underline; text-underline-offset: .2rem; }
.wc-source-list span { color: #626d79; font-size: .74rem; line-height: 1.55; }
.reviewed { margin: 1rem 0 0; color: #6c7580; font-size: .7rem; }

.faq { border-top: 1px solid #d2c8bb; }
.faq details { border-bottom: 1px solid #d2c8bb; }
.faq summary { min-height: 3.25rem; padding: 1rem 2.5rem 1rem 0; color: #263548; cursor: pointer; font: 400 1rem/1.4 Georgia, "Times New Roman", serif; }
.faq .ans { padding: 0 0 1rem; }
.faq .ans p { max-width: 52rem; margin: 0; color: #5b6672; font-size: .8rem; line-height: 1.65; }

.wc-intake {
  display: grid;
  grid-template-columns: minmax(16rem, .72fr) minmax(24rem, 1.28fr);
  gap: clamp(2rem, 5vw, 4rem);
  background: var(--paper);
  color: var(--paper-ink);
}
.wc-intake .eyebrow { color: #925a34; }
.wc-intake-copy > p:last-child { max-width: 36rem; color: #5d6875; font-size: .82rem; line-height: 1.65; }
.wc-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: start; }
.wc-field { display: grid; gap: .4rem; }
.wc-field-full,
.wc-form > .button,
.wc-form-note { grid-column: 1 / -1; }
.wc-field label { color: #3f4d5d; font-size: .72rem; }
.wc-field input,
.wc-field select,
.wc-field textarea {
  width: 100%;
  min-height: 3rem;
  padding: .75rem;
  border: 1px solid #c9beaf;
  border-radius: 0;
  background: #fffdf8;
  color: #1e2c3e;
  font: 1rem Arial, sans-serif;
}
.wc-field textarea { min-height: 8rem; resize: vertical; line-height: 1.5; }
.wc-form > .button { justify-self: start; min-width: 12rem; }
.wc-form-note { margin: 0; color: #68727e; font-size: .68rem; line-height: 1.55; }
.wc-form-note a { color: #814c2d; text-decoration: underline; text-underline-offset: .16rem; }
.wc-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.priority-grid article { min-height: 6.75rem; padding: 1rem; }
.priority-grid p { margin: .5rem 0 0; }

.back-top,
.wc-float-wa {
  position: fixed;
  z-index: 45;
  right: 1rem;
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  box-shadow: 0 .75rem 2rem rgba(4, 10, 17, .28);
  font-weight: 700;
}
.back-top { bottom: 1rem; background: var(--navy); color: var(--copper); font-size: 1.2rem; }
.site-footer > a.back-top { color: var(--copper); font-size: 1.2rem; }
.wc-float-wa { bottom: 4.6rem; background: #1f6b4e; border-color: #2c8865; color: #fff; font-size: .72rem; letter-spacing: .04em; }
.back-top:hover { background: var(--navy-soft); border-color: var(--copper); }
.wc-float-wa:hover { background: #17553e; }

.wc-route-dialog {
  width: min(42rem, calc(100vw - 2rem));
  max-height: min(44rem, calc(100vh - 2rem));
  padding: 0;
  overflow: auto;
  color: var(--ink);
  background: var(--navy);
  border: 1px solid var(--line);
  border-top: 3px solid var(--copper);
  box-shadow: 0 2rem 6rem rgba(0, 0, 0, .46);
}
.wc-route-dialog::backdrop { background: rgba(5, 10, 17, .76); backdrop-filter: blur(4px); }
.wc-route-dialog-shell { position: relative; padding: clamp(1.5rem, 4vw, 2.6rem); }
.wc-dialog-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  padding: 0;
  color: var(--muted);
  background: transparent;
  border: 1px solid var(--line);
  cursor: pointer;
  font-size: 1.2rem;
}
.wc-dialog-close:hover { color: var(--ink); border-color: var(--copper); }
.wc-route-dialog h2 { max-width: 33rem; margin: 0; padding-right: 3rem; font: 400 clamp(1.8rem, 4vw, 2.8rem)/1.06 Georgia, "Times New Roman", serif; }
.wc-dialog-summary { max-width: 35rem; margin: 1rem 0 0; color: var(--muted); font-size: .86rem; line-height: 1.65; }
.wc-dialog-context { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 1.4rem 0; background: var(--line); border: 1px solid var(--line); }
.wc-dialog-context div { padding: 1rem; background: var(--night); }
.wc-dialog-context span { display: block; margin-bottom: .45rem; color: var(--copper); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.wc-dialog-context strong { font: 400 .95rem/1.4 Georgia, "Times New Roman", serif; }
.wc-dialog-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.wc-dialog-note { margin: 1rem 0 0; color: var(--muted); font-size: .68rem; line-height: 1.5; }

@media (max-width: 920px) {
  .wc-site .site-header { flex-wrap: wrap; }
  .wc-site #nav {
    display: grid;
    width: 100%;
    padding-top: .75rem;
  }
  .wc-site #nav a { min-height: 2.75rem; padding: .8rem; }
  .js-enabled .wc-site .nav-toggle { display: inline-flex; align-items: center; justify-content: center; margin-left: auto; }
  .js-enabled .wc-site #nav { display: none; }
  .js-enabled .wc-site #nav.is-open {
    position: absolute;
    z-index: 30;
    top: 100%;
    right: 1rem;
    display: grid;
    min-width: min(22rem, calc(100vw - 2rem));
    padding: .75rem;
    background: var(--navy);
    border: 1px solid var(--line);
    box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, .3);
  }
  .js-enabled .wc-site #nav.is-open a { min-height: 2.75rem; padding: .8rem; }
  .js-enabled .wc-site #nav.is-open .wc-nav-track,
  .mobile-menu nav .wc-nav-track {
    display: grid;
    gap: .15rem;
    margin-top: .35rem;
    padding: .85rem;
    border-top: 1px solid var(--line);
    color: var(--ink);
  }
  .wc-nav-track small { color: var(--copper); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
  .wc-nav-track strong { font: 400 .95rem Georgia, "Times New Roman", serif; }
  .wc-track-grid,
  .wc-intake { grid-template-columns: 1fr; }
  .wc-answer-strip { grid-template-columns: 1fr; }
  .wc-answer-strip div { min-height: 0; }
}

@media (max-width: 620px) {
  .urgency-bar { align-items: stretch; flex-direction: row; padding: .4rem .75rem; }
  .wc-urgency-copy { display: none; }
  .wc-urgency-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .wc-top-contact { min-height: 2.75rem; }
  .wc-track-grid,
  .wc-question-cards,
  .wc-form,
  .wc-query-grid { grid-template-columns: 1fr; }
  .wc-field-full,
  .wc-form > .button,
  .wc-form-note { grid-column: auto; }
  .wc-track-card { min-height: 15rem; }
  .wc-source-list { display: block; }
  .wc-source-list li { grid-template-columns: 1fr; gap: .45rem; }
  .wc-site .practice-hero h1 { font-size: 2.2rem; }
  .wc-route-dialog { width: calc(100vw - 1rem); max-height: calc(100vh - 1rem); }
  .wc-dialog-context { grid-template-columns: 1fr; }
  .wc-dialog-actions .button { width: 100%; }
  .back-top,
  .wc-float-wa { right: .75rem; }
}
