/* tlv-norcal-lux.css  v1.3  (2026-10-05, round 5: footer on header gutters + caps/gold, gold top-bar underline; round 4: slideshow, trust strip, smaller mobile logo + top scrim, CALL)  thelavatorynorcal.com ONLY, loads after tlv-design.css.
   Four Seasons direction: black chrome, white logo, tracked caps, fine rules, restrained black/white/gold.
   FONT PICK PENDING (Chris): change only the three variables below once an option is chosen. */
:root {
  --nc-trust-h: 168px;
  --nc-display: var(--tlv-head);   /* pending: display serif */
  --nc-body: var(--tlv-body);      /* pending: book serif   */
  --nc-caps: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; /* pending: tracked caps sans */
  --nc-black: #0b0b0b;
  --nc-ink: #161616;
  --nc-gold: #a3824a;
  --nc-gold-dk: #826636;
  --nc-rule: #e6e0d6;
  --nc-stone: #f8f6f2;
  --nc-mtop: 56px;
  --nc-gut: clamp(24px, 3vw, 48px);
}

/* ---------- top banners: black, gold accent ---------- */
html body .tlv-mtopbar, html body .tlv-dtopbar { background: var(--nc-black) !important; }
/* the "Agents" / "Emergency" sweep underline is a ::after bar (theme: 4-6px, bright yellow); here a fine brand-gold rule */
html body .tlv-mtopbar .tlv-mhl::after, html body .tlv-dtopbar .tlv-dhl::after {
  background: var(--nc-gold-dk) !important; height: 2px !important; border-radius: 0 !important; bottom: -3px !important;
}
html body .tlv-dtopbar { border-bottom: 1px solid rgba(255, 255, 255, .08); }
html body #shiftnav-toggle-main, html body #shiftnav-toggle-main #shiftnav-toggle-main-button,
html body #shiftnav-toggle-main-button { background: var(--nc-black) !important; background-color: var(--nc-black) !important; }

/* ---------- bottom quick-action bar: black, gold call ---------- */
html body .tlv-bnav { background: var(--nc-black) !important; border-top: 1px solid rgba(255, 255, 255, .08); }
html body .tlv-bnav span { font-family: var(--nc-caps); text-transform: uppercase; letter-spacing: .14em; font-size: 11px; }
html body .tlv-bnav .tlv-bnav__call a { background: var(--nc-gold-dk) !important; border-radius: 2px; }
html body .tlv-bnav .tlv-bnav__call span { font-size: 11px; letter-spacing: .18em; white-space: nowrap; }
html body .tlv-bnav span { white-space: nowrap; }

/* ---------- slide-out menu (ShiftNav): black, white tracked caps ---------- */
html body .shiftnav.shiftnav-shiftnav-main, html body .shiftnav.shiftnav-shiftnav-main .shiftnav-inner { background: var(--nc-black) !important; }
html body .shiftnav.shiftnav-shiftnav-main .shiftnav-nav { padding: 72px 0 40px; }
html body .shiftnav.shiftnav-shiftnav-main ul.shiftnav-menu li.menu-item > .shiftnav-target {
  background: var(--nc-black) !important; color: #fff !important; text-shadow: none !important;
  font-family: var(--nc-caps) !important; font-weight: 500 !important; font-size: 13px !important;
  letter-spacing: .22em !important; text-transform: uppercase !important;
  padding: 19px 30px !important; border: 0 !important; border-bottom: 1px solid rgba(255, 255, 255, .10) !important; box-shadow: none !important;
}
html body .shiftnav.shiftnav-shiftnav-main ul.shiftnav-menu li.menu-item > .shiftnav-target:hover { color: var(--nc-gold) !important; }
html body .shiftnav.shiftnav-shiftnav-main ul.shiftnav-menu ul.sub-menu { background: #141414 !important; }
html body .shiftnav.shiftnav-shiftnav-main ul.shiftnav-menu ul.sub-menu li.menu-item > .shiftnav-target {
  background: #141414 !important; color: rgba(255, 255, 255, .78) !important; font-size: 11.5px !important;
  letter-spacing: .16em !important; padding: 15px 30px 15px 44px !important; border-bottom-color: rgba(255, 255, 255, .06) !important;
}
html body .shiftnav.shiftnav-shiftnav-main .shiftnav-submenu-activation { background: transparent !important; color: rgba(255, 255, 255, .7) !important; border: 0 !important; }
html body .shiftnav.shiftnav-shiftnav-main ul.shiftnav-menu li.menu-item.current-menu-item > .shiftnav-target { color: var(--nc-gold) !important; }
/* the call item: phone icon + number, one line (the "Call Now:" label is stripped server-side) */
html body .shiftnav.shiftnav-shiftnav-main ul.shiftnav-menu li.menu-item > .shiftnav-target[href^="tel:"] { white-space: nowrap !important; letter-spacing: .14em !important; }
html body .shiftnav.shiftnav-shiftnav-main ul.shiftnav-menu li.menu-item > .shiftnav-target[href^="tel:"] .shiftnav-icon { margin-right: 12px; }

/* ---------- phones + tablets (< 1180): no white logo bar, banner + hamburger only ---------- */
@media (max-width: 1179px) {
  html body .pdx-header-wrap, html body .pdx-placeholder { display: none !important; }
  html body #content { padding-top: calc(var(--nc-mtop) + 8px) !important; }
  html body.home #content { padding-top: 0 !important; }
  html body .site-main { padding-top: 2.4rem !important; }
}

/* ---------- desktop (>= 1180): black header, white logo, tracked caps nav, light REQUEST QUOTE ---------- */
@media (min-width: 1180px) {
  html body .pdx-placeholder, html body .pdx-placeholder.is-frontpage, html body #masthead.is-sticky .pdx-placeholder { height: 96px !important; background: var(--nc-black) !important; }
  html body .pdx-header, html body #masthead.is-sticky .pdx-header, html body .pdx-header-wrap.is-frontpage .pdx-header {
    height: 96px !important; background: var(--nc-black) !important; color: #fff; padding: 0 var(--nc-gut) !important; box-sizing: border-box; overflow: visible;
    display: flex !important; flex-wrap: nowrap !important; align-items: center; justify-content: space-between; box-shadow: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
  }
  html body .pdx-header-wrap { box-shadow: none !important; }
  html body .pdx-logo, html body #masthead.is-sticky .pdx-logo { max-width: 200px !important; width: 200px; margin: 0 !important; flex: 0 0 auto; }
  html body .pdx-logo { height: 96px; display: flex !important; align-items: center; }
  html body .pdx-logo a { display: block; line-height: 0; }
  html body .pdx-logo img { width: 100%; height: auto; max-height: 72px; object-fit: contain; }
  html body .pdx-navbar > div > ul > li:last-child { margin-right: 0 !important; }
  html body .pdx-header .pdx-header-pane, html body .pdx-header .pdx-navbar, html body .pdx-header .pdx-navbar > div { margin-right: 0 !important; padding-right: 0 !important; }
  html body .pdx-header .pdx-header-pane { display: flex !important; align-items: center; flex: 1 1 auto; justify-content: flex-end; margin: 0 !important; }
  html body .pdx-header .pdx-navbar { display: flex !important; font-size: 12px !important; }
  html body .pdx-header .pdx-mobile-menu, html body .pdx-header .pdx-navbar-search, html body .pdx-header .toggle-off-pdx-mobile-menu { display: none !important; }
  html body .pdx-navbar > div > ul { flex-wrap: nowrap !important; align-items: center; justify-content: flex-end; }
  html body .pdx-navbar > div > ul > li { margin: 0 0 0 clamp(24px, 1.8vw, 32px) !important; }
  html body .pdx-navbar > div > ul > li.toggle-on-tablet { display: none !important; }
  html body .pdx-navbar > div > ul > li > a {
    color: #fff !important; font-family: var(--nc-caps) !important; font-size: 12px !important; font-weight: 500 !important;
    letter-spacing: .2em !important; text-transform: uppercase !important; padding: 10px 0 !important; white-space: nowrap; background: none !important;
  }
  html body .pdx-navbar > div > ul > li > a:hover, html body .pdx-navbar > div > ul > li.current-menu-item > a,
  html body .pdx-navbar > div > ul > li.current-menu-ancestor > a { color: var(--nc-gold) !important; }
  html body .pdx-navbar > div > ul > .menu-item-has-children > a { padding-right: 14px !important; }
  html body .pdx-navbar > div > ul > .menu-item-has-children > a::after { display: block !important; color: rgba(255, 255, 255, .6); right: 0 !important; font-size: 9px !important; }
  /* dropdowns */
  html body .pdx-navbar > div > ul > li > ul { background: var(--nc-black) !important; border: 1px solid rgba(255, 255, 255, .10); box-shadow: 0 18px 40px rgba(0, 0, 0, .35) !important; padding: 10px 0 !important; }
  html body .pdx-navbar > div > ul > li > ul > li:first-child::before { display: none !important; }
  html body .pdx-navbar > div > ul > li > ul a { color: rgba(255, 255, 255, .85) !important; background: transparent !important; font-family: var(--nc-caps) !important; font-size: 11.5px !important; letter-spacing: .16em; text-transform: uppercase; padding: 12px 22px !important; }
  html body .pdx-navbar > div > ul > li > ul a:hover { color: var(--nc-gold) !important; }
  /* REQUEST QUOTE: solid light button on the black bar (Four Seasons "CHECK RATES"). 2026-10-05 polish: the page's own
     secondary button (white, 1px #0b0b0b rule, 12px caps) instead of a cream fifth style; the rule is invisible on the bar */
  html body .pdx-navbar li.is-quote-request a {
    background: #fff !important; color: var(--nc-black) !important; border: 1px solid #0b0b0b !important; border-radius: 0 !important;
    padding: 13px 21px !important; letter-spacing: .22em !important; font-weight: 600 !important; box-shadow: none !important;
  }
  html body .pdx-navbar li.is-quote-request a::before { display: none !important; content: none !important; }
  html body .pdx-navbar li.is-quote-request a:hover { background: #f3efe7 !important; color: var(--nc-black) !important; }
  html body #shiftnav-toggle-main { display: none !important; }
}
/* 1180-1439: tighter nav so items, logo and button keep >= 24px apart */
@media (min-width: 1180px) and (max-width: 1439px) {
  html body .pdx-logo, html body #masthead.is-sticky .pdx-logo { max-width: 150px !important; width: 150px; }
  html body .pdx-navbar > div > ul > li { margin-left: 24px !important; }
  html body .pdx-navbar > div > ul > li > a { font-size: 11px !important; letter-spacing: .12em !important; }
  html body .pdx-navbar > div > ul > .menu-item-has-children > a { padding-right: 13px !important; }
  html body .pdx-navbar li.is-quote-request a { padding: 12px 16px !important; letter-spacing: .14em !important; }
}

@media (min-width: 1180px) { html body #content { padding-top: 0 !important; } }
/* switch point = 1180px, the same point where the 24/7 bar and bottom bar plugin switch, so no width shows two half-states */
/* desktop alert banner: one size and style at every desktop width */
@media (min-width: 1180px) {
  html body .tlv-dtopbar { padding: 0 !important; height: auto !important; min-height: 0 !important; }
  html body .tlv-dtopbar__inner { padding: 11px 24px !important; min-height: 0 !important; height: auto !important; }
  html body .tlv-dtopbar__line, html body .tlv-dtopbar__line *:not(.dashicons) {
    font-family: var(--nc-caps) !important; font-size: 14px !important; line-height: 20px !important; font-weight: 500 !important; letter-spacing: .06em !important;
  }
  html body .tlv-dtopbar .dashicons { width: 18px !important; height: 18px !important; font-size: 18px !important; line-height: 20px !important; }
  html body .tlv-dtopbar .tlv-ddot { width: 8px !important; height: 8px !important; }
}
/* ---------- homepage hero: full screen, bright photo, white logo + H1 ---------- */
.tlv-hero { position: relative; width: 100%; height: calc(100svh - var(--nc-mtop) - var(--tlv-bnav-h, 97px)); min-height: 520px; overflow: hidden; background: #2b2a20; margin-top: var(--nc-mtop); }
@media (min-width: 1180px) { .tlv-hero { height: calc(100svh - var(--tlv-dtopbar-h, 76px) - 96px); min-height: 560px; margin-top: 0; } }

.tlv-hero__media, .tlv-hero__media img, .tlv-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.tlv-hero__slides { position: absolute; inset: 0; }
/* slideshow: the incoming clip fades in over 1s while the outgoing one holds its last frame (a true crossfade) */
.tlv-hero__video { opacity: 0; transition: opacity 1s ease; }
.tlv-hero__video.is-on { opacity: 1; }
.tlv-hero__media img, .tlv-hero__video { object-fit: cover; object-position: 50% 62%; }
@media (max-width: 767px) { .tlv-hero__media img { object-position: 46% 50%; } }
/* phones: a top-down scrim so the white logo reads. Measured 2026-10-05 on the 2-slide clips (logo box, tall cuts):
   the exterior opens already darkened up top (brightest frame mean luminance .064, p90 .14), so its scrim stays light
   (.42) and the canopy is not crushed; the interior's white ceiling is near-white (mean .93, p90 .97), so slide 2
   adds a second layer (::before, crossfades with the clip) for ~.73 black over the logo rows, about 3.4:1 white on
   the brightest interior frame. Desktop slide 2 darkens the lower half the same way under the H1 and the logos. */
.tlv-hero__shade { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 0, 0, .46) 0%, rgba(0, 0, 0, .40) 15%, rgba(0, 0, 0, .16) 25%, rgba(0, 0, 0, 0) 34%, rgba(0, 0, 0, 0) 38%, rgba(0, 0, 0, .40) 46%, rgba(0, 0, 0, .40) 62%, rgba(0, 0, 0, 0) 76%); }
.tlv-hero__shade::before { content: ""; position: absolute; inset: 0; opacity: 0; transition: opacity 1s ease;
  background: linear-gradient(180deg, rgba(0, 0, 0, .56) 0%, rgba(0, 0, 0, .56) 17%, rgba(0, 0, 0, .22) 30%, rgba(0, 0, 0, .14) 40%, rgba(0, 0, 0, .34) 50%, rgba(0, 0, 0, .34) 64%, rgba(0, 0, 0, .10) 80%, rgba(0, 0, 0, 0) 100%); }
.tlv-hero[data-slide="1"] .tlv-hero__shade::before { opacity: 1; }
@media (min-width: 1180px) {
  .tlv-hero__shade::before { background: linear-gradient(180deg, rgba(0, 0, 0, .12) 0%, rgba(0, 0, 0, .06) 35%, rgba(0, 0, 0, .40) 58%, rgba(0, 0, 0, .52) 100%); }
}
.tlv-hero__inner { position: absolute; inset: 0; color: #fff; }
/* phones: logo at ~58% of the round-3 size (Chris: "way too big"), over a top-down scrim (below) */
.tlv-hero__logo { position: absolute; left: 50%; top: 6.5%; transform: translateX(-50%); width: min(38vw, 168px); height: auto; filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .55)); }
html body .tlv-hero .tlv-hero__title {
  position: absolute; left: 50%; top: 52%; transform: translate(-50%, -50%); width: calc(100% - 40px); text-align: center;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  color: #fff !important; font-family: var(--nc-display) !important; font-weight: 600 !important;
  font-size: clamp(3.2rem, 2rem + 3vw, 6rem) !important; line-height: 1.1 !important; letter-spacing: -.01em !important;
  text-wrap: balance; text-shadow: 0 2px 22px rgba(0, 0, 0, .55), 0 1px 3px rgba(0, 0, 0, .45);
}
html body .tlv-hero .tlv-hero__title::after { display: none !important; }
html body .tlv-hero .tlv-hero__title::before { content: ""; display: block; width: 56px; height: 1px; background: rgba(255, 255, 255, .85); margin: 0 auto 20px; }
@media (max-width: 1179px) { html body #masthead { margin-top: 0 !important; } }
@media (min-width: 1180px) {
  .tlv-hero__logo { display: none; }
  /* desktop: the trailer fills the middle of the frame, so the title sits low, over the darker chassis and forest floor */
  /* the H1 sits directly above the trust strip, which overlays the bottom of the hero */
  .tlv-hero__inner { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding: 0 40px calc(var(--nc-trust-h) + 6px); box-sizing: border-box; }
  html body .tlv-hero .tlv-hero__title { position: static; transform: none; top: auto; left: auto; width: min(100%, 1040px); }
  .tlv-hero__shade { background: linear-gradient(180deg, rgba(0, 0, 0, .18) 0%, rgba(0, 0, 0, 0) 26%, rgba(0, 0, 0, 0) 38%, rgba(0, 0, 0, .52) 62%, rgba(0, 0, 0, .74) 100%); }
}
/* ---------- trust strip: gold dash, one line, client-logo marquee (round 4, Chris 2026-10-05) ----------
   desktop: transparent, laid over the bottom of the hero right under the H1. phones: the first section under the
   hero, on black. Logos are white on transparent; --h per logo evens out wide wordmarks against compact marks. */
html body .tlv-trust { position: relative; z-index: 3; color: #fff; background: var(--nc-black); padding: 18px 0 26px; text-align: center; overflow: hidden; }
html body .tlv-trust__head { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 0 16px; }
html body .tlv-trust__dash { display: block; width: 44px; height: 1px; background: var(--nc-gold); }
html body .tlv-trust p.tlv-trust__line { margin: 0 !important; padding: 0 !important; color: rgba(255, 255, 255, .9) !important; font-family: var(--nc-caps) !important;
  font-size: 11px !important; line-height: 1.4 !important; font-weight: 500 !important; letter-spacing: .26em !important; text-transform: uppercase; white-space: nowrap; }
html body .tlv-trust__viewport { display: flex; width: 100%; overflow: hidden; margin-top: 10px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%); }
html body ul.tlv-trust__track { display: flex; flex: 0 0 auto; align-items: center; margin: 0 !important; padding: 0 !important; list-style: none !important;
  animation: tlv-nc-marquee 55s linear infinite; will-change: transform; }
html body ul.tlv-trust__track > li { flex: 0 0 auto; display: flex; align-items: center; height: 48px; margin: 0 !important; padding: 0 26px !important; list-style: none !important; }
html body ul.tlv-trust__track > li::before, html body ul.tlv-trust__track > li::marker { content: none !important; display: none !important; }
html body ul.tlv-trust__track img { display: block; height: calc(var(--h, 30px) * .78); width: auto !important; max-width: none !important; opacity: .9; }
html body .tlv-trust__viewport:hover ul.tlv-trust__track { animation-play-state: paused; }
@keyframes tlv-nc-marquee { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@media (min-width: 1180px) {
  html body .tlv-trust { margin-top: calc(-1 * var(--nc-trust-h)); height: var(--nc-trust-h); padding: 8px 0 0; background: transparent; box-sizing: border-box; }
  html body .tlv-trust p.tlv-trust__line { font-size: 12px !important; letter-spacing: .3em !important; }
  html body .tlv-trust__viewport { margin-top: 22px; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%); }
  html body ul.tlv-trust__track > li { height: 56px; padding: 0 clamp(30px, 2.8vw, 52px) !important; }
  html body ul.tlv-trust__track img { height: var(--h, 30px); }
}
@media (prefers-reduced-motion: reduce) {
  html body ul.tlv-trust__track { animation: none; flex: 1 1 100%; flex-wrap: wrap; justify-content: center; row-gap: 8px; }
  html body ul.tlv-trust__track--dup { display: none !important; }
  html body .tlv-trust__viewport { -webkit-mask-image: none; mask-image: none; }
  html body .tlv-trust { height: auto; }
}

/* the old theme slider/mobile banner are gone; keep their leftovers from taking space */
.slideshow-bg, .pdx-frontpage-mobile-banner-wrap { display: none !important; }
body.home .site-main { padding-top: 5.6rem !important; }

/* ---------- content: restrained black / white / gold, fine rules, more air ---------- */
body.tlv-lux.tlv-rw .entry-content a:not(.wp-block-button__link) { color: var(--nc-ink); text-decoration-color: var(--nc-gold) !important; }
body.tlv-lux.tlv-rw .entry-content a:not(.wp-block-button__link):hover { color: var(--nc-gold-dk); }
body.tlv-lux.tlv-rw:not(#x) :is(h1.entry-title, .entry-content h1)::after { height: 1px; width: 72px; border-radius: 0; background: var(--nc-gold); }
body.tlv-lux.tlv-rw .entry-content h2::before { width: 56px; height: 1px; border-radius: 0; background: var(--nc-gold); margin-bottom: 1.8rem; }
body.tlv-lux.tlv-rw .entry-content h3 { color: var(--nc-ink) !important; }
@media (min-width: 1000px) { body.tlv-lux.tlv-rw .entry-content h2 { margin-top: 10.4rem !important; } }

/* buttons: call = solid black, quote = black hairline outline, tracked caps, square */
html body.tlv-lux.tlv-rw .entry-content .wp-block-buttons > .wp-block-button > a.wp-block-button__link {
  border-radius: 0 !important; font-family: var(--nc-caps) !important; text-transform: uppercase; letter-spacing: .2em !important;
  font-size: 1.3rem !important; font-weight: 600 !important; min-height: 56px; padding: 16px 30px !important; transform: none !important;
}
html body.tlv-lux.tlv-rw .entry-content .wp-block-buttons > .wp-block-button > a.wp-block-button__link[href^="tel:"] {
  background: var(--nc-black) !important; color: #fff !important; border: 1px solid var(--nc-black) !important; box-shadow: none !important; font-size: 1.35rem !important;
}
html body.tlv-lux.tlv-rw .entry-content .wp-block-buttons > .wp-block-button > a.wp-block-button__link[href^="tel:"]:hover { background: var(--nc-gold-dk) !important; border-color: var(--nc-gold-dk) !important; box-shadow: none !important; }
html body.tlv-lux.tlv-rw .entry-content .wp-block-buttons > .wp-block-button > a.wp-block-button__link:not([href^="tel:"]) { background: #fff !important; color: var(--nc-black) !important; border: 1px solid var(--nc-black) !important; }
html body.tlv-lux.tlv-rw .entry-content .wp-block-buttons > .wp-block-button > a.wp-block-button__link:not([href^="tel:"]):hover { background: var(--nc-black) !important; color: #fff !important; }

/* cards: square, hairline, no heavy shadow */
body.tlv-lux.tlv-rw .entry-content :is(.rvw, .story, .regioncard),
body.tlv-lux.tlv-rw .entry-content .wp-block-columns > .wp-block-column:has(> .wp-block-image:first-child + h3) {
  border-radius: 2px !important; border: 1px solid var(--nc-rule) !important; box-shadow: none !important; background: #fff !important;
}
body.tlv-lux.tlv-rw .entry-content .story { border-left: 1px solid var(--nc-rule) !important; border-top: 2px solid var(--nc-gold) !important; }
body.tlv-lux.tlv-rw .entry-content .rvw .stars { color: var(--nc-gold); letter-spacing: 4px; font-size: 1.5rem; }
body.tlv-lux.tlv-rw .entry-content .rvw .ava { background: var(--nc-black); }
body.tlv-lux.tlv-rw .entry-content :is(.trustband, .howsteps, .ctastrip) {
  background: var(--nc-stone) !important; border: 0 !important; border-top: 1px solid var(--nc-rule) !important; border-bottom: 1px solid var(--nc-rule) !important; border-radius: 0 !important;
}
body.tlv-lux.tlv-rw .entry-content .trustband li::before { background: transparent; color: var(--nc-gold-dk); border: 1px solid var(--nc-gold); }
body.tlv-lux.tlv-rw .entry-content .howsteps ol > li { border-radius: 0 !important; box-shadow: none !important; border: 1px solid var(--nc-rule); }
body.tlv-lux.tlv-rw .entry-content .howsteps ol > li::before { background: var(--nc-black); }
body.tlv-lux.tlv-rw .entry-content .wp-block-image img,
body.tlv-lux.tlv-rw .entry-content .wp-block-gallery img { border-radius: 2px !important; box-shadow: none !important; }
body.tlv-lux.tlv-rw .entry-content .mapfrm iframe { border-radius: 2px !important; }

/* jump links: tracked caps with hairline boxes */
body.tlv-lux.tlv-rw .entry-content .jumpnav a {
  border-radius: 0 !important; background: #fff !important; border: 1px solid var(--nc-rule) !important; color: var(--nc-ink) !important;
  font-family: var(--nc-caps); text-transform: uppercase; letter-spacing: .14em; font-size: 1.15rem !important; padding: 10px 14px !important;
}
body.tlv-lux.tlv-rw .entry-content .jumpnav a:hover { background: var(--nc-black) !important; color: #fff !important; border-color: var(--nc-black) !important; }

/* tables: black header in tracked caps, hairline rows */
body.tlv-lux.tlv-rw .entry-content .wp-block-table { border-radius: 0 !important; border-color: var(--nc-rule) !important; }
body.tlv-lux.tlv-rw .entry-content .wp-block-table th { background: var(--nc-black) !important; font-family: var(--nc-caps); text-transform: uppercase; letter-spacing: .14em; font-size: 1.15rem; }
body.tlv-lux.tlv-rw .entry-content .wp-block-table tbody tr:nth-child(2n+1) { background: var(--nc-stone) !important; }

/* ---------- footer (round 5): black, white, gold; same side gutters as the header ----------
   header gutters: phones/tablets = the menu icon's 20px inset, 1180px+ = var(--nc-gut) (3vw, 24-48px).
   footer.php carries an inline <style> (padding 1.5rem 16px, theme margin 0 5%), so these rules use !important. */
html body.tlv-lux #colophon { --nc-fgut: 20px; background: var(--nc-black); }
@media (min-width: 1180px) { html body.tlv-lux #colophon { --nc-fgut: var(--nc-gut); } }
html body.tlv-lux .pdx-footer-wrap, html body.tlv-lux .tlv-footer-basic {
  background: var(--nc-black) !important; color: rgba(255, 255, 255, .72); border-top: 1px solid var(--nc-gold-dk) !important;
}
html body.tlv-lux .tlv-footer-basic .pdx-footer {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 32px 64px; align-items: start;
  width: auto !important; max-width: none !important; margin: 0 !important; padding: 64px var(--nc-fgut) 48px !important; box-sizing: border-box;
}
html body.tlv-lux .tlv-footer-basic .pdx-footer-panel { margin: 0 !important; padding: 0 !important; width: auto !important; max-width: none !important; float: none !important; }
html body.tlv-lux .tlv-footer-basic .pdx-footer-title {
  font-family: var(--nc-caps) !important; font-size: 12px !important; font-weight: 600 !important; line-height: 16px !important;
  letter-spacing: .2em !important; text-transform: uppercase; color: var(--nc-gold) !important; margin: 0 0 20px !important;
}
html body.tlv-lux .tlv-footer-basic .tlv-footer-line { font-size: 15px; line-height: 1.7; max-width: 520px; margin: 0 0 28px !important; color: rgba(255, 255, 255, .72); }
html body.tlv-lux .tlv-footer-basic .tlv-footer-line a { white-space: nowrap; }
html body.tlv-lux .tlv-footer-basic ul.tlv-footer-links { gap: 12px 28px !important; }
html body.tlv-lux .tlv-footer-basic ul.tlv-footer-links a {
  font-family: var(--nc-caps); font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; text-decoration: none;
}
html body.tlv-lux .tlv-footer-basic a { color: #fff !important; transition: color .2s ease; }
html body.tlv-lux .tlv-footer-basic a:hover, html body.tlv-lux .tlv-footer-basic a:focus-visible { color: var(--nc-gold) !important; }
html body.tlv-lux .tlv-footer-basic ul.is-social { margin: 0 !important; padding: 0 !important; }
html body.tlv-lux .tlv-footer-basic ul.is-social a {
  background-color: transparent !important; border: 1px solid var(--nc-gold-dk); width: 40px; height: 40px; box-sizing: border-box;
}
html body.tlv-lux .tlv-footer-basic ul.is-social a:hover, html body.tlv-lux .tlv-footer-basic ul.is-social a:focus-visible { background-color: var(--nc-gold-dk) !important; }
html body.tlv-lux .pdx-subfooter-wrap { background: var(--nc-black) !important; border-top: 1px solid rgba(255, 255, 255, .1); height: auto !important; min-height: 0 !important; }
html body.tlv-lux .pdx-subfooter {
  display: block !important; flex: 1 1 100% !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 20px var(--nc-fgut) !important; box-sizing: border-box;
}
html body.tlv-lux .pdx-copyright, html body.tlv-lux .pdx-copyright a {
  font-family: var(--nc-caps); font-size: 11px; line-height: 16px; letter-spacing: .16em; text-transform: uppercase; text-align: left;
  color: rgba(255, 255, 255, .55) !important; text-decoration: none;
}
html body.tlv-lux .pdx-copyright a:hover { color: var(--nc-gold) !important; }
@media (max-width: 767.98px) {
  html body.tlv-lux .tlv-footer-basic .pdx-footer { grid-template-columns: 1fr; gap: 36px; padding: 48px var(--nc-fgut) 36px !important; }
  html body.tlv-lux .tlv-footer-basic ul.tlv-footer-links { gap: 14px 24px !important; }
  html body.tlv-lux .pdx-copyright, html body.tlv-lux .pdx-copyright a { letter-spacing: .08em; }
}
/* front page seams (round 5): the homepage's closing band butts straight onto the footer (theme main + entry-content
   bottom padding left a 40px dark strip), and the content starts right under the trust strip (no extra 56px
   site-main header-clearance padding; the hero already clears the fixed header). */
html body.tlv-lux .site-main:has(#ncx), html body.tlv-lux .entry-content:has(> #ncx) { padding-bottom: 0 !important; }
html body.tlv-lux .tlv-trust ~ #content { padding-top: 0 !important; }
html body.tlv-lux .tlv-trust ~ #content .site-main:has(#ncx) { padding-top: 0 !important; }
/* below 1180px the fixed quick-action bar covers the page bottom; keep the copyright line above it */
@media (max-width: 1179.98px) { html body.tlv-lux #colophon { padding-bottom: var(--tlv-bnav-h, 98px); } }
