: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 ;
  flex-wrap:wrap ;
  gap:16px 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 ;
  flex-wrap:wrap ;
  justify-content:flex-end ;
  margin-left:auto ;
  align-items:center ;
  gap:10px clamp(18px,2.4vw,40px) ;
  font-size:1rem
}
.site-header nav>a:not(.button)  {
  text-decoration:none ;
  white-space:nowrap ;
  padding-block:12px
}
.site-header nav>a:hover,
.nav-group>a:hover,
.nav-sub a:hover  {
  text-decoration:underline ;
  text-underline-offset:6px
}
/* Sub-pages in the menu (template.js renderHeader): a small
   panel under the parent page, opened by hover, keyboard focus or the
   arrow button; on phones they sit indented under the parent. */
.nav-group  {
  position:relative ;
  display:flex ;
  align-items:center ;
  gap:2px
}
.nav-group>a  {
  text-decoration:none ;
  white-space:nowrap ;
  padding-block:12px
}
.nav-sub-toggle  {
  background:none ;
  border:0 ;
  padding:12px 4px ;
  color:inherit ;
  font:inherit ;
  font-size:.75rem ;
  cursor:pointer ;
  line-height:1
}
.nav-sub  {
  position:absolute ;
  top:100% ;
  left:-18px ;
  z-index:30 ;
  display:none ;
  flex-direction:column ;
  min-width:220px ;
  padding:8px 0 ;
  background:var(--white) ;
  border:1px solid var(--line) ;
  box-shadow:0 10px 24px rgba(52,37,30,.12)
}
.nav-group:hover .nav-sub,
.nav-group:focus-within .nav-sub,
.nav-group.is-open .nav-sub  {
  display:flex
}
.nav-sub a  {
  padding:10px 18px ;
  text-decoration:none ;
  white-space:nowrap
}
.nav-sub a[aria-current=page]  {
  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:16px
}
.hero-intro-wrap  {
  margin-bottom:29px
}
.hero-intro-wrap .hero-intro:last-child  {
  margin-bottom:0
}
.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,
.hero-image>video  {
  position:absolute ;
  inset:0 ;
  width:100% ;
  height:100% ;
  object-fit:cover ;
  object-position:58% 50%
}
/* The hero film (template.js renderHeroFilm) fades in over the photo
   once it is actually playing (or, for less motion, as a still). */
.hero-film-fade  {
  opacity:0 ;
  transition:opacity 1.2s ease
}
.hero-film-fade.is-shown  {
  opacity:1
}
.hero-film-badge  {
  position:absolute ;
  left:14px ;
  top:14px ;
  padding:4px 10px ;
  border-radius:12px ;
  background:rgba(0,0,0,.6) ;
  color:#fff ;
  font-size:.8rem
}
.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 ;
  align-items:end
}
.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
}
.footer-legal  {
  display:flex ;
  flex-wrap:wrap ;
  align-items:center ;
  gap:8px 24px ;
  margin-top:20px ;
  font-size:.8rem ;
  color:var(--muted)
}
.footer-legal p  {
  margin:0 ;
  flex:1 1 320px
}
.footer-wanderlust img  {
  display:block ;
  width:150px ;
  height:auto
}
.footer-legal .footer-links  {
  display:flex ;
  flex-wrap:wrap ;
  gap:4px 18px ;
  flex:1 1 100%
}
.footer-links a  {
  color:inherit ;
  padding-block:6px
}
.form-privacy  {
  margin-top:4px
}
.not-found  {
  padding-block:72px 96px ;
  max-width:720px
}
.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:10px 22px ;
    flex-wrap:wrap ;
    justify-content:flex-end
  }
  .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
  }
  .nav-group  {
    flex-basis:100% ;
    flex-direction:column ;
    align-items:flex-start
  }
  .nav-group>a  {
    padding:12px 6px
  }
  .nav-sub-toggle  {
    display:none
  }
  .nav-sub  {
    position:static ;
    display:flex ;
    min-width:0 ;
    padding:0 0 4px 18px ;
    background:none ;
    border:0 ;
    box-shadow:none
  }
  .nav-sub a  {
    padding:8px 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
  }
}

/* ---- Deeper pages (content/pages/*.json, rendered by
   scripts/page-template.js). Reuses the homepage hero and the
   enquiry-bridge call-to-action so every page feels like part of
   the same site. ---- */
.page-body  {
  padding-block:64px 24px ;
  display:grid ;
  gap:56px
}
.page-section  {
  display:grid ;
  grid-template-columns:minmax(0,1fr) minmax(0,2fr) ;
  /* Fixed row gap: a percentage row gap isn't counted in an auto-height
     grid's height, so a photo strip under a section photo would spill
     into the next section. */
  column-gap:6% ;
  row-gap:32px ;
  align-items:start
}
.page-section h2  {
  font-size:clamp(1.7rem,2.6vw,2.4rem) ;
  max-width:420px
}
.page-section-copy  {
  font-size:1.1rem ;
  line-height:1.75 ;
  color:var(--muted) ;
  max-width:720px
}
.page-section-copy p  {
  margin-bottom:20px
}
.page-section-copy p:last-child  {
  margin-bottom:0
}
.page-section-link  {
  grid-column:2 ;
  margin:0
}
.page-section-image  {
  grid-column:1 / -1 ;
  margin-top:8px
}
.page-section-image img  {
  aspect-ratio:2.2 ;
  object-fit:cover ;
  background:var(--sand)
}
.page-section-image figcaption  {
  font-size:.85rem ;
  color:var(--muted) ;
  margin-top:8px
}
/* A map or diagram: shown whole, at its own shape, centred. */
.page-section-image.is-whole img  {
  aspect-ratio:auto ;
  width:auto ;
  max-width:min(100%,720px) ;
  height:auto ;
  margin-inline:auto ;
  display:block ;
  object-fit:contain ;
  background:none
}
.page-section-image.is-whole figcaption  {
  text-align:center
}
/* A section's photo strip: the same component as the journey cards'
   strip on Travel Australia — 1 = full width, 2 = halves,
   3 = thirds, 4 = quarters, 5 or more a carousel four at a time.
   --n is the number of photos, set by template.js. */
.page-section-strip  {
  grid-column:1 / -1 ;
  margin-top:8px
}
.page-section-strip .ta-photos  {
  --visible:min(var(--n),4) ;
  --gap:10px ;
  position:relative
}
.page-section-strip .ta-photos-track  {
  display:grid ;
  grid-auto-flow:column ;
  grid-auto-columns:calc((100% - (var(--visible) - 1) * var(--gap)) / var(--visible)) ;
  gap:var(--gap) ;
  overflow-x:auto ;
  scroll-snap-type:x mandatory ;
  scrollbar-width:none
}
.page-section-strip .ta-photos-track::-webkit-scrollbar  {
  display:none
}
.page-section-strip .ta-photo  {
  position:relative ;
  margin:0 ;
  scroll-snap-align:start ;
  background:var(--sand)
}
.page-section-strip .ta-photo img,
.page-section-strip .ta-photo video  {
  width:100% ;
  height:auto ;
  aspect-ratio:4/3 ;
  object-fit:cover ;
  display:block
}
.page-section-strip .ta-photos.n-1 .ta-photo img,
.page-section-strip .ta-photos.n-1 .ta-photo video  {
  aspect-ratio:2.4
}
.page-section-strip .ta-photos.n-2 .ta-photo img,
.page-section-strip .ta-photos.n-2 .ta-photo video  {
  aspect-ratio:3/2
}
.page-section-strip .ta-photo-credit  {
  position:absolute ;
  right:6px ;
  bottom:4px ;
  max-width:calc(100% - 12px) ;
  font-size:11px ;
  line-height:1.3 ;
  color:#fff ;
  text-shadow:0 1px 3px rgba(0,0,0,.8) ;
  pointer-events:none
}
.page-section-strip .ta-photo-badge  {
  position:absolute ;
  left:6px ;
  top:6px ;
  padding:2px 8px ;
  border-radius:10px ;
  background:rgba(0,0,0,.6) ;
  color:#fff ;
  font-size:12px
}
.page-section-strip .ta-photos-arrow  {
  position:absolute ;
  top:50% ;
  transform:translateY(-50%) ;
  width:40px ;
  height:40px ;
  border:0 ;
  border-radius:50% ;
  background:rgba(255,253,249,.92) ;
  color:var(--ink) ;
  font-size:26px ;
  line-height:1 ;
  box-shadow:0 2px 10px rgba(0,0,0,.18) ;
  cursor:pointer
}
.page-section-strip .ta-photos-arrow[data-dir="-1"]  {
  left:10px
}
.page-section-strip .ta-photos-arrow[data-dir="1"]  {
  right:10px
}
.page-section-strip .ta-photos-arrow:disabled  {
  opacity:0 ;
  pointer-events:none
}
@media(max-width:600px)  {
  .page-section-strip .ta-photos:not(.n-1)  {
    --visible:1.35
  }
  .page-section-strip .ta-photos.n-1 .ta-photo img  {
    aspect-ratio:3/2
  }
  .page-section-strip .ta-photos-arrow  {
    display:none
  }
}
/* Editing: every photo in a wrapping grid so each can be reached. */
.nancy-editing .page-section-strip .ta-photos-track  {
  grid-auto-flow:row ;
  grid-template-columns:repeat(4,minmax(0,1fr)) ;
  grid-auto-columns:auto ;
  overflow:visible
}
.nancy-editing .page-section-strip .ta-photo.is-empty  {
  aspect-ratio:4/3 ;
  border:2px dashed var(--line) ;
  display:flex ;
  align-items:center ;
  justify-content:center
}
.nancy-editing .page-section-strip .ta-photo.is-empty .ne-photo-tools  {
  position:static ;
  opacity:1
}
.page-cta  {
  margin-block:48px 80px
}
.site-header nav>a[aria-current=page]  {
  text-decoration:underline ;
  text-underline-offset:6px
}
@media(max-width:800px)  {
  .page-body  {
    padding-block:44px 16px ;
    gap:40px
  }
  .page-section  {
    grid-template-columns:1fr ;
    gap:12px
  }
  .page-cta  {
    margin-block:32px 56px
  }
}

/* ---- About Nancy: portrait under the heading, credentials line
   under the copy ---- */
/* Heading spans both columns; the portrait and the copy sit side by
   side underneath, tops aligned. */
.about-section  {
  align-items:start
}
.about-heading  {
  grid-column:1 / -1 ;
  margin-bottom:8px
}
.about-photo  {
  max-width:360px
}
.about-photo img  {
  height:auto ;
  aspect-ratio:4 / 5 ;
  object-fit:cover ;
  object-position:50% 20% ;
  background:var(--sand)
}
.about-photo figcaption  {
  font-size:.85rem ;
  color:var(--muted) ;
  margin-top:10px
}
.about-credentials  {
  font-size:.9rem ;
  line-height:1.6 ;
  border-top:1px solid var(--line) ;
  padding-top:16px ;
  margin:4px 0 22px
}
@media(max-width:800px)  {
  .about-heading  {
    margin-bottom:0
  }
  .about-photo  {
    max-width:300px ;
    margin-bottom:8px
  }
}

/* ---- Formatted text blocks (tile copy, page section bodies):
   paragraphs, bullet and numbered lists, bold and italic. ---- */
.rich-text p  {
  margin:0 0 14px
}
.rich-text ul,.rich-text ol  {
  margin:0 0 14px ;
  padding-left:1.3em
}
.rich-text li  {
  margin:0 0 6px
}
.rich-text li::marker  {
  color:var(--ochre)
}
.rich-text> :last-child  {
  margin-bottom:0
}
.rich-text strong  {
  font-weight:600 ;
  color:var(--ink)
}
.rich-text em  {
  font-style:italic
}
.tile-copy  {
  font-size:1rem ;
  line-height:1.6 ;
  color:var(--muted) ;
  margin:10px 0 12px
}
.tile-copy p  {
  margin:0 0 8px
}
.tile-copy ul,.tile-copy ol  {
  margin:0 0 8px
}
.tile-copy li  {
  margin:0 0 3px
}
.page-section-copy p  {
  margin-bottom:20px
}

/* ---- Formatted text in the banner intro, the About copy, the
   enquiry intro and the journey ideas ---- */
.hero-intro p  {
  margin:0 0 14px
}
.hero-intro> :last-child  {
  margin-bottom:0
}
.about-body  {
  margin-bottom:20px
}
.enquiry-intro .enquiry-intro-text  {
  font-size:1.1rem ;
  line-height:1.75 ;
  max-width:430px ;
  color:var(--muted)
}
.enquiry-intro .enquiry-intro-text p  {
  margin:0 0 14px
}
#nancy-visit-explore .ta-description p,#nancy-visit-explore .ta-detail-note p  {
  margin:0 0 .55em
}
#nancy-visit-explore .ta-description> :last-child,#nancy-visit-explore .ta-detail-note> :last-child  {
  margin-bottom:0
}
#nancy-visit-explore .ta-description ul,#nancy-visit-explore .ta-description ol,#nancy-visit-explore .ta-detail-note ul,#nancy-visit-explore .ta-detail-note ol  {
  margin:0 0 .55em ;
  padding-left:1.3em
}
