* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
body {
  margin: 0;
  -webkit-font-smoothing: antialiased;
}
img,
svg {
  max-width: 100%;
  display: block;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a,
input,
select,
textarea {
  touch-action: manipulation;
}
button {
  cursor: pointer;
}
button:disabled {
  cursor: default;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 5px;
}
[hidden] {
  display: none !important;
}
::selection {
  background: var(--accent);
  color: var(--ink);
}
.skip {
  position: fixed;
  top: -100px;
  left: 12px;
  z-index: 200;
  background: var(--ink);
  color: var(--paper);
  padding: 16px;
}
.skip:focus {
  top: 12px;
}
.wrap {
  width: min(1280px, 88%);
  margin-inline: auto;
}
.eyebrow {
  font:
    600 11px/1.7 Arial,
    sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.button {
  display: inline-flex;
  gap: 24px;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 16px 24px;
  border: 1px solid transparent;
  font:
    600 12px/1.4 Arial,
    sans-serif;
}
.text-link {
  text-decoration: underline;
  text-underline-offset: 5px;
  font:
    13px/1.7 Arial,
    sans-serif;
}
.quiet {
  font:
    12px/1.8 Arial,
    sans-serif;
}
.section {
  padding: 100px 0;
}
.section p {
  line-height: 1.8;
}
.site-header {
  position: relative;
  z-index: 30;
}
.masthead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 94px;
  gap: 24px;
}
.brand {
  display: inline-block;
  font-weight: 700;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 28px;
  font:
    12px Arial,
    sans-serif;
}
.nav-links a:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.nav-toggle {
  display: none;
  background: transparent;
  border: 1px solid currentColor;
  padding: 11px 14px;
  color: inherit;
}
.stage-strip {
  font:
    10px/1.6 Arial,
    sans-serif;
  letter-spacing: 1px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
}
.stage-strip .wrap {
  display: flex;
  justify-content: space-between;
  gap: 14px;
}
.stage-strip a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.inquiry label,
.inquiry legend {
  display: block;
  font:
    600 12px/1.7 Arial,
    sans-serif;
  margin: 20px 0 8px;
}
.inquiry input[type="text"],
.inquiry input[type="number"],
.inquiry select,
.inquiry textarea,
.brief-result textarea {
  display: block;
  width: 100%;
  border: 1px solid var(--line);
  background: var(--field);
  color: var(--ink);
  padding: 13px 14px;
  border-radius: 0;
  min-height: 48px;
  font:
    14px/1.6 Arial,
    sans-serif;
}
.inquiry textarea {
  resize: vertical;
}
.inquiry fieldset {
  margin: 24px 0;
  padding: 0;
  border: 0;
}
.inquiry fieldset legend {
  margin: 0 0 10px;
}
.check-option {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  margin: 9px 0 !important;
  padding: 12px 14px;
  border: 1px solid var(--line);
  font-weight: 400 !important;
  cursor: pointer;
}
.check-option input {
  margin-top: 4px;
  accent-color: var(--accent);
  width: 17px;
  height: 17px;
  flex-shrink: 0;
}
.check-option:has(input:checked) {
  background: var(--selection);
}
.brief-result {
  margin-top: 28px;
  padding: 26px;
  border: 1px solid var(--line);
  background: var(--field);
}
.brief-result h3 {
  margin: 0 0 12px;
}
.brief-result .actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.copy-button {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--line);
  padding: 13px 18px;
  font:
    12px Arial,
    sans-serif;
}
.local-note {
  font:
    11px/1.8 Arial,
    sans-serif;
  color: var(--muted);
  margin: 16px 0;
}
.site-footer {
  border-top: 1px solid var(--line);
  padding: 34px 0 24px;
  font:
    11px/1.8 Arial,
    sans-serif;
}
.footer-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  padding-bottom: 25px;
}
.footer-links {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 26px;
  color: var(--muted);
}
.footer-bottom p {
  margin: 0;
  max-width: 590px;
}
.faq details {
  border-top: 1px solid var(--line);
  padding: 20px 0;
}
.faq details:last-child {
  border-bottom: 1px solid var(--line);
}
.faq summary {
  cursor: pointer;
  font:
    600 15px/1.6 Arial,
    sans-serif;
}
.faq p {
  font:
    14px/1.8 Arial,
    sans-serif;
  color: var(--muted);
  max-width: 700px;
}
.demo-label {
  font:
    10px/1.7 Arial,
    sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8%;
}
.form-status {
  font:
    12px/1.8 Arial,
    sans-serif;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 800px) {
  html {
    scroll-padding-top: 25px;
  }
  .wrap {
    width: 88%;
  }
  .masthead {
    min-height: 80px;
    flex-wrap: wrap;
    padding: 18px 0;
  }
  .nav-toggle {
    display: block;
  }
  .nav-links {
    display: none;
    flex-basis: 100%;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
  }
  .nav-links[data-open="true"] {
    display: flex;
  }
  .nav-links a {
    padding: 14px 0;
  }
  .stage-strip {
    font-size: 8px;
  }
  .stage-strip .wrap > span {
    max-width: 58%;
  }
  .section {
    padding: 65px 0;
  }
  .two-col {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .footer-top,
  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
  .brief-result {
    padding: 18px;
  }
  .button {
    padding: 15px 19px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
  }
}
:root {
  --paper: #f4eddf;
  --ink: #383b30;
  --accent: #a45f3e;
  --muted: #6a6f60;
  --line: #d2c9b5;
  --field: #fbf7ed;
  --selection: #eadbca;
  --focus: #8c4c30;
}
body {
  background: var(--paper);
  color: var(--ink);
  font-family: Georgia, serif;
}
.brand {
  font: 11px/1.5 Arial;
  letter-spacing: 1px;
  text-transform: uppercase;
  position: relative;
  padding-left: 48px;
  min-height: 40px;
}
.brand b {
  position: absolute;
  left: 0;
  top: -2px;
  font: italic 36px/1 Georgia;
  letter-spacing: -4px;
  text-transform: none;
}
.button {
  background: var(--accent);
  color: #fff8ed;
  border-radius: 1px;
}
.button:hover {
  background: #7e442b;
}
.elsewhere-cover {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  min-height: 680px;
}
.cover-type {
  width: auto;
  margin: 0;
  padding: 80px 9% 60px 12%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.cover-type .eyebrow {
  font-weight: 400;
  color: var(--accent);
  font-size: 9px;
  letter-spacing: 1.5px;
  max-width: 300px;
}
.cover-type h1 {
  font: normal clamp(58px, 7vw, 98px) / 1 Georgia;
  letter-spacing: -4px;
  margin: 30px 0 40px;
}
.cover-type h1 em {
  color: var(--accent);
  font-weight: 400;
}
.cover-bottom p {
  font: 15px/1.9 Arial;
  color: var(--muted);
}
.cover-link {
  display: flex;
  justify-content: space-between;
  max-width: 330px;
  align-items: center;
  font: 10px/1.8 Arial;
  letter-spacing: 1.5px;
  border-block: 1px solid var(--line);
  padding: 21px 0;
  margin-top: 35px;
}
.cover-link span {
  font-size: 22px;
  letter-spacing: 0;
}
.cover-image {
  margin: 0;
  position: relative;
}
.cover-image img {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  object-position: 46% center;
}
.cover-image figcaption {
  position: absolute;
  bottom: 22px;
  left: 25px;
  right: 25px;
  color: #fff8ed;
  background: #333e2dc7;
  padding: 10px 13px;
  font: 7px/1.8 Arial;
  letter-spacing: 1px;
}
.journal-opening {
  padding: 100px 10% 70px;
  max-width: 1100px;
  text-align: center;
}
.journal-folio {
  font: 10px/1.8 Arial;
  letter-spacing: 2px;
  color: var(--accent);
}
.journal-opening h2 {
  font: normal 65px/1.05 Georgia;
  letter-spacing: -3px;
  margin: 30px 0;
}
.journal-opening > p {
  font: 17px/2 Arial;
  color: var(--muted);
  max-width: 680px;
  margin: 0 auto;
}
.journal-rule {
  display: flex;
  justify-content: center;
  gap: 35px;
  border-block: 1px solid var(--line);
  padding: 22px 0;
  margin-top: 55px;
  font: 8px/1.7 Arial;
  letter-spacing: 1px;
}
.arrival-chapter {
  padding: 30px 0 100px;
}
.chapter-folio {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid var(--line);
  padding-top: 23px;
  font: 8px Arial;
  letter-spacing: 1.5px;
  color: var(--accent);
}
.arrival-layout {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 14%;
  align-items: center;
  margin-top: 65px;
}
.arrival-layout h2 {
  font: normal 52px/1.12 Georgia;
  letter-spacing: -2px;
  margin: 0 0 27px;
}
.arrival-layout h2 em {
  color: #7c845f;
  font-weight: 400;
}
.arrival-layout > div > p {
  font: 15px/1.9 Arial;
  color: var(--muted);
  max-width: 470px;
}
.arrival-layout .journal-aside {
  font: italic 21px/1.6 Georgia;
  color: #6f7758;
  border-top: 1px solid var(--line);
  padding-top: 25px;
  margin-top: 30px;
}
.arrival-postcard {
  padding: 30px;
  background: #fbf8ef;
  border: 1px solid #d5cab4;
  transform: rotate(3deg);
  box-shadow: 0 20px 60px #5a482010;
}
.postcard-line {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font: 7px Arial;
  letter-spacing: 1px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}
.arrival-postcard > p {
  font: italic 27px/1.4 Georgia !important;
  color: var(--ink) !important;
  margin: 28px 0;
}
.arrival-postcard > small {
  font: 6px/1.8 Arial;
  letter-spacing: 0.5px;
  color: var(--muted);
}
.pause-chapter {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  align-items: stretch;
  background: #e7e4d4;
}
.pause-chapter figure {
  margin: 0;
  position: relative;
  min-height: 650px;
}
.pause-chapter img {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  object-position: 40% center;
}
.pause-chapter figcaption {
  position: absolute;
  bottom: 20px;
  left: 25px;
  right: 25px;
  background: #3a452ec9;
  color: #f8f4e8;
  padding: 11px 13px;
  font: 8px/1.8 Arial;
}
.pause-copy {
  padding: 85px 13%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pause-copy h2 {
  font: normal 65px/0.99 Georgia;
  letter-spacing: -2.8px;
  margin: 32px 0;
}
.pause-copy h2 em {
  color: #7c845f;
}
.pause-copy > p {
  font: 15px/1.9 Arial;
  color: var(--muted);
}
.route-heading {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 15%;
  align-items: end;
}
.route-heading h2 {
  font: normal 53px/1.08 Georgia;
  letter-spacing: -2px;
  margin: 25px 0;
}
.route-heading > div > p {
  font: 14px/1.9 Arial;
  color: var(--muted);
}
.pace-controls {
  display: flex;
  gap: 8px;
  margin: 24px 0;
}
.pace-controls button {
  background: transparent;
  color: #5a644d;
  border: 1px solid #b8bca5;
  padding: 13px 17px;
  font: 11px Arial;
  line-height: 1.6;
}
.pace-controls button[aria-pressed="true"] {
  background: #5a674d;
  color: #f7f4e9;
  border-color: #5a674d;
}
.journey-route {
  list-style: none;
  padding: 0;
  margin: 45px 0 20px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 23px;
  counter-reset: days;
}
.journey-route li {
  padding-top: 30px;
  position: relative;
  border-top: 1px solid #aeb59a;
}
.journey-route li:before {
  content: "";
  position: absolute;
  left: 0;
  top: -5px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #9ba886;
  box-shadow: 0 0 0 5px var(--paper);
}
.journey-route li:nth-child(4):before {
  background: var(--accent);
}
.journey-route li > span {
  font: 8px Arial;
  letter-spacing: 1px;
  color: var(--accent);
}
.journey-route h3 {
  font: normal 22px/1.2 Georgia;
  letter-spacing: -0.4px;
  margin: 17px 0;
}
.journey-route p {
  font: 12px/1.9 Arial;
  color: var(--muted);
}
.journey-route small {
  font: 7px Arial;
  letter-spacing: 0.7px;
  display: block;
  margin-top: 24px;
  color: #7c845f;
}
.pace-note {
  font: italic 20px/1.7 Georgia;
  color: #717b59;
  padding: 25px 0;
  border-bottom: 1px solid var(--line);
}
.route-footnote {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: start;
  margin-top: 25px;
}
.route-footnote > span {
  font: 7px/1.8 Arial;
  letter-spacing: 1px;
  color: var(--accent);
}
.route-footnote > p {
  font: 10px/1.8 Arial;
  color: var(--muted);
  max-width: 560px;
  margin: 0;
}
.journey-brief-section {
  background: #e9dfcd;
}
.brief-editorial {
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 12%;
  align-items: center;
}
.brief-editorial h2 {
  font: normal 54px/1.09 Georgia;
  letter-spacing: -2px;
  margin: 28px 0;
}
.brief-editorial > div > p {
  font: 15px/1.9 Arial;
  color: var(--muted);
  max-width: 440px;
}
.travel-notebook {
  padding: 35px;
  background: #fcf8ed;
  border-top: 3px solid #a16a48;
}
.notebook-top {
  font: 9px/1.8 Arial;
  letter-spacing: 1px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.notebook-top > span {
  font-size: 7px;
  color: var(--accent);
}
.travel-notebook dl > div {
  padding: 23px 0;
  border-bottom: 1px solid var(--line);
}
.travel-notebook dt {
  font: italic 25px Georgia;
  margin-bottom: 14px;
}
.travel-notebook dd {
  font: 12px/1.9 Arial;
  color: var(--muted);
  margin: 0;
}
.travel-notebook > p {
  font: 10px/1.9 Arial;
  color: var(--muted);
  margin-top: 24px;
}
.journey-inquiry {
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 14%;
  align-items: start;
}
.journey-invite h2 {
  font: normal 66px/1.04 Georgia;
  letter-spacing: -2.5px;
  margin: 30px 0;
}
.journey-invite h2 em {
  color: var(--accent);
}
.journey-invite > p {
  font: 15px/1.9 Arial;
  color: var(--muted);
  max-width: 380px;
}
.journey-invite .quiet {
  font-size: 10px;
  margin-top: 30px;
  max-width: 350px;
}
.journey-form {
  padding: 30px;
  border: 1px solid var(--line);
  background: #fbf8ef;
}
.journey-progress {
  display: flex;
  gap: 18px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.journey-progress button {
  font: 9px/1.6 Arial;
  letter-spacing: 0.5px;
  background: transparent;
  border: 0;
  padding: 7px 0;
  color: #858c75;
}
.journey-progress button[aria-current="step"] {
  color: var(--accent);
  box-shadow: 0 2px 0 var(--accent);
}
.journey-form .step-title {
  font: normal 29px/1.2 Georgia;
  letter-spacing: -0.6px;
  margin: 12px 0 25px;
  max-width: 340px;
}
.journey-form fieldset {
  margin: 25px 0;
  min-height: 280px;
}
.journey-form .check-option {
  font-size: 12px !important;
  line-height: 1.8;
  padding: 15px 13px;
}
.step-note {
  font: 11px/1.9 Arial;
  color: var(--muted);
}
.journey-form-actions {
  display: flex;
  gap: 16px;
  justify-content: flex-end;
  align-items: center;
  margin: 25px 0;
}
.back-step {
  font: 11px Arial;
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 15px 0;
  margin-right: auto;
}
.travel-questions {
  max-width: 850px;
  padding: 0 0 90px;
}
.travel-questions h2 {
  font: normal 33px Georgia;
}
.site-footer {
  background: #e7e4d4;
}
@media (max-width: 1100px) {
  .cover-type {
    padding: 65px 9% 55px 12%;
  }
  .cover-type h1 {
    font-size: 75px;
  }
  .arrival-layout {
    gap: 9%;
  }
  .arrival-layout h2 {
    font-size: 46px;
  }
  .pause-copy {
    padding: 65px 11%;
  }
  .pause-copy h2 {
    font-size: 57px;
  }
  .route-heading {
    gap: 8%;
  }
  .journey-route {
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
  }
  .route-heading h2 {
    font-size: 47px;
  }
  .brief-editorial h2 {
    font-size: 47px;
  }
  .journey-inquiry {
    gap: 8%;
  }
  .journey-invite h2 {
    font-size: 56px;
  }
}
@media (max-width: 800px) {
  .elsewhere-cover {
    grid-template-columns: 1fr;
  }
  .cover-type {
    padding: 40px 6%;
  }
  .cover-type h1 {
    font-size: 66px;
    letter-spacing: -3px;
    margin: 25px 0;
  }
  .cover-bottom p {
    font-size: 14px;
  }
  .cover-link {
    max-width: none;
    margin-top: 25px;
  }
  .cover-image {
    height: 440px;
  }
  .cover-image img {
    object-position: center 60%;
  }
  .journal-opening {
    padding: 65px 0 45px;
  }
  .journal-opening h2 {
    font-size: 46px;
    letter-spacing: -2px;
  }
  .journal-opening > p {
    font-size: 15px;
  }
  .journal-rule {
    gap: 17px;
    font-size: 7px;
    margin-top: 35px;
  }
  .arrival-chapter {
    padding: 20px 0 60px;
  }
  .chapter-folio {
    font-size: 7px;
    letter-spacing: 1px;
  }
  .arrival-layout {
    grid-template-columns: 1fr;
    gap: 35px;
    margin-top: 40px;
  }
  .arrival-layout h2 {
    font-size: 39px;
  }
  .arrival-postcard {
    transform: none;
    max-width: 440px;
    width: 100%;
    margin: auto;
  }
  .pause-chapter {
    grid-template-columns: 1fr;
  }
  .pause-chapter figure {
    min-height: 390px;
  }
  .pause-copy {
    padding: 50px 6%;
  }
  .pause-copy h2 {
    font-size: 58px;
  }
  .pause-copy > p {
    max-width: 450px;
  }
  .route-heading {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .route-heading h2 {
    font-size: 41px;
  }
  .pace-controls {
    margin-bottom: 15px;
  }
  .pace-controls button {
    font-size: 10px;
    padding: 12px;
  }
  .journey-route {
    grid-template-columns: 1fr 1fr;
    gap: 32px 20px;
    margin-top: 35px;
  }
  .journey-route h3 {
    font-size: 23px;
  }
  .journey-route p {
    font-size: 11px;
  }
  .route-footnote {
    flex-direction: column;
    gap: 14px;
  }
  .brief-editorial,
  .journey-inquiry {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .brief-editorial h2 {
    font-size: 43px;
  }
  .travel-notebook {
    padding: 26px;
  }
  .journey-invite h2 {
    font-size: 53px;
  }
  .journey-form {
    padding: 22px;
  }
  .journey-form .step-title {
    font-size: 27px;
  }
  .journey-progress {
    gap: 17px;
  }
  .journey-form fieldset {
    min-height: 300px;
  }
  .travel-questions {
    padding-bottom: 65px;
  }
}
