.elementor-3030 .elementor-element.elementor-element-0550574{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS */*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --forest:  #074435;
  --sunset:  #D24C27;
  --poppy:   #F8AE17;
  --white:   #FFFFFF;
  --offwhite:#F7F6F3;
  --ink:     #221F1C;
  --muted:   #6b655e;
  --line:    rgba(7,68,53,0.14);
}
body { font-family:'Jost',sans-serif; background:var(--white); color:var(--ink); line-height:1.7; }
body { overflow-x:hidden; }
a { color:inherit; }
img { display:block; width:100%; max-width:100%; }
.kicker { font-family:'Cinzel',serif; font-size:11px; font-weight:500; letter-spacing:0.26em; text-transform:uppercase; color:var(--forest); margin-bottom:1rem; display:block; }
.kicker::before { content:"● "; color:var(--sunset); font-size:8px; }
.kicker.warm { color:var(--sunset); }
.photo-placeholder {
  background:linear-gradient(160deg, rgba(210,76,39,0.09), rgba(248,174,23,0.09)), var(--offwhite);
  border:1px solid var(--line); border-radius:28px;
  display:flex; align-items:center; justify-content:center;
  font-family:'Cinzel',serif; font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--muted); text-align:center; padding:1rem;
}
.content-image {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.h2 { position:relative; }
.h2::after { content:""; display:block; width:48px; height:3px; background:var(--sunset); margin:1rem auto 0; border-radius:2px; }
.h2.left::after { margin:1rem 0 0; }

/* HERO — centred as one unit, with room for the website header */
.hero {
  position:relative;
  min-height:82vh;
  display:flex;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden;
}
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(34,31,28,0.75) 0%, rgba(34,31,28,0.15) 55%, transparent 80%); }
.hero-content {
  position:relative;
  z-index:2;
  width:100%;
  max-width:760px;
  padding:7rem 2rem 3rem;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center !important;
}
.hero-title {
  width:100%;
  font-family:'Cinzel',serif;
  font-weight:600;
  font-size:clamp(30px,4.6vw,50px);
  color:var(--white);
  line-height:1.2;
  margin:0 auto 1.25rem;
  text-align:center !important;
}
.hero-sub { font-size:16px; color:rgba(255,255,255,0.85); max-width:52ch; margin:0 auto 2rem; }
.hero-sub { width:100%; text-align:center !important; }
.hero-btns { width:100%; display:flex; gap:1rem; flex-wrap:wrap; justify-content:center !important; align-items:center; }
.btn-primary, .btn-outline, .btn-dark, .btn-poppy {
  font-family:'Cinzel',serif; font-size:11px; font-weight:500; letter-spacing:0.16em;
  text-transform:uppercase; padding:1rem 2.25rem; border-radius:40px;
  text-decoration:none; display:inline-flex; align-items:center; justify-content:center;
  text-align:center; line-height:1.35; transition:background-color .25s ease, color .25s ease,
  border-color .25s ease, transform .25s ease;
}
.btn-primary { color:var(--white); background:var(--sunset); border:1px solid var(--sunset); }
.btn-outline { color:var(--white); background:transparent; border:1px solid rgba(255,255,255,0.75); }
.btn-dark { color:var(--forest); background:transparent; border:1px solid var(--forest); }
.btn-poppy { color:var(--ink); background:var(--poppy); border:1px solid var(--poppy); }
.btn-primary:hover, .btn-primary:focus-visible { color:var(--white); background:var(--forest); border-color:var(--forest); transform:translateY(-2px); }
.btn-outline:hover, .btn-outline:focus-visible { color:var(--forest); background:var(--white); border-color:var(--white); transform:translateY(-2px); }
.btn-dark:hover, .btn-dark:focus-visible { color:var(--white); background:var(--forest); border-color:var(--forest); transform:translateY(-2px); }
.btn-poppy:hover, .btn-poppy:focus-visible { color:var(--white); background:var(--forest); border-color:var(--forest); transform:translateY(-2px); }
.btn-primary:focus-visible, .btn-outline:focus-visible, .btn-dark:focus-visible, .btn-poppy:focus-visible {
  outline:3px solid rgba(248,174,23,.55); outline-offset:3px;
}

.section { padding:6rem 3rem; max-width:1240px; margin:0 auto; }
.h2 { font-family:'Cinzel',serif; font-weight:500; font-size:clamp(26px,3.2vw,36px); color:var(--ink); line-height:1.3; margin-bottom:1rem; }
.body-text { font-size:15px; color:var(--muted); max-width:56ch; }

/* WHY STAY — editorial split, no box */
.why-inner { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; text-align:center; }
.why-inner .body-text { margin:0 auto; }
.why-photo { aspect-ratio:4/5; position:relative; overflow:hidden; border-radius:28px; border:1px solid var(--line); }
.why-photo-slide {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0;
  animation: whyPhotoRotate 12s infinite;
  animation-fill-mode: backwards;
}
.why-photo-slide:nth-child(1) { animation-delay:0s; }
.why-photo-slide:nth-child(2) { animation-delay:4s; }
.why-photo-slide:nth-child(3) { animation-delay:8s; }
.why-photo-pill {
  position:absolute; bottom:1rem; left:1rem; z-index:2;
  font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--sunset); background:rgba(255,255,255,0.92); padding:0.5rem 1rem; border-radius:20px;
}
@keyframes whyPhotoRotate {
  0%     { opacity:0; }
  4%     { opacity:1; }
  30%    { opacity:1; }
  36%    { opacity:0; }
  100%   { opacity:0; }
}
@media (prefers-reduced-motion: reduce) {
  .why-photo-slide, .why-photo-pill { animation:none; opacity:0; }
  .why-photo-slide:first-of-type, .why-photo-pill:first-of-type { opacity:1; }
}

/* CURATED ROOM SHOWCASE — side by side, with pills */
.showcase-wrap { background:var(--offwhite); }
.offer-banner-row { display:flex; flex-wrap:wrap; justify-content:center; gap:0.75rem; margin-top:1.25rem; }
.kids-free-banner {
  display:inline-flex; align-items:center; gap:0.5rem;
  font-family:'Cinzel',serif; font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--white); background:var(--sunset); padding:0.65rem 1.5rem; border-radius:40px;
}
.midweek-banner {
  display:inline-flex; align-items:center; gap:0.5rem;
  font-family:'Cinzel',serif; font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--ink); background:var(--poppy); padding:0.65rem 1.5rem; border-radius:40px;
}
.showcase-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2.5rem; margin-top:3rem; }
.showcase-card { text-align:center; }
.showcase-photo { aspect-ratio:4/5; position:relative; margin-bottom:1.5rem; overflow:hidden; border-radius:28px; }
.showcase-popular {
  position:absolute; top:12px; left:12px; z-index:2;
  font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.08em; text-transform:uppercase;
  background:var(--poppy); color:var(--ink); padding:0.45rem 0.95rem; border-radius:20px;
}
.showcase-pill {
  display:inline-block; font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--sunset); background:rgba(210,76,39,0.1); border:1px solid rgba(210,76,39,0.25); padding:0.4rem 0.9rem; border-radius:20px; margin-bottom:0.85rem;
}
.showcase-title { font-family:'Cinzel',serif; font-size:20px; font-weight:500; color:var(--ink); margin-bottom:0.75rem; }
.showcase-desc { font-size:14px; color:var(--muted); margin:0 auto 1.1rem; max-width:32ch; }
.showcase-link { font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--forest); text-decoration:none; border-bottom:1px solid var(--sunset); padding-bottom:2px; transition:color .2s ease, border-color .2s ease; }
.showcase-link:hover, .showcase-link:focus-visible { color:var(--sunset); border-color:var(--forest); }

/* DAY TO NIGHT JOURNEY — adapted from the live site's four pillars, editorial not boxed */
.journey-wrap { padding:6rem 3rem; }
.journey-header { max-width:640px; margin:0 auto 3.5rem; text-align:center; }
.journey-row { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }
.journey-item { text-align:center; }
.journey-item:nth-child(even) { transform:none; }
.journey-photo { aspect-ratio:1/1; width:100%; object-fit:cover; margin:0 auto 1.25rem; border-radius:50%; border:3px solid rgba(210,76,39,0.35); }
.journey-title { font-family:'Cinzel',serif; font-size:16px; color:var(--ink); margin-bottom:0.5rem; }
.journey-desc { font-size:13px; color:var(--muted); margin-bottom:0.75rem; }
.journey-link { font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:var(--forest); text-decoration:none; border-bottom:1px solid var(--sunset); padding-bottom:1px; transition:color .2s ease, border-color .2s ease; }
.journey-link:hover, .journey-link:focus-visible { color:var(--sunset); border-color:var(--forest); }

/* FOR THE GROWN-UPS — understated SOL Elements mention, adults only framing */
.sol-wrap { padding:5rem 3rem; background:var(--offwhite); }
.sol-inner { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:0.9fr 1.1fr; gap:3.5rem; align-items:center; text-align:center; }
.sol-photo { aspect-ratio:4/3; overflow:hidden; border-radius:28px; }
.sol-title { font-family:'Cinzel',serif; font-weight:500; font-size:clamp(22px,2.8vw,28px); color:var(--ink); margin-bottom:1rem; }
.sol-body { font-size:14.5px; color:var(--muted); max-width:50ch; margin:0 auto 1.25rem; }
.sol-offer {
  display:inline-flex; align-items:center; gap:0.5rem; font-family:'Cinzel',serif; font-size:10px;
  letter-spacing:0.08em; text-transform:uppercase; color:var(--sunset); background:rgba(210,76,39,0.1);
  border:1px solid rgba(210,76,39,0.25); padding:0.5rem 1rem; border-radius:20px; margin-bottom:1.25rem;
}
.sol-link { font-family:'Cinzel',serif; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--forest); text-decoration:none; border-bottom:1px solid var(--sunset); padding-bottom:2px; display:inline-block; transition:color .2s ease, border-color .2s ease; }
.sol-link:hover, .sol-link:focus-visible { color:var(--sunset); border-color:var(--forest); }

/* FINAL CTA */
.final-cta { position:relative; padding:7rem 3rem; text-align:center; overflow:hidden; }
.final-cta .photo-placeholder { position:absolute; inset:0; border:none; border-radius:0; }
.final-cta-video-wrap { position:absolute; inset:0; overflow:hidden; }
.final-cta-video-wrap iframe {
  position:absolute; top:50%; left:50%;
  width:177.77vh; height:100vh;
  min-width:100%; min-height:100%;
  transform:translate(-50%,-50%);
  pointer-events:none; border:none;
}
.final-cta-overlay { position:absolute; inset:0; background:rgba(34,31,28,0.55); }
.final-cta-content { position:relative; z-index:2; max-width:600px; margin:0 auto; }
.final-cta-title { font-family:'Cinzel',serif; font-size:clamp(24px,3.4vw,34px); font-weight:600; color:var(--white); margin-bottom:2rem; }

@media (max-width:900px){
  .why-inner, .showcase-grid, .sol-inner { grid-template-columns:1fr; }
  .journey-row { grid-template-columns:1fr 1fr; row-gap:2.5rem; }
  .journey-item:nth-child(even) { transform:none; }
  .section, .journey-wrap { padding:4rem 1.5rem; }
  .sol-wrap { padding:4rem 1.5rem; }
  .why-photo { max-width:680px; width:100%; margin:0 auto; aspect-ratio:4/3; }
  .showcase-grid { max-width:680px; margin-left:auto; margin-right:auto; }
}

@media (max-width:600px){
  .hero {
    min-height:620px;
    min-height:78svh;
    align-items:center !important;
    justify-content:center !important;
  }
  .hero-content { padding:6rem 1.25rem 2.5rem; }
  .hero-title { font-size:clamp(26px,8vw,32px); }
  .hero-sub { font-size:15px; }
  .hero-btns { flex-direction:column; width:100%; }
  .hero-btns a { width:100%; text-align:center; }
  .section, .journey-wrap { padding:3rem 1.25rem; }
  .kicker { font-size:10px; letter-spacing:0.18em; }
  .h2 { font-size:clamp(22px,6.5vw,28px); }
  .body-text, .showcase-desc, .journey-desc { font-size:13.5px; }
  .photo-placeholder, .showcase-photo, .sol-photo { border-radius:16px; }
  .showcase-card { margin-bottom:0; }
  .showcase-grid { gap:3rem; }
  .showcase-title { font-size:20px; }
  .journey-row { grid-template-columns:1fr; gap:2.5rem; max-width:360px; margin:0 auto; }
  .journey-photo { max-width:260px; }
  .offer-banner-row { align-items:stretch; }
  .kids-free-banner, .midweek-banner { width:100%; justify-content:center; text-align:center; line-height:1.4; }
  .btn-primary, .btn-outline, .btn-dark, .btn-poppy { width:100%; max-width:100%; padding:1rem 1.25rem; }
  .why-photo { aspect-ratio:4/5; }
  .sol-wrap { padding:3rem 1.25rem; }
  .final-cta { padding:4.5rem 1.25rem; }
  .final-cta-title { font-size:clamp(22px,7vw,26px); }
}
/* CTA COLOUR FIX — protects buttons from global WordPress link styles */
a.btn-primary,
a.btn-primary:visited {
  background: var(--sunset) !important;
  border-color: var(--sunset) !important;
  color: #ffffff !important;
}

a.btn-primary:hover,
a.btn-primary:focus {
  background: var(--forest) !important;
  border-color: var(--forest) !important;
  color: #ffffff !important;
}

a.btn-outline,
a.btn-outline:visited {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.85) !important;
  color: #ffffff !important;
}

a.btn-outline:hover,
a.btn-outline:focus {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: var(--forest) !important;
}

a.btn-dark,
a.btn-dark:visited {
  background: transparent !important;
  border-color: var(--forest) !important;
  color: var(--forest) !important;
}

a.btn-dark:hover,
a.btn-dark:focus {
  background: var(--forest) !important;
  border-color: var(--forest) !important;
  color: #ffffff !important;
}

a.btn-poppy,
a.btn-poppy:visited {
  background: var(--poppy) !important;
  border-color: var(--poppy) !important;
  color: var(--ink) !important;
}

a.btn-poppy:hover,
a.btn-poppy:focus {
  background: var(--forest) !important;
  border-color: var(--forest) !important;
  color: #ffffff !important;
}
/* ACCOMMODATION CARDS — remove gap below landscape photos */
.showcase-photo {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2 !important;
  margin: 0 0 1.5rem !important;
  overflow: hidden !important;
  border-radius: 28px !important;
}

.showcase-photo img,
.showcase-photo .content-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

@media (max-width: 600px) {
  .showcase-photo {
    aspect-ratio: 4 / 3 !important;
    margin-bottom: 1.25rem !important;
    border-radius: 16px !important;
  }
}
/* FINAL VIDEO CTA — remove black spacing */
.final-cta {
  position: relative !important;
  min-height: 420px !important;
  overflow: hidden !important;
  background: #221f1c !important;
}

.final-cta-video-wrap {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
}

.final-cta-video-wrap iframe {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;

  width: 100vw !important;
  height: 56.25vw !important;
  min-width: 177.78vh !important;
  min-height: 100vh !important;

  border: 0 !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
}

.final-cta-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: rgba(34, 31, 28, 0.56) !important;
}

.final-cta-content {
  position: relative !important;
  z-index: 2 !important;
}

/* MOBILE VIDEO COVER */
@media (max-width: 600px) {
  .final-cta {
    min-height: 500px !important;
    padding: 4rem 1.25rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .final-cta-video-wrap iframe {
    width: auto !important;
    height: 110% !important;
    min-width: 100% !important;
    min-height: 110% !important;
    aspect-ratio: 16 / 9 !important;
    transform: translate(-50%, -50%) scale(1.08) !important;
  }

  .final-cta-content {
    width: 100% !important;
    max-width: 340px !important;
    margin: auto !important;
  }
}/* End custom CSS */