/*
 * Langham Hall - Salient fidelity layer v3
 * Native Salient/WPBakery remains responsible for the page structure.
 * This file only restores visual behaviours/proportions from the approved reference design.
 * Scoped to .lh-page-section: global header/footer remain untouched.
 */

.lh-page-section {
  --lh-dark:#1f2019;
  --lh-gold:#a68f66;
  --lh-stone:#c4ad83;
  --lh-cream:#efe6d3;
  --lh-linen:#e6dcc6;
  --lh-mid:#57584a;
  --lh-light:#8d8b7a;
  --lh-border:rgba(166,143,102,.28);
  font-family:"Jost",sans-serif;
  font-weight:300;
  font-size:16px;
  line-height:1.8;
  color:var(--lh-dark);
}
.lh-page-section *, .lh-page-section *::before, .lh-page-section *::after { box-sizing:border-box; }
.lh-page-section .wpb_text_column,
.lh-page-section .img-with-aniamtion-wrap,
.lh-page-section .nectar-highlighted-text { margin-bottom:0!important; }
.lh-page-section h1,.lh-page-section h2,.lh-page-section h3 {
  font-family:"GFS Didot",Didot,"Bodoni MT","Playfair Display",Georgia,serif!important;
  font-weight:300!important;
  color:inherit!important;
}
.lh-page-section p { font-family:"Jost",sans-serif; font-weight:300; }
.lh-page-section .lh-italic { font-style:italic; }
.lh-page-section .lh-mid { color:var(--lh-mid)!important; }
.lh-page-section .lh-stone { color:var(--lh-stone)!important; }
.lh-page-section .lh-label { display:inline-block;font-size:1rem;letter-spacing:.35em;line-height:1.4;text-transform:uppercase; }
.lh-page-section .lh-title { margin:0!important; font-size:clamp(1.8rem,3.5vw,3rem)!important; line-height:1.15!important; letter-spacing:0!important; }
.lh-page-section .lh-body p,.lh-page-section .lh-dark-body p { max-width:600px;font-size:.97rem;line-height:2;margin:0 0 1.2rem; }
.lh-page-section .lh-body p { color:var(--lh-mid); }
.lh-page-section .lh-dark-body p { color:rgba(239,230,211,.62); }

/* HERO - the row background layer must be targeted because Salient paints it above the row itself. */
.lh-hero { position:relative!important; min-height:600px!important; overflow:hidden!important; background:var(--lh-dark)!important; }
.lh-hero > .row-bg-wrap .row-bg,
.lh-hero > .row-bg-wrap > .row-bg {
  background:
    radial-gradient(ellipse at 30% 60%,rgba(166,143,102,.14) 0%,transparent 62%),
    linear-gradient(160deg,#16170f 0%,#1f2019 52%,#14150e 100%)!important;
  background-color:var(--lh-dark)!important;
}
.lh-hero > .row_col_wrap_12 { position:relative!important;z-index:2;min-height:600px; }
.lh-hero .lh-sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.lh-hero .inner_row { margin-bottom:0!important; }

/*
 * Salient gives several nested hero column wrappers their own positioning context.
 * Keep the full-height row as the positioning reference so the Discover indicator
 * is anchored to the bottom of the HERO, not to the middle content stack.
 */
.lh-hero > .row_col_wrap_12 > .wpb_column,
.lh-hero > .row_col_wrap_12 > .wpb_column > .vc_column-inner,
.lh-hero > .row_col_wrap_12 > .wpb_column > .vc_column-inner > .wpb_wrapper {
  position:static!important;
}

.lh-hero-mark-row,.lh-hero-ornament-row,.lh-hero-divider-row,.lh-hero-sub-row { position:relative;z-index:3; }
.lh-hero-mark-row { opacity:0;transform:translateY(20px);animation:lhFadeUp 1.1s ease .5s forwards; }
.lh-hero-ornament-row { opacity:0;transform:translateY(20px);animation:lhFadeUp 1s ease .3s forwards; }
.lh-hero-divider-row { opacity:0;animation:lhFadeIn 1s ease .9s forwards; }
.lh-hero-sub-row { opacity:0;transform:translateY(20px);animation:lhFadeUp 1s ease 1.1s forwards; }

/* Match the original .hero-scroll: 2.5rem from the bottom of the full-height hero. */
.lh-hero .lh-hero-scroll-row {
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  right:auto!important;
  bottom:2.5rem!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  transform:translateX(-50%)!important;
  opacity:0;
  animation:lhFadeIn 1s ease 1.6s forwards;
}
.lh-hero .lh-hero-scroll-row > .row_col_wrap_12_inner { width:auto!important;margin:0!important;padding:0!important; }
.lh-hero .lh-hero-scroll-row .lh-hero-scroll { width:auto!important;margin:0!important;padding:0!important; }
.lh-hero .lh-hero-scroll-row .lh-hero-scroll > .vc_column-inner { padding:0!important; }
.lh-hero .lh-hero-scroll-row .lh-hero-scroll .wpb_wrapper { display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;margin:0!important; }

.lh-hero-mark-row .img-with-aniamtion-wrap img { display:block!important;width:min(74vw,560px)!important;max-width:560px!important;height:auto!important;margin:0 auto!important; }
.lh-hero-ornament { display:inline-block;margin-top:1.6rem;font-family:"GFS Didot",Didot,"Bodoni MT",Georgia,serif;font-style:italic;font-size:clamp(.75rem,1.2vw,.9rem)!important;letter-spacing:.25em;text-transform:uppercase;color:var(--lh-stone); }
.lh-hero-divider-row .divider-small-border { background-color:var(--lh-gold)!important; }
.lh-hero-sub { display:inline-block;max-width:560px;font-family:"GFS Didot",Didot,"Bodoni MT",Georgia,serif;font-style:italic;font-size:clamp(1rem,2vw,1.3rem)!important;line-height:1.55;letter-spacing:.02em;color:rgba(239,230,211,.72); }
.lh-scroll-line { display:block;width:1px;height:40px;flex:0 0 40px;margin:0 auto!important;align-self:center!important;background:linear-gradient(to bottom,var(--lh-gold),transparent);animation:lhScrollPulse 2s ease-in-out infinite; }
.lh-discover-text { display:block;margin:0!important;font-size:.65rem;letter-spacing:.3em;line-height:1;text-transform:uppercase;color:var(--lh-light); }
@keyframes lhFadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes lhFadeIn { from{opacity:0} to{opacity:1} }
@keyframes lhScrollPulse { 0%,100%{opacity:.4} 50%{opacity:1} }

/* STATS */
.lh-stats { border-top:1px solid rgba(166,143,102,.14); }
.lh-stats-inner > .row_col_wrap_12_inner { align-items:stretch; }
.lh-stat { padding:1.5rem 2rem!important; }
.lh-stat + .lh-stat { border-left:1px solid rgba(166,143,102,.20); }
.lh-stat-number { display:block;margin:0 0 .35rem!important;font-family:"GFS Didot",Didot,Georgia,serif;font-size:2rem!important;font-style:italic;line-height:1!important;color:var(--lh-stone)!important; }
.lh-stat-label { display:block;font-size:.6rem!important;letter-spacing:.22em;text-transform:uppercase;line-height:1.5;color:var(--lh-light)!important; }

/* HOUSE IMAGE COMPOSITION */
.lh-house-grid-inner > .row_col_wrap_12_inner { display:grid!important;grid-template-columns:2fr 1fr;gap:4px!important;align-items:stretch!important; }
.lh-house-grid-inner .lh-house-main,.lh-house-grid-inner .lh-house-side-stack { width:auto!important;margin:0!important; }
.lh-house-main > .vc_column-inner,.lh-house-main > .vc_column-inner > .wpb_wrapper { height:100%; }
.lh-house-main .img-with-aniamtion-wrap { position:relative;height:100%;min-height:100%;aspect-ratio:3/4;overflow:hidden;margin:0!important; }
.lh-house-side-stack > .vc_column-inner,.lh-house-side-stack > .vc_column-inner > .wpb_wrapper { height:100%; }
.lh-house-side-stack > .vc_column-inner > .wpb_wrapper { display:flex;flex-direction:column;gap:4px; }
.lh-house-side-stack .img-with-aniamtion-wrap { position:relative;flex:1 1 0;min-height:0;overflow:hidden;margin:0!important; }
.lh-house-main .img-with-aniamtion-wrap img,.lh-house-side-stack .img-with-aniamtion-wrap img { display:block!important;position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important; }

/* FOUR IMAGE HALL STRIP - force exact four-cell grid so unequal intrinsic image heights never create white holes. */
.lh-hall-strip > .row_col_wrap_12 { display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px!important;background:var(--lh-border); }
.lh-hall-strip .lh-hall-col { width:auto!important;margin:0!important; }
.lh-hall-col > .vc_column-inner,.lh-hall-col > .vc_column-inner > .wpb_wrapper { height:100%; }
.lh-hall-col .img-with-aniamtion-wrap { position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;margin:0!important; }
.lh-hall-col .img-with-aniamtion-wrap img { display:block!important;position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important; }

/* DOGS */
.lh-dogs-copy p { max-width:680px;margin:0;color:var(--lh-dark);font-size:.88rem;line-height:1.8; }

/* BREAKFAST — matched to the approved reference */
.lh-breakfast > .row_col_wrap_12 {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:5rem!important;
  align-items:center!important;
  margin-left:0!important;
  margin-right:0!important;
}
.lh-breakfast > .row_col_wrap_12 > .wpb_column {
  width:auto!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
.lh-breakfast > .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner { padding:0!important; }
.lh-breakfast .lh-label { margin-bottom:1.5rem!important; }
.lh-breakfast .lh-title .lh-mid { color:var(--lh-mid)!important; }
.lh-breakfast .lh-dark-body p {
  max-width:600px;
  color:rgba(245,240,232,.65)!important;
  font-size:.97rem;
  line-height:2;
}
.lh-breakfast-quote {
  border:1px solid rgba(166,143,102,.17)!important;
  background:rgba(138,154,128,.08)!important;
}
.lh-breakfast-quote > .vc_column-inner {
  padding:3rem!important;
  background:transparent!important;
}
.lh-breakfast-quote .column-bg-overlay-wrap,
.lh-breakfast-quote .column-bg-overlay { background:transparent!important; }
.lh-breakfast .lh-quote {
  margin:0!important;
  font-family:"GFS Didot",Didot,"Bodoni MT","Playfair Display",Georgia,serif!important;
  font-style:italic;
  font-size:1.5rem!important;
  line-height:1.5!important;
  color:var(--lh-stone)!important;
}
.lh-breakfast .lh-quote-meta {
  display:inline-block;
  font-size:.82rem!important;
  letter-spacing:.08em;
  line-height:1.8;
  color:rgba(245,240,232,.5)!important;
}
@media (max-width:900px) {
  .lh-breakfast > .row_col_wrap_12 { grid-template-columns:1fr;gap:2rem!important; }
  .lh-breakfast-quote > .vc_column-inner { padding:2rem!important; }
}
/* RECEPTION CARDS — FOUR COLUMNS. Scoped to this section only.
   2026-10-01 revision: 4 columns above 900px, 2 on small tablets, 1 on phones.
   The custom-property marker allows verification of the actually loaded CSS. */
body .lh-page-section.lh-reception .vc_row.inner_row.lh-rec-grid > .row_col_wrap_12_inner {
  --lh-reception-fix-version: reception-20261001-v3;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:0!important;
  align-items:stretch!important;
  margin-left:0!important;
  margin-right:0!important;
}
body .lh-page-section.lh-reception .vc_row.inner_row.lh-rec-grid > .row_col_wrap_12_inner > .wpb_column.lh-rec-card {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  float:none!important;
  clear:none!important;
  flex:none!important;
  margin:0!important;
  grid-column:auto!important;
  grid-row:auto!important;
  align-self:stretch!important;
  overflow:hidden;
  transition:background .3s;
}
/* Preserve the approved alternating/hover visual treatment. */
.lh-rec-card:nth-child(2) { background:var(--lh-linen)!important; }
.lh-rec-card:hover { background:var(--lh-linen)!important; }

/* Only the reception section changes at these breakpoints. */
@media (max-width:900px) {
  body .lh-page-section.lh-reception .vc_row.inner_row.lh-rec-grid > .row_col_wrap_12_inner {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:599px) {
  body .lh-page-section.lh-reception .vc_row.inner_row.lh-rec-grid > .row_col_wrap_12_inner {
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* ROOM INTRO / AMENITIES — matched to the approved reference */
.lh-rooms-intro > .row_col_wrap_12 {
  margin-left:0!important;
  margin-right:0!important;
}
.lh-rooms-intro .lh-label { margin-bottom:1.5rem!important; }
.lh-rooms-intro .lh-title { text-transform:none!important; }
.lh-rooms-intro .lh-dark-body p { max-width:600px; }
.lh-amenities-row { margin-bottom:0!important; }
.lh-amenities-row > .row_col_wrap_12_inner {
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  align-items:stretch!important;
  background:transparent!important;
  margin:0!important;
}
.lh-amenity {
  width:16.6666667%!important;
  margin:0!important;
  border-top:1px solid rgba(166,143,102,.17)!important;
  border-right:1px solid rgba(166,143,102,.17)!important;
  background:transparent!important;
}
.lh-amenity > .vc_column-inner {
  min-height:120px;
  display:flex;
  align-items:center;
  padding:1.5rem 2rem!important;
  background:transparent!important;
}
.lh-amenity .wpb_wrapper { width:100%; }
.lh-amenity p {
  display:flex;
  align-items:baseline;
  gap:.8rem;
  margin:0!important;
  color:rgba(239,230,211,.62);
  font-size:.82rem;
  line-height:1.6;
}
.lh-dash { flex:0 0 auto;color:var(--lh-gold);margin:0!important; }

/* ROOM CARDS */
.lh-room-row { border-bottom:1px solid var(--lh-border); }
.lh-room-photo > .vc_column-inner { min-height:480px;display:flex;align-items:center;justify-content:center;background:var(--lh-linen); }
.lh-room-photo .wpb_wrapper { width:100%; }
.lh-photo-placeholder { min-height:480px;width:100%;display:flex;align-items:center;justify-content:center;color:var(--lh-light);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase; }
.lh-room-info > .vc_column-inner { min-height:480px;display:flex;flex-direction:column;justify-content:center;padding:3rem 3.5rem!important; }
.lh-room-number,.lh-room-size { display:block;letter-spacing:.22em;text-transform:uppercase; }
.lh-room-name { margin:.45rem 0 .2rem!important;font-size:clamp(1.6rem,2.5vw,2.2rem)!important;line-height:1.2!important; }
.lh-room-desc { margin:0 0 1.4rem!important;color:var(--lh-mid);font-size:.9rem;line-height:1.9; }
.lh-room-features { list-style:none!important;margin:0 0 1.6rem!important;padding:0!important; }
.lh-room-features li { position:relative;padding:.3rem 0 .3rem 1rem;border-bottom:1px solid var(--lh-border);color:var(--lh-mid);font-size:.82rem;line-height:1.6; }
.lh-room-features li::before { content:"·";position:absolute;left:0;color:var(--lh-gold);font-size:1rem; }
.lh-room-price { font-family:"GFS Didot",Didot,Georgia,serif; }

/* STABLES */
/* STABLES — matched to the approved reference */
.lh-stables > .row_col_wrap_12 {
  margin-left:0!important;
  margin-right:0!important;
}
.lh-stables .lh-dark-body p { max-width:600px; }
.lh-stable-row { margin:0!important; }
.lh-stable-row > .row_col_wrap_12_inner {
  margin:0!important;
  gap:0!important;
  align-items:stretch!important;
}
.lh-stable-card {
  width:50%!important;
  margin:0!important;
  background:#1e1d18!important;
  border:1px solid rgba(166,143,102,.17)!important;
}
.lh-stable-card > .vc_column-inner {
  height:100%;
  padding:2.5rem!important;
  background:#1e1d18!important;
}
.lh-stable-card .wpb_wrapper { height:100%; }
.lh-stable-number { display:block;letter-spacing:.3em;text-transform:uppercase;margin-bottom:.8rem!important; }
.lh-stable-name { margin:0 0 1rem!important;line-height:1.2!important; }
.lh-stable-desc { margin:0 0 1.5rem!important;color:rgba(239,230,211,.55);font-size:.88rem;line-height:1.8; }
.lh-stable-features { margin-top:.2rem!important;margin-bottom:0!important; }
.lh-stable-feature { display:inline-block;margin:.5rem .3rem 0 0;padding:.3rem .8rem;border:1px solid rgba(166,143,102,.3);color:var(--lh-gold);font-size:.65rem;letter-spacing:.18em;line-height:1.4;text-transform:uppercase; }

/* LOCATION */
.lh-location-copy > .wpb_wrapper > p:first-child { color:var(--lh-mid);font-size:.97rem;line-height:2; }
.lh-location-list { list-style:none!important;margin:1.8rem 0 0!important;padding:0!important; }
.lh-location-list li { position:relative;padding:.85rem 0 .85rem 1.5rem;border-bottom:1px solid var(--lh-border);color:var(--lh-mid);font-size:.9rem;line-height:1.5; }
.lh-location-list li::before { content:"—";position:absolute;left:0;color:var(--lh-gold);font-size:.7rem; }
.lh-location-note { margin-top:1.5rem!important;color:var(--lh-light)!important;font-size:.82rem!important;line-height:1.8!important; }
.lh-pull-quote { margin:0!important;padding-left:2rem;border-left:2px solid var(--lh-gold);font-family:"GFS Didot",Didot,Georgia,serif;font-style:italic;font-size:clamp(1.3rem,2.5vw,2rem);line-height:1.4;color:var(--lh-dark); }
.lh-map { width:100%;overflow:hidden;border:1px solid rgba(166,143,102,.2); }
.lh-map iframe { display:block;width:100%;height:320px;border:0;filter:grayscale(30%); }
.lh-map-address { margin:1rem 0 0!important;text-align:center;font-size:.7rem!important;letter-spacing:.13em;text-transform:uppercase; }
.lh-map-address a { color:var(--lh-light)!important;text-decoration:none!important; }

/* GALLERY — source-faithful layout/hover behaviour. */
.lh-gallery {
  padding:clamp(3.5rem,7vw,7rem) clamp(1.5rem,6vw,6rem)!important;
}
.lh-gallery > .row_col_wrap_12 {
  padding-left:0!important;
  padding-right:0!important;
}
.lh-gallery-intro p {
  max-width:600px;
  color:var(--lh-mid);
  font-size:.97rem;
  line-height:2;
}
.lh-gallery-head {
  margin-top:3.8rem!important;
  margin-bottom:1.5rem!important;
}
.lh-gallery .lh-gallery-head:first-of-type { margin-top:2.6rem!important; }
.lh-gallery-head > .row_col_wrap_12_inner {
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:1.2rem!important;
  width:100%!important;
  margin:0!important;
}
.lh-gallery-head > .row_col_wrap_12_inner > .wpb_column {
  margin:0!important;
  padding:0!important;
}
.lh-gallery-head > .row_col_wrap_12_inner > .wpb_column:nth-child(1),
.lh-gallery-head > .row_col_wrap_12_inner > .wpb_column:nth-child(3) {
  width:auto!important;
  flex:0 0 auto!important;
}
.lh-gallery-head > .row_col_wrap_12_inner > .wpb_column:nth-child(2) {
  width:auto!important;
  flex:1 1 auto!important;
  min-width:30px;
}
.lh-gallery-head .vc_column-inner,
.lh-gallery-head .wpb_wrapper,
.lh-gallery-head .nectar-highlighted-text { margin:0!important;padding:0!important; }
.lh-gallery-group-title {
  margin:0!important;
  font-family:"GFS Didot",Didot,Georgia,serif!important;
  font-weight:300!important;
  font-size:1.45rem!important;
  line-height:1.2!important;
  letter-spacing:.05em;
  color:var(--lh-dark)!important;
  white-space:nowrap;
}
.lh-gallery-rule-col {
  height:1px!important;
  background:var(--lh-border)!important;
  align-self:center!important;
}
.lh-gallery-rule-col .divider-wrap { display:none!important; }
.lh-gallery-count {
  display:block;
  color:var(--lh-light)!important;
  font-size:.6rem!important;
  line-height:1!important;
  letter-spacing:.22em;
  text-transform:uppercase;
  white-space:nowrap;
}
.lh-gallery-desc {
  margin:0 0 1.4rem!important;
  color:var(--lh-mid)!important;
  font-size:.85rem!important;
  line-height:1.7!important;
}
/* Gallery tiles are native Salient vc_gallery elements; their active
   style-8 hover treatment is defined below. */

@media (max-width:900px) {
  .lh-stat { width:33.3333%!important;min-width:120px; }
  .lh-amenities-row > .row_col_wrap_12_inner { flex-wrap:wrap!important; }
  .lh-amenity { width:50%!important; }
  .lh-stat:nth-child(4) { border-left:0; }
  .lh-house-grid-inner > .row_col_wrap_12_inner { grid-template-columns:1fr; }
  .lh-house-main .img-with-aniamtion-wrap { aspect-ratio:4/3; }
  .lh-house-side-stack > .vc_column-inner > .wpb_wrapper { display:grid;grid-template-columns:1fr 1fr;gap:4px; }
  .lh-house-side-stack .img-with-aniamtion-wrap { aspect-ratio:4/3; }
  .lh-hall-strip > .row_col_wrap_12 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lh-room-row .vc_col-sm-6,.lh-room-row .wpb_column { width:100%!important; }
  .lh-room-photo > .vc_column-inner,.lh-photo-placeholder,.lh-room-info > .vc_column-inner { min-height:0; }
  .lh-photo-placeholder { min-height:300px; }
  .lh-room-info > .vc_column-inner { padding:2rem!important; }
  .lh-stable-card { width:100%!important; }
  .lh-location > .row_col_wrap_12 > .vc_col-sm-6,.lh-location > .row_col_wrap_12 > .wpb_column { width:100%!important; }
  .lh-gallery-head > .row_col_wrap_12_inner { gap:.8rem!important; }
  .lh-gallery-group-title { white-space:normal; }
}
@media (max-width:600px) {
  .lh-stat { width:50%!important; }
  .lh-amenity { width:100%!important; }
  .lh-stat:nth-child(odd) { border-left:0; }
  .lh-hero-mark-row .img-with-aniamtion-wrap img { width:min(86vw,560px)!important; }
  .lh-gallery-head { margin-top:2.8rem!important; }
  .lh-gallery-head > .row_col_wrap_12_inner { flex-wrap:wrap!important;align-items:flex-start!important; }
  .lh-gallery-head > .row_col_wrap_12_inner > .wpb_column:nth-child(1) { flex:0 0 auto!important; }
  .lh-gallery-head > .row_col_wrap_12_inner > .wpb_column:nth-child(2) { flex:1 1 40px!important; }
  .lh-gallery-head > .row_col_wrap_12_inner > .wpb_column:nth-child(3) { flex:0 0 auto!important; }
}
@media (prefers-reduced-motion:reduce) {
  .lh-hero-mark-row,.lh-hero-ornament-row,.lh-hero-divider-row,.lh-hero-sub-row { opacity:1!important;transform:none!important;animation:none!important; }
  .lh-hero .lh-hero-scroll-row { opacity:1!important;transform:translateX(-50%)!important;animation:none!important; }
  .lh-scroll-line { animation:none!important;opacity:1; }
}

/* ==========================================================
   ROOM ONE–SIX — WHY THE NAME FIX
   ========================================================== */
.lh-room-why {
  margin:0 0 1.5rem!important;
  padding-left:1rem!important;
  border-left:1px solid var(--lh-border)!important;
  color:var(--lh-mid)!important;
  font-family:inherit!important;
  font-style:normal!important;
  font-size:inherit!important;
  line-height:inherit!important;
}
.lh-room-why .lh-room-why-title {
  display:block!important;
  margin:0 0 .45rem!important;
  font-family:"Jost",sans-serif!important;
  font-style:normal!important;
  font-size:.55rem!important;
  line-height:1.4!important;
  letter-spacing:.28em!important;
  text-transform:uppercase!important;
  color:var(--lh-gold)!important;
}
.lh-room-why p {
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-family:"GFS Didot",Didot,Georgia,serif!important;
  font-style:italic!important;
  font-size:.9rem!important;
  line-height:1.75!important;
  color:var(--lh-mid)!important;
}

/* ============================================================
   LANGHAM HALL — NATIVE SALIENT / WPBAKERY GALLERIES
   Each gallery is one vc_gallery element. Titles/captions are
   sourced from the WordPress Media Library.
   ============================================================ */
.lh-gallery .lh-native-gallery {
  margin:0!important;
  padding:0!important;
}
.lh-gallery .lh-native-gallery .wpb_gallery_slides,
.lh-gallery .lh-native-gallery .wpb_gallery_slidesimage_grid,
.lh-gallery .lh-native-gallery .portfolio-wrap,
.lh-gallery .lh-native-gallery .portfolio-items {
  margin:0!important;
  padding:0!important;
}

/* Keep the photographic crop consistent with the supplied design. */
.lh-gallery .lh-native-gallery .work-item,
.lh-gallery .lh-native-gallery .work-item > a,
.lh-gallery .lh-native-gallery .work-item .work-info {
  overflow:hidden!important;
}
.lh-gallery .lh-native-gallery .work-item img {
  object-fit:cover!important;
}

/* The Salient constrained-fullwidth image grid naturally allows five columns
   on wide desktop screens. Keep useful responsive densities for handover. */
@media only screen and (max-width:999px) and (min-width:691px) {
  .lh-gallery .lh-native-gallery .portfolio-items .elastic-portfolio-item {
    width:calc(33.3333% - 4px)!important;
  }
}
@media only screen and (max-width:690px) {
  .lh-gallery .lh-native-gallery .portfolio-items .elastic-portfolio-item,
  .lh-gallery .lh-native-gallery .portfolio-items .col.span_3 {
    width:calc(50% - 3px)!important;
  }
}

/* ============================================================
   LANGHAM HALL — NATIVE GALLERY: EXACT ORIGINAL HOVER TREATMENT
   Based on the actual Salient 18.2.1 rendered markup:
   .work-item.style-2 > img + .work-info-bg + .work-info
   .work-info contains the pretty_photo link and .vert-center,
   with h3 + svg.next-arrow + span.line.

   IMPORTANT: These rules do NOT alter Isotope item positioning,
   widths, gallery flow, or WPBakery gallery management.
   ============================================================ */

/* The image tile itself is the safe positioning context. */
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-item.style-2 {
  position:relative!important;
  overflow:hidden!important;
  background:transparent!important;
}

/* Keep the photograph fully visible. Salient style 8 otherwise dims it. */
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-item.style-2 > img.top-level-image {
  display:block!important;
  width:100%!important;
  opacity:1!important;
  filter:none!important;
  transform:scale(1)!important;
  transition:transform .9s ease!important;
}

/* Disable Salient's own full-image tint completely. */
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-item.style-2 > .work-info-bg {
  display:none!important;
  background:none!important;
  opacity:0!important;
}

/* Keep Salient's native lightbox/click layer, but make it visually transparent. */
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-item.style-2 > .work-info {
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  overflow:hidden!important;
}

.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-item.style-2 > .work-info > a.pretty_photo {
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  opacity:1!important;
}

/* Original design: only a restrained dark fade rising from the bottom. */
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-item.style-2::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  height:42%;
  pointer-events:none;
  background:linear-gradient(
    to top,
    rgba(31,32,25,.84) 0%,
    rgba(31,32,25,.48) 34%,
    rgba(31,32,25,.16) 66%,
    rgba(31,32,25,0) 100%
  );
  opacity:0;
  transition:opacity .4s ease;
}

.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-item.style-2:hover::after,
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-item.style-2:focus-within::after {
  opacity:1;
}

/* Salient's arrow is real SVG markup in this gallery style. Remove it exactly. */
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-info svg.next-arrow,
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-info .next-arrow,
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-info .vert-center > span.line {
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}

/* Caption: bottom-left, small cream text, hidden until hover/focus. */
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-info .vert-center {
  position:absolute!important;
  left:.9rem!important;
  right:.9rem!important;
  bottom:.75rem!important;
  top:auto!important;
  z-index:4!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  vertical-align:initial!important;
  background:transparent!important;
  transform:none!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:opacity .4s ease, visibility .4s ease!important;
  pointer-events:none!important;
}

.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-item.style-2:hover .work-info .vert-center,
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-item.style-2:focus-within .work-info .vert-center {
  opacity:1!important;
  visibility:visible!important;
}

/* Empty caption paragraph generated by Salient should consume no space. */
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-info .vert-center > p:empty {
  display:none!important;
  margin:0!important;
  padding:0!important;
}

/* Media Library title. */
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-info .vert-center > h3 {
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#efe6d3!important;
  font-family:"Jost",sans-serif!important;
  font-size:.68rem!important;
  font-weight:300!important;
  font-style:normal!important;
  line-height:1.45!important;
  letter-spacing:.09em!important;
  text-transform:none!important;
  text-align:left!important;
  text-shadow:none!important;
}

/* If Salient outputs a real caption/excerpt, keep it as a softer second line. */
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-info .vert-center > p:not(:empty) {
  display:block!important;
  margin:.18rem 0 0!important;
  padding:0!important;
  color:rgba(239,230,211,.72)!important;
  font-family:"Jost",sans-serif!important;
  font-size:.58rem!important;
  font-weight:300!important;
  font-style:normal!important;
  line-height:1.4!important;
  letter-spacing:.05em!important;
  text-transform:none!important;
  text-align:left!important;
}

/* Original image motion: slight, slow zoom only. */
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-item.style-2:hover > img.top-level-image,
.lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-item.style-2:focus-within > img.top-level-image {
  opacity:1!important;
  filter:none!important;
  transform:scale(1.045)!important;
}

@media (prefers-reduced-motion:reduce) {
  .lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-item.style-2 > img.top-level-image,
  .lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-item.style-2::after,
  .lh-gallery .lh-native-gallery .portfolio-items[data-ps="8"] .work-info .vert-center {
    transition:none!important;
  }
}
/* ============================================================================
   LANGHAM HALL — RESPONSIVE THREE-IMAGE COLLAGES
   Migrated from Appearance > Customize > Additional CSS (October 2026).
   The WPBakery galleries use the extra classes:
     dynamic-collage no-gallery-interaction

   Salient/Isotope injects absolute positioning and an inline gallery height.
   Replacing that with a *bounded* grid and absolutely cropped images prevents
   intrinsic image heights from stretching grid tracks on narrow screens.
   Other Salient portfolio galleries are not affected.
   ============================================================================ */

.lh-page-section .dynamic-collage .portfolio-items {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important; /* Override Isotope's inline pixel height. */
  aspect-ratio: 1.08 / 1;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}

/* Clearfix pseudo-elements would otherwise occupy grid cells. */
.lh-page-section .dynamic-collage .portfolio-items::before,
.lh-page-section .dynamic-collage .portfolio-items::after {
  content: none !important;
  display: none !important;
}

/* Neutralise per-tile inline left/top/transform and responsive float rules. */
.lh-page-section .dynamic-collage .portfolio-items > .element {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Desktop/tablet: large image on the left, two smaller images on the right. */
.lh-page-section .dynamic-collage .portfolio-items > .element:nth-child(1) {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
}
.lh-page-section .dynamic-collage .portfolio-items > .element:nth-child(2) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
.lh-page-section .dynamic-collage .portfolio-items > .element:nth-child(3) {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

/* Fix all nested heights, then crop *without stretching* the original photos. */
.lh-page-section .dynamic-collage .portfolio-items > .element > .inner-wrap,
.lh-page-section .dynamic-collage .portfolio-items > .element .work-item {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.lh-page-section .dynamic-collage .portfolio-items > .element .work-item > img.top-level-image {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Phone layout: one generous hero photo over two balanced smaller photos.
   This avoids a very narrow, unnaturally tall right-hand column. */
@media only screen and (max-width: 690px) {
  .lh-page-section .dynamic-collage .portfolio-items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(0, 1.2fr) minmax(0, .8fr) !important;
    gap: 6px !important;
    aspect-ratio: 4 / 5;
  }
  .lh-page-section .dynamic-collage .portfolio-items > .element:nth-child(1) {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }
  .lh-page-section .dynamic-collage .portfolio-items > .element:nth-child(2) {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  .lh-page-section .dynamic-collage .portfolio-items > .element:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
}

/* Retain the original intentional non-clickable/non-hover gallery behaviour. */
.no-gallery-interaction {
  pointer-events: none !important;
  cursor: default !important;
}
.no-gallery-interaction * {
  cursor: default !important;
}
