@font-face {
  font-family: "STIX Two Text";
  src: url("stix-two-text.7962b8b7811e.ttf") format("truetype");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

:root {
  color-scheme: light;
  --paper: #faf6ed;
  --ink: #28342c;
  --muted: #505b50;
  --rust: #843c29;
  --sage: #e3e8db;
  --peach: #f0dac5;
  --rule: #a2aa96;
  --font: "STIX Two Text", Georgia, serif;
}

* { box-sizing: border-box; }
html { scroll-padding-top: 2rem; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 400 19px/1.55 var(--font);
  overflow-wrap: break-word;
}
body > header, main, body > footer {
  width: min(100% - 6rem, 1200px);
  margin-inline: auto;
}
body > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  padding-block: 1.5rem;
  border-bottom: 1px solid var(--ink);
}
main { padding-bottom: 4rem; }
body > footer {
  padding-block: 2rem 3rem;
  border-top: 1px solid var(--ink);
}
h1, h2, h3 { font-weight: 600; line-height: 1.08; text-wrap: balance; }
h1 { margin: .25rem 0 1.5rem; font-size: clamp(2.6rem, 5.15vw, 4.6rem); letter-spacing: -.045em; }
h2 { margin: 0 0 1.3rem; font-size: clamp(1.85rem, 2.8vw, 2.7rem); letter-spacing: -.025em; }
h3 { margin: 0 0 1rem; font-size: 1.4rem; }
p { margin: 0 0 1.15rem; max-width: 67ch; }
ul { padding-left: 1.3rem; }
li { padding-left: .25rem; margin-block: .65rem; }
strong { font-weight: 700; }
small { font-size: 1rem; }
a {
  color: var(--rust);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding-block: .4rem;
  max-width: 100%;
  font-size: max(1rem, 1em);
}
a:hover { text-decoration-thickness: 2px; }
button, input { font: inherit; }
button {
  min-height: 48px;
  padding: .65rem 1rem;
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--ink);
  border-radius: 0;
  cursor: pointer;
}
:focus-visible { outline: 3px solid var(--rust); outline-offset: 5px; }
summary {
  min-height: 48px;
  padding: .55rem .15rem;
  cursor: pointer;
  font-weight: 600;
}
summary::marker { color: var(--rust); }
dl { margin: 0; }
dt { font-weight: 700; margin-bottom: .3rem; }
dd { margin: 0 0 1.2rem; }
table { width: 100%; border-collapse: collapse; font-size: 1rem; }
th, td { text-align: left; padding: 1rem; border-bottom: 1px solid var(--rule); vertical-align: top; }
thead { background: var(--sage); }
th { font-weight: 600; }
td:last-child { width: 50%; }
[hidden] { display: none !important; }

/* Base elements carry the prose; these islands carry the folded structure. */
[data-role="skip"] {
  position: absolute;
  z-index: 10;
  top: -100px;
  left: 1rem;
  padding: .7rem 1rem;
  background: var(--ink);
  color: var(--paper);
}
[data-role="skip"]:focus { top: 1rem; }
[data-role="masthead"] {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: var(--ink);
  text-decoration: none;
  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: .035em;
}
[data-role="mark"] {
  width: 28px;
  height: 34px;
  flex: 0 0 28px;
  border: 1px solid var(--ink);
  transform: skewY(-16deg);
  background: linear-gradient(90deg, transparent 48%, var(--ink) 48%, var(--ink) 52%, transparent 52%);
}
[data-role="navigation"] { position: relative; flex-shrink: 0; font-size: 1rem; }
[data-role="navigation"] details { min-width: 170px; }
[data-role="menu"] {
  position: absolute;
  z-index: 5;
  right: 0;
  top: calc(100% + .5rem);
  width: 370px;
  max-width: calc(100vw - 2.5rem);
  padding: 1rem 1.25rem;
  background: var(--paper);
  border: 1px solid var(--ink);
  box-shadow: 8px 8px 0 var(--peach);
}
[data-role="menu"] a { display: flex; gap: .75rem; min-height: 54px; border-bottom: 1px solid var(--rule); }
[data-role="menu"] a:last-child { border-bottom: 0; }
[aria-current="page"] { font-weight: 700; }
[data-role="eyebrow"] {
  font-size: 1rem;
  line-height: 1.4;
  color: var(--rust);
  margin-bottom: 1.3rem;
}
[data-role="hero"] {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(240px, .8fr);
  align-items: center;
  gap: 3rem;
  padding-block: 4.5rem 4rem;
}
[data-role="hero"] [data-role="lead"] { font-size: 1.3rem; line-height: 1.4; max-width: 43ch; }
[data-role="actions"] { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.5rem; margin-top: 1.6rem; }
[data-role="primary-link"] {
  padding: .75rem 1.2rem;
  min-height: 52px;
  background: var(--ink);
  color: var(--paper);
  text-decoration: none;
}
[data-role="primary-link"]::after { content: "\2192"; margin-left: 1.5rem; }
[data-role="quiet-link"]::after { content: "\2197"; margin-left: .75rem; }

.fold-art { margin: 0; min-width: 0; }
.fold-art [data-role="sketch"] { position: relative; aspect-ratio: 1 / 1; isolation: isolate; }
.fold-art [data-role="sketch"]::before {
  content: "";
  position: absolute;
  width: 71%;
  height: 73%;
  top: 11%;
  left: 15%;
  background: var(--sage);
  clip-path: polygon(0 14%, 35% 0, 67% 15%, 100% 1%, 100% 86%, 67% 100%, 35% 85%, 0 100%);
}
.fold-art [data-role="sketch"]::after {
  content: "";
  position: absolute;
  inset: 25% 9% 5% 31%;
  background: var(--peach);
  clip-path: polygon(0 34%, 100% 0, 70% 100%);
  z-index: -1;
}
.fold-art span { position: absolute; background: var(--ink); height: 1px; transform-origin: left center; }
.fold-art [data-line="top-a"] { left: 15%; top: 21.2%; width: 27%; transform: rotate(-21deg); }
.fold-art [data-line="top-b"] { left: 39.8%; top: 11%; width: 26%; transform: rotate(24deg); }
.fold-art [data-line="top-c"] { left: 62.6%; top: 21.9%; width: 25.5%; transform: rotate(-23deg); }
.fold-art [data-line="left"] { left: 15%; top: 21.2%; width: 62.6%; transform: rotate(90deg); }
.fold-art [data-line="crease-a"] { left: 39.8%; top: 11%; width: 62.1%; transform: rotate(90deg); }
.fold-art [data-line="crease-b"] { left: 62.6%; top: 21.9%; width: 62.1%; transform: rotate(90deg); }
.fold-art [data-line="right"] { left: 86%; top: 11.7%; width: 62.1%; transform: rotate(90deg); }
.fold-art [data-line="bottom-a"] { left: 15%; top: 84%; width: 27%; transform: rotate(-24deg); }
.fold-art [data-line="bottom-b"] { left: 39.8%; top: 73.1%; width: 25.7%; transform: rotate(25.5deg); }
.fold-art [data-line="bottom-c"] { left: 62.6%; top: 84%; width: 25.5%; transform: rotate(-23.5deg); }
.fold-art [data-line="route-a"] { left: 24%; top: 58%; width: 23%; transform: rotate(-39deg); height: 2px; background: var(--rust); }
.fold-art [data-line="route-b"] { left: 42%; top: 43.5%; width: 17%; transform: rotate(37deg); height: 2px; background: var(--rust); }
.fold-art [data-line="route-c"] { left: 55.5%; top: 53.7%; width: 21%; transform: rotate(-44deg); height: 2px; background: var(--rust); }
.fold-art [data-role="route-end"] { left: 69.8%; top: 37.8%; width: 12px; height: 12px; border: 2px solid var(--rust); border-radius: 50%; background: var(--paper); }
.fold-art figcaption { color: var(--muted); font-size: 1rem; text-align: center; padding-top: .25rem; }

.margin-row {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 3.75rem;
  padding-block: 3.25rem;
  border-top: 1px solid var(--ink);
  align-items: start;
}
.margin-row > aside { font-size: 1rem; line-height: 1.4; color: var(--muted); border-left: 2px solid var(--rust); padding-left: 1rem; }
.margin-row > aside p { margin-bottom: .85rem; }
.margin-row > aside p:last-child, .margin-row > aside dd:last-child { margin-bottom: 0; }
.evidence-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.75rem; }
.evidence-cards > article {
  position: relative;
  padding: 1.8rem 1.4rem 1.2rem;
  border: 1px solid var(--rule);
  background: #fffdf8;
  font-size: 1rem;
  line-height: 1.5;
}
.evidence-cards > article::before {
  content: "";
  position: absolute;
  top: -1px;
  right: -1px;
  width: 22px;
  height: 22px;
  border-left: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  background: var(--paper);
}
.evidence-cards h3 { font-size: 1.3rem; padding-right: .5rem; }
.evidence-cards a { font-size: 1rem; }
[data-role="checklist"] > article { padding-block: 1.75rem; border-top: 1px solid var(--rule); }
[data-role="checklist"] > article:first-child { border-top: 0; padding-top: .5rem; }
[data-role="checklist"] h3 { margin-bottom: .65rem; }
[data-role="check-heading"] { display: flex; align-items: center; gap: 1rem; min-height: 52px; cursor: pointer; }
input[type="checkbox"] { width: 40px; height: 40px; margin: 0; accent-color: var(--rust); flex-shrink: 0; cursor: pointer; }
[data-role="checklist"] article > p, [data-role="checklist"] article > details { margin-left: 56px; }
[data-role="lookup-links"] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1rem; padding-block: .5rem; }
[data-role="lookup-links"] a { border-bottom: 1px solid var(--rule); }
[data-role="caution"] { padding: 1.25rem 1.5rem; background: var(--peach); margin-block: 1.5rem; }
[data-role="caution"] p:last-child { margin-bottom: 0; }
[data-role="next"] { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: center; background: var(--sage); padding: 1.75rem 2rem; }
[data-role="next"] p { margin: 0; font-size: 1.2rem; }
[data-role="page-intro"] { padding-block: 4.5rem 3.5rem; max-width: 880px; }
[data-role="page-intro"] h1 { max-width: 17ch; }
[data-role="page-intro"] p:last-child { font-size: 1.3rem; max-width: 48ch; }
.route-comparison [data-role="controls"] { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0; }
.route-comparison button[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
.route-comparison [data-role="route-panels"] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.route-comparison [data-enhanced="true"][data-view="online"] [data-role="route-panels"],
.route-comparison [data-enhanced="true"][data-view="room"] [data-role="route-panels"] { grid-template-columns: minmax(0, 1fr); }
.route-comparison [data-role="route-panel"] { background: var(--sage); padding: 1.8rem 1.5rem; }
.route-comparison [data-route="room"] { background: var(--peach); }
.route-comparison [data-role="route-panel"] p, .route-comparison [data-role="route-panel"] li { font-size: 1.0625rem; }
.route-comparison [data-role="comparison-state"] { color: var(--muted); font-size: 1rem; margin-top: 1rem; }
[data-role="cost-fact"] { padding: 1.75rem 2rem; background: var(--ink); color: var(--paper); margin-block: 1.5rem; }
[data-role="cost-fact"] h3 { font-size: 1.4rem; }
[data-role="cost-fact"] p { font-size: 1.125rem; }
[data-role="cost-fact"] p:last-child { margin-bottom: 0; }
[data-role="answer-space"] { display: block; min-height: 2rem; border-bottom: 1px dotted var(--muted); }
[data-role="question-sheet"] { padding-left: 1.2rem; }
[data-role="question-sheet"] li { padding-bottom: .8rem; }
[data-role="footer-links"] { display: flex; flex-wrap: wrap; gap: .4rem 2rem; margin-bottom: 1rem; font-size: 1rem; }
body > footer p { font-size: 1rem; color: var(--muted); max-width: 65ch; }
[data-role="missing"] { min-height: 50vh; padding-block: 4.5rem; max-width: 800px; }
.route-comparison [data-role="comparison"]:not([data-enhanced="true"]) [data-role="controls"],
.route-comparison [data-role="comparison"]:not([data-enhanced="true"]) [data-role="comparison-state"] { display: none; }

@media (max-width: 1050px) {
  body > header, main, body > footer { width: calc(100% - 4rem); }
  .margin-row { grid-template-columns: 160px minmax(0, 1fr); gap: 2rem; }
  .evidence-cards { grid-template-columns: minmax(0, 1fr); }
  .evidence-cards > article { padding: 1.5rem 1.75rem; }
}

@media (max-width: 700px) {
  body { font-size: 18px; }
  body > header, main, body > footer { width: calc(100% - 2.5rem); }
  body > header { gap: .6rem; padding-block: 1rem; align-items: flex-start; }
  [data-role="masthead"] { gap: .65rem; letter-spacing: 0; min-height: 48px; }
  [data-role="mark"] { width: 22px; height: 28px; flex-basis: 22px; }
  [data-role="navigation"] details { min-width: 0; }
  [data-role="navigation"] summary { max-width: 128px; }
  [data-role="hero"] { grid-template-columns: minmax(0, 1fr); padding-block: 2.5rem 2.75rem; gap: 1.5rem; }
  [data-role="hero"] [data-role="lead"] { font-size: 1.2rem; }
  .fold-art { width: min(100%, 280px); margin-inline: auto; }
  [data-role="actions"] { align-items: flex-start; gap: .7rem; }
  [data-role="actions"] a { width: 100%; }
  .margin-row { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; padding-block: 2.5rem; }
  .margin-row > aside { max-width: 32ch; }
  .margin-row > aside dl { display: grid; grid-template-columns: minmax(0, 1fr); }
  .evidence-cards { gap: 1rem; }
  [data-role="lookup-links"] { grid-template-columns: minmax(0, 1fr); }
  [data-role="checklist"] article > p, [data-role="checklist"] article > details { margin-left: 0; }
  [data-role="check-heading"] { gap: .75rem; }
  [data-role="next"] { padding: 1.5rem; }
  [data-role="next"] a { width: 100%; }
  [data-role="page-intro"] { padding-block: 2.75rem 2.5rem; }
  .route-comparison [data-role="route-panels"] { grid-template-columns: minmax(0, 1fr); }
  .route-comparison [data-role="controls"] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .route-comparison button { padding: .7rem .35rem; font-size: 1rem; line-height: 1.25; }
  .route-comparison [data-role="route-panel"] { padding: 1.5rem 1.25rem; }
  [data-role="cost-fact"] { padding: 1.5rem; }
  th, td { padding: .8rem .65rem; }
  [data-role="caution"] { padding: 1.3rem; }
  [data-role="footer-links"] { flex-direction: column; align-items: flex-start; gap: .25rem; }
  main { padding-bottom: 2.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

@media print {
  @page { margin: 16mm; }
  body { background: white; color: #000; font-size: 16px; line-height: 1.4; }
  body > header, main, body > footer { width: 100%; }
  [data-role="navigation"], [data-role="skip"], .fold-art, [data-role="actions"],
  [data-role="controls"], [data-role="comparison-state"], [data-role="next"], [data-role="footer-links"] { display: none !important; }
  [data-role="hero"] { display: block; padding-block: 1rem 2rem; }
  [data-role="page-intro"] { padding-block: 1rem 2rem; }
  h1 { font-size: 34px; }
  h2 { font-size: 26px; }
  h3 { font-size: 21px; }
  h1, h2, h3, dt { break-after: avoid; }
  p, li { orphans: 3; widows: 3; }
  .margin-row { grid-template-columns: 145px minmax(0, 1fr); gap: 1.5rem; padding-block: 1.5rem; border-color: #555; }
  .margin-row > aside, body > footer p { color: #333; }
  .evidence-cards { grid-template-columns: minmax(0, 1fr); }
  .evidence-cards > article, [data-role="checklist"] > article { break-inside: avoid; }
  .evidence-cards > article, [data-role="caution"], [data-role="cost-fact"],
  .route-comparison [data-role="route-panel"] { background: transparent; color: #000; border: 1px solid #888; }
  .route-comparison [data-role="route-panel"][hidden] { display: block !important; }
  .route-comparison [data-role="route-panels"],
  .route-comparison [data-enhanced="true"][data-role="comparison"] [data-role="route-panels"] { grid-template-columns: minmax(0, 1fr) !important; }
  .route-comparison [data-role="route-panel"] { break-inside: avoid; }
  [data-role="lookup-links"] { display: grid; grid-template-columns: minmax(0, 1fr); }
  details::details-content { content-visibility: visible !important; }
  details > :not(summary) { display: block !important; }
  [data-role="checklist"] details > [data-role="lookup-links"] { display: grid !important; }
  a { color: #000; }
  th, td { border-color: #777; }
  tr { break-inside: avoid; }
  body > footer { padding-block: 1rem; }
}
