:root {
  font-family:Arial,Helvetica,sans-serif;
  color:#183032;
  background:#f6f4ee;
  scroll-behavior:smooth
}
* {
  box-sizing:border-box
}
body {
  margin:0
}
a {
  color:inherit
}
button,a {
  touch-action:manipulation
}
.wrap {
  width:min(1160px,calc(100% - 44px));
  margin:auto
}
header {
  position:absolute;
  z-index:2;
  top:0;
  left:0;
  right:0;
  color:#fff
}
.nav {
  height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
}
.brand {
  font-family:Georgia,serif;
  font-size:1.65rem;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap
}
.brand span {
  color:#e9cf9d
}
.navlinks {
  display:flex;
  align-items:center;
  gap:27px
}
.navlinks a {
  text-decoration:none;
  font-size:.9rem;
  font-weight:600
}
.navlinks .navcta {
  padding:12px 18px;
  border:1px solid #d9c9ad;
  border-radius:2px
}
.hero {
  min-height:650px;
  background:linear-gradient(90deg,rgba(9,30,32,.89),rgba(13,35,35,.18)),url("walk-hero.png");
  color:white;
  display:flex;
  align-items:center;
  position:relative;
  background-position:center;
  background-size:cover
}
.hero-inner {
  padding:148px 0 105px
}
.eyebrow {
  text-transform:uppercase;
  letter-spacing:.21em;
  font-size:.75rem;
  font-weight:700;
  color:#e7ca92
}
.hero h1 {
  font:normal clamp(3.2rem,7vw,6.6rem)/.99 Georgia,serif;
  letter-spacing:-.055em;
  max-width:800px;
  margin:22px 0
}
.hero p {
  font-size:1.16rem;
  line-height:1.68;
  max-width:535px;
  margin:0 0 30px;
  color:#f1f1e8
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  padding:17px 25px;
  background:#e9cb97;
  color:#1c3030;
  font-weight:700;
  font-size:.91rem;
  min-height:52px
}
.button:hover,.button:focus-visible {
  background:#f4dcb1
}
.hero-note {
  margin-top:26px;
  font-size:.82rem;
  color:#d4dfd7
}
.section {
  padding:100px 0
}
.section-label {
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#697b6e;
  font-weight:700
}
.section h2 {
  font:normal clamp(2.45rem,4vw,4rem)/1.1 Georgia,serif;
  letter-spacing:-.035em;
  margin:15px 0 20px
}
.intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:85px;
  align-items:center
}
.intro p,.bio p,.end p {
  font-size:1.09rem;
  line-height:1.77;
  color:#4c5b56
}
.quote {
  padding:45px 48px;
  background:#e8ede5;
  border-left:3px solid #c2a46e;
  font:italic 1.75rem/1.45 Georgia,serif;
  color:#25423a
}
.offer-section {
  background:#173536;
  color:white
}
.offer-section .section-label {
  color:#ddc18d
}
.offer-section h2 {
  max-width:750px
}
.offer-section .lead {
  color:#cbd8d1;
  line-height:1.7;
  max-width:690px
}
.cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
  margin-top:43px
}
.card {
  background:#f6f4ee;
  color:#183032;
  padding:32px;
  min-height:325px;
  display:flex;
  flex-direction:column
}
.card small {
  color:#687a6e;
  font-size:.83rem
}
.card h3 {
  font:normal 1.75rem/1.18 Georgia,serif;
  margin:18px 0 12px
}
.card p {
  color:#53615a;
  line-height:1.6;
  margin:0 0 25px
}
.card .bottom {
  margin-top:auto;
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:15px
}
.card strong {
  font:normal 1.5rem Georgia,serif
}
.card .bottom a {
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:5px;
  font-size:.88rem
}
.bio {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:85px;
  align-items:center
}
.portrait {
  min-height:415px;
  background:linear-gradient(155deg,#496b63,#1d393b);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#e5dfc9;
  font:italic 1.3rem Georgia,serif;
  padding:30px
}
.draft {
  display:inline-block;
  background:#f0e5cc;
  color:#584729;
  padding:7px 10px;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase
}
.steps {
  background:#e8ede5
}
.steps-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
  margin-top:40px
}
.steps-grid div {
  border-top:1px solid #92a497;
  padding-top:24px
}
.steps-grid b {
  font:normal 1.9rem Georgia,serif;
  color:#9e8253
}
.steps-grid h3 {
  font:normal 1.5rem Georgia,serif
}
.steps-grid p {
  line-height:1.65;
  color:#4d5b55
}
.end {
  text-align:center
}
.end p {
  max-width:640px;
  margin:0 auto 29px
}
.end .button {
  background:#173536;
  color:white
}
footer {
  background:#142b2d;
  color:#b9ccc1;
  padding:35px 0
}
.foot {
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:.86rem
}
.foot a {
  color:#e6cd9f
}
@media(max-width:800px) {
  .nav {
    height:76px
  }
  .navlinks a:not(.navcta) {
    display:none
  }
  .hero {
    min-height:620px
  }
  .hero-inner {
    padding-top:150px
  }
  .intro,.bio {
    grid-template-columns:1fr;
    gap:32px
  }
  .cards,.steps-grid {
    grid-template-columns:1fr
  }
  .card {
    min-height:270px
  }
  .section {
    padding:70px 0
  }
  .portrait {
    min-height:300px
  }
  .quote {
    padding:30px
  }
  .foot {
    flex-direction:column
  }
  .navlinks .navcta {
    font-size:.8rem;
    padding:10px
  }
}
.booking {
  background:#173536;
  color:#fff
}
.booking .section-label {
  color:#e9cb97
}
.booking p {
  color:#d9e5dc
}
.booking-frame {
  background:#e8ede5;
  padding:12px;
  max-width:1060px;
  margin:40px auto 18px;
  box-shadow:0 22px 65px rgba(5,20,19,.25)
}
.booking-frame iframe {
  display:block;
  border:0;
  min-height:800px;
  background:#e8ede5
}
.booking .booking-fallback {
  font-size:.9rem;
  margin-top:16px
}
.booking-fallback a {
  color:#e9cb97
}
header {
  position:sticky;
  top:0;
  background:#173536;
  z-index:10
}
.navlinks a[aria-current="page"]:not(.navcta) {
  color:#e9cb97;
  text-decoration:underline;
  text-underline-offset:7px
}
.navlinks .navcta[aria-current="page"] {
  background:#e9cb97;
  color:#173536
}
main {
  min-height:calc(100vh - 156px)
}
.offer-section,.booking {
  min-height:calc(100vh - 156px)
}
.hero-inner {
  padding-top:100px
}
@media(max-width:800px) {
  .nav {
    height:auto;
    min-height:104px;
    flex-wrap:wrap;
    align-content:center;
    padding:13px 0;
    gap:12px
  }
  .brand {
    font-size:1.4rem
  }
  .navlinks {
    display:flex;
    width:100%;
    overflow-x:auto;
    white-space:nowrap;
    gap:18px;
    scrollbar-width:thin
  }
  .navlinks a:not(.navcta) {
    display:block
  }
  .navlinks a {
    flex:none;
    font-size:.82rem
  }
  .hero-inner {
    padding-top:75px
  }
  .offer-section,.booking {
    min-height:calc(100vh - 176px)
  }
}
