:root  {
  --paper:#faf6ef ;
  --white:#fffdf9 ;
  --ink:#34251e ;
  --muted:#66594f ;
  --ochre:#a33d19 ;
  --ochre-dark:#823015 ;
  --sand:#f0e4d3 ;
  --line:#ddcdbb ;
  --serif:Georgia,'Times New Roman',serif ;
  --sans:Arial,Helvetica,sans-serif ;
  color-scheme:light ;
  font-family:var(--sans) ;
  font-size:16px ;
  line-height:1.6 ;
  color:var(--ink) ;
  background:var(--paper)
}
*  {
  box-sizing:border-box
}
body  {
  margin:0
}
a  {
  color:inherit
}
button,input,select,textarea  {
  font:inherit
}
button,a,input,select,textarea,summary  {
  -webkit-tap-highlight-color:transparent
}
button  {
  cursor:pointer
}
img  {
  display:block ;
  width:100% ;
  max-width:100%
}
figure  {
  margin:0
}
h1,h2,h3,p  {
  margin-top:0
}
h1,h2,h3  {
  font-family:var(--serif) ;
  font-weight:400 ;
  line-height:1.14
}
em  {
  font-style:normal
}
h2  {
  font-size:clamp(2rem,3.6vw,3.15rem) ;
  letter-spacing:-.04em
}
h3  {
  font-size:1.7rem ;
  letter-spacing:-.025em
}
a,button,input,textarea,select,summary  {
  outline-offset:5px
}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible  {
  outline:3px solid #526c84
}
section[id]  {
  scroll-margin-top:28px
}
[hidden]  {
  display:none!important
}
.section-wrap  {
  width:min(1280px,calc(100% - 96px)) ;
  margin-inline:auto
}
.eyebrow  {
  text-transform:uppercase ;
  letter-spacing:.14em ;
  font-size:.8rem ;
  font-weight:600 ;
  color:var(--ochre) ;
  margin-bottom:1.25rem
}
.button  {
  display:inline-flex ;
  align-items:center ;
  justify-content:center ;
  gap:1.5rem ;
  min-height:56px ;
  background:var(--ochre) ;
  border:1px solid var(--ochre) ;
  color:var(--white) ;
  font-size:1.05rem ;
  font-weight:500 ;
  text-decoration:none ;
  padding:14px 24px ;
  border-radius:0 ;
  line-height:1.45 ;
  transition:background .15s
}
.button:hover  {
  background:var(--ochre-dark)
}
.button span  {
  font-size:1.3em
}
.button-small  {
  min-height:48px ;
  padding:11px 20px ;
  font-size:1rem
}
.text-link  {
  text-decoration:underline ;
  text-decoration-thickness:1px ;
  text-underline-offset:6px ;
  color:var(--ochre) ;
  font-size:1rem ;
  display:inline-block
}
.text-link span  {
  margin-left:12px
}
.skip-link  {
  position:absolute ;
  top:0 ;
  left:20px ;
  background:var(--ink) ;
  color:white ;
  padding:12px 20px ;
  transform:translateY(-150%) ;
  z-index:5
}
.skip-link:focus  {
  transform:translateY(0)
}
.visually-hidden  {
  position:absolute ;
  width:1px ;
  height:1px ;
  overflow:hidden ;
  clip:rect(0,0,0,0) ;
  white-space:nowrap
}
.site-header  {
  padding:29px 48px 25px
}
.header-inner  {
  display:flex ;
  gap:40px ;
  align-items:center ;
  justify-content:space-between ;
  max-width:1440px ;
  margin:auto
}
.wordmark  {
  font-family:var(--serif) ;
  font-size:clamp(1.75rem,3.1vw,2.8rem) ;
  line-height:1.02 ;
  text-decoration:none ;
  white-space:nowrap ;
  letter-spacing:-.045em
}
.wordmark span  {
  display:block ;
  font-family:var(--sans) ;
  font-size:.8rem ;
  letter-spacing:.15em ;
  margin:9px 3px 0 ;
  color:var(--muted)
}
.site-header nav  {
  display:flex ;
  align-items:center ;
  gap:clamp(24px,3vw,45px) ;
  font-size:1rem
}
.site-header nav>a:not(.button)  {
  text-decoration:none ;
  white-space:nowrap ;
  padding-block:12px
}
.site-header nav>a:hover  {
  text-decoration:underline ;
  text-underline-offset:6px
}
.menu-toggle  {
  display:none
}
.hero  {
  display:grid ;
  grid-template-columns:44% 56% ;
  max-width:1536px ;
  margin:0 auto ;
  min-height:585px
}
.hero-copy  {
  align-self:center ;
  padding:58px 28px 46px 48px
}
.hero h1  {
  font-size:clamp(2.5rem,4.45vw,4.5rem) ;
  line-height:1.065 ;
  letter-spacing:-.05em ;
  margin-bottom:28px
}
.hero h1 em  {
  display:inline
}
.hero-intro  {
  font-size:clamp(1.1rem,1.6vw,1.4rem) ;
  line-height:1.55 ;
  max-width:470px ;
  margin-bottom:29px
}
.hero-footnote  {
  font-size:.9rem ;
  color:var(--muted) ;
  margin:23px 0 0
}
.hero-image  {
  position:relative ;
  min-width:0 ;
  min-height:585px ;
  overflow:hidden ;
  background:var(--sand)
}
.hero-image>img  {
  position:absolute ;
  inset:0 ;
  width:100% ;
  height:100% ;
  object-fit:cover ;
  object-position:58% 50%
}
.hero-image figcaption  {
  position:absolute ;
  bottom:0 ;
  left:0 ;
  right:0 ;
  display:flex ;
  gap:12px ;
  justify-content:space-between ;
  align-items:center ;
  color:#fff ;
  padding:35px 22px 15px ;
  background:linear-gradient(transparent,rgba(0,0,0,.62)) ;
  font-size:.85rem
}
.hero-image figcaption span  {
  font-size:.7rem ;
  text-align:right
}
.journeys-section  {
  padding-block:70px 68px
}
.section-heading  {
  text-align:center ;
  margin-bottom:35px
}
.section-heading .eyebrow  {
  margin-bottom:13px
}
.section-heading h2  {
  margin-bottom:0
}
.mobile-break  {
  display:none
}
.journey-tiles  {
  display:grid ;
  grid-template-columns:repeat(3,minmax(0,1fr)) ;
  gap:26px
}
.tile-link  {
  display:block ;
  text-decoration:none
}
.tile-image  {
  overflow:hidden ;
  aspect-ratio:1.65 ;
  background:var(--sand)
}
.tile-image img  {
  height:100% ;
  object-fit:cover ;
  transition:transform .3s
}
.tile-link:hover .tile-image img  {
  transform:scale(1.025)
}
.tile-title  {
  display:flex ;
  align-items:baseline ;
  justify-content:space-between ;
  gap:10px ;
  margin-top:18px
}
.tile-title h3  {
  margin:0
}
.tile-title>span  {
  font-size:1.5rem ;
  color:var(--ochre)
}
.tile-link p  {
  font-size:1rem ;
  line-height:1.6 ;
  color:var(--muted) ;
  margin:10px 0 12px
}
.tile-cta  {
  color:var(--ochre) ;
  font-size:.9rem ;
  text-decoration:underline ;
  text-underline-offset:5px
}
.explore-section  {
  padding-block:10px 75px
}
.enquiry-bridge  {
  display:flex ;
  align-items:center ;
  justify-content:space-between ;
  gap:24px ;
  padding:28px 32px ;
  background:var(--sand) ;
  border-top:1px solid var(--line)
}
.enquiry-bridge p  {
  font-family:var(--serif) ;
  font-size:1.5rem ;
  max-width:420px ;
  line-height:1.3 ;
  margin:0
}
.enquiry-bridge .button  {
  flex-shrink:0
}
.no-script  {
  border:1px solid var(--line) ;
  padding:20px
}
.about-section  {
  display:grid ;
  grid-template-columns:1fr 1fr ;
  gap:10% ;
  padding-block:10px 85px
}
.about-heading h2  {
  max-width:510px
}
.about-copy  {
  font-size:1.1rem ;
  line-height:1.75 ;
  color:var(--muted)
}
.about-copy p  {
  margin-bottom:20px
}
.about-copy .text-link  {
  margin-top:6px
}
.enquiry-section  {
  background:#eee2d1 ;
  padding-block:75px
}
.enquiry-layout  {
  display:grid ;
  grid-template-columns:.85fr 1.15fr ;
  gap:9%
}
.enquiry-intro h2  {
  max-width:500px
}
.enquiry-intro>p:not(.eyebrow)  {
  font-size:1.1rem ;
  line-height:1.75 ;
  max-width:430px ;
  color:var(--muted)
}
.direct-contact  {
  display:flex ;
  align-items:flex-start ;
  flex-direction:column ;
  gap:10px ;
  margin-top:25px ;
  overflow-wrap:anywhere
}
.direct-contact a  {
  color:var(--ochre)
}
.enquiry-form-wrap  {
  min-width:0
}
.enquiry-form-wrap label  {
  display:block ;
  font-size:.95rem ;
  font-weight:500 ;
  margin-bottom:18px ;
  line-height:1.55
}
.form-row  {
  display:grid ;
  grid-template-columns:1fr 1fr ;
  gap:18px
}
.enquiry-form-wrap input,.enquiry-form-wrap select,.enquiry-form-wrap textarea  {
  display:block ;
  width:100% ;
  padding:12px 13px ;
  margin-top:7px ;
  min-height:50px ;
  background:var(--white) ;
  color:var(--ink) ;
  border:1px solid #b8a58e ;
  border-radius:0 ;
  font:400 1rem/1.5 var(--sans)
}
.enquiry-form-wrap textarea  {
  resize:vertical
}
.enquiry-form-wrap input::placeholder,.enquiry-form-wrap textarea::placeholder  {
  color:#73675c ;
  opacity:1
}
.optional  {
  color:var(--muted) ;
  font-weight:400 ;
  font-size:.85rem ;
  margin-left:5px
}
.form-note  {
  font-size:.85rem ;
  color:var(--muted) ;
  line-height:1.6 ;
  margin:13px 0 0
}
.form-status  {
  font-size:1rem ;
  margin:16px 0 0
}
.form-status:empty  {
  display:none
}
.enquiry-result  {
  padding:24px ;
  background:var(--paper) ;
  margin-top:24px ;
  border-left:3px solid var(--ochre)
}
.enquiry-result h3  {
  margin:0 0 12px
}
.enquiry-result>p  {
  font-size:.95rem
}
.outline-actions  {
  display:flex ;
  gap:20px ;
  align-items:center ;
  flex-wrap:wrap ;
  margin-top:16px
}
.text-button  {
  background:transparent ;
  border:0 ;
  padding:10px 0 ;
  color:var(--ochre) ;
  text-decoration:underline ;
  text-underline-offset:5px ;
  min-height:44px
}
.site-footer  {
  padding-block:45px 30px
}
.footer-main  {
  display:flex ;
  gap:40px ;
  justify-content:space-between ;
  align-items:center
}
.footer-wordmark  {
  font-size:2.2rem
}
.footer-main>p  {
  font-family:var(--serif) ;
  font-size:1.25rem ;
  line-height:1.45 ;
  margin:0
}
.footer-bottom  {
  border-top:1px solid var(--line) ;
  display:flex ;
  justify-content:space-between ;
  gap:20px ;
  margin-top:35px ;
  padding-top:20px ;
  color:var(--muted) ;
  font-size:.8rem
}
.footer-bottom p  {
  margin:0
}
.image-credits  {
  font-size:.75rem ;
  color:var(--muted) ;
  margin-top:16px
}
.image-credits summary  {
  cursor:pointer ;
  display:list-item ;
  width:fit-content ;
  padding:6px 0
}
.image-credits p  {
  margin:8px 0 0
}
@media(min-width:1100px)  {
  #nancy-visit-explore .ta-map-layout  {
    display:grid ;
    grid-template-columns:minmax(0,1.04fr) minmax(0,1fr) ;
    gap:34px ;
    align-items:start
  }
  #nancy-visit-explore .ta-results-top  {
    margin-top:0
  }
  #nancy-visit-explore .ta-picker  {
    flex-direction:column ;
    align-items:stretch ;
    gap:10px
  }
  #nancy-visit-explore .ta-picker label  {
    max-width:none
  }
  #nancy-visit-explore .ta-picker select  {
    width:100%
  }
  #nancy-visit-explore .ta-stages  {
    display:block
  }
  #nancy-visit-explore .ta-stages li  {
    padding:10px 0 10px 18px ;
    border-top:0 ;
    border-left:1px solid var(--ta-border)
  }
  #nancy-visit-explore .ta-stages li::before  {
    left:-4px ;
    top:20px
  }
}
@media(min-width:1537px)  {
  .hero-copy  {
    padding-left:64px
  }
}
@media(max-width:1050px)  {
  .site-header  {
    padding:24px 32px
  }
  .header-inner  {
    gap:24px
  }
  .site-header nav  {
    gap:22px
  }
  .wordmark  {
    font-size:2rem
  }
  .hero  {
    min-height:520px ;
    grid-template-columns:45% 55%
  }
  .hero-image  {
    min-height:520px
  }
  .hero-copy  {
    padding:35px 28px 35px 32px
  }
  .hero h1  {
    font-size:3.1rem
  }
  .section-wrap  {
    width:calc(100% - 64px)
  }
  .tile-title h3  {
    font-size:1.45rem
  }
  .journey-tiles  {
    gap:20px
  }
  .enquiry-layout  {
    gap:6%
  }
  .enquiry-bridge  {
    flex-direction:column ;
    align-items:flex-start
  }
  .enquiry-bridge p  {
    max-width:none
  }
}
@media(max-width:800px)  {
  .site-header  {
    padding:22px 24px
  }
  .header-inner  {
    flex-wrap:wrap ;
    gap:20px
  }
  .wordmark  {
    font-size:2.15rem
  }
  .js .menu-toggle  {
    display:flex ;
    align-items:center ;
    gap:12px ;
    background:transparent ;
    border:1px solid var(--line) ;
    color:var(--ink) ;
    padding:9px 13px ;
    min-height:44px
  }
  .site-header nav  {
    width:100% ;
    justify-content:space-between ;
    gap:10px ;
    flex-wrap:wrap
  }
  .js .site-header nav:not(.is-open)  {
    display:none
  }
  .site-header nav>a:not(.button)  {
    padding:12px 6px
  }
  .hero  {
    grid-template-columns:1fr
  }
  .hero-copy  {
    padding:35px 24px 40px ;
    max-width:700px
  }
  .hero h1  {
    font-size:clamp(2.65rem,7.2vw,4rem) ;
    max-width:620px
  }
  .hero-intro  {
    font-size:1.2rem ;
    max-width:500px
  }
  .hero-image  {
    min-height:0 ;
    aspect-ratio:1.6
  }
  .hero-footnote  {
    margin-top:20px
  }
  .section-wrap  {
    width:calc(100% - 48px)
  }
  .journeys-section  {
    padding-block:52px
  }
  .journey-tiles  {
    gap:26px ;
    grid-template-columns:1fr
  }
  .tile-image  {
    aspect-ratio:1.95
  }
  .tile-title h3  {
    font-size:1.8rem
  }
  .tile-link p  {
    margin-bottom:7px
  }
  .journey-tile+.journey-tile  {
    margin-top:6px
  }
  .about-section  {
    grid-template-columns:1fr ;
    gap:10px ;
    padding-bottom:50px
  }
  .about-heading h2  {
    max-width:600px
  }
  .about-copy  {
    max-width:650px
  }
  .enquiry-layout  {
    grid-template-columns:1fr ;
    gap:24px
  }
  .enquiry-intro h2  {
    max-width:600px
  }
  .enquiry-intro>p:not(.eyebrow)  {
    max-width:600px
  }
  .enquiry-section  {
    padding-block:50px
  }
  .explore-section  {
    padding-bottom:50px
  }
  .footer-main  {
    align-items:flex-start ;
    flex-wrap:wrap ;
    gap:25px
  }
  .footer-main>p  {
    display:none
  }
}
@media(max-width:460px)  {
  .site-header  {
    padding:20px 18px
  }
  .wordmark  {
    font-size:1.72rem
  }
  .wordmark span  {
    font-size:.67rem ;
    letter-spacing:.12em
  }
  .menu-toggle  {
    font-size:.9rem ;
    padding:7px 10px
  }
  .site-header nav  {
    align-items:stretch ;
    flex-direction:column ;
    gap:4px
  }
  .site-header nav .button  {
    align-self:flex-start
  }
  .hero-copy  {
    padding:30px 20px 34px
  }
  .hero h1  {
    font-size:2.8rem
  }
  .hero .eyebrow  {
    font-size:.75rem
  }
  .hero-intro  {
    font-size:1.1rem
  }
  .hero-image  {
    aspect-ratio:1.15
  }
  .hero-image figcaption  {
    padding:30px 15px 12px ;
    font-size:.78rem
  }
  .hero-image figcaption span  {
    font-size:.62rem ;
    max-width:160px
  }
  .section-wrap  {
    width:calc(100% - 36px)
  }
  .section-heading  {
    text-align:left
  }
  .mobile-break  {
    display:block
  }
  .section-heading h2  {
    font-size:2.25rem
  }
  .journeys-section  {
    padding-block:40px
  }
  .enquiry-bridge  {
    padding:23px 18px ;
    gap:18px
  }
  .enquiry-bridge .button  {
    width:100% ;
    font-size:.95rem ;
    padding-inline:12px ;
    gap:10px
  }
  .enquiry-bridge p  {
    font-size:1.4rem
  }
  .form-row  {
    grid-template-columns:1fr ;
    gap:0
  }
  .enquiry-form-wrap .button[type=submit]  {
    width:100% ;
    padding-inline:12px ;
    gap:10px
  }
  .enquiry-result  {
    padding:18px
  }
  .footer-main  {
    flex-direction:column
  }
  .footer-bottom  {
    flex-direction:column ;
    gap:6px
  }
  .footer-wordmark  {
    font-size:2rem
  }
}
.tile-image  {
  position:relative
}
.asset-note  {
  position:absolute ;
  right:8px ;
  bottom:8px ;
  background:rgba(52,37,30,.86) ;
  color:var(--white) ;
  padding:3px 8px ;
  font-size:.75rem ;
  line-height:1.5
}
@media(prefers-reduced-motion:reduce)  {
  *  {
    scroll-behavior:auto!important ;
    transition:none!important
  }
}
