.elementor-11089 .elementor-element.elementor-element-7d4f62a{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.5;}.elementor-11089 .elementor-element.elementor-element-7d4f62a::before, .elementor-11089 .elementor-element.elementor-element-7d4f62a > .elementor-background-video-container::before, .elementor-11089 .elementor-element.elementor-element-7d4f62a > .e-con-inner > .elementor-background-video-container::before, .elementor-11089 .elementor-element.elementor-element-7d4f62a > .elementor-background-slideshow::before, .elementor-11089 .elementor-element.elementor-element-7d4f62a > .e-con-inner > .elementor-background-slideshow::before, .elementor-11089 .elementor-element.elementor-element-7d4f62a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-11089 .elementor-element.elementor-element-670402e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11089 .elementor-element.elementor-element-670402e.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-11089 .elementor-element.elementor-element-977a128{--display:flex;}.elementor-11089 .elementor-element.elementor-element-977a128:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-977a128 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-5ead5c6{--display:flex;}.elementor-11089 .elementor-element.elementor-element-5ead5c6:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-5ead5c6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-5a50cc3{--display:flex;}.elementor-11089 .elementor-element.elementor-element-5a50cc3:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-5a50cc3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-497de01{--display:flex;}.elementor-11089 .elementor-element.elementor-element-497de01:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-497de01 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-e24106a{--display:flex;}.elementor-11089 .elementor-element.elementor-element-e24106a:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-e24106a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-3c86306{--display:flex;}.elementor-11089 .elementor-element.elementor-element-3c86306:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-3c86306 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-3c86306.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-11089 .elementor-element.elementor-element-6129940{--display:flex;}.elementor-11089 .elementor-element.elementor-element-6129940:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-6129940 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-c6a73df{--display:flex;}.elementor-11089 .elementor-element.elementor-element-c6a73df:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-c6a73df > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-6a45160{--display:flex;}.elementor-11089 .elementor-element.elementor-element-6a45160:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-6a45160 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-1176e2f{--display:flex;}.elementor-11089 .elementor-element.elementor-element-1176e2f:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-1176e2f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-86a7e25{--display:flex;}.elementor-11089 .elementor-element.elementor-element-86a7e25:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-86a7e25 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-cbf279e{--display:flex;}.elementor-11089 .elementor-element.elementor-element-cbf279e:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-cbf279e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-9659c42{--display:flex;}.elementor-11089 .elementor-element.elementor-element-9659c42:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-9659c42 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-16ca0ce{--display:flex;}.elementor-11089 .elementor-element.elementor-element-16ca0ce:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-16ca0ce > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-2cd5001{--display:flex;}.elementor-11089 .elementor-element.elementor-element-2cd5001:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-2cd5001 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-4264e75{--display:flex;}.elementor-11089 .elementor-element.elementor-element-4264e75:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-4264e75 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-290aa23{--display:flex;}.elementor-11089 .elementor-element.elementor-element-290aa23:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-290aa23 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}.elementor-11089 .elementor-element.elementor-element-cc6dcd1{--display:flex;}.elementor-11089 .elementor-element.elementor-element-cc6dcd1:not(.elementor-motion-effects-element-type-background), .elementor-11089 .elementor-element.elementor-element-cc6dcd1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}body.elementor-page-11089:not(.elementor-motion-effects-element-type-background), body.elementor-page-11089 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84225a3 );}@media(max-width:767px){.elementor-11089 .elementor-element.elementor-element-3c86306{--width:906px;}}/* Start custom CSS for container, class: .elementor-element-977a128 */.elementor-11089 .elementor-element.elementor-element-977a128 {
  display: none;
}/* End custom CSS */
/* Start custom CSS *//* ============================================================
   RAINSCAPE TOUR — Page-specific CSS
   Namespace: cl-rt-
   Page ID: 10843
   URL: /rainscape-tour-durango/
   Last updated: Session 5 — August 2026 (v7 — stale visibility ID list fixed)

   CHANGES IN v7
   - #view-detail-* ID list under DETAIL VIEW VISIBILITY was still using
     an old naming scheme (oak/edgemont/linda/plymouth/hermosa/clear-spring)
     that no longer matches the HTML ids used by the page's showDetail()/
     hideAllDetails() JS (highlands/meadows/hillcrest/florida/riverview/
     doe/crestview/santa-rita/3-springs). Only "doe" matched, so every
     other detail section had no CSS default and rendered display:block
     on load — visible immediately, stacked below the login card, before
     the page JS ever ran. Updated the list to the real ids, and added
     #view-hub to the same rule since it had the same problem (no CSS
     default, relies entirely on the JS's inline-style toggle). This is
     a belt-and-braces fix alongside the JS now calling showLogin() on
     DOMContentLoaded — the CSS default keeps things hidden correctly
     even for the brief window before JS finishes loading/running.

   CHANGES IN v6
   - GALLERY: .cl-rt-gallery > div was built to center placeholder TEXT
     (display:flex, align-items:center, justify-content:center, padding).
     There was no rule for an actual <img> element, so once real photos
     were added they rendered at natural size, ignored the 360px gallery
     height, and spilled down over the Designer Notes / Plant Notes text
     below. Fixed by adding an explicit img rule (object-fit:cover,
     width/height:100%) and switching the three cells from flex-centering
     to block containers with overflow:hidden so the photo fills the
     grid cell exactly. The old text-centering properties are kept off
     the base .cl-rt-gallery > div rule now that it holds images, and
     moved onto a new .cl-rt-gallery-placeholder class for any stop
     that's still using placeholder text.

   CHANGES IN v5
   - #view-login: display is now "flex" WITHOUT !important. In v4 the
     !important beat the inline style="display:none" that the login JS
     applies after a successful sign-in, so the gate never disappeared.
     Do not add !important back to that line. See the note in the rule.

   CHANGES IN v4
   1. BUTTONS: .cl-rt-btn-solid and .cl-rt-btn-outline now share a
      single base rule (identical padding, line-height, border box).
      Root cause of the mismatched heights: .cl-rt-map-actions was a
      flex row with the default align-items:stretch, and .cl-rt-btn-solid
      carried margin-top:8px. A stretched flex item has its margins
      subtracted from its height, so the solid button rendered 8px
      shorter and 8px lower than the outline button. Fixed by setting
      align-items:center on the row, zeroing button margins inside
      button rows, giving the solid button a transparent 0.5px border
      to match the outline button's border box, and locking both to
      line-height:1 so the theme's line-height can't change either one.
   2. Added [hidden] / .cl-rt-is-hidden rules. The buttons use
      display:inline-flex !important, which beats a non-important inline
      style="display:none" — that is why "Reset to full tour" was
      visible on load and could not be hidden again by the JS.
   3. Fixed a CSS parse error in #view-login (display:flex was missing
      its semicolon, which silently swallowed the align-items line).
   4. Folded the .cl-rt-planner-* classes in from the Elementor HTML
      widget's inline <style> block. That <style> block has been removed
      from the HTML — all styling for this page now lives in this file.
   ============================================================ */


/* =============================================
   PAGE WRAPPER
   ============================================= */
.cl-rt {
  background: #FAF8F5 !important;
  width: 100% !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  color: #4A4840 !important;
}
.cl-rt-inner {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}


/* =============================================
   BUTTONS — single source of truth
   Solid and outline share one box model so they
   can never disagree on height:
     11px line box (line-height:1)
   + 28px vertical padding
   + 1px border (0.5px x 2, rounded up by browsers)
   = 40px tall, always.
   ============================================= */
.cl-rt-btn-solid,
.cl-rt-btn-outline {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-sizing: border-box !important;
  width: auto !important;
  padding: 14px 32px !important;
  border: 0.5px solid transparent !important;
  border-radius: 0 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  vertical-align: middle !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: background 200ms, color 200ms, border-color 200ms !important;
}
.cl-rt-btn-solid svg,
.cl-rt-btn-outline svg {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
}

/* --- Solid (plum) --- */
.cl-rt-btn-solid {
  color: #FAF8F5 !important;
  background: #6B2D68 !important;
  border-color: transparent !important;
  margin-top: 8px !important; /* standalone use inside .cl-rt-section; zeroed in button rows below */
}
.cl-rt-btn-solid:hover {
  background: #38203A !important;
  color: #FAF8F5 !important;
  text-decoration: none !important;
}

/* --- Outline (plum on paper) --- */
.cl-rt-btn-outline {
  color: #6B2D68 !important;
  background: transparent !important;
  border-color: #6B2D68 !important;
}
.cl-rt-btn-outline:hover {
  background: #6B2D68 !important;
  color: #FAF8F5 !important;
  text-decoration: none !important;
}

/* --- Disabled (the two download buttons start disabled) --- */
.cl-rt-btn-solid:disabled,
.cl-rt-btn-outline:disabled {
  opacity: 0.45 !important;
  cursor: default !important;
}
.cl-rt-btn-solid:disabled:hover { background: #6B2D68 !important; }
.cl-rt-btn-outline:disabled:hover {
  background: transparent !important;
  color: #6B2D68 !important;
}

/* --- Hidden state ---
   Required: display:inline-flex above is !important and would otherwise
   override an inline style="display:none". Use the HTML `hidden`
   attribute (or .cl-rt-is-hidden) to hide a button. --- */
.cl-rt-btn-solid[hidden],
.cl-rt-btn-outline[hidden],
.cl-rt-is-hidden {
  display: none !important;
}

/* --- Ghost (hero only, light-on-dark) --- */
.cl-rt-btn-ghost {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-sizing: border-box !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #FAF8F5 !important;
  border: 0.5px solid rgba(250,248,245,0.45) !important;
  border-radius: 0 !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  background: transparent !important;
  transition: background 200ms, border-color 200ms !important;
}
.cl-rt-btn-ghost:hover {
  background: rgba(250,248,245,0.12) !important;
  border-color: rgba(250,248,245,0.75) !important;
  color: #FAF8F5 !important;
  text-decoration: none !important;
}


/* =============================================
   BUTTON ROWS
   align-items:center — NOT the default 'stretch',
   which is what allowed the solid button's margin
   to shrink it relative to the outline button.
   ============================================= */
.cl-rt-map-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-top: 20px !important;
}
.cl-rt-map-actions .cl-rt-btn-solid,
.cl-rt-map-actions .cl-rt-btn-outline,
.cl-rt-map-actions .cl-rt-btn-ghost {
  margin: 0 !important;
}
/* Extra breathing room under the mode-switch row above the map */
.cl-rt-map-actions--spaced {
  margin-bottom: 28px !important;
}

@media (max-width: 600px) {
  .cl-rt-map-actions {
    flex-direction: column !important;
    align-items: stretch !important; /* full-width stacked buttons */
  }
  .cl-rt-map-actions .cl-rt-btn-solid,
  .cl-rt-map-actions .cl-rt-btn-outline {
    width: 100% !important;
  }
}


/* =============================================
   LOGIN GATE
   ============================================= */
#view-login {
  min-height: 100vh !important;

  /* ---------------------------------------------------------------
     DO NOT ADD !important TO THE LINE BELOW.
     The login JS hides this element with an inline style="display:none".
     An inline style beats a stylesheet rule — but NOT an !important one.
     In v4 this was written as "display: flex !important", which made the
     gate impossible to hide after login. Plain "display: flex" is correct:
     it centres the card, and still loses to the JS's inline display:none.
     (In v3 the declaration was "display: flex" with no semicolon, which
     the browser discarded entirely — hence no centring, but hiding worked.)
     --------------------------------------------------------------- */
  display: flex;

  align-items: center !important;
  justify-content: center !important;
  background:
    radial-gradient(circle at 20% 20%, rgba(196,168,194,0.12), transparent 45%),
    #38203A !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
/* Belt and braces: the gate can also be hidden with the `hidden` attribute
   or the .cl-rt-is-hidden class, if you ever switch the JS away from
   inline styles. */
#view-login[hidden],
#view-login.cl-rt-is-hidden {
  display: none !important;
}

.cl-rt-login-card {
  background: #FAF8F5 !important;
  max-width: 420px !important;
  width: 100% !important;
  padding: 48px 40px !important;
  border-radius: 8px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
.cl-rt-login-mark {
  font-size: 28px !important;
  color: #6B2D68 !important;
  margin-bottom: 6px !important;
}
.cl-rt-login-card h1 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  color: #2C2830 !important;
  margin: 14px 0 6px !important;
}
.cl-rt-login-card h1 em {
  font-style: italic !important;
  color: #6B2D68 !important;
}
.cl-rt-login-card p {
  font-family: 'Inter', system-ui, sans-serif !important;
  color: #4A4840 !important;
  font-size: 14.5px !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  margin: 0 0 28px 0 !important;
}
.cl-rt-login-card input {
  width: 100% !important;
  padding: 13px 14px !important;
  border: 0.5px solid #9A9588 !important;
  background: #FFFFFF !important;
  border-radius: 4px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important;
  margin-bottom: 14px !important;
  box-sizing: border-box !important;
  outline: none !important;
}
.cl-rt-login-card input:focus { border-color: #6B2D68 !important; }
.cl-rt-login-card .cl-rt-btn-solid {
  width: 100% !important;
  border-color: transparent !important; /* v4: was "border:none" — keep the border box intact */
  margin-top: 0 !important;
}
.cl-rt-login-note {
  margin-top: 20px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 300 !important;
  color: #9A9588 !important;
}
.cl-rt-login-error {
  display: none; /* no !important — JS toggles this inline */
  text-align: left !important;
  background: #F7E9E9 !important;
  color: #8A2E2E !important;
  border-radius: 4px !important;
  padding: 10px 12px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 13px !important;
  margin-bottom: 14px !important;
}


/* =============================================
   HERO
   ============================================= */
.cl-rt-hero {
  position: relative !important;
  min-height: 520px !important;
  display: flex !important;
  align-items: center !important;
  background: #111010 !important;
  overflow: hidden !important;
}
.cl-rt-hero__img,
.cl-rt-hero__video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 0.45 !important;
  display: block !important;
}
.cl-rt-hero__overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to right, rgba(0,0,0,0.38) 0%, rgba(0,0,0,0.08) 100%) !important;
  z-index: 1 !important;
}
.cl-rt-hero__content {
  position: relative !important;
  z-index: 2 !important;
  padding: 80px 80px 72px !important;
  max-width: 700px !important;
}
.cl-rt-hero__eyebrow {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(196,168,194,0.80) !important;
  display: block !important;
  margin-bottom: 20px !important;
}
.cl-rt-hero__h1 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 56px !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  color: #FAF8F5 !important;
  margin: 0 0 20px 0 !important;
}
.cl-rt-hero__h1 em {
  font-style: italic !important;
  font-weight: 300 !important;
  color: #C4A8C2 !important;
}
.cl-rt-hero__body {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;
  color: rgba(250,248,245,0.75) !important;
  max-width: 520px !important;
  margin: 0 0 32px 0 !important;
}
.cl-rt-hero__rule {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 40px !important;
}
.cl-rt-hero__rule-line {
  width: 32px !important;
  height: 0.5px !important;
  background: #C4A8C2 !important;
  flex-shrink: 0 !important;
  display: block !important;
}
.cl-rt-hero__rule-text {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  color: #C4A8C2 !important;
}


/* =============================================
   SHARED SECTION PATTERN
   ============================================= */
.cl-rt-section {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
  padding-left: calc((100% - 1100px) / 2) !important;
  padding-right: calc((100% - 1100px) / 2) !important;
  border-bottom: 0.5px solid #DDD9D2 !important;
  background: #FAF8F5 !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.cl-rt-section--tinted {
  background: #DDD9CF !important;
  padding-left: calc((100% - 1100px) / 2) !important;
  padding-right: calc((100% - 1100px) / 2) !important;
}


/* =============================================
   SHARED TYPOGRAPHY
   ============================================= */
.cl-rt-eyebrow {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #9A9588 !important;
  display: block !important;
  margin-bottom: 20px !important;
}
.cl-rt-h2 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 38px !important;
  font-weight: 300 !important;
  line-height: 1.15 !important;
  color: #2C2830 !important;
  margin: 0 0 24px 0 !important;
}
.cl-rt-h2 em {
  font-style: italic !important;
  font-weight: 300 !important;
  color: #6B2D68 !important;
}
.cl-rt-body {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.85 !important;
  color: #4A4840 !important;
  max-width: 100% !important;
  margin: 0 0 20px 0 !important;
}


/* =============================================
   WATERLINE DIVIDER
   ============================================= */
.cl-rt-waterline {
  width: 100% !important;
  max-width: 1100px !important;
  height: 28px !important;
  margin: 0 auto !important;
  padding: 0 80px !important;
  box-sizing: border-box !important;
  display: block !important;
  overflow: visible !important;
}
.cl-rt-waterline path {
  fill: none !important;
  stroke: #6B2D68 !important;
  stroke-width: 1.5px !important;
  stroke-linecap: round !important;
  stroke-dasharray: 6 10 !important;
  opacity: 0.5 !important;
  animation: cl-rt-flow 5s linear infinite !important;
}
@keyframes cl-rt-flow {
  to { stroke-dashoffset: -160; }
}
@media (prefers-reduced-motion: reduce) {
  .cl-rt-waterline path { animation: none !important; }
}
@media (max-width: 900px) {
  .cl-rt-waterline { padding: 0 40px !important; }
}
@media (max-width: 600px) {
  .cl-rt-waterline { padding: 0 24px !important; }
}


/* =============================================
   MAP SECTION
   ============================================= */
.cl-rt-map-section {
  padding-top: 0 !important;
  padding-bottom: 72px !important;
  padding-left: calc((100% - 1100px) / 2) !important;
  padding-right: calc((100% - 1100px) / 2) !important;
  border-bottom: 0.5px solid #DDD9D2 !important;
  background: #FAF8F5 !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.cl-rt-map-frame {
  position: relative !important;
  aspect-ratio: 16 / 8 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background-color: #38203A !important;
  background-image:
    linear-gradient(rgba(56,32,58,0.55), rgba(56,32,58,0.80)),
    repeating-linear-gradient(45deg, #4A2350 0 2px, #38203A 2px 40px) !important;
}
.cl-rt-map-caption {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 8px !important;
  padding: 20px !important;
}
.cl-rt-map-caption__title {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  color: #FAF8F5 !important;
}
.cl-rt-map-caption__note {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,248,245,0.68) !important;
}
.cl-rt-pin-row {
  display: flex !important;
  gap: 10px !important;
  margin-bottom: 6px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}
.cl-rt-pin-dot {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: #FAF8F5 !important;
  color: #6B2D68 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

@media (max-width: 900px) {
  .cl-rt-map-section { padding: 0 40px 52px !important; }
}
@media (max-width: 600px) {
  .cl-rt-map-section { padding: 0 24px 48px !important; }
}


/* =============================================
   ROUTE PLANNER — cl-rt-planner-*
   (v4: moved here from the Elementor HTML widget's
   inline <style> block, which has been removed)
   ============================================= */
.cl-rt-planner-hint {
  font-size: 13px !important;
  margin-top: 20px !important;
}

.cl-rt-planner-picker {
  background: #FAF8F5 !important;
  border: 0.5px solid #DDD9D2 !important;
  border-radius: 6px !important;
  padding: 24px 28px !important;
  margin-bottom: 24px !important;
  box-sizing: border-box !important;
}

.cl-rt-planner-stop-list {
  list-style: none !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
  gap: 10px !important;
}
.cl-rt-planner-stop-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  background: #FFFFFF !important;
  border: 0.5px solid #DDD9D2 !important;
  border-radius: 4px !important;
  padding: 10px 12px !important;
  cursor: pointer !important;
  transition: border-color 150ms ease, opacity 150ms ease !important;
}
.cl-rt-planner-stop-item:hover { border-color: #6B2D68 !important; }
.cl-rt-planner-unchecked { opacity: 0.5 !important; }
.cl-rt-planner-stop-item input[type="checkbox"] {
  margin-top: 4px !important;
  width: 16px !important;
  height: 16px !important;
  accent-color: #6B2D68 !important;
  flex-shrink: 0 !important;
}
.cl-rt-planner-stop-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
}
.cl-rt-planner-stop-name {
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 14.5px !important;
  color: #2C2830 !important;
}
.cl-rt-planner-stop-addr {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 300 !important;
  font-size: 12px !important;
  color: #9A9588 !important;
}
.cl-rt-planner-msg {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: #6B2D68 !important;
}

/* Map element sits inside .cl-rt-map-frame */
.cl-rt-planner-map-el {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.cl-rt-map-caption.rst-hidden {
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 200ms ease !important;
}

/* Chip row under the map */
.cl-rt-planner-chip-row {
  list-style: none !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.cl-rt-planner-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #FAF8F5 !important;
  border: 0.5px solid #DDD9D2 !important;
  border-radius: 999px !important;
  padding: 5px 14px 5px 5px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 300 !important;
  color: #4A4840 !important;
}

@media (max-width: 600px) {
  .cl-rt-planner-picker { padding: 20px !important; }
}


/* =============================================
   STOPS GRID
   ============================================= */
.cl-rt-stops-section {
  background: #DDD9CF !important;
  padding-top: 72px !important;
  padding-bottom: 72px !important;
  padding-left: calc((100% - 1100px) / 2) !important;
  padding-right: calc((100% - 1100px) / 2) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.cl-rt-stops-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin-top: 36px !important;
}
.cl-rt-stop-card {
  background: #FAF8F5 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  transition: transform 200ms ease, box-shadow 200ms ease !important;
}
.cl-rt-stop-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 28px rgba(44,40,48,0.12) !important;
}
.cl-rt-stop-photo {
  height: 150px !important;
  background: linear-gradient(135deg, #CBD6B6, #B8C4A0) !important;
  position: relative !important;
  overflow: hidden !important;
}
.cl-rt-stop-photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
.cl-rt-stop-num {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: #FAF8F5 !important;
  color: #6B2D68 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.cl-rt-stop-flag {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  background: #B8C4A0 !important;
  color: #2C2830 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 4px 8px !important;
  border-radius: 3px !important;
}
.cl-rt-stop-body { padding: 18px 20px 22px !important; }
.cl-rt-stop-body h3 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  color: #2C2830 !important;
  margin: 0 0 4px 0 !important;
}
.cl-rt-stop-addr {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 300 !important;
  color: #9A9588 !important;
  margin-bottom: 10px !important;
}
.cl-rt-stop-teaser {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  color: #4A4840 !important;
  margin: 0 0 14px 0 !important;
}
.cl-rt-stop-link {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #6B2D68 !important;
}
.cl-rt-stop-card.cl-rt-stop--pending {
  opacity: 0.7 !important;
  cursor: default !important;
}
.cl-rt-stop-card.cl-rt-stop--pending .cl-rt-stop-link {
  color: #9A9588 !important;
}

@media (max-width: 900px) {
  .cl-rt-stops-section { padding: 52px 40px !important; }
  .cl-rt-stops-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 600px) {
  .cl-rt-stops-section { padding: 48px 24px !important; }
  .cl-rt-stops-grid { grid-template-columns: 1fr !important; }
}


/* =============================================
   DETAIL VIEW VISIBILITY — toggled by JS, do not
   add !important here or the JS toggle breaks

   v7: this ID list had drifted out of sync with the
   actual HTML ids (it still had oak/edgemont/linda/
   plymouth/hermosa/clear-spring from an earlier naming
   scheme). Only "doe" matched, so every other detail
   section had no default display:none and rendered at
   its default display:block — visible on load, stacked
   below the login card, regardless of what the login JS
   was doing. Updated to match the real ids used by
   showDetail()/hideAllDetails() in the page script.
   #view-hub is also hidden by default now for the same
   reason — the JS's showLogin()/showHub() toggle it via
   inline styles, but it had no CSS default of its own,
   so without the JS boot-up call it would render open too.
   ============================================= */
#view-hub,
#view-detail-highlands,
#view-detail-meadows,
#view-detail-hillcrest,
#view-detail-florida,
#view-detail-riverview,
#view-detail-doe,
#view-detail-crestview,
#view-detail-santa-rita,
#view-detail-3-springs {
  display: none;
}


/* =============================================
   T&C NOTE
   ============================================= */
.cl-rt-hub-footer {
  padding: 36px 80px !important;
  text-align: center !important;
  background: #FAF8F5 !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.cl-rt-hub-footer p {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  color: #9A9588 !important;
  max-width: 640px !important;
  margin: 0 auto !important;
}
@media (max-width: 600px) {
  .cl-rt-hub-footer { padding: 28px 24px !important; }
}

/* =============================================
   HUB FOOTER — grant acknowledgement
   Sits under the privacy notice inside
   .cl-rt-hub-footer. Centered to match that
   container; not boxed like the sign-callout,
   since this footer has no border treatment.
   ============================================= */
.cl-rt-hub-grant {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  max-width: 640px !important;
  margin: 20px auto 0 !important;
  padding-top: 20px !important;
  border-top: 0.5px solid #DDD9D2 !important;
}
.cl-rt-hub-grant__logo {
  width: 72px !important;
  height: auto !important;
  flex-shrink: 0 !important;
  display: block !important;
}
.cl-rt-hub-grant__text {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  color: #9A9588 !important;
  margin: 0 !important;
  text-align: left !important;
}

@media (max-width: 600px) {
  .cl-rt-hub-grant {
    flex-direction: column !important;
    text-align: center !important;
  }
  .cl-rt-hub-grant__text {
    text-align: center !important;
  }
}

/* =============================================
   DETAIL VIEW — shared across all 9 stop pages
   ============================================= */
.cl-rt-detail-back {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 32px 32px 0 !important;
  box-sizing: border-box !important;
}
.cl-rt-detail-back a {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #6B2D68 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  text-decoration: none !important;
}
.cl-rt-detail-back a:hover { color: #38203A !important; }

.cl-rt-detail-hero {
  max-width: 900px !important;
  margin: 20px auto 0 !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
}
.cl-rt-stop-badge {
  display: inline-block !important;
  background: rgba(107,45,104,0.10) !important;
  color: #6B2D68 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  padding: 6px 12px !important;
  border-radius: 3px !important;
  margin-bottom: 16px !important;
}
.cl-rt-detail-hero h1 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 34px !important;
  font-weight: 300 !important;
  line-height: 1.15 !important;
  color: #2C2830 !important;
  max-width: 600px !important;
  margin: 0 !important;
}
.cl-rt-detail-hero .cl-rt-addr-line {
  font-family: 'Inter', system-ui, sans-serif !important;
  color: #9A9588 !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  margin-top: 8px !important;
}

/* =============================================
   Gallery
   v6: cells now hold real <img> tags. The grid
   itself still reserves a fixed 360px band (so the
   page layout doesn't jump between stops with and
   without photos yet), but each cell is now a plain
   block with overflow:hidden, and the img is forced
   to fill it via object-fit:cover. This is what
   stops the photo from spilling out of its cell and
   overlapping the Designer Notes / Plant Notes text
   below it — that overlap was the actual bug.
   margin-bottom raised from 8px to 32px so there's
   always clear air between the gallery and the notes
   grid even on stops with unusually tall images.
   ============================================= */
.cl-rt-gallery {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 10px !important;
  margin: 28px 0 32px !important;
  height: 360px !important;
}
.cl-rt-gallery .cl-rt-g1 { grid-row: 1 / 3 !important; }
.cl-rt-gallery > div {
  border-radius: 6px !important;
  position: relative !important;
  overflow: hidden !important;
  display: block !important;
}
.cl-rt-gallery > div img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: inherit !important;
}
/* Placeholder text state — used only for stops that don't have photos
   uploaded yet. Add this class alongside cl-rt-g1/g2/g3 on any cell
   that's still holding placeholder copy instead of an <img>. */
.cl-rt-gallery-placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(250,248,245,0.85) !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  padding: 12px !important;
  height: 100% !important;
  box-sizing: border-box !important;
}
.cl-rt-g1 { background: linear-gradient(135deg, #8A9670, #4E5C3C) !important; }
.cl-rt-g2 { background: linear-gradient(135deg, #A88EA8, #5A3560) !important; }
.cl-rt-g3 { background: linear-gradient(135deg, #38203A, #2B2620) !important; }
.cl-rt-g3.cl-rt-gallery-placeholder {
  flex-direction: column !important;
  gap: 6px !important;
}
.cl-rt-sign-icon { font-size: 22px !important; color: #C4A8C2 !important; }

/* Notes grid */
.cl-rt-detail-body {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 20px 32px 64px !important;
  box-sizing: border-box !important;
}
.cl-rt-detail-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 40px !important;
  margin-top: 36px !important;
}
.cl-rt-note-block { margin-bottom: 36px !important; }
.cl-rt-note-head {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}
.cl-rt-note-icon {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: rgba(107,45,104,0.10) !important;
  color: #6B2D68 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.cl-rt-note-icon svg { width: 16px !important; height: 16px !important; }
.cl-rt-note-head h3 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 17px !important;
  color: #2C2830 !important;
  margin: 0 !important;
}
.cl-rt-note-block p {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;
  color: #4A4840 !important;
  margin: 0 !important;
}
.cl-rt-note-block p em { color: #6B2D68 !important; }
.cl-rt-note-pending {
  font-style: italic !important;
  color: #9A9588 !important;
}

@media (max-width: 860px) {
  .cl-rt-detail-grid { grid-template-columns: 1fr !important; }
  .cl-rt-gallery {
    grid-template-columns: 1fr !important;
    grid-template-rows: repeat(3, 140px) !important;
    height: auto !important;
  }
  .cl-rt-gallery .cl-rt-g1 { grid-row: auto !important; }
}
@media (max-width: 600px) {
  .cl-rt-detail-back,
  .cl-rt-detail-hero,
  .cl-rt-detail-body {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .cl-rt-detail-hero h1 { font-size: 28px !important; }
}


/* =============================================
   WHAT IS A RAINSCAPE — two-column intro
   ============================================= */
.cl-rt-intro-grid {
  display: grid !important;
  grid-template-columns: 55fr 45fr !important;
  gap: 0 !important;
  align-items: stretch !important;
}
.cl-rt-intro-left {
  padding-right: 64px !important;
  border-right: 0.5px solid #DDD9D2 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.cl-rt-intro-right {
  background: #DDD9CF !important;
  padding: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
.cl-rt-intro-img {
  width: 100% !important;
  height: 560px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 6px !important;
}


/* =============================================
   FIREWISE CALLOUT
   ============================================= */
.cl-rt-firewise {
  border-left: 2px solid #B8C4A0 !important;
  padding: 16px 24px !important;
  margin: 28px 0 36px !important;
  background: rgba(184,196,160,0.08) !important;
}
.cl-rt-firewise p {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;
  color: #4A4840 !important;
  margin: 0 !important;
}
.cl-rt-firewise strong {
  font-weight: 400 !important;
  color: #2C2830 !important;
}


/* =============================================
   CREDENTIALS / STATS
   ============================================= */
.cl-rt-stats {
  display: grid !important;
  grid-template-columns: 1fr 0.5px 1fr 0.5px 1fr !important;
  align-items: start !important;
  margin-top: 40px !important;
}
.cl-rt-stats__divider {
  background: #DDD9D2 !important;
  min-height: 120px !important;
  width: 1px !important;
}
.cl-rt-stat {
  padding: 0 48px !important;
  text-align: center !important;
}
.cl-rt-stat:first-child { padding-left: 0 !important; }
.cl-rt-stat:last-child  { padding-right: 0 !important; }
.cl-rt-stat__icon {
  display: flex !important;
  justify-content: center !important;
  margin-bottom: 16px !important;
}
.cl-rt-stat__icon svg { opacity: 0.6; }
.cl-rt-stat__num {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 56px !important;
  font-weight: 300 !important;
  color: #2C2830 !important;
  line-height: 1 !important;
  display: block !important;
  margin-bottom: 10px !important;
}
.cl-rt-stat__rule {
  width: 24px !important;
  height: 0.5px !important;
  background: #C4A8C2 !important;
  margin: 0 auto 12px !important;
}
.cl-rt-stat__label {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #9A9588 !important;
  line-height: 1.6 !important;
}
.cl-rt-stat__sub {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  color: #9A9588 !important;
  font-style: italic !important;
  margin-top: 6px !important;
  display: block !important;
}


/* =============================================
   TOUR SNAPSHOT GRID
   ============================================= */
.cl-rt-snapshot-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 1px !important;
  background: #DDD9D2 !important;
  margin: 32px 0 !important;
}
.cl-rt-snap-item {
  background: #FAF8F5 !important;
  padding: 28px 24px !important;
}
.cl-rt-snap-item__icon {
  width: 28px !important;
  height: 28px !important;
  margin-bottom: 14px !important;
  display: block !important;
}
.cl-rt-snap-item__title {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  color: #2C2830 !important;
  margin: 0 0 8px 0 !important;
}
.cl-rt-snap-item__desc {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  color: #9A9588 !important;
  margin: 0 !important;
}


/* =============================================
   SIGN CALLOUT
   ============================================= */
.cl-rt-sign-callout {
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
  border: 0.5px solid #DDD9D2 !important;
  padding: 20px 24px !important;
  background: #FAF8F5 !important;
}
.cl-rt-sign-callout__icon {
  font-size: 22px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}
.cl-rt-sign-callout__text {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  color: #4A4840 !important;
  margin: 0 !important;
}
.cl-rt-sign-callout__text strong {
  font-weight: 400 !important;
  color: #2C2830 !important;
}


/* =============================================
   REGISTRATION FORM (static markup version)
   ============================================= */
.cl-rt-form-section {
  background: #DDD9CF !important;
  padding-top: 72px !important;
  padding-bottom: 72px !important;
  padding-left: calc((100% - 1100px) / 2) !important;
  padding-right: calc((100% - 1100px) / 2) !important;
  border-bottom: 0.5px solid #DDD9D2 !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.cl-rt-form-inner { max-width: 560px !important; }
.cl-rt-fields-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  margin-bottom: 24px !important;
}
.cl-rt-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
}
.cl-rt-field label {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #9A9588 !important;
}
.cl-rt-field input {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  color: #2C2830 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 0.5px solid #9A9588 !important;
  padding: 8px 0 !important;
  outline: none !important;
  width: 100% !important;
  transition: border-color 200ms !important;
}
.cl-rt-field input:focus { border-bottom-color: #6B2D68 !important; }
.cl-rt-field input::placeholder { color: #9A9588 !important; }
.cl-rt-field--full { margin-bottom: 28px !important; }
.cl-rt-checks { margin-bottom: 24px !important; }
.cl-rt-check-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 16px 0 !important;
  border-top: 0.5px solid #C8C4BB !important;
  cursor: pointer !important;
  user-select: none !important;
}
.cl-rt-check-row:last-child { border-bottom: 0.5px solid #C8C4BB !important; }
.cl-rt-checkbox {
  width: 16px !important;
  height: 16px !important;
  border: 0.5px solid #9A9588 !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  transition: background 150ms, border-color 150ms !important;
}
.cl-rt-checkbox.checked {
  background: #6B2D68 !important;
  border-color: #6B2D68 !important;
}
.cl-rt-checkbox__tick {
  color: #FAF8F5 !important;
  font-size: 11px !important;
  display: none !important;
  line-height: 1 !important;
}
.cl-rt-checkbox.checked .cl-rt-checkbox__tick { display: block !important; }
.cl-rt-check-label {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  color: #4A4840 !important;
}
.cl-rt-check-label--required { color: #2C2830 !important; }
.cl-rt-check-label .cl-rt-req {
  color: #6B2D68 !important;
  font-size: 11px !important;
  margin-left: 3px !important;
}
.cl-rt-captcha-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: #FAF8F5 !important;
  border: 0.5px solid #DDD9D2 !important;
  padding: 12px 16px !important;
  margin-bottom: 24px !important;
  cursor: pointer !important;
  user-select: none !important;
}
.cl-rt-captcha-box {
  width: 18px !important;
  height: 18px !important;
  border: 1.5px solid #9A9588 !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.cl-rt-captcha-box.checked {
  background: #6B2D68 !important;
  border-color: #6B2D68 !important;
}
.cl-rt-captcha-tick {
  color: #FAF8F5 !important;
  font-size: 12px !important;
  display: none !important;
}
.cl-rt-captcha-box.checked .cl-rt-captcha-tick { display: block !important; }
.cl-rt-captcha-label {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: #2C2830 !important;
  flex: 1 !important;
}
.cl-rt-captcha-brand {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 300 !important;
  color: #9A9588 !important;
  text-align: right !important;
  line-height: 1.4 !important;
}
.cl-rt-submit {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #FAF8F5 !important;
  background: #6B2D68 !important;
  border: none !important;
  padding: 15px 32px !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: background 200ms !important;
}
.cl-rt-submit:hover { background: #38203A !important; }
.cl-rt-submit:disabled { background: #9A9588 !important; cursor: default !important; }
.cl-rt-form-note {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  color: #9A9588 !important;
  margin-top: 12px !important;
  text-align: center !important;
}


/* =============================================
   SUCCESS STATE
   ============================================= */
.cl-rt-success {
  display: none !important;
  text-align: center !important;
  padding: 16px 0 24px !important;
}
.cl-rt-success__rule {
  width: 32px !important;
  height: 0.5px !important;
  background: #C4A8C2 !important;
  margin: 0 auto 24px !important;
}
.cl-rt-success__name {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  color: #6B2D68 !important;
  display: block !important;
  margin-bottom: 14px !important;
}
.cl-rt-success__body {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;
  color: #4A4840 !important;
}


/* =============================================
   PAGE FOOTER (two-cell)
   ============================================= */
.cl-rt-footer {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  border-top: 0.5px solid #DDD9D2 !important;
  background: #FAF8F5 !important;
}
.cl-rt-footer__cell { padding: 24px 80px !important; }
.cl-rt-footer__cell:first-child { border-right: 0.5px solid #DDD9D2 !important; }
.cl-rt-footer__label {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #9A9588 !important;
  display: block !important;
  margin-bottom: 5px !important;
}
.cl-rt-footer__val {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  color: #2C2830 !important;
  display: block !important;
}


/* =============================================
   RESPONSIVE — 900px
   ============================================= */
@media (max-width: 900px) {
  .cl-rt-hero__content { padding: 64px 40px 56px !important; }
  .cl-rt-hero__h1 { font-size: 44px !important; }
  .cl-rt-section,
  .cl-rt-form-section { padding: 52px 40px !important; }
  .cl-rt-intro-grid { grid-template-columns: 1fr !important; }
  .cl-rt-intro-left {
    padding-right: 0 !important;
    border-right: none !important;
    border-bottom: 0.5px solid #DDD9D2 !important;
    padding-bottom: 48px !important;
  }
  .cl-rt-intro-right { padding: 40px !important; }
  .cl-rt-intro-img { height: 320px !important; }
  .cl-rt-snapshot-grid { grid-template-columns: 1fr 1fr !important; }
  .cl-rt-stats {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .cl-rt-stats__divider { display: none !important; }
  .cl-rt-stat { padding: 0 !important; }
  .cl-rt-footer__cell { padding: 20px 40px !important; }
}


/* =============================================
   RESPONSIVE — 600px
   ============================================= */
@media (max-width: 600px) {
  .cl-rt-hero__content { padding: 52px 24px 48px !important; }
  .cl-rt-hero__h1 { font-size: 36px !important; }
  .cl-rt-section,
  .cl-rt-form-section { padding: 48px 24px !important; }
  .cl-rt-intro-right { padding: 24px !important; }
  .cl-rt-intro-img { height: 260px !important; }
  .cl-rt-fields-row { grid-template-columns: 1fr !important; }
  .cl-rt-snapshot-grid { grid-template-columns: 1fr !important; }
  .cl-rt-footer__cell { padding: 18px 24px !important; }
}


/* =============================================
   NINJA FORMS — Form ID 10 overrides
   ============================================= */
#nf-form-10-cont .nf-form-title,
#nf-form-10-cont .nf-form-fields-required {
  display: none !important;
}
#nf-form-10-cont { margin-top: 32px !important; }
#nf-form-10-cont nf-fields-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  column-gap: 32px !important;
}
#nf-form-10-cont nf-field:has(.firstname-container),
#nf-form-10-cont nf-field:has(.lastname-container) {
  grid-column: auto !important;
}
#nf-form-10-cont nf-field:has(.email-container),
#nf-form-10-cont nf-field:has(.checkbox-container),
#nf-form-10-cont nf-field:has(.listcheckbox-container),
#nf-form-10-cont nf-field:has(.submit-container) {
  grid-column: 1 / -1 !important;
}
#nf-form-10-cont .nf-field-container {
  margin-bottom: 24px !important;
  padding: 0 !important;
}
#nf-form-10-cont .textbox-container .nf-field-label label,
#nf-form-10-cont .email-container .nf-field-label label,
#nf-form-10-cont .firstname-container .nf-field-label label,
#nf-form-10-cont .lastname-container .nf-field-label label {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #9A9588 !important;
  display: block !important;
  margin-bottom: 6px !important;
}
#nf-form-10-cont .nf-field-element input[type="text"],
#nf-form-10-cont .nf-field-element input[type="email"] {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  color: #2C2830 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 0.5px solid #9A9588 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 !important;
  width: 100% !important;
  outline: none !important;
  transition: border-color 200ms !important;
}
#nf-form-10-cont .nf-field-element input[type="text"]:focus,
#nf-form-10-cont .nf-field-element input[type="email"]:focus {
  border-bottom-color: #6B2D68 !important;
  box-shadow: none !important;
  outline: none !important;
}
#nf-form-10-cont .nf-field-element input::placeholder {
  color: #9A9588 !important;
  font-weight: 300 !important;
}
#nf-form-10-cont input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  border: 0.5px solid #9A9588 !important;
  border-radius: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  margin-top: 2px !important;
  position: relative !important;
  display: inline-block !important;
  vertical-align: top !important;
  flex-shrink: 0 !important;
  transition: background 150ms, border-color 150ms !important;
}
#nf-form-10-cont input[type="checkbox"]:checked {
  background: #6B2D68 !important;
  border-color: #6B2D68 !important;
}
#nf-form-10-cont input[type="checkbox"]:checked::after {
  content: '✓' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  color: #FAF8F5 !important;
  font-size: 10px !important;
  line-height: 1 !important;
}
#nf-form-10-cont .checkbox-container .nf-field-label label,
#nf-form-10-cont .listcheckbox-container .nf-field-label label {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  color: #4A4840 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  display: inline !important;
}
#nf-form-10-cont .checkbox-container,
#nf-form-10-cont .listcheckbox-container {
  border-top: 0.5px solid #C8C4BB !important;
  padding-top: 4px !important;
}
#nf-form-10-cont .checkbox-container:last-of-type,
#nf-form-10-cont .listcheckbox-container:last-of-type {
  border-bottom: 0.5px solid #C8C4BB !important;
  margin-bottom: 24px !important;
}
#nf-form-10-cont input[type="button"],
#nf-form-10-cont input[type="submit"],
#nf-form-10-cont button[type="submit"] {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #FAF8F5 !important;
  background: #6B2D68 !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 15px 32px !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background 200ms !important;
  box-shadow: none !important;
  margin-top: 8px !important;
}
#nf-form-10-cont input[type="button"]:hover,
#nf-form-10-cont input[type="submit"]:hover,
#nf-form-10-cont button[type="submit"]:hover {
  background: #2C2830 !important;
  color: #FAF8F5 !important;
}
#nf-form-10-cont .nf-error .ninja-forms-field {
  border-bottom-color: #C9920A !important;
}
#nf-form-10-cont .nf-error-msg {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  color: #C9920A !important;
  margin-top: 4px !important;
}
@media (max-width: 600px) {
  #nf-form-10-cont nf-fields-wrap {
    grid-template-columns: 1fr !important;
  }
}


/* =============================================
   GLOBAL FOOTER — mobile fix
   (temporary, pending global CSS update)
   ============================================= */
.cl-rt-footer-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  border-top: 0.5px solid #DDD9D2 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
@media (max-width: 600px) {
  .cl-rt-footer-wrap { grid-template-columns: 1fr !important; }
  .cl-rt-footer-wrap > div {
    border-right: none !important;
    border-bottom: 0.5px solid #DDD9D2 !important;
  }
  .cl-rt-footer-wrap > div:last-child { border-bottom: none !important; }
}/* End custom CSS */